{ "id": "97499", "key": "TIMOB-10007", "fields": { "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "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": "14065", "description": "Sprint 2012-17 API", "name": "Sprint 2012-17 API", "archived": true, "released": true, "releaseDate": "2012-08-27" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-08-15T20:57:19.000+0000", "created": "2012-07-17T13:02:44.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "core", "look1" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" } ], "issuelinks": [ { "id": "18970", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "97350", "key": "ALOY-89", "fields": { "summary": "Platform and form factor specific files for styles", "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": "Medium", "id": "3" }, "issuetype": { "id": "8", "description": "A technical task.", "name": "Technical task", "subtask": true } } } }, { "id": "19747", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "98874", "key": "TIMOB-10344", "fields": { "summary": "Android: Implement applyProperties({}) method on Ti.UI objects to take a list of json properties as is done at create time.", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "19748", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "98875", "key": "TIMOB-10345", "fields": { "summary": "Blackberry: Implement applyProperties({}) method on Ti.UI objects to take a list of json properties as is done at create time.", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "19749", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "98876", "key": "TIMOB-10346", "fields": { "summary": "iOS: Implement applyProperties({}) method on Ti.UI objects to take a list of json properties as is done at create time.", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "19750", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "98877", "key": "TIMOB-10347", "fields": { "summary": "MobileWeb: Implement applyProperties({}) method on Ti.UI objects to take a list of json properties as is done at create time.", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-16T22:05:18.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": "10224", "name": "TiAPI", "description": "This component is used for cross-platform API work. Specifications are most likely to use this component." } ], "description": "Like we do at create time where we can pass in an object representing properties, it would be helpful to have the same functionality available at runtime through an API like a applyProperties setter or getter or applyProperties({}) method. In Alloy we will dynamically set properties it would help performance if we could call a method to bulk set properties.\r\n\r\nFor example win1 = createWindow({\r\n backgroundColor:'#336699',\r\n borderWidth:8,\r\n borderColor:'#999',\r\n height:400,\r\n width:300,\r\n borderRadius:10,\r\n opacity:0.92,}) \r\n\r\ncurrently is being done and the properties are being passed. A developer would like to have a way at runtime to change properties in a bulk for example win1.applyProperties({\r\n backgroundColor:'#336699',\r\n borderWidth:8,\r\n borderColor:'#999',\r\n height:400,\r\n width:300,\r\n borderRadius:10,\r\n opacity:0.92,\r\n}); \r\n\r\nBenefits - code speed, and reduced code size\r\n\r\nEdit: In discussion, the word styles were dropped because 1) some properties are not logically part of a style and 2) we wanted to avoid confusion given how complex and interacting styles can be.\r\n\r\nNote that this is different than applyLayout because this is to be done at the proxy level (IE, you can do this to sounds, to HTTPClient, etc) and does not delay or apply other logic like applyLayout does. Instead, foo.applyProperties({bar:5, baz:\"bat\"}) is identical to foo.bar=5; foo.baz=\"bat\"; but is more compact and more importantly, reduces bridge traversal.", "attachment": [], "flagged": false, "summary": "TiAPI: Be able to set a group of adhoc properties to any proxy at runtime - see description", "creator": { "name": "rmcmahon", "key": "rmcmahon", "displayName": "Russell McMahon", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rmcmahon", "key": "rmcmahon", "displayName": "Russell McMahon", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "213385", "author": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Note: this should be implemented in Ti.Proxy (Evented in Mobile Web's case).", "updateAuthor": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-08T14:00:21.000+0000", "updated": "2012-08-08T14:00:21.000+0000" }, { "id": "213544", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "The feature says this is for UI objects. In which case isn't this already supported by the updateLayout({}) call on ViewProxies?", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-08-09T09:21:10.000+0000", "updated": "2012-08-09T09:21:10.000+0000" }, { "id": "213713", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Updating ticket to better represent the decisions made during architectural.", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-09T18:37:09.000+0000", "updated": "2012-08-09T18:37:09.000+0000" }, { "id": "413264", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-16T22:05:18.000+0000", "updated": "2017-03-16T22:05:18.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }