{ "id": "125013", "key": "TIMOB-16244", "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": "16723", "description": "Windows Platform Support, ListView updates, Vector overlays in maps", "name": "Release 4.1.0", "archived": false, "released": true, "releaseDate": "2015-07-08" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-04-07T17:53:35.000+0000", "created": "2014-01-20T02:22:03.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api", "ios", "module_listview", "notable", "qe-manualtest", "qe-testadded" ], "versions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [ { "id": "34997", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "126135", "key": "AC-2468", "fields": { "summary": "Implement scroll event 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" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "47999", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "148513", "key": "TIDOC-2219", "fields": { "summary": "Update ListView guide for new improvements", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2015-06-16T17:55:10.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": "Confirmed these two events are left unimplemented in latest SDK 3.2.0.\r\n\r\nReally demand for them.\r\n\r\nThanks\r\n", "attachment": [], "flagged": false, "summary": "TiAPI: Add scroll end/start events for ListView", "creator": { "name": "jialhe85@gmail.com", "key": "jialhe85@gmail.com", "displayName": "David He", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jialhe85@gmail.com", "key": "jialhe85@gmail.com", "displayName": "David He", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Ti.SDK 3.2.0\r\niOS 7.0.3", "closedSprints": [ { "id": 370, "state": "closed", "name": "2015 Sprint 07 SDK", "startDate": "2015-03-28T00:00:13.362Z", "endDate": "2015-04-11T00:00:00.000Z", "completeDate": "2015-04-13T16:25:29.003Z", "originBoardId": 114 }, { "id": 362, "state": "closed", "name": "2015 Sprint 06 SDK", "startDate": "2015-03-14T13:56:53.868Z", "endDate": "2015-03-28T00:00:00.000Z", "completeDate": "2015-03-30T17:32:33.590Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "288790", "author": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "There appears to be some confusion about Scroll Start / End events. TIMOB-14317 indicates that these events were implemented but the documentation and code suggests otherwise. https://github.com/appcelerator/titanium_mobile/pull/4086 pull request contains the discussion around this functionality but not sure of the outcome of these specific events. Moving this request to engineering to clarify.", "updateAuthor": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-20T06:51:30.000+0000", "updated": "2014-01-20T06:51:30.000+0000" }, { "id": "289624", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~ragrawal] The PR you are referencing was never merged into the SDK. it was a community PR and since the community member declined to sign the CLA the PR was closed out.\r\n\r\nScroll events on the ListView are implemented as `marker` event. \r\nRead documentation for more details : http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.ListView-event-marker ", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-24T19:22:40.000+0000", "updated": "2014-01-24T19:25:24.000+0000" }, { "id": "290323", "author": { "name": "jialhe85@gmail.com", "key": "jialhe85@gmail.com", "displayName": "David He", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Sabli\r\n\r\n*marker* event does not meet my need as it is documented as only fired once.\r\n\r\nSo, there is no plan to implement scroll end/start events?", "updateAuthor": { "name": "jialhe85@gmail.com", "key": "jialhe85@gmail.com", "displayName": "David He", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-29T21:55:39.000+0000", "updated": "2014-01-29T21:55:39.000+0000" }, { "id": "292133", "author": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "body": "I also need the 'scroll' event in the same manner as it was in TableView, \"Fired when the table view is scrolled.\"\r\n\r\nhttp://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.TableView-event-scroll", "updateAuthor": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-02-10T08:59:53.000+0000", "updated": "2014-02-10T08:59:53.000+0000" }, { "id": "298112", "author": { "name": "bgrantges@appcelerator.com", "key": "bgrantges", "displayName": "Bert Grantges", "active": false, "timeZone": "America/Chicago" }, "body": "As ListView is written, there is no way to understand which direction the user is scrolling when the marker is fired. Also, as you can only set one marker - there is no way to properly do lazy loading using a list view.\n\nIdeally the marker event would:\n- Provide a direction property similar to the swipe event\n\nIdeally you could set two markers so i would understand the bounds of my list and begin loading data accordingly - adding and removing content as required.\n\nLet's get this in :)", "updateAuthor": { "name": "bgrantges@appcelerator.com", "key": "bgrantges", "displayName": "Bert Grantges", "active": false, "timeZone": "America/Chicago" }, "created": "2014-03-20T18:48:42.000+0000", "updated": "2014-03-20T18:48:42.000+0000" }, { "id": "301037", "author": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "body": "Any activity here?\r\nI really need this, stuck migration from tableview to listview on this alone... And no workaround available...", "updateAuthor": { "name": "martijnkooij", "key": "martijnkooij", "displayName": "Martijn Kooij", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-04-15T20:31:15.000+0000", "updated": "2014-04-15T20:31:15.000+0000" }, { "id": "329997", "author": { "name": "jialhe85@gmail.com", "key": "jialhe85@gmail.com", "displayName": "David He", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Any updates with this highly demanded feature?", "updateAuthor": { "name": "jialhe85@gmail.com", "key": "jialhe85@gmail.com", "displayName": "David He", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-10-29T23:44:17.000+0000", "updated": "2014-10-29T23:44:17.000+0000" }, { "id": "334157", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "This feature was downranked multiple times. Is there currently a work in progress? The release 3.6.0 seems really far away!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-12-01T19:31:15.000+0000", "updated": "2014-12-01T19:31:15.000+0000" }, { "id": "334160", "author": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "body": "Everything slated for 3.5.0 got bumped to a new version name, 3.6.0. It's not /that/ far off.\r\n\r\nThis is because the 3.5.0 release is now focused on making Titanium iOS 64-bit ready way before Apple's Feb 1 deadline.", "updateAuthor": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "created": "2014-12-01T19:41:55.000+0000", "updated": "2014-12-01T19:41:55.000+0000" }, { "id": "338448", "author": { "name": "cornflakesuperstar", "key": "cornflakesuperstar", "displayName": "Jason Kotchoff", "active": true, "timeZone": "America/Los_Angeles" }, "body": "+1 for this.", "updateAuthor": { "name": "cornflakesuperstar", "key": "cornflakesuperstar", "displayName": "Jason Kotchoff", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-01-08T23:18:24.000+0000", "updated": "2015-01-08T23:18:24.000+0000" }, { "id": "339623", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "+1", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-01-18T12:04:54.000+0000", "updated": "2015-01-18T12:04:54.000+0000" }, { "id": "346416", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "+1", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2015-03-18T20:01:00.000+0000", "updated": "2015-03-18T20:01:00.000+0000" }, { "id": "347457", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "I have created a Pull Request, if anyone is willing to help test, please do so and report feedback. \r\n\r\nThanks!\r\nPR: https://github.com/appcelerator/titanium_mobile/pull/6746\r\n\r\nTest code:\r\n{code:javascript}\r\nlistView.addEventListener('scrollstart', function(e) {\r\n\tTi.API.info('----------------------------');\r\n\tTi.API.info(\r\n 'START firstVisibleSectionIndex: ' + e.firstVisibleSectionIndex + \r\n ' firstVisibleItemIndex: ' + e.firstVisibleItemIndex + \r\n ' firstVisibleSection: ' + e.firstVisibleSection +\r\n ' firstVisibleItem: ' + e.firstVisibleItem +\r\n ' visibleItemCount: ' + e.visibleItemCount\r\n );\r\n});\r\nlistView.addEventListener('scrollend', function(e){\r\n Ti.API.info(\r\n 'END firstVisibleSectionIndex: ' + e.firstVisibleSectionIndex + \r\n ' firstVisibleItemIndex: ' + e.firstVisibleItemIndex + \r\n ' firstVisibleSection: ' + e.firstVisibleSection +\r\n ' firstVisibleItem: ' + e.firstVisibleItem +\r\n ' visibleItemCount: ' + e.visibleItemCount\r\n );\r\n\tTi.API.info('----------------------------');\r\n});\r\n{code}\r\n\r\n", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-03-26T17:56:19.000+0000", "updated": "2015-03-26T17:56:19.000+0000" }, { "id": "349693", "author": { "name": "TapaniM", "key": "tapanim", "displayName": "Tapani Moilanen", "active": true, "timeZone": "Europe/Helsinki" }, "body": "So this is marked as resolved, but is marked as to be released in SDK 4.1.0? Why not 4.0.0, this is a highly requested feature that's been open for over a year, and it's going to be yet delayed. This is holding back many transitions from tableviews, and new applications implementing listviews.\r\n\r\nAlso, seeing the release schedule of the past year, 4.1.0 will probably take quite a while, considering the fact that over 4 months ago there was a comment about 3.6.0 not being /that/ far off, and it still hasn't been released. Just my two cents about the priority of this issue.", "updateAuthor": { "name": "TapaniM", "key": "tapanim", "displayName": "Tapani Moilanen", "active": true, "timeZone": "Europe/Helsinki" }, "created": "2015-04-15T16:15:18.000+0000", "updated": "2015-04-15T16:16:16.000+0000" }, { "id": "349695", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It's a large change, and we are past code freeze for 4.0 (which was previously named 3.6), so it's unlikely we can take it in 4.0. However, you are more than welcome to backport the fix into a custom SDK version if you'd like to use it ahead o the release date.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-04-15T16:22:26.000+0000", "updated": "2015-04-15T16:22:26.000+0000" }, { "id": "355237", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the feature implementation.\r\n\r\nScrollstart & scrollend events are fired as expected for a listview.\r\n\r\nClosing.\r\n\r\nEnvironment:\r\nAppc Studio : 4.1.0.201505071004\r\nTi SDK : 4.1.0.v20150614181235\r\nTi CLI : 4.0.1\r\nAlloy : 1.6.2\r\nMAC Yosemite : 10.10.3\r\nAppc npm : 4.0.1\r\nAppc CLI : 4.0.2\r\nNode: v0.10.37\r\nNexus 5 - Android 5.1.1", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-06-16T17:54:45.000+0000", "updated": "2015-06-16T17:54:45.000+0000" } ], "maxResults": 17, "total": 17, "startAt": 0 } } }