{ "id": "91621", "key": "ALOY-33", "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": "14036", "description": "2012 Sprint 14", "name": "2012 Sprint 14", "archived": true, "released": true, "releaseDate": "2012-07-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-07-19T11:52:04.000+0000", "created": "2012-05-08T15:08:09.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "14036", "description": "2012 Sprint 14", "name": "2012 Sprint 14", "archived": true, "released": true, "releaseDate": "2012-07-19" } ], "issuelinks": [ { "id": "17380", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "91421", "key": "ALOY-43", "fields": { "summary": "The user want to use CSS and style by id, class and style attribute.", "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": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-06-22T13:21:16.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": "12326", "name": "XML", "description": "View XML and parsing" } ], "description": "Currently at runtime, CSS is parsed by reading strings, parsing them, then applying the appropriate titanium properties based on the style. This runtime string parsing will inevitably create a performance issue as the complexity of an app grows. We need to rethink how we are going to handle CSS at runtime in a way that performs more efficiently.\r\n\r\nA likely alternative would be to create JSON structures for the CSS at translation time that can then be accessed by the Titanium app at runtime. That where there would only be runtime css parsing if a user manually modifies the CSS in code.\r\n", "attachment": [], "flagged": false, "summary": "CSS runtime parsing needs to be revised", "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": "195644", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Lazy loading of the components complicates application of CSS. If CSS selectors are applied in a different order than the DOM is created, you have the potential of lazy loaded components getting created before their parents.\r\n\r\napp.css\r\n{code}\r\n#header {\r\n /* various header properties */\r\n}\r\n{code}\r\n\r\napp.html\r\n{code}\r\n