{ "id": "149755", "key": "TIMOB-19353", "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": [], "resolution": null, "resolutiondate": null, "created": "2015-07-17T01:36:17.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:55:53.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "When a listview item is in delete state (that is, the item is swiped left and a red delete button shows on the right), if updating the listview data, the item with delete state goes back to normal state. This is a weird behavior. Preferably data update doesn't change an item's delete state. Is this a bug? Or any reason for such behavior?\r\n\r\nTo reproduce, create an Alloy default project with the following:\r\nindex.xml\r\n{code}\r\n\r\n\t\r\n\t\t\r\n \r\n \r\n \r\n \r\n \r\n \r\n\t\r\n\r\n{code}\r\n\r\nindex.js\r\n{code}\r\n$.index.open();\r\nsetInterval(function(){$.list.updateItemAt(0,{properties:{title:Date.now()}});},1000);\r\n{code}\r\n\r\nSwipe left on any item to show the delete button and see how it goes back to normal state every time the data is updated.", "attachment": [], "flagged": false, "summary": "iOS - ListView - data update changes item's delete state", "creator": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "SDK 4.1.0 iOS8", "comment": { "comments": [ { "id": "358113", "author": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "body": "[~shawnlan] can you please add a test case here? \r\nThanks!", "updateAuthor": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "created": "2015-07-22T02:54:00.000+0000", "updated": "2015-07-22T02:54:00.000+0000" }, { "id": "358661", "author": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Updated the description with the test case. Turns out it's not related to Alloy data binding. As long as you update the listview's data, you'll have this issue.", "updateAuthor": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-31T02:08:54.000+0000", "updated": "2015-07-31T02:08:54.000+0000" }, { "id": "359644", "author": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The updated item and the item in delete state can be different ones.", "updateAuthor": { "name": "shawnlan", "key": "shawnlan", "displayName": "Shawn Lan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-08-12T07:16:44.000+0000", "updated": "2015-08-12T07:16:44.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }