{ "id": "149110", "key": "TIMOB-19068", "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": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2015-06-26T19:37:11.000+0000", "created": "2015-06-25T00:04:58.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "qe-4.1.0" ], "versions": [ { "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" } ], "issuelinks": [], "assignee": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2015-06-29T18:38:45.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": "12642", "name": "Windows", "description": "Windows authoring support" } ], "description": "h5. Steps To Reproduce:\r\n1. Use the code below in your app.js:\r\n{code}\r\nvar win = Ti.UI.createWindow({backgroundColor:'black'});\r\n \r\nvar tableData = [ {title: 'Apples'}, {title: 'Bananas'}, {title: 'Carrots'}, {title: 'Potatoes'} ];\r\n \r\nvar table = Ti.UI.createTableView({\r\n data: tableData\r\n});\r\n \r\ntable.addEventListener('click', function(e){\r\n alert(e.rowData);\r\n});\r\n \r\nwin.add(table);\r\nwin.open();\r\n{code}\r\n2. Build for windows device/emulator.\r\n3. After the app launches click on any row.\r\n\r\nh5.Actual Result:\r\n1. The alert shows [object object] rather than row data.\r\n\r\nh5.Expected Result:\r\n1. The alert should the row value.\r\n", "attachment": [], "flagged": false, "summary": "Windows: Clicking on Tableview row does not give rowdata value but [object object]", "creator": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Environment:\r\nAppc Studio: 4.1.0.201506221807\r\nTi SDK: 4.1.0.v20150624142618\r\nTi CLI: 4.0.1\r\nAlloy: 1.6.2\r\nWindows: 8.1 Enterprise 64-bit\r\nAPPC NPM: 4.1.0-1\r\nAPPC CLI: 4.1.0-3 \r\nDevice: Nokia Lumia 928 - Windows Phone 8.1\r\nWindows emulator : 8.1", "comment": { "comments": [ { "id": "355930", "author": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~lchoudhary], what exactly do you mean by \"row value\"? Do you expect it returns string like \"\\{title: 'Bananas'\\}\"? Currently {{e.rowData}} returns JavaScript dictionary object according to [Titanium API doc|http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TableView-event-click]. So for example when you {{alert(e.rowData)}}, it should show it is an {{Object}}. You can dump its actual value by string when you use {{JSON.stringify}}.\r\n\r\n{code}\r\ntable.addEventListener('click', function (e) {\r\n alert(JSON.stringify(e.rowData));\r\n});\r\n{code}", "updateAuthor": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-06-25T08:36:29.000+0000", "updated": "2015-06-25T08:36:29.000+0000" }, { "id": "355970", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~kota], Ok thanks for clarifying, I get {code}object{code} . \r\nI opened the ticket because on android the same code returns the string like {code}title: Bananas{code} & I was thinking we should have parity across platforms ?", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-06-25T17:32:29.000+0000", "updated": "2015-06-25T17:33:07.000+0000" }, { "id": "356004", "author": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~lchoudhary], thanks for information. After discussion with Windows team we come up with conclusion that we want it to match with Titanium iOS behavior because Titanium iOS & Windows uses same JavaScript engine (JavaScriptCore). We'll work on that.", "updateAuthor": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-06-25T23:16:41.000+0000", "updated": "2015-06-25T23:20:20.000+0000" }, { "id": "356005", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "[~kota] [~lchoudhary] Looks to me like this isn't something every platform does the same. I just tried on iOS and got the following:\r\n{code}\r\n[object TiUITableViewRow]\r\n{code}", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2015-06-25T23:17:40.000+0000", "updated": "2015-06-25T23:17:40.000+0000" }, { "id": "356007", "author": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~cwilliams] [~lchoudhary] Thanks for clarification. I would say this behavior on Titanium Windows is valid where we are returning \"properties of the row\" across platform correctly according to Titanium API doc, using different internal representation. You can check actual values by string using {{JSON.stringify}}.", "updateAuthor": { "name": "kiguchi", "key": "kota", "displayName": "Kota Iguchi", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-06-25T23:55:14.000+0000", "updated": "2015-06-25T23:55:14.000+0000" }, { "id": "356268", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-06-29T18:38:40.000+0000", "updated": "2015-06-29T18:38:40.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }