{ "id": "150423", "key": "ALOY-1298", "fields": { "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": [], "resolution": null, "resolutiondate": null, "created": "2015-08-14T14:05:23.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-03-25T21:58:31.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "13603", "name": "Styling", "description": "TSS, dynamic styling, styling API" }, { "id": "14508", "name": "Themes", "description": "Theming related issues" } ], "description": "h6.Issue Description\r\n\r\nThe themes on app have most precedence than the app/styles folder.\r\n\r\nh6.Expected behavior\r\n\r\nThe user need a hierarchical behavior to override the base theme's styles with app specific ones at the app/styles level without changing the theme itself, you can take a look on web technologies because this is how they work over themes. More specifically, titanium should follow this procedure based on some web technologies:\r\n\r\n1.Looks for a file in the current app/style directory that matches the view. If the view is “page-1,” then titanium  should look for a file called page-1.\r\n2.If the styles file or is missing or not exist, titanium should look for a template file called “page-1” in the themes.\r\n3.If the file is missing, titanium will look for a generic style in, app/styles/app.tss file.\r\n4.If the style does not exist, titanium will look for a generic style app.tss file on the theme.\r\n\r\n\r\nh6.Steps to Replicate: \r\n1. Override the app folder attached on a new alloy project\r\n2. View the behavior on the .container color in the app/styles and the theme styles on index.tss\r\n\r\nAdditional Note: \r\nThis behavior was tested on:\r\nRelease 4.1.0\r\nRelease 4.0.0\r\nRelease 3.5.1\r\n", "attachment": [ { "id": "56431", "filename": "app.zip", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-08-14T14:52:38.000+0000", "size": 7468, "mimeType": "application/zip" } ], "flagged": false, "summary": "Override Alloy theme styles in the app's app/styles folder over the alloy themes", "creator": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "iOS 8.4 and Android 4.4", "closedSprints": [ { "id": 1009, "state": "closed", "name": "2018 Sprint 06 Tooling", "startDate": "2018-03-11T22:22:24.159Z", "endDate": "2018-03-25T22:22:00.000Z", "completeDate": "2018-03-25T21:58:30.495Z", "originBoardId": 219 }, { "id": 1019, "state": "closed", "name": "2018 Sprint 07 Tooling", "startDate": "2018-03-25T21:58:00.558Z", "endDate": "2018-04-08T21:58:00.000Z", "completeDate": "2018-04-08T17:56:19.404Z", "originBoardId": 219 }, { "id": 1007, "state": "closed", "name": "2018 Sprint 05 Tooling", "startDate": "2018-02-25T17:48:46.503Z", "endDate": "2018-03-11T16:48:00.000Z", "completeDate": "2018-03-11T22:21:44.972Z", "originBoardId": 219 } ], "comment": { "comments": [ { "id": "367046", "author": { "name": "btknorr", "key": "btknorr", "displayName": "Brian Knorr", "active": true, "timeZone": "America/Chicago" }, "body": "Any update on this?", "updateAuthor": { "name": "btknorr", "key": "btknorr", "displayName": "Brian Knorr", "active": true, "timeZone": "America/Chicago" }, "created": "2015-10-16T22:55:52.000+0000", "updated": "2015-10-16T22:55:52.000+0000" }, { "id": "384870", "author": { "name": "btknorr", "key": "btknorr", "displayName": "Brian Knorr", "active": true, "timeZone": "America/Chicago" }, "body": "Please provide an update!", "updateAuthor": { "name": "btknorr", "key": "btknorr", "displayName": "Brian Knorr", "active": true, "timeZone": "America/Chicago" }, "created": "2016-05-05T16:16:04.000+0000", "updated": "2016-05-05T16:16:04.000+0000" }, { "id": "384890", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello ! \r\n\r\nWe need an update here ! ", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-05-05T18:56:57.000+0000", "updated": "2016-05-05T18:56:57.000+0000" }, { "id": "384954", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Hi sorry folks. I have just prioritised it and will put it in the next sprint to discuss in detail. ", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-06T02:18:42.000+0000", "updated": "2016-05-06T02:18:42.000+0000" }, { "id": "386887", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "I'm not sure what do you mean by 'some web technologies', but please refer to http://docs.appcelerator.com/platform/latest/#!/guide/Alloy_Styles_and_Themes-section-35621526_AlloyStylesandThemes-StylePriorities for Alloy style priorities.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-05-26T09:28:31.000+0000", "updated": "2016-05-26T09:30:38.000+0000" }, { "id": "395134", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Customer know exactly how style priority works in Titanium...which is why we opened this issue. It's completely backwards when it comes to themes. A theme should be overridden at the next level down just like priorities work within the app itself, not the other way around like it currently is. On web technologies CSS works override after another CSS is declared down.\r\n", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-09-01T20:11:51.000+0000", "updated": "2016-09-01T20:11:51.000+0000" }, { "id": "396556", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello ! \r\n\r\nDo you have any update here ? ", "updateAuthor": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-09-19T18:56:44.000+0000", "updated": "2016-09-19T18:56:44.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }