{ "id": "115689", "key": "ALOY-695", "fields": { "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true }, "parent": { "id": "99986", "key": "ALOY-210", "fields": { "summary": "Support Dynamic Styling", "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": "Critical", "id": "1" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "15402", "description": "Alloy 1.2.0, concurrent with SDK 3.1.0", "name": "Alloy 1.2.0", "archived": false, "released": true, "releaseDate": "2013-08-15" }, { "id": "15489", "description": "2013 Sprint 12", "name": "2013 Sprint 12", "archived": true, "released": true, "releaseDate": "2013-06-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-06-08T16:05:17.000+0000", "created": "2013-06-07T21:17:55.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "qe-testadded" ], "versions": [], "issuelinks": [ { "id": "29535", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "112534", "key": "ALOY-613", "fields": { "summary": "Develop API for adding/removing style classes", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } }, { "id": "29447", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "115714", "key": "ALOY-696", "fields": { "summary": "Support for Alloy.UI.create() and $.UI.create() in widgets", "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": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-08-23T23:51:08.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": "12329", "name": "Runtime", "description": "Generic bucket for uncategorized runtime issues" }, { "id": "13603", "name": "Styling", "description": "TSS, dynamic styling, styling API" } ], "description": "Currently UI components can be created with dynamic styling by calling {{Alloy.UI.create()}}. The signature of this function takes the following 3 parameters (in order):\r\n\r\n* A string containing the name of the current controller\r\n* A string containing the API name of the component to create\r\n* An options object containing style information and properties to add to the created component\r\n\r\nTo make things easier, there should be a controller-specific version that doesn't require the first parameter. SO instead of doing this:\r\n\r\n{code}\r\nvar proxy = Alloy.UI.create(\r\n 'index',\r\n 'Label',\r\n { id: 'someId', text: 'some text' }\r\n);\r\n{code}\r\n\r\nyou would just be able to do this in the index controller:\r\n\r\n{code}\r\nvar proxy = $.UI.create(\r\n 'Label',\r\n { id: 'someId', text: 'some text' }\r\n);\r\n{code}", "attachment": [], "flagged": false, "summary": "Create controller-specific version of Alloy.UI.create() that doesn't require controller name", "creator": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "256816", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/alloy/pull/150\r\ntest app: https://github.com/appcelerator/alloy/tree/master/test/apps/testing/ALOY-695\r\n\r\nFunctionally testing should involve successfully running the app on all supported platforms. While running, repeatedly click the main window. The result should be that a dynamically styled label should appear on the screen after each click. The style of the label should be impacted by the current array of styles applied to it, found in the *classes* array variable in the *app/controllers/index.js* controller.\r\n\r\nAfter generating about 10 labels, click on the first label that says \"click me\". This will open a new window from a new controller (foo/bar). While this controller runs nearly identical code, it has different definitions for the style classes in use. You should notice that it also generates labels as you click the window, and these styles will differ slightly from those on the prior window (as per the style defined in \"app/styles/foo/bar.tss\")", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-08T16:05:17.000+0000", "updated": "2013-06-08T16:05:17.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }