- Internally, each plugin self-initializes by binding to the pagecreate event.
- Unit tests have been added and adjusted to support some internal changes involved in this commit.
- In the process, the portions of the page plugin that were used to enhance the header,content,and footer sections of a native-app style page layout are now located in jquery.mobile.page.sections.js.
- No public API options have changed, except that the page plugin no longer has options for keepNative, and degradeInputs, as plugins now handle these internally (keepNative was never documented, and degradeInputs only affected slider, so it lives there now. Page options related to the page sections are now located in the page.sections script, but they are still configurable via the page plugin's options api.
- Make, Ant, and index files are updated with a new load order for all JS files.
- Modified silentScroll() to trigger a "silentscroll" event. This was necessary because programatically scrolling the window does not generate "scroll" events.
- Got rid of the hideAfterDelay() function that was not used.
- Added startShowTimer() and clearShowTimer() functions.
- Added event handlers for "resize" and "silentscroll" events. This causes headers/footers to be positioned properly as "scroll" and "orientationchange" events cause the visual viewport to resize.
Issues this fix causes:
- On some Android platforms, clicking in textfields/textareas trigger a "resize" event. This causes the footer to show up in the minimized visual viewport, right above the keyboard.
470 - Multiple Footers when using data-position=fixed and data-id=[someid]
773 - The fixHeaderFooter pagebeforeshow live function is not triggered for the initial page shown
- Removed the findStickyFooter() function.
- Reworked the logic in the pagebeforeshow live function. We now add a ui-sticky-footer class to the sticky footer element. This will guarantee that we find the sticky footer if it already exists. We may at some point want to consider the use of ids on the sticky footers so that we don't have to crawl the entire document.
- Moved the live pagebeforeshow and pageshow calls outside of the DOMReady function so that they get registered as soon as the plugin is loaded. This guarantees that they will be triggered when the core plugin's DOMReady function fires.
- This fix makes issue/pull-request 765 obsolete.
https://github.com/jquery/jquery-mobile/pull/649
- Changed hideOnTouchEnabed to touchToggleEnabled.
- Fixed problem that would allow the toolbars to show on touchstop, if the starting state was "inline" to begin with.
- Moved the touchToggleEnabled checks in touchstart/touchstop so that they wrap the entire code in the function. We don't want to do any work if we don't need to.
- Removed the forced hide() call in touchstart.
Added the missing fadeout animation reference inthe fade.in transition rule.
- If content is less than the view port height, the footer is always anchored at the bottom of the view port.
- If the content is greater in height than the view port, then in inline mode itrests in flow, and in "fixed" mode it snaps to the bottom of the view port.
- $.mobile.activePage isn't being set till *AFTER* the "pageshow" notification, so pass in the page from our pageshow callback into the show() method.
- Also added missing getOffsetTop() call that I missed in my previous checkin.
- Prevent the fixed header/footer code from traversing the entire document for each touchstart, touchend and scrollstart event.
- Make sure $.activePage is initialized with the startPage.