{ "id": "99273", "key": "ALOY-183", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "14106", "description": "", "name": "2012 Sprint 17", "archived": true, "released": true, "releaseDate": "2012-08-27" }, { "id": "14176", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": false, "released": true, "releaseDate": "2012-12-13" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-08-16T08:42:31.000+0000", "created": "2012-08-15T14:51:08.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "14106", "description": "", "name": "2012 Sprint 17", "archived": true, "released": true, "releaseDate": "2012-08-27" } ], "issuelinks": [ { "id": "19958", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "99187", "key": "ALOY-180", "fields": { "summary": "Go through test apps and make sure they work with latest controller changes", "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": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": null, "updated": "2018-03-07T22:26:03.000+0000", "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" } }, "components": [ { "id": "12329", "name": "Runtime", "description": "Generic bucket for uncategorized runtime issues" }, { "id": "12326", "name": "XML", "description": "View XML and parsing" } ], "description": "To simplify the naming of functions, let's make the following changes:\r\n\r\n* {{getView(id)}} --> stays the same, returns underlying view by id\r\n* {{getUIRoot()}} --> {{getView()}} (no parameters)\r\n* {{getUIRoots()}} --> {{getViews()}} ", "attachment": [], "flagged": false, "summary": "Change getUIRoot() to getView()", "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": "214669", "author": { "name": "rmcmahon", "key": "rmcmahon", "displayName": "Russell McMahon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Arthur says the getView(), getViews(), getView(id) seem clear and gives the go ahead", "updateAuthor": { "name": "rmcmahon", "key": "rmcmahon", "displayName": "Russell McMahon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-15T15:00:47.000+0000", "updated": "2012-08-15T15:00:47.000+0000" }, { "id": "214670", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Feedback FTW", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-15T15:01:46.000+0000", "updated": "2012-08-15T15:01:46.000+0000" }, { "id": "214765", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "In retrospect, {{getUIRoot()}} and {{getUIRoots()}} should stay as they represent an array of all top-level views, which is different from getView(), which has access to all views, not just top-level. The interface for these interactions should be like this:\r\n\r\n* *getView(id)* - Return any view contained in the controller by id. If no id is given, return the first top-level view (just like getUIRoot).\r\n* *getUIRoot* - Return the first top-level view.\r\n* *getUIRoots* - Return an array of all top-level views", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-16T06:57:04.000+0000", "updated": "2012-08-16T07:03:35.000+0000" }, { "id": "214775", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Final interface:\r\n\r\n* *getView(id)* - Return any view contained in the controller by id. If no id is given, return the first top-level view.\r\n* *getViews()* - Return an object containing all views from the view hierarchy, keyed by their id.\r\n* *getTopLevelViews()* - Return an array of all top-level views", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-16T08:31:01.000+0000", "updated": "2012-08-16T08:31:01.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }