Commit graph

19 commits

Author SHA1 Message Date
scottjehl
67987925b4 property should not be defined in $.mobile. 2011-02-02 20:02:04 -05:00
John Bender
107fc25838 minor simplification to the on ready init 2011-02-01 22:04:05 -08:00
John Bender
0a7bdfd632 whitespace in mobile core 2011-02-01 22:04:05 -08:00
unknown
9caaa9cfde Added ability to control if $.mobile will automatically load first page/pages on dom ready using $.mobile.autoInitialize. 2011-02-01 22:04:05 -08:00
scottjehl
3162428558 added hashListeningEnabled global flag. This is meant as a global config option for end users to disable hashchange listening (as opposed to urlHistory.listeningEnabled, which is an internal toggle). Unit test included. Fixes #748 2011-01-31 23:25:36 -05:00
scottjehl
3b5b615451 whitespace and code style 2011-01-31 22:43:17 -05:00
scottjehl
b3a8230638 This commit includes simplifications to the hashchange event handling & changePage logic, which results in a few bug fixes and removal of some previous limitations. Details:
- jquery.mobile.core.js  no longer creates pages from every page and dialog in the DOM automatically at domready. Instead, pages are created as they are referenced via changePage, which can speed up pageload in multi-page documents, and means local "dialogs" referenced via data-rel="dialog" no longer need a data-role="dialog" attribute when served.

- in changePage, "from" is now allowed to be undefined. This simplifies the logic involved in showing the first page, which never had a "from" page, and previously needed a custom pageChange workaround to accommodate that.

- The pageshow event is no longer used as a callback for returning false and preventing the $.mobile.activePage from being set to the newly shown page. In other words, a page always becomes $.mobile.activePage once its shown now (the only reason this was optional before was because of a dialog restriction that's no longer true)

- the hashchange event logic for showing a particular page is now greatly simplified. It either shows the page referenced in location.hash, or if there's no hash it changes to the first page in the dom. This means every pageshow (including the first one) now uses pageChange internally.

- the hashchange event listener is no longer disabled when ajaxEnabled == false. Doing this before prevented local non-ajax page navigation from working properly. To disable hashchange listening, use $.mobile.urlHistory.listeningEnabled. We might consider defining (or moving) this on the $.mobile hash later as well for easier access.

- The internal var $.mobile.startPage is now $.mobile.firstPage, because it's not necessarily the page you started on, but merely a reference to the first "page" in the dom.

- Back buttons are auto-added to every page after the first one you first visit (this includes generated pages, such as those in a multipage document or nested listviews). Keep in mind that a "back" button does not take the place of a standard "home" link, and when building an app with jQuery Mobile, it's good to make use of both (particularly on deep-linked pages). Fixes #908
2011-01-31 17:05:57 -05:00
scottjehl
2f9d1bce33 position loading message either center screen (if scrollTop supported), above active clicked button (if defined), or 100px off the top. Fixes #892 2011-01-30 13:34:45 -05:00
John Bender
e5fd56985c added global native select configuration, docs to follow. Also corrected selector error when reloading a lib in tests 2011-01-27 23:20:57 -08:00
John Bender
1afb3a08f0 whitespace corrections in core 2011-01-27 22:53:17 -08:00
Kin Blas
1dad50e536 Fix for the header/footer positioning problem, mentioned in issue 58, that is caused by the browser url/nav bar scrolling offscreen due to the silentScroll() call triggered when the document is first loaded.
- 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.
2011-01-24 07:11:19 -08:00
scottjehl
2e6a396278 added ajaxEnabled option. ajaxLinksEnabled and ajaxFormsEnabled are deprecated and will be removed by 1.0. Fixes #851 2011-01-23 19:03:35 -05:00
scottjehl
48b69b7a71 loading message opens above offset of active button, when possible. This makes it visible on devices that don't support scrollTop (webOS, etc) 2011-01-20 16:28:23 -05:00
John Bender
dcf9a19c31 whitespace issues in mobile core 2011-01-19 21:43:36 -08:00
Pavel Karoukin
5b4c23b67d add data-url to dialog 'pages' as well 2011-01-14 23:44:25 +08:00
John Bender
8ec3ae594d added keyCodes, Home and End working for range slider 2010-12-22 16:30:55 -08:00
scottjehl
80d56e655b Changed page navigation scripting to use data-url attributes instead of IDs for storing page URLs. This fixes a number of issues, most importantly #477, which exposed a conflict between jQuery's selector engine that would result in un-enhanced pages whenever linking between two pages in the same directory.
The shift away from interal ID attribute usage also allows users to bind page events (pagecreate, pagebeforecreate) to a page div by its ID, which was a frequent cause of confusion when it didn't work as expected in former versions of the framework.

Seemingly unrelated: these commits allow you to specify data-role="dialog" in multipage and single page templates. In multipage templates, the role must be on the page (a link with data-rel alone will not work in multi-page). This addresses issue number 464, but may need further testing for obscure scenarios.

Fixes #477 (Pages are not enhanced when linking to a filename without a path)
Fixes #493 (Click the same link twice -> blank page)
Fixes #513 (closing dialog + returning to the same dialog)
Fixes #550 (changePage() not updating hash for internal pages - breaks )
Fixes #464 (Dialogs don't work within multi-pages)
Fixes #633 (Recent change to prevent same-page requests breaks select menu close button)
Fixes #599 (Page ids & page specific events)
Fixes #634 (After a bad page request, base url is not reset to current path)

booya.
2010-12-07 12:05:10 -05:00
scottjehl
d56380fc22 refactor of jquery.mobile.core.js. Moved all of the page navigation model related scripting into jquery.mobile.navigation.js. This includes event handling for click, submit, and hashchange, all of the base tag management, path management, active link class handling, etc. All existing core tests are passing, and all demos work as expected. More tests are needed in core, and this refactor should make those tests easier to write. 2010-11-25 06:13:51 -05:00
scottjehl
9ff89b7115 renamed jquery.mobile.js jquery.mobile.core.js. updated build files, etc to match 2010-11-18 22:50:33 -05:00
Renamed from js/jquery.mobile.js (Browse further)