{ "id": "150610", "key": "AC-312", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "8", "description": "", "name": "Needs more info" }, "resolutiondate": "2015-11-29T08:51:51.000+0000", "created": "2015-08-21T15:45:07.000+0000", "labels": [ "ListItem", "ListView" ], "versions": [], "issuelinks": [], "assignee": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "updated": "2015-11-30T01:27:45.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [], "description": "{code}\r\nAlloy.Globals.SliderDrawer =\r\n{\r\n\tListFontSize: 16,\r\n\tLineHeight : 34,\r\n\tCenter: { y: 17 },\r\n\tWidth: 180,\r\n\tTextColor: 'white',\r\n\tBackgroundColor: 'transparent',\r\n\tBackgroundGradient: {\r\n type: 'linear',\r\n startPoint: { x: '100%', y: '50%' },\r\n endPoint: { x: '0%', y: '50%' },\r\n colors: [ { color: '#464646', offset: 0.0}, { color: '#343434', offset: 0.33 }, { color: '#2E2E2E', offset: 0.67 }, { color: '#383838', offset: 1.0 } ],\r\n\t}\r\n};\r\n\r\nfunction doMenuButton(e)\r\n{\r\n\tTi.API.info('doMenuButton(' + JSON.stringify(e) + ')');\r\n\tvar controller = Alloy.createController('sliderdrawer');\r\n \tcontroller.initialize(Alloy.Globals.menuItems,\r\n \t\t{\r\n \t\t\ttop: isIOS ? 20 : 0,\r\n \t\t\tright: 0,\r\n \t\t\twidth: Alloy.Globals.SliderDrawer.Width,\r\n \t\t\tbackgroundGradient: Alloy.Globals.SliderDrawer.BackgroundGradient\r\n \t\t},\r\n \t\t{\r\n \t\t\tright: 0,\r\n \t\t\twidth: Alloy.Globals.SliderDrawer.Width,\r\n \t\t\tseparatorColor: '#802E2E2E'\r\n \t\t},\r\n \t\tAlloy.Globals.SliderDrawer.Width, handleMenuEvent);\r\n}\r\n\r\nAlloy.Globals.SliderDrawer.ChatMenuItem = { template: 'withBadge', eventname: 'socialComments', iconTop: {text: '\\uf086'}, option: {text: 'Chat'}, badge: {text: 0} };\r\n\r\nfunction AddToSlideDrawerMenu(item)\r\n{\r\n\tputIfAbsent(item, 'template', 'noBottom');\r\n\tputIfAbsent(item, 'properties', {});\r\n\tputIfAbsent(item.properties, 'height', Alloy.Globals.SliderDrawer.LineHeight);\r\n\tputIfAbsent(item.properties, 'backgroundColor', Alloy.Globals.SliderDrawer.BackgroundColor);\r\n\tif ('option' in item)\r\n\t\tputIfAbsent(item.option, 'color', Alloy.Globals.SliderDrawer.TextColor);\r\n\tif ('iconTop' in item)\r\n\t\tputIfAbsent(item.iconTop, 'color', Alloy.Globals.SliderDrawer.TextColor);\r\n\tif ('iconBottom' in item)\r\n\t\tputIfAbsent(item.iconBottom, 'color', Alloy.Globals.SliderDrawer.TextColor);\r\n\tAlloy.Globals.menuItems.push(item);\r\n}\r\n\r\n\tAlloy.Globals.menuItems = [];\r\n\tAddToSlideDrawerMenu({ eventname: 'scheduleTab', iconTop: {text: '\\uf073'}, option: {text: 'Schedule'} });\r\n\tAddToSlideDrawerMenu({ eventname: 'benchmarkTab', iconTop: {text: '\\uf012'}, option: {text: 'Tracking'} });\r\n\tAddToSlideDrawerMenu(Alloy.Globals.SliderDrawer.ChatMenuItem);\r\n\tAddToSlideDrawerMenu({ eventname: 'profileTab', iconTop: {text: '\\uf007'}, option: {text: 'Profile'} });\r\n\tAddToSlideDrawerMenu({ template: 'template', eventname: 'goalsTab', iconBottom: {text: '\\uf05b'}, iconTop: {text: '\\uf140'}, option: {text: 'My Next Goal'} });\r\n\tAddToSlideDrawerMenu({ eventname: 'injuryTab', iconTop: {text: '\\uf0fa'}, option: {text: 'Injuries?'} });\r\n\tAddToSlideDrawerMenu({ eventname: 'splashpage', iconTop: {text: '\\uf0a1'}, option: {text: 'Announcements'} });\r\n\tAddToSlideDrawerMenu({ eventname: 'signOut', iconTop: {text: '\\uf08b'}, option: {text: 'Sign out'} });\r\n\r\n{code}", "attachment": [ { "id": "56484", "filename": "image001.png", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-21T15:34:31.000+0000", "size": 114179, "mimeType": "image/png" }, { "id": "56485", "filename": "screenshot-2015-08-21_09.58.01.928.png", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-21T15:32:55.000+0000", "size": 163972, "mimeType": "image/png" }, { "id": "56481", "filename": "sliderdrawer.js", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-21T15:37:11.000+0000", "size": 3073, "mimeType": "application/x-javascript" }, { "id": "56482", "filename": "sliderdrawer.tss", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-21T15:37:04.000+0000", "size": 2194, "mimeType": "application/octet-stream" }, { "id": "56483", "filename": "sliderdrawer.xml", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-21T15:36:56.000+0000", "size": 1254, "mimeType": "text/xml" } ], "flagged": false, "summary": "Android only : ListView ignores formatting some cases, iOS works fine", "creator": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "environment": "I apologize in advance if this is just my bug. At this point I just can't make any sense of why it doesn't work the same on iOS and Android.\r\n\r\nAppcelerator Command-Line Interface, version 4.1.2\r\nCopyright (c) 2014-2015, Appcelerator, Inc. All Rights Reserved.\r\n\r\n8/21/2015, 10:27:38 AM\r\n\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.10.5\r\n Architecture = 64bit\r\n # CPUs = 16\r\n Memory = 25769803776\r\n\r\nNode.js\r\n Node.js Version = 0.12.7\r\n npm Version = 2.11.3\r\n\r\nTitanium CLI\r\n CLI Version = 4.0.1\r\n\r\nTitanium SDK\r\n SDK Version = 4.1.0.GA // Also happens in 3.5.1 GA\r\n SDK Path = /Volumes/BigStorage/Users/dspells/Library/Application Support/Titanium/mobilesdk/osx/4.1.0.GA\r\n Target Platform = android\r\n", "comment": { "comments": [ { "id": "360918", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~dspells] please strip out any code from your example that does not relate to the bug. Make it as minimalistic as you can.\r\n\r\nAlso, please use proper JIRA formatting, include the iOS and Android versions you use and the steps you take to get the bug and what you expect to get instead.\r\n\r\nThe easier the engineers can reproduce it the sooner they can fix it.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-08-24T08:44:47.000+0000", "updated": "2015-08-24T08:46:08.000+0000" }, { "id": "360947", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "body": "I have stripped out all the code except for the code that brings up the menu that shows up on the far right? There is no extraneous code. I only included the code for the menu window and the code to call the menu window. All the code relates to the bug (i.e. the window that contains the menu and the code to bring up the window).\r\n\r\nYou should be able to use the following steps (approximately)\r\n1) Create a new Mobile App Project\r\n2) Add the sliderdraw.js, sliderdraw.tss, slider draw.xml files to your project\r\n3) Make sure that your index.js, index.xml, index.tss file have an open window in it (Any simple sample project should do). You may find it helpful to have a label or a button in the window but it should be optional.\r\n4) Copy and paste the code in the description section into your index.js file\r\n5) Call the doMenuButton function in some way (adding a button to the window that you call from and using the doMenuButton as the handler is one way of doing that but just calling doMenuButton({}); with an open window should work also\r\n\r\nI am using iOS 8.4 SDK and the code works properly on every emulator that I've tried includes the iPhone 4s, iPhone 6 and iPad 2 emulators.\r\nI am using Genymotion emulators and every emulator I have tried fails including 3 standard emulators that come with Genymotion 1) \"Google Nexus 5 - 5.1.0 - API 22 - 1080x1920\" and 2) Samsung Galaxy S4 - 4.4.4 - API 19 - 1080x1920 and 3) Custom Phone - 5.0.0 - API 21 - 768x1280. When I package the code I'm using the \"Android 5.1.1 [armeabi-v7a]\" SDK\r\n\r\nResults:\r\nOn iOS the window comes up and the icons / views are placed correctly according to the positions specified in the sliderdraw.tss file. On android the windows come up and icons / view come up \"somewhat\" centered. The iconTopId and optionId buttons are placed relative to each other appropriately but centered overall even though the left edge is specified as 0 and 40 respectively. The badge button is centered also even though it is clearly specified that it's right edge should be 5.\r\n\r\nExpected results:\r\nOn an android device the left edge of the views specified by #iconTopId should start at 0 units from the left edge of the list view\r\nOn an android device the left edge of the views specified by #optionId should start at 40 units from the left edge of the list view\r\nOn an android device the right edge of the views that use the \"badgeViewClass\" should have their right edge 5 units from the right edge of the list view\r\n\r\nTwo photos were already included that showed the \"Results\" on both platforms. It was already specified that the iOS picture was the \"Expected Results\" and that the Android picture contained \"Unexpected Results\". Hopefully the wording above will provide more context.\r\n\r\nIt should be easiest to reproduce if I don't try to rip out random parts of the code for the menu.\r\n\r\nI apologize for not telling you to call the doMenuButton function. The rest of the steps should be obvious to any engineer who has used appcelerator for more than a month. I tried to make sure that all the constants were in one place and initialized properly so it would be easy to add to a project. Hopefully I did that correctly.\r\n\r\nWhy do you think that some code is unnecessary? If so why do you think so? Did you actually try to add the code to a project or just automatically throw the bug back?", "updateAuthor": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-24T15:15:58.000+0000", "updated": "2015-08-24T15:33:59.000+0000" }, { "id": "360967", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "What I mean is have you tried to isolate the issue? Can you reproduce this by simply creating a ListView, add styling to align labels left and then see it still rendered centre on Android?\r\n\r\nI'm not the one triaging these tickets to decide what to do with it - just want to help you to improve the chance of getting it resolved.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-08-24T18:08:49.000+0000", "updated": "2015-08-24T18:08:49.000+0000" }, { "id": "360971", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "body": "There are many list views in my application. I don't have any of them acting like this one and I have no idea why. I can show you very similar code in my popup view control that works correctly. Something in the API layer is making a different choice and I don't know why. I've worked in the software industry for 27 years including 24 years at Adobe. In my 24 years at Adobe, we never asked our customers to do so much work to find bugs in our software as you guys do. It's just that many days I feel like I'm doing your work for you. Maybe I just screwed somewhere on this list view, but it's so similar to all the other list views and I've compared every line of .tss, xml and .js that I can think of trying to see something different and I just don't see it. I'll do my best to start stripping it down. And you add new bugs / changes that break my program or compelling almost every major update over the past 2 years. ", "updateAuthor": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-24T18:37:44.000+0000", "updated": "2015-08-24T18:40:59.000+0000" }, { "id": "361051", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "With your experience I'm sure you know it's not a small thing to try to account for thousands of API changes in 3 different platforms every year and that every once in a while breaking changes in iOS/Android will mean breaking changes in Titanium as well.\r\n\r\nYou will also I'm sure understand that a well formatted (your code is not), clearly described (which was missing in the initial ticket), easy to reproduce (no steps were included) bug is more likely to get attention.\r\n\r\nI'm not asking you to fix the bug, just want to help you to get a fix (if needed) to you asap.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-08-25T06:40:13.000+0000", "updated": "2015-08-25T06:40:13.000+0000" }, { "id": "361108", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "body": "I see what you mean about being well formatted. My code is perfectly formatted on my computer but I keep forgetting how to make it well formatted in JIRA. Thanks for helping me understand what you meant there. Thanks for fixing the formatting. When you said \"Proper JIRA formatting\" and then talked about \"Results\" and \"Expected Results\" I got the two confused.\r\n\r\n", "updateAuthor": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-08-25T13:23:01.000+0000", "updated": "2015-08-25T13:24:21.000+0000" }, { "id": "365503", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "body": "I would really appreciate it if someone would at least spend a little time looking into this problem. This UI is supposed to be the center of my navigation for my app ongoing. It looks great on iOS and terrible on Android. Any help/advice would be appreciated. I examined the properties carefully for more than a solid day in this code and it looks almost identical to code that works well in my app. Ideas on what I could try? Anything? It's been over a month now since I have submitted this bug.", "updateAuthor": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-10-01T02:27:18.000+0000", "updated": "2015-10-01T02:27:18.000+0000" }, { "id": "365569", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "body": "I found a workaround by wrapping every list item in another view. I'm not sure why this is necessary for Android but not iOS.\r\n\r\n{code}\r\n\r\n\t\r\n\t\t\r\n\t \r\n\t\r\n\t \r\n\t \r\n\t \t\r\n\t\t \r\n\t \r\n\t \r\n\t \t\r\n\t\t \r\n\t \r\n\t \r\n\t \t\r\n\t\t \t\r\n\t\t \t\r\n\t\t \r\n\t\t \r\n\t \r\n\t \r\n\t \t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t \r\n\t \r\n\t \r\n\t\r\n\t \r\n\t \r\n\t \r\n\t\t\r\n\t\r\n\r\n\r\n'.fullWidthContainerClass': {\r\n\twidth: Ti.UI.FILL,\r\n\theight: Ti.UI.SIZE\r\n},\r\n{code}\r\n", "updateAuthor": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-10-01T19:02:36.000+0000", "updated": "2015-10-01T19:31:59.000+0000" }, { "id": "371064", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello [~dspells], I tried to test the issue with the original test code. I followed the steps to regenerate the issue. I got an error \"putIfAbsent\" is undefined in \"AddToSlideDrawerMenu(item)\". What am I doing wrong? thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2015-11-22T07:09:16.000+0000", "updated": "2015-11-22T07:09:16.000+0000" }, { "id": "371073", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "body": "{code:javascript}\r\n// put in a key / value pair if the key is not already overridden by the caller\r\nfunction putIfAbsent(item, key, value)\r\n{\r\n\tif (!(key in item))\r\n\t\titem[key] = value;\r\n\telse\r\n\t\tvalue = item[key];\r\n\treturn value;\r\n}\r\n\r\n\r\n{code}\r\n", "updateAuthor": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-11-22T19:19:33.000+0000", "updated": "2015-11-22T19:29:27.000+0000" }, { "id": "371607", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello [~dspells], I tried to test the issue with your original test code. I followed your instruction as \r\n\r\n1) Created a new Mobile App Project\r\n2) Add the sliderdraw.js, sliderdraw.tss, sliderdraw.xml files to my project.\r\n3) In index.js, index.xml, index.tss file I have an open window in it. I have a label in the window.\r\n4) Copy and paste this code in the index.js file\r\n{code}\r\nAlloy.Globals.SliderDrawer =\r\n\r\n{\r\n\r\n ListFontSize: 16,\r\n\r\n LineHeight : 34,\r\n\r\n Center: { y: 17 },\r\n\r\n Width: 180,\r\n\r\n TextColor: 'white',\r\n\r\n BackgroundColor: 'transparent',\r\n\r\n BackgroundGradient: {\r\n\r\n type: 'linear',\r\n\r\n startPoint: { x: '100%', y: '50%' },\r\n\r\n endPoint: { x: '0%', y: '50%' },\r\n\r\n colors: [ { color: '#464646', offset: 0.0}, { color: '#343434', offset: 0.33 }, { color: '#2E2E2E', offset: 0.67 }, { color: '#383838', offset: 1.0 } ],\r\n\r\n }\r\n\r\n};\r\n\r\n\r\nfunction putIfAbsent(item, key, value)\r\n\r\n{\r\n\r\n if (!(key in item))\r\n\r\n item[key] = value;\r\n\r\n else\r\n\r\n value = item[key];\r\n\r\n return value;\r\n\r\n}\r\n\r\n \r\n\r\nfunction doMenuButton(e)\r\n\r\n{\r\n\r\n Ti.API.info('doMenuButton(' + JSON.stringify(e) + ')');\r\n\r\n var controller = Alloy.createController('sliderdrawer');\r\n\r\n controller.initialize(Alloy.Globals.menuItems,\r\n\r\n {\r\n\r\n top: isIOS ? 20 : 0,\r\n\r\n right: 0,\r\n\r\n width: Alloy.Globals.SliderDrawer.Width,\r\n\r\n backgroundGradient: Alloy.Globals.SliderDrawer.BackgroundGradient\r\n\r\n },\r\n\r\n {\r\n\r\n right: 0,\r\n\r\n width: Alloy.Globals.SliderDrawer.Width,\r\n\r\n separatorColor: '#802E2E2E'\r\n\r\n },\r\n\r\n Alloy.Globals.SliderDrawer.Width, handleMenuEvent);\r\n\r\n}\r\n\r\n \r\n\r\nAlloy.Globals.SliderDrawer.ChatMenuItem = { template: 'withBadge', eventname: 'socialComments', iconTop: {text: '\\uf086'}, option: {text: 'Chat'}, badge: {text: 0} };\r\n\r\n \r\n\r\nfunction AddToSlideDrawerMenu(item)\r\n\r\n{\r\n\r\n putIfAbsent(item, 'template', 'noBottom');\r\n\r\n putIfAbsent(item, 'properties', {});\r\n\r\n putIfAbsent(item.properties, 'height', Alloy.Globals.SliderDrawer.LineHeight);\r\n\r\n putIfAbsent(item.properties, 'backgroundColor', Alloy.Globals.SliderDrawer.BackgroundColor);\r\n\r\n if ('option' in item)\r\n\r\n putIfAbsent(item.option, 'color', Alloy.Globals.SliderDrawer.TextColor);\r\n\r\n if ('iconTop' in item)\r\n\r\n putIfAbsent(item.iconTop, 'color', Alloy.Globals.SliderDrawer.TextColor);\r\n\r\n if ('iconBottom' in item)\r\n\r\n putIfAbsent(item.iconBottom, 'color', Alloy.Globals.SliderDrawer.TextColor);\r\n\r\n Alloy.Globals.menuItems.push(item);\r\n\r\n}\r\n\r\n \r\n\r\n Alloy.Globals.menuItems = [];\r\n\r\n AddToSlideDrawerMenu({ eventname: 'scheduleTab', iconTop: {text: '\\uf073'}, option: {text: 'Schedule'} });\r\n\r\n AddToSlideDrawerMenu({ eventname: 'benchmarkTab', iconTop: {text: '\\uf012'}, option: {text: 'Tracking'} });\r\n\r\n AddToSlideDrawerMenu(Alloy.Globals.SliderDrawer.ChatMenuItem);\r\n\r\n AddToSlideDrawerMenu({ eventname: 'profileTab', iconTop: {text: '\\uf007'}, option: {text: 'Profile'} });\r\n\r\n AddToSlideDrawerMenu({ template: 'template', eventname: 'goalsTab', iconBottom: {text: '\\uf05b'}, iconTop: {text: '\\uf140'}, option: {text: 'My Next Goal'} });\r\n\r\n if (boxprefs.prefs.ONOFF_MEDALERT)\r\n\r\n AddToSlideDrawerMenu({ eventname: 'injuryTab', iconTop: {text: '\\uf0fa'}, option: {text: 'Injuries?'} });\r\n\r\n if (boxprefs.prefs.SPLASHPAGEANNOUNCEMENT != \"\")\r\n\r\n AddToSlideDrawerMenu({ eventname: 'splashpage', iconTop: {text: '\\uf0a1'}, option: {text: 'Announcements'} });\r\n\r\n AddToSlideDrawerMenu({ eventname: 'signOut', iconTop: {text: '\\uf08b'}, option: {text: 'Sign out'} });\r\n\r\n\r\n\r\n\r\n$.index.open();\r\n{code}\r\n\r\n5) Called the \"doMenuButton\" function by label event listener.\r\n\r\nNow I am having the error, \"Uncaught ReferenceError: boxprefs is not defined\". Please provide a clear sample code for me to test the validity of the bug. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2015-11-29T08:49:41.000+0000", "updated": "2015-11-29T08:49:41.000+0000" }, { "id": "371613", "author": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "body": "I apologize for not totally cleaning up the sample code. I removed the lines with boxprefs. They are not relevant to the test case.", "updateAuthor": { "name": "dspells", "key": "dspells", "displayName": "Henry David Spells III", "active": true, "timeZone": "America/Chicago" }, "created": "2015-11-30T01:27:45.000+0000", "updated": "2015-11-30T01:27:45.000+0000" } ], "maxResults": 13, "total": 13, "startAt": 0 } } }