{ "id": "131639", "key": "ALOY-1051", "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": "15909", "description": "Alloy 1.5.0", "name": "Alloy 1.5.0", "archived": false, "released": true, "releaseDate": "2014-09-29" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-06-17T21:10:17.000+0000", "created": "2014-06-12T08:08:17.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "1.4.0-rc", "alloy", "font", "merge", "qe-manualtest" ], "versions": [ { "id": "15758", "description": "Alloy 1.4.0", "name": "Alloy 1.4.0", "archived": false, "released": true, "releaseDate": "2014-07-17" } ], "issuelinks": [ { "id": "41466", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "136987", "key": "ALOY-1146", "fields": { "summary": "Picker values are not correctly returned using Dynamic 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": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "42455", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "137601", "key": "ALOY-1154", "fields": { "summary": "Consider deep merging only font properties, not gradients, etc.", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "updated": "2014-10-28T15:48:36.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": "13603", "name": "Styling", "description": "TSS, dynamic styling, styling API" } ], "description": "The new font deep-merge is awesome, but it doesn't work when you pass multiple classes defining different font properties to {{$.UI.create}} or {{$.createStyle}}.\r\n\r\nAs the following code, the attached example project and screenshot show the merge works for the label defined in the XML, but using {{$.createStyle}} upon clicking the label does not.\r\n\r\n*index.xml*\r\n{code:xml}\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n{code}\r\n\r\n*index.js*\r\n{code:javascript}\r\nfunction doClick(e) {\r\n alert(JSON.stringify($.createStyle({\r\n classes: ['family', 'size']\r\n })));\r\n}\r\n$.index.open();\r\n{code}\r\n\r\n*index.tss*\r\n{code:css}\r\n\".container\": {\r\n\tbackgroundColor:\"white\"\r\n}\r\n\r\n\"Label\": {\r\n top: 100,\r\n\twidth: Ti.UI.SIZE,\r\n\theight: Ti.UI.SIZE,\r\n\tcolor: \"#000\"\r\n}\r\n\r\n\".family\": {\r\n font: {\r\n fontFamily: 'AmericanTypewriter'\r\n }\r\n}\r\n\r\n\".size\": {\r\n font: {\r\n fontSize: 30\r\n }\r\n}\r\n{code}", "attachment": [ { "id": "48883", "filename": "iOS Simulator Screen shot 12 Jun 2014 10.01.58.png", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-06-12T08:08:17.000+0000", "size": 52499, "mimeType": "image/png" }, { "id": "48884", "filename": "merge.zip", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-06-12T08:08:17.000+0000", "size": 9324, "mimeType": "application/zip" } ], "flagged": false, "summary": "Font properties not properly merged when using dynamic styles", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "environment": "Alloy 1.4.0-rc (and beta)", "closedSprints": [ { "id": 142, "state": "closed", "name": "2014 Sprint 12 Alloy", "startDate": "2014-06-09T16:00:25.715Z", "endDate": "2014-06-23T16:00:00.000Z", "completeDate": "2014-06-23T14:35:50.386Z", "originBoardId": 124 } ], "comment": { "comments": [ { "id": "308647", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~skypanther] Can you see if this is an improvement and please update the title to be more reflective of the issue?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-06-12T11:09:57.000+0000", "updated": "2014-06-12T11:09:57.000+0000" }, { "id": "308737", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "Because we're so far past code freeze for Alloy 1.4 and the complexity of the changes needed to implement this feature, I'm pushing it out till the next version. In the meantime, if you need to use dynamic styles with complex font or gradient properties, I suggest you explicitly list all the required properties in each class. Alternatively, you can watch this ticket and once we push the changes to GitHub, you can install Alloy from there to take advantage of the improvement.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-06-12T19:08:30.000+0000", "updated": "2014-06-12T19:08:30.000+0000" }, { "id": "309408", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "PR https://github.com/appcelerator/alloy/pull/453\r\n\r\nTest apps: use the app included in the pull request (which implements the one in the Description) and also the advanced/dynamic_styling app (in the Alloy repo)\r\n\r\nFunctional test:\r\n\r\n1. Run the included test app\r\n2. Click the label. The alert should describe the merged font style, which should include both the font family and font size, which are set in separate classes.\r\n3. Run the advanced/dynamic_styling sample app (in the Alloy repo). Compare its output with this change to that exhibited when the app is built with Alloy 1.3.1 or Alloy 1.4.0.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-06-17T21:10:17.000+0000", "updated": "2014-06-17T21:10:17.000+0000" }, { "id": "315851", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~skypanther] could this be in 1.4.1 as well plz?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-07-25T18:24:39.000+0000", "updated": "2014-07-25T18:24:39.000+0000" }, { "id": "318094", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified working as expected. \r\n\r\nTiSDK 3.4.0.v2014080810171\r\nAppcelerator Studio 3.3.1.201408080925\r\nAlloy 1.5.0-dev", "updateAuthor": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-11T22:22:59.000+0000", "updated": "2014-08-11T22:22:59.000+0000" }, { "id": "325571", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Re-verified (following issues reported in Jira ALOY-1144 and ALOY-1146) working as expected with:\r\nTiSDK 3.4.0.v20140924140915 \r\nAppcelerator Studio 3.4.0.201409231834\r\nCLI 3.4.0-rc4\r\nAlloy 1.5.0-rc4\r\nXcode6\r\n\r\non Android Google Nexus Galaxy 4.3 and iOS 8 (iPhone 5, iPad mini and iPhone 6 simulators)", "updateAuthor": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-09-25T02:04:07.000+0000", "updated": "2014-09-25T02:04:07.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }