{ "id": "107925", "key": "TIMOB-12294", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "15117", "description": "2013 Sprint 12 BB", "name": "2013 Sprint 12 BB", "archived": true, "released": true, "releaseDate": "2013-06-17" }, { "id": "15110", "description": "2013 Sprint 12", "name": "2013 Sprint 12", "archived": true, "released": true, "releaseDate": "2013-06-17" }, { "id": "15479", "description": "Release 3.1.2", "name": "Release 3.1.2", "archived": true, "released": true, "releaseDate": "2013-07-31" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-06-17T23:50:54.000+0000", "created": "2013-01-15T21:54:51.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "qe-testadded" ], "versions": [], "issuelinks": [ { "id": "24552", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "107926", "key": "TIMOB-12295", "fields": { "summary": "BlackBerry: NavigationGroup", "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": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } }, { "id": "24554", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "107928", "key": "TIMOB-12297", "fields": { "summary": "BlackBerry: Action Items", "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": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } }, { "id": "24553", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "107927", "key": "TIMOB-12296", "fields": { "summary": "BlackBerry: Windows and PagePanes", "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": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "rmcmahon", "key": "rmcmahon", "displayName": "Russell McMahon", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-08-09T22:50:55.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": "10230", "name": "BlackBerry", "description": "BlackBerry Platform" } ], "description": "As a developer I need the ability to design the navigation between the various\r\ncomponents (windows) in my application in a way that is native to the underlying platform.\r\n\r\nh3. Concepts\r\n\r\nh4. Scenes\r\n\r\nA scene on BlackBerry is the \"root\" pane displayed in the application's main window.\r\nOnly one scene may be presented at any given time.\r\n\r\nWhile Cascades provides no \"stack\" concept, we do provide our own as the SceneManager and Scene classes.\r\nThis allows us to push or pop scenes as needed when developers present Windows, Navigation Groups, and TabGroups.\r\nThere are various Scene sub-classes for each BlackBerry AbstractPane type. The scenes help coordinate events\r\nand presentation between Cascades and the scene manager.\r\n\r\nh4. Panes\r\n\r\nA pane in Cascades act as the \"root\" component in the UI hierarchy.\r\nThere are three pane types: Page, Navigation, and Tabbed.\r\n\r\nPage panes present a single control (content). A set of action items can\r\nalso be associated with the page and presented in the action bar.\r\nPage panes are also used in Navigation and Tabbed panes to display the \"active\" content.\r\n\r\nNavigation panes present a stack of page panes. New panes can be \"pushed\" on later \"popped\" off.\r\nA \"back\" button can be presented to allow the user to pop the top pane and navigate back to the previous pane.\r\nOnly Page panes can be pushed onto a navigation stack.\r\n\r\nTabbed panes presents a set of \"tabs\" that the user can switch between.\r\nThe tabs can be used to either completely replace displayed content by setting new panes\r\nor to filter existing content in a single pane based on which tab is currently selected.\r\nTabs may have content panes associated with them which will be presented when the tab is selected.\r\nOnly Page and Navigation panes may be used as tab content.\r\n\r\nh3. Features\r\n\r\nh4. NavigationGroup\r\n\r\nNavigation panes fit very closely to the existing NavigationGroup API used in iOS and MobileWeb Titanium.\r\nA BlackBerry flavor of this API would be a good start for exposing the navigation pane concept to Titanium developers.\r\n\r\nOne major difference with BlackBerry is navigation panes don't require inserting a navigation bar within the content UI.\r\nAny controls (ex: back button) are just appended into the action bar as action items. So the developer will not need to add\r\nthe navigation group to a window.\r\n\r\nh4. TabGroup\r\n\r\nThe tabbed pane concept in BlackBerry best maps to the existing Titanium TabGroup. This is mostly implemented already\r\nin the BlackBerry Titanium port. The remaining work is to further implement common APIs and also expose BlackBerry specific\r\nfeatures based on priorities and requirements.\r\n\r\nCurrently each tab in the group uses a Page pane as its content. The root control for these pages is the\r\ncontainer from the Window associated with the tab (\"window\" property). Tab changes switch the active Page pane\r\nand fires off the proper events (ex: focus, blur) to the affected windows and tabs.\r\n\r\nSupporting \"filtering\" style tab groups may eventually be supported. This will most likely exposing\r\nan property to set a window as the \"active content\" of the tab group. The developer can then use tab events (ex: focus)\r\nto update their UI (ex: filter data).\r\n\r\nh4. Windows\r\n\r\nWindows best map to the Page pane concept on BlackBerry. A page pane will be presented as the new active scene\r\nwhenever a window is opened. Panes on BlackBerry can only be \"fullscreen\" so windows cannot be sized or positioned like views.\r\n\r\n", "attachment": [], "flagged": false, "summary": "BlackBerry: Implement App-Level Navigation", "creator": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [ { "id": "107928", "key": "TIMOB-12297", "fields": { "summary": "BlackBerry: Action Items", "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": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } }, { "id": "107926", "key": "TIMOB-12295", "fields": { "summary": "BlackBerry: NavigationGroup", "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": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } ], "reporter": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "265825", "author": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified the implementation of app navigation & it works as expected.\r\nThus closing.\r\n\r\nEnvironment:\r\nAppcel Studio : 3.1.2.201308082014\r\nTi SDK : 3.1.2.v20130808180613\r\nMac OSX : 10.8.4\r\nAlloy : 1.2.0-alpha6\r\nCLI - 3.1.2-alpha\r\nwin 7 \r\nWin 8 \r\nZ10 BB simulator : 10.0.10.822\r\nZ10 device running 10.0.10.88", "updateAuthor": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-08-09T22:50:55.000+0000", "updated": "2013-08-09T22:50:55.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }