##Navigation re-write status update
- Decoupling and cleanup (Kin) - BETA 1
- Improved URL handling (Kin) - BETA 1in-progress, test written, code changes in progress
- https://github.com/jquery/jquery-mobile/wiki/Refactor:-navigation-paths
- Note some great ideas/abstractions in https://github.com/mtrpcic/pathjs
- Extensibility hooks (who?)
- ideas: https://github.com/jquery/jquery-mobile/wiki/Refactor:-navigation.js-A4.1-extensibility
- Of note: Some of our hooks (pagebrforehide and pagebeforeshow) and (pagehide and pageshow) occur at the same juncture.
- We have clear junctures that could be hooked
- Given we are so URL-centric, need URL hooks (agreed generally at the last meeting)
- ideas: https://github.com/jquery/jquery-mobile/wiki/Refactor:-navigation.js-A4.1-extensibility
- Page caching on/off flag (Steven) - BETA 1
- Add a simple "don't cache" flag per page via a new data-cache attribute on the page div to tell framework to re-load it if shown again, default is “true” (re-use the page) but you can set data-cache="false" to tell the framework to re-load everytime it’s viewed
- Issue: https://github.com/jquery/jquery-mobile/issues/1554
- Memory management for the DOM (Steven)
- How to keep the DOM from getting too big? Add a new global configuration option to set the max number of pages to keep in the DOM at once.
- After discussing this, we don’t want to include anything hard-coded in the framework. We want to support a plug-in system that allows developers to write a range of different memory and DOM management tools because there isn’t a single “right solution.
- Steven Black will take a crack at writing a plugin to illustrate this system
- Issue: https://github.com/jquery/jquery-mobile/issues/1555
- Same-page as a navigation target (Kin)
- Some developers are opting to repeatedly re-use the same container as a target for generated markup. Think self-referent pages as a desirable feature design-wise (Steve to elaborate).
- https://github.com/jquery/jquery-mobile/issues/1643
- Page show initial focus: can we handle this better? (Scott)
- We need to have focus brought to the top of the current page on transition for accessibility and keyboard/focus-based navigation
- Scott Jehl will create a wiki page with suggestions
- Related issue: https://github.com/jquery/jquery-mobile/issues/1560
- Transitions: how to smooth out, eliminate blinking and jumpiness (Kin)
- Kin will tackle this after URLs
- https://github.com/jquery/jquery-mobile/issues/455
- https://github.com/jquery/jquery-mobile/wiki/Refactor:-Transition-dependencies
- Move most of our widgets move to self-invocation via binding to pagecreate
- Need to document on the wiki
- Use history push or replace state (Scott)
- We need to have an abstraction our paths cross through so that folks can formulate the URLS they place in the location
- May be that it sits lightly on top of our hash handling. Maybe that's fine. Like... where we bind to hashchange, we'd also bind to popstate, and we could use replaceState right there to swap the hash out
- Docs update this weekend
- New template will be in beta
- Content architecture outline put in place
- Getting started guide implemented (Ray’s version)
##Targeting Ajax navigation and animated page transitions (Scott) Currently in jQuery Mobile, if a browser supports media queries or is Internet Explorer, we enhance the page to the full experience, including Ajax-based navigation for animated page transitions. The issue we’re seeing now is that there are browsers that support all the advanced enhancements but don’t properly track hash changes as history stack events so the back button is essentially broken on both Blackberry 5 and Symbian. Opera Mini also has issues with the Ajax navigation system because of the way it’s proxy-based rendering works.
###Suggested action:
- Find object/feature detection ways to exclude the following browsers from the Ajax Navigation but still give them the enhanced experience otherwise (Scott)
- Blackberry 5
- Opera Mini
- Nokia S60
- Issue to exclude here:
- Test the latest with Ajax disabled here (works fantastic in mini and BB5)
- With Ajax off, we need to tweak all plugins that rely on Ajax. This needs to be done anyway because this feature cna alwasy be turned off globally but we have some dependent plugins:
- Dialogs (support data-role=”dialog” on pages?)
- Support dialog role issue: https://github.com/jquery/jquery-mobile/issues/1094
- Dialog theme issue: https://github.com/jquery/jquery-mobile/issues/1375
- Nested lists (flat list but indent child list items?)
- Large (full page) select menus (just use native menus?)
- Dialogs (support data-role=”dialog” on pages?)