{ "id": "123853", "key": "ALOY-903", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [], "resolution": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2013-12-17T19:22:43.000+0000", "created": "2013-12-17T08:27:44.000+0000", "priority": null, "labels": [ "1.3.0", "alloy" ], "versions": [], "issuelinks": [], "assignee": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-01-06T07:09:40.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": "12333", "name": "Widgets" } ], "description": "Since Alloy 1.3.0-cr Widgets (and Requires) in TableViews don't get the {{__parentSymbol}} property anymore. This causes widgets like [infiniteScroll|https://github.com/fokkezb/nl.fokkezb.infiniteScroll/] to crash the app.\r\n\r\nFor effective widgets it is essential for them to know about their context.\r\n\r\nh1. To reproduce\r\n\r\n1. Run the attached project\r\n2. See how it crashes\r\n3. Open the {{Resources/iphone/alloy/controllers/index.js}} file to see that indeed the {{__parentSymbol}} property is missing.\r\n4. Try again with an earlier version of Alloy and see it working.", "attachment": [ { "id": "44661", "filename": "test.zip", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-12-17T08:27:44.000+0000", "size": 4307085, "mimeType": "application/zip" } ], "flagged": false, "summary": "Alloy: __parentSymbol property missing for widgets in TableView ", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "Alloy 1.3.0-cr", "closedSprints": [ { "id": 25, "state": "closed", "name": "2013 Sprint 26", "startDate": "2013-12-16T05:19:33.801Z", "endDate": "2013-12-30T05:19:33.801Z", "completeDate": "2014-01-07T17:15:59.133Z" } ], "comment": { "comments": [ { "id": "284713", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Same for my [pullToRefresh|https://github.com/fokkezb/nl.fokkezb.pullToRefresh/] widget. For both I've released a version that has a manual workaround.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-12-17T08:49:30.000+0000", "updated": "2013-12-17T08:49:47.000+0000" }, { "id": "284759", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Fokke, can you plead let us know which version of Alloy first shows the problem? What is the manual workaround? [~tlukasavage], FYI", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-17T16:09:43.000+0000", "updated": "2013-12-17T16:09:43.000+0000" }, { "id": "284761", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "__parentSymbol was never meant to be a public API, hence the [double underscores|http://docs.appcelerator.com/titanium/latest/#!/guide/Alloy_Best_Practices_and_Recommendations-section-36735073_AlloyBestPracticesandRecommendations-NamingConventions] and no mention in the documentation. I can take a look, but I'm not sure that this will be able to be resolved for 1.3.0.", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-17T16:17:39.000+0000", "updated": "2013-12-17T16:17:39.000+0000" }, { "id": "284821", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "As stated in the comments, {{__parentSymbol}} is not intended to be used directly by developers, and probably doesn't do exactly what you think it does. The instances where it is undefined are by design. {{__parentSymbol}} is passed through controllers only when the parent/child UI parsers actually need them. The manner in which Ti.UI.TableView is parsed causes it not to pass {{__parentSymbol}} as TableView and its children do not have the normal add()/remove() relationship that {{__parentSymbol}} is meant to preserve. \r\n\r\nI'm closing this as \"won't fix\". You can, however, open a feature request for a true public API that does what you _think_ {{__parentSymbol}} does, which I'm assuming you think it is _always_ a reference to the current XML UI component's direct parent, which is not currently the case. ", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-17T19:22:43.000+0000", "updated": "2013-12-17T19:22:43.000+0000" }, { "id": "284855", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~ingo] the workaround is to instruct people to manually call an {{init}} method in the controller, passing the object to act upon as its parameter. I think this is against the idea of self-configuring widgets so I will create a ticket to request {{__parentSymbol}} to be formalized/reformatted as a property for developers to use.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-12-17T21:05:47.000+0000", "updated": "2013-12-17T21:05:47.000+0000" }, { "id": "285009", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-12-18T11:35:00.000+0000", "updated": "2013-12-18T11:35:00.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }