Commit graph

390 commits

Author SHA1 Message Date
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
f842b46474 added data-rel attrs to close buttons 2011-01-31 17:05:41 -05:00
scottjehl
44806bcf58 added a dialog to the demo 2011-01-31 16:51:20 -05:00
scottjehl
b112b6ea84 updated doc version # 2011-01-31 16:45:41 -05:00
scottjehl
c470278a62 added data-direction to "back" link in content, in case the deep-linked page is opened first. 2011-01-30 16:54:33 -05:00
John Bender
e35952346f whitespace correction for docs 2011-01-27 23:48:06 -08:00
John Bender
2dfa09bcf7 updated docs to include $.mobile.nativeSelectMenus 2011-01-27 23:42:56 -08:00
John Bender
3197f7e61a corrected a duplicate id which was causing the two similarly identified selects to have doubled menu page header titles 2011-01-27 22:50:40 -08:00
toddparker
5b7201ef48 Added documentation and demos for the new data-native="true" option that speeds up performance of selects by using the browser's native menu (thanks John Bender!) 2011-01-27 13:40:20 -05:00
scottjehl
df05143371 edited some nav model info - needs filling out, but outdated info is removed now at least 2011-01-26 22:44:32 -05:00
scottjehl
b50d6a74c2 improved datepicker usage instructions and linked it up from the forms index under "experimental" 2011-01-26 20:48:25 -05:00
scottjehl
2c6cc45ad0 incomplete, but close to fixing the dialog-create-history entry piece. Also includes fix for nested-listview deep linking regression. 2011-01-26 14:27:10 -05:00
scottjehl
d9b84f3f60 added a note to docs. Fixes #880 2011-01-25 23:46:09 -05:00
scottjehl
b7001d8148 markup cleanup. Fixes #878 2011-01-25 22:24:05 -05:00
John Resig
4445ae3702 Remove support for stopping desk-based platforms, fixes #876. In the future if you wish to stop desks on platforms I recommend a cheap solution to that problem:
http://www.amazon.com/Magic-Sliders-80934-Rubber-Door/dp/B000UVMQ38

If you wish to have support brought back it can only be done so through successfully beating me at iOS Carcassonne. My username is 'jeresig@gmail.com'. Warning: I don't lose.
2011-01-25 16:05:19 -05:00
scottjehl
0ba9acfc33 added support for URL updating via a preset data-url on the page div when it is sent from the server.
If data-url is set on a page div when it returns from the server, it's value will be used to replace the url in the hash, and as the base url for future requests if it adds additional segments (such as a trailing slash). This will enable developers to work around the limitation of directory links requiring a trailing slash, and will also allow developers to specify a new url after a redirect occurs (such as after a login). Fixes #867
2011-01-24 19:35:45 -05: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
be8eb3d0c6 deprecated data-back attribute on links in favor of data-direction="reverse". Updated docs and relevant demos. 2011-01-23 18:12:46 -05:00
scottjehl
9b57c46349 Refactored urlStack and updated dialog and page plugins to match. jQuery Mobile's internal history now attempts to follow the history menu when urls change from hashchange, even for changes that go multiple steps forward or back. The internal history stack is now pruned based on whether a user goes back and then changes direction, whereas before a back-button click would result in a pop off the history. Instead we now maintain an active index number in the history stack, which allows us to maintain references to transitions that are saved on pages reached through clicking the forward button as well. This fixes #636.
In the process, some other small changes should be noted:
urlStack is now urlHistory, a hash of methods and properties used for history stack management (stack, activeIndex, getActive, getPrev, getNext, addNew, clearForward, and listening Enabled). All these are documented inline and exposed on $.mobile.urlHistory (I'm not sure these will be publicly documented, but just exposed internally for plugins for now).

$.changePage has two argument changes: the "back" argument is now called "reverse"; this results in no change from an end-user standpoint, but reflects the fact that it only reverses the direction of a transition without affecting the internal history stack, and second, a new argument at the end defines whether changePage was called from a hashChange which makes that url open to history menu guessing.
2011-01-23 17:33:36 -05:00
scottjehl
6a958ecba2 merge 2011-01-22 17:48:36 -05:00
scottjehl
9e4b0a484c Overhauled path object and exposed it and the base object via $.mobile. Form and Link handlers now use the path methods internally. Unit tests adjusted, but more are needed to fully cover the path and base propeties and methods. Fixes #566. 2011-01-22 17:42:07 -05:00
Kin Blas
161f5e6ae3 Removed jquery.js from js/index.php and updated all html doc/experiments/test files that incuded "js/" so that they also include jquery.js manually.
This makes our include model match the include model on the CDN, and allows devs to make use of mobileinit for debugging some of the samples since that must be set up after jquery.js, but before jquery-mobile.
2011-01-20 11:26:12 -08:00
John Bender
beb40bcd7f corrected link to multi page template to have rel external per the docs 2011-01-20 00:38:07 -08:00
ehynds
f9c1592bc7 fix extra-wide pages in opera & opera mini 2011-01-12 18:00:53 -05:00
bclinkinbeard
32056c6873 Added type attribute to script tags and fixed footer comment 2011-01-12 03:52:33 +08:00
Kin Blas
8050fb0d01 Merge branch 'master' of https://github.com/walkingeyerobot/jquery-mobile into pull672 2011-01-11 09:04:32 -08:00
Kin Blas
38f09ee66f Sweep through all files to add a trailing slash to <link> tags that include thems/default. This should fix Opera Mobile Issue 763. 2011-01-05 16:19:24 -08:00
scottjehl
3fb55aef0b fixed up some duplicate IDs 2010-12-23 14:50:01 -05:00
scottjehl
ce7ff992d6 Merge branch 'docs' of https://github.com/ehynds/jquery-mobile into ehynds-docs 2010-12-23 09:20:17 -05:00
John Bender
fa760da3bd docs updated with information about the slider keys 2010-12-22 23:53:44 -08:00
ehynds
cc0d982c5e documentation for multiple select functionality and list icon theming.
also fixed a CSS specificity bug where the display:block declaration on .ui-li was overriding the display:none declaration for the placeholder class.
2010-12-22 18:11:01 -05:00
scottjehl
fd821b7440 Merge branch 'select_multi' of https://github.com/ehynds/jquery-mobile into ehynds-select_multi 2010-12-22 10:05:40 -05:00
Kin Blas
5961818bb3 Fixed a couple of spots that had the following invalid markup:
<pre></code>
2010-12-16 11:15:43 -08:00
jzaefferer
e70c17d625 Extend nested listviews to accept more then just the title in parent list item. Currently requires predefined anchor to be present, based on discussion in ticket. Extended lists-nested.html to test both variants. Fixes #253 - only text nodes allowed in nested listview 2010-12-15 15:54:13 +01:00
Mitch Foley
df3bc91f80 renaming nobackbtn to backbtn. 2010-12-13 10:54:26 -05:00
ehynds
2c8c89ba9b Merge remote branch 'upstream/master' 2010-12-07 17:45:33 -05:00
Michael J. Rubinsky
76cc574721 Add note specifying these events need to be called prior to jQuery Mobile execution. 2010-12-08 06:11:01 +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
008e7e4c37 changed to reference local js,css 2010-12-07 11:33:04 -05:00
ehynds
8118b77a6a documenting disabled options and optgroup support 2010-12-04 23:29:12 +08:00
ehynds
dc6bf52fff restoring doc 2010-12-04 09:07:59 -05:00
ehynds
bd845b3a17 arg 2010-12-04 09:06:04 -05:00
scottjehl
e765d21631 documented how to disable the hidePlaceholderMenuItems option in selectmenus 2010-12-03 11:38:47 -05:00
scottjehl
6dce87a2ac hide placeholder options in selectmenu overlays. Fixes #607 2010-12-03 11:32:48 -05:00
scottjehl
f9e25efeb6 Merge branch 'master' of github.com:jquery/jquery-mobile 2010-12-02 15:19:32 -05:00
Todd Parker
cc2fb7eb42 Actually updated to 1.4.4. Thanks Eric! 2010-12-02 12:27:48 -05:00
Todd Parker
df7de3f54d Updated jq script link to 1.4.4 on both pages. Also used CDN versions on the multi-page template. 2010-12-02 11:43:58 -05:00
scottjehl
69a91d0854 noted docs to-do 2010-12-01 17:05:28 -05:00
scottjehl
bc09540492 updated example code 2010-12-01 11:11:35 -05:00
scottjehl
7aafc9b669 documented auto-init (and prevention of auto-init) of form controls 2010-12-01 09:52:07 -05:00