{ "id": "128628", "key": "TIMOB-16800", "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": "18414", "description": "", "name": "Release 6.2.0", "archived": false, "released": true, "releaseDate": "2017-09-13" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-08-21T14:47:32.000+0000", "created": "2014-04-03T11:48:23.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "parity", "qe-3.2.3" ], "versions": [ { "id": "15971", "description": "Release 3.2.3", "name": "Release 3.2.3", "archived": false, "released": true, "releaseDate": "2014-04-30" } ], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-08-24T01:44:59.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": "10202", "name": "Android", "description": "Android Platform" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" }, { "id": "10224", "name": "TiAPI", "description": "This component is used for cross-platform API work. Specifications are most likely to use this component." } ], "description": "Not a regression since issue occurs on 3.2.2.GA,3.2.1.GA and 3.2.0.GA also.\r\ne.rowData returns different data on different platform\r\n\r\nSteps to reproduce:\r\n1.copy paste the code given below in app.js\r\n2.Launch the app and click on Row.\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n });\r\n var data=[];\r\n var table = Ti.UI.createTableView({\r\n top:0,\r\n height: \"66%\"\r\n }); \r\n var row = Ti.UI.createTableViewRow({\r\n width: Ti.UI.FILL,\r\n backgroundColor:\"red\",\r\n height: 64\r\n }); \r\ndata.push(row);\r\ntable.addEventListener(\"click\", function (e) { \r\n Ti.API.warn(\"clicked: \" + JSON.stringify(e.rowData));\r\n});\r\ntable.data = data; \r\nwin.add(table);\r\nwin.open();\r\n{code}\r\n\r\nExpected Result:\r\nBoth platform must show the same result.\r\n\r\nActual Result:\r\nBoth the platform gives different result.\r\n\r\nOn Android getting the output as:\r\n{code}\r\n[WARN] : clicked: {\"enabled\":true,\"height\":64,\"visible\":true,\"backgroundColor\":\"red\",\"backgroundRepeat\":false,\"width\":\"fill\"}\r\n{code}\r\n\r\nOn iOS getting the output as:\r\n{code}\r\n[WARN]:clicked{\"width\":\"FILL\",\"backgroundColor\":\"red\",\"horizontalWrap\":true,\"height\":64}\r\n{code}", "attachment": [], "flagged": false, "summary": "TiAPI: TableView - e.rowData returns different results on each platform", "creator": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Appc Studio: 3.2.3.201403271839\r\nSdk:3.2.3.v20140401134117\r\nalloy:1.3.1\r\ntitanium:3.2.3-alpha2\r\ntitanium-code-processor:1.1.1-alpha\r\nOsx: Maverick(10.9.2)\r\nDevice:iPhone 5C(7.1),Nexus7(v4.3)", "closedSprints": [ { "id": 741, "state": "closed", "name": "2016 Sprint 22 SDK", "startDate": "2016-10-22T00:02:29.945Z", "endDate": "2016-11-05T00:02:00.000Z", "completeDate": "2016-11-07T04:38:58.335Z", "originBoardId": 114 }, { "id": 796, "state": "closed", "name": "2017 Sprint 02 SDK", "startDate": "2017-01-15T00:00:41.845Z", "endDate": "2017-01-29T00:00:00.000Z", "completeDate": "2017-01-30T21:10:44.640Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "299713", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hieu, thoughts on why this is?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-03T11:57:33.000+0000", "updated": "2014-04-03T11:57:33.000+0000" }, { "id": "399224", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I guess we want the Android behavior in iOS since it has more information? That would mean that we (just) need to expose some missing properties.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-18T12:35:50.000+0000", "updated": "2016-10-18T12:35:50.000+0000" }, { "id": "399362", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/8526\r\n\r\nTest-case:\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({});\r\nvar data = [];\r\nvar table = Ti.UI.createTableView({\r\n top: 0,\r\n height: \"66%\"\r\n});\r\nvar row = Ti.UI.createTableViewRow({\r\n width: Ti.UI.FILL,\r\n enabled: false,\r\n backgroundRepeat: false,\r\n backgroundColor: \"red\",\r\n height: 64\r\n});\r\ndata.push(row);\r\ntable.addEventListener(\"click\", function(e) {\r\n Ti.API.warn(\"clicked: \" + JSON.stringify(e.rowData));\r\n});\r\ntable.data = data;\r\nwin.add(table);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-10-19T12:42:50.000+0000", "updated": "2016-10-19T12:42:50.000+0000" }, { "id": "404042", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested with this environment:\r\nNPM Version: 2.15.9\r\nNode Version: 4.5.0\r\nMac OS: 10.12.1\r\nAppc CLI: 6.1.0\r\nAppc CLI NPM: 4.2.8\r\nTitanium SDK version: 6.1.0.v20170103080657\r\nAppcelerator Studio, build: 4.8.1.201612050850\r\nXcode 8.2\r\niOS Device: 10.0\r\nAndroid Device: 6.0.1\r\n\r\nI tested this with SDK 6.1.0, but found that the outputs still differ between iOS and Android. For example, iOS shows the horizontalWrap property while Android does not. Also, Android shows touchEnabled property, while iOS does not. I needed to \"enable\" createTableViewRow, otherwise the row is not clickable in Android. For iOS it did not matter. See below for actual outputs:\r\n\r\niOS:\r\n{code}\r\n[WARN] : clicked: {\"horizontalWrap\":true,\"visible\":true,\"enabled\":false,\"backgroundColor\":\"red\",\"width\":\"FILL\",\"height\":64,\"backgroundRepeat\":false}\r\n{code}\r\n\r\nAndroid:\r\n{code}\r\n[WARN] : clicked: {\"backgroundColor\":\"red\",\"width\":\"fill\",\"height\":64,\"visible\":true,\"enabled\":true,\"hiddenBehavior\":4,\"backgroundRepeat\":false,\"touchEnabled\":true}\r\n{code}\r\n", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-03T23:45:55.000+0000", "updated": "2017-01-03T23:45:55.000+0000" }, { "id": "404254", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~amukherjee] You are correct, here are the comparisons:\r\n\r\n||Property||iOS||Android||\r\n|horizontalWrap|x| |\r\n|visible|x|x|\r\n|enabled|x|(Wrong value)|\r\n|backgroundColor|x|x|\r\n|width|x|x|\r\n|height|x|x|\r\n|touchEnabled| |x|\r\n|hiddenBehavior| |x|\r\n\r\nNotes: {{hiddenBehavior}} is Android-only, so it's not intended to be included on iOS. I fixed the {{touchEnabled}} one in [this commit|https://github.com/appcelerator/titanium_mobile/commit/aadb6b0d4475dc886b1c93c1febd68833affeb3a] and what we could do is add {{horizontalWrap}} to the Android defaults and see why {{enabled}} returns false on Android although (manually) specified as {{true}}. [~gmathews] Can you maybe help me with the latter one?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-08T23:26:28.000+0000", "updated": "2017-01-08T23:29:41.000+0000" }, { "id": "426906", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "Added {{horizontalWrap}}. PR for Android: \r\nhttps://github.com/appcelerator/titanium_mobile/pull/9334\r\nhttps://github.com/appcelerator/titanium_mobile/pull/9335\r\n\r\nOutput:\r\n{code}\r\n{\"soundEffectsEnabled\":true,\"backgroundColor\":\"red\",\"horizontalWrap\":true,\"visible\":true,\"height\":64,\"width\":\"fill\",\"enabled\":true,\"hiddenBehavior\":4,\"backgroundRepeat\":false,\"touchEnabled\":false}\r\n{code}\r\n\r\n{{enabled}} is {{true}} in my test", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-08-18T18:27:44.000+0000", "updated": "2017-08-18T18:31:39.000+0000" }, { "id": "427133", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix with SDK 6.2.0.v20170823150226 & 7.0.0.v20170823165814.\r\n\r\nClosing.\r\n\r\nBelow are the {{rowData}} outputs:\r\n*SDK 6.2.0.v20170823150226*\r\nAndroid:\r\n{code}\r\n{\"soundEffectsEnabled\":true,\"backgroundColor\":\"red\",\"horizontalWrap\":true,\"height\":64,\"width\":\"fill\",\"visible\":true,\"enabled\":true,\"hiddenBehavior\":4,\"backgroundRepeat\":false,\"touchEnabled\":true}\r\n{code}\r\n\r\nIOS:\r\n{code}\r\n{\"horizontalWrap\":true,\"visible\":true,\"touchEnabled\":true,\"width\":\"FILL\",\"backgroundColor\":\"red\",\"height\":64,\"enabled\":true,\"backgroundRepeat\":false}\r\n{code}\r\n\r\n*SDK 7.0.0.v20170823165814*\r\nAndroid:\r\n{code}\r\n{\"soundEffectsEnabled\":true,\"backgroundColor\":\"red\",\"horizontalWrap\":true,\"height\":64,\"width\":\"fill\",\"visible\":true,\"enabled\":true,\"hiddenBehavior\":4,\"backgroundRepeat\":false,\"touchEnabled\":true}\r\n{code}\r\n\r\nIOS:\r\n{code}\r\n{\"horizontalWrap\":true,\"visible\":true,\"touchEnabled\":true,\"width\":\"FILL\",\"backgroundColor\":\"red\",\"height\":64,\"enabled\":true,\"backgroundRepeat\":false}\r\n{code}\r\n\r\nStudio Ver: 4.9.1.201707200100\r\nOS Ver: 10.12.3\r\nXcode Ver: Xcode 8.3.3\r\nAppc NPM: 4.2.9\r\nAppc CLI: 6.2.3\r\nTi CLI Ver: 5.0.14\r\nAlloy Ver: 1.9.13\r\nNode Ver: 6.10.1\r\nJava Ver: 1.8.0_101\r\nDevices: ⇨ google Nexus 5 --- Android 6.0.1\r\n ⇨ google Pixel --- Android 7.1.1", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-08-24T01:43:30.000+0000", "updated": "2017-08-24T01:43:45.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }