{ "id": "116271", "key": "TIMOB-14317", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-08-19T21:38:32.000+0000", "created": "2013-06-20T20:21:13.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "module_listview", "qe-testadded" ], "versions": [], "issuelinks": [ { "id": "29734", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "111845", "key": "TIMOB-13244", "fields": { "summary": "Ti API: Implement ListView Phase 2", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "6", "description": "gh.issue.epic.desc", "name": "Epic", "subtask": false } } } } ], "assignee": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-03-20T18:49:49.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": "10224", "name": "TiAPI", "description": "This component is used for cross-platform API work. Specifications are most likely to use this component." } ], "description": "The scroll and drag events serve a variety of purposes in TableView, and we should bring them to ListView.", "attachment": [], "flagged": false, "summary": "TI API: Implement the scroll/drag start/end events for ListView", "creator": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [ { "id": "116272", "key": "TIMOB-14318", "fields": { "summary": "Specification: Create the specification for scroll/drag start/end events for ListView", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } }, { "id": "116273", "key": "TIMOB-14319", "fields": { "summary": "iOS: Implement the scroll/drag start/end events for ListView", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } }, { "id": "116274", "key": "TIMOB-14320", "fields": { "summary": "Android: Implement the scroll/drag start/end events for ListView", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } ], "reporter": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "264578", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Brief Spec agreed upon\n\n1. Introduce method `setMarker` on ListView allowing you to set a reference item via sectionIndex, itemIndex\n2. Introduce event `marker` which fired when either the reference item or item past the reference item is displayed. \n3. This is a one shot event. \n4. Event does not bubble and has no payload.\n\nTest case is in TIMOB-14319\n\n", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-08-01T22:37:42.000+0000", "updated": "2013-08-01T22:37:42.000+0000" }, { "id": "276545", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix with:\r\n\r\nAppc-Studio: 3.2.0.201310230601\r\nSdk:3.2.0.v20131023171643\r\nalloy:1.2.2\r\nnpm:1.3.2\r\ntitanium:3.2.0\r\ntitanium-code-processor:1.0.3\r\nDevice:Google Nexus 7(v4.3), iPhone5(v7.0)\r\nXcode: 5\r\nOS: Mac OSX 10.8\r\n\r\n\r\nCode used to test:\r\n{code}\r\nfunction genSection(sectionIndex) {\r\n var section = Ti.UI.createListSection({ headerTitle: 'Section '+sectionIndex});\r\n var data = [];\r\n var row=1;\r\n while(row<21) {\r\n data.push({properties:{title:'Section '+sectionIndex+' Row '+row}});\r\n row++;\r\n }\r\n section.setItems(data);\r\n return section;\r\n}\r\n \r\nvar win = Ti.UI.createWindow({backgroundColor: 'white'});\r\nvar listView = Ti.UI.createListView();\r\nvar sections = [];\r\nvar indices = [];\r\nvar sc=0;\r\nwhile(sc<10) {\r\n sections.push(genSection(sc+1));\r\n indices.push({index:sc,title:'S'+sc});\r\n sc++;\r\n}\r\n \r\nlistView.sections = sections;\r\nlistView.sectionIndexTitles = indices;\r\n \r\nlistView.setMarker({sectionIndex:2,itemIndex:5});\r\nlistView.addEventListener('marker',function(e){\r\n Ti.API.info('GOT MARKER EVENT');\r\n})\r\nwin.add(listView);\r\nwin.open();\r\n{code}\r\n\r\nListView scroll/drag event working as per expectation:\r\n1. Event fired only once.\r\n2. Fired when doing a normal scroll.\r\n3. Fired when scrolling using the sectionIndexTitles", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-24T05:02:20.000+0000", "updated": "2013-10-24T05:02:20.000+0000" }, { "id": "298113", "author": { "name": "bgrantges@appcelerator.com", "key": "bgrantges", "displayName": "Bert Grantges", "active": false, "timeZone": "America/Chicago" }, "updateAuthor": { "name": "bgrantges@appcelerator.com", "key": "bgrantges", "displayName": "Bert Grantges", "active": false, "timeZone": "America/Chicago" }, "created": "2014-03-20T18:49:49.000+0000", "updated": "2014-03-20T18:49:49.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }