{ "id": "110850", "key": "TIMOB-13066", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "15711", "description": "2013 Sprint 24", "name": "2013 Sprint 24", "archived": true, "released": true, "releaseDate": "2013-11-29" }, { "id": "15712", "description": "2013 Sprint 24 API", "name": "2013 Sprint 24 API", "archived": true, "released": true, "releaseDate": "2013-11-29" }, { "id": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-11-27T19:28:52.000+0000", "created": "2013-03-08T11:43:55.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "DashboardView", "i0S", "module_dashboardview", "qe-closed-3.3.0", "qe-testadded" ], "versions": [], "issuelinks": [], "assignee": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2014-04-24T09:36:33.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h2. Problem description\r\nA DashboardView disappears from a ScrollableView's page as soon as the page is out of cache.\r\n\r\nh2. Steps to reproduce\r\nFollow these steps to reproduce:\r\n\r\nUse the following code:\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow();\r\nvar pages = [];\r\nvar dashboardData = [];\r\n\r\nfor (var i=0; i<9; i++){\r\n var item = Ti.UI.createDashboardItem({\r\n image: 'appicon.png'\r\n });\r\n dashboardData.push(item);\r\n}\r\n\r\nvar dashboard = Ti.UI.createDashboardView({\r\n data: dashboardData,\r\n wobble: true,\r\n top: 100\r\n});\r\n\r\nfor (var i=0; i<10; i++) {\r\n pages[i] = Ti.UI.createView({\r\n backgroundColor: '#fff'\r\n });\r\n pages[i].add(Ti.UI.createLabel({text: i}));\r\n if (i === 0) {\r\n pages[i].add(dashboard);\r\n }\r\n}\r\n\r\nvar scroll = Ti.UI.createScrollableView({\r\n views: pages,\r\n cacheSize: 3\r\n});\r\n\r\nwin.add(scroll);\r\nwin.open();\r\n{code}\r\n\r\n1. Swipe 2 times to the right\r\n2. Swipe 2 times to the left\r\n\r\nProblem does not occur if cache size is increased to >= number of pages.", "attachment": [ { "id": "36042", "filename": "app.js", "author": { "name": "jsander", "key": "jsander", "displayName": "Janosch Sander", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-03-08T11:43:55.000+0000", "size": 636, "mimeType": "text/javascript" }, { "id": "36043", "filename": "workaround.js", "author": { "name": "jsander", "key": "jsander", "displayName": "Janosch Sander", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-03-08T15:37:59.000+0000", "size": 1039, "mimeType": "text/javascript" } ], "flagged": false, "summary": "iOS: DashboardView disappears from ScrollableView", "creator": { "name": "jsander", "key": "jsander", "displayName": "Janosch Sander", "active": true, "timeZone": "Asia/Kolkata" }, "subtasks": [], "reporter": { "name": "jsander", "key": "jsander", "displayName": "Janosch Sander", "active": true, "timeZone": "Asia/Kolkata" }, "environment": "iOS 6.1 Simulator & iPad2; Titanium SDK 3.0.2.GA", "comment": { "comments": [ { "id": "241333", "author": { "name": "jsander", "key": "jsander", "displayName": "Janosch Sander", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Recreating the entire DashboardView in a scroll or scrollend eventlistener seems to be the only way to work around the issue from JS side. See attached workaround.js", "updateAuthor": { "name": "jsander", "key": "jsander", "displayName": "Janosch Sander", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-03-08T15:38:14.000+0000", "updated": "2013-03-08T15:38:14.000+0000" }, { "id": "280210", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR pending https://github.com/appcelerator/titanium_mobile/pull/4995", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-11-19T19:38:06.000+0000", "updated": "2013-11-19T19:38:06.000+0000" }, { "id": "302356", "author": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Verified as fixed, hence closing the issue.\r\n\r\nVerified on:\r\nDevice : iPhone 5s , iOS version : 7.1.1\r\nSDK: 3.3.0.v20140423155715\r\nCLI version : 3.3.0-dev\r\nOS : MAC OSX 10.9.2\r\nAlloy: 1.4.0-dev\r\nACS: 1.0.14\r\nnpm:1.3.2\r\nAppcelerator Studio, build: 3.3.0.201404211130\r\ntitanium-code-processor: 1.1.1-alpha\r\nXCode : 5.1.1", "updateAuthor": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-04-24T07:29:03.000+0000", "updated": "2014-04-24T07:29:03.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }