{ "id": "154929", "key": "TIMOB-20406", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-03-28T21:31:16.000+0000", "created": "2016-02-15T14:34:36.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "AL-5.4.0", "autolayout", "progressbar", "qe-5.4.0" ], "versions": [ { "id": "16997", "name": "Release 5.2.0", "archived": false, "released": true, "releaseDate": "2016-02-23" } ], "issuelinks": [ { "id": "51173", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "159101", "key": "TIMOB-23119", "fields": { "summary": "Change auto width behaviour to FILL for text entry components", "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": "Low", "id": "4" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-07-19T23:01:29.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "It makes no sense to me that the width of a ProgressBar defaults to {{Ti.UI.SIZE}}. In particular without a message it's of no use that way. And since that means everyone who uses it has manually set it to {{Ti.UI.FILL}} or an absolute/relative value, we can change this to be {{Ti.UI.FILL}} without likely breaking any app at all.\r\n\r\n{code:js}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: 'white'\r\n});\r\n\r\nwin.add(Ti.UI.createProgressBar({\r\n top: 50,\r\n value: 0.5,\r\n backgroundColor: '#eee'\r\n}));\r\n\r\nwin.add(Ti.UI.createProgressBar({\r\n top: 100,\r\n width: Ti.UI.FILL,\r\n value: 0.5,\r\n backgroundColor: '#eee'\r\n}));\r\n\r\nwin.add(Ti.UI.createProgressBar({\r\n top: 150,\r\n value: 0.5,\r\n message: 'Half way there',\r\n backgroundColor: '#eee'\r\n}));\r\n\r\nwin.add(Ti.UI.createProgressBar({\r\n top: 200,\r\n width: Ti.UI.FILL,\r\n value: 0.5,\r\n message: 'Half way there',\r\n backgroundColor: '#eee'\r\n}));\r\n\r\nwin.open();\r\n{code}", "attachment": [ { "id": "58240", "filename": "Simulator Screen Shot 15 Feb 2016 15.31.24.png", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-02-15T14:34:28.000+0000", "size": 22123, "mimeType": "image/png" } ], "flagged": false, "summary": "ProgressBar: Width should default to Ti.UI.FILL", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "SDK 5.2.0", "closedSprints": [ { "id": 614, "state": "closed", "name": "2016 Sprint 07 SDK", "startDate": "2016-03-26T00:38:56.432Z", "endDate": "2016-04-09T00:38:00.000Z", "completeDate": "2016-04-11T04:41:08.231Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "376929", "author": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "body": "The reason it does not default to *Ti.UI.FILL* is simple; it fails both rules that would have required it.\r\n\r\n* It is not a container view (like Window or View) or a view that gains containers like (TabView or ScrollableView)\r\n* The OS default behaviour on all platforms is not consistently the native equivalent of Ti.UI.FILL\r\n\r\nThese were the rules when Ti.UI.SIZE and Ti.UI.FILL were introduced back in Ti SDK 1.8.x.", "updateAuthor": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "created": "2016-02-15T19:08:31.000+0000", "updated": "2016-02-15T19:08:31.000+0000" }, { "id": "376947", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Thanks Malcolm. I like rules for a consistent API, but exceptions can sometimes make an API more predictable as well.\r\n\r\nThat's probably why we did the same for Slider (See Mixed Behavior column):\r\nhttp://docs.appcelerator.com/platform/latest/#!/guide/Layouts,_Positioning,_and_the_View_Hierarchy-section-29004895_Layouts,Positioning,andtheViewHierarchy-AutoSizeBehaviors\r\n\r\nAnd that's why I think we should do the same for ProgressBar (and probably TextField as well, btw)", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-02-16T08:10:05.000+0000", "updated": "2016-02-16T08:10:05.000+0000" }, { "id": "376960", "author": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "updateAuthor": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "created": "2016-02-16T10:52:37.000+0000", "updated": "2016-02-16T10:52:37.000+0000" }, { "id": "380722", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Thank you Malcom, happy to have fans on the platform. To come back to topic: Tested this issue with and without autolayout enabled. Autolayout makes it FILL, current layouting makes it SIZE. If we decide to make it FILL (which I would recommend). \r\n\r\nIf we take a look at the native example, creating a {{UIProgressView}} without specifying a frame does not draw the view. [~fokke] Please decide here.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-25T23:47:45.000+0000", "updated": "2016-03-25T23:47:45.000+0000" }, { "id": "380723", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "As you already suggested above, we are good with marking it in the release notes, but nothing will break (since SIZE didn't even show the view). Solution incoming:\r\n\r\nPR: https://github.com/appcelerator/titanium_mobile/pull/7886\r\n", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-25T23:54:27.000+0000", "updated": "2016-03-25T23:54:27.000+0000" }, { "id": "380846", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~hansknoechel] what do you think about textfield?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-28T19:38:22.000+0000", "updated": "2016-03-29T06:59:22.000+0000" }, { "id": "380849", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Yes, we should do the same there. Do we have a ticket for that?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-28T19:56:55.000+0000", "updated": "2016-03-28T19:56:55.000+0000" }, { "id": "380891", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "We do now: TIMOB-23119", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-29T06:59:15.000+0000", "updated": "2016-03-29T06:59:15.000+0000" }, { "id": "391052", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed, given the demo code, all progress bars are set to Ti.UI.FILL as default. This occurs both with Autolayout set to {{true}} & {{false}}. \r\n\r\nTested On:\r\niPhone 6S (9.3.2) Device\r\nMac OSX El Capitan 10.11.5 \r\nTi SDK: 5.4.0.v20160713141635\r\nAppc Studio: 4.7.0.201607111053\r\nAppc NPM: 4.2.7\t\r\nApp CLI: 5.4.0-33\r\nXcode 7.3\r\nNode v4.4.7\r\n\r\n*Closing ticket.*\r\n", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-07-19T23:00:59.000+0000", "updated": "2016-07-19T23:00:59.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }