diff --git a/theme/mymobile/config.php b/theme/mymobile/config.php index b0f838ff051..f6bd2307219 100644 --- a/theme/mymobile/config.php +++ b/theme/mymobile/config.php @@ -34,7 +34,7 @@ $THEME->parents = array( // Set the stylesheets that we want to include for this theme $THEME->sheets = array( - 'jmobilerc2', + 'jmobile1', 'core', 'media' ); @@ -157,7 +157,7 @@ if ($thisdevice == "default" || $thisdevice == "tablet" || optional_param('mymob $THEME->javascripts = array( 'jquery-1.6.4.min', 'custom', - 'jquery.mobile-1.0rc2', + 'jquery.mobile-1.0', 'scrollview', 'easing' ); diff --git a/theme/mymobile/javascript/jquery.mobile-1.0rc2.js b/theme/mymobile/javascript/jquery.mobile-1.0.js similarity index 91% rename from theme/mymobile/javascript/jquery.mobile-1.0rc2.js rename to theme/mymobile/javascript/jquery.mobile-1.0.js index e5e0f73a5e3..44f645ca1e3 100644 --- a/theme/mymobile/javascript/jquery.mobile-1.0rc2.js +++ b/theme/mymobile/javascript/jquery.mobile-1.0.js @@ -1,11 +1,12 @@ -/*! - * jQuery Mobile v1.0rc2 - * http://jquerymobile.com/ - * - * Copyright 2010, jQuery Project - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - */ +/* +* jQuery Mobile Framework 1.0 +* http://jquerymobile.com +* +* Copyright 2011 (c) jQuery Project +* Dual licensed under the MIT or GPL Version 2 licenses. +* http://jquery.org/license +* +*/ /*! * jQuery UI Widget @VERSION * @@ -15,6 +16,7 @@ * * http://docs.jquery.com/UI/Widget */ + (function( $, undefined ) { // jQuery 1.4+ @@ -269,10 +271,7 @@ $.Widget.prototype = { })( jQuery ); /* -* jQuery Mobile Framework : widget factory extentions for mobile -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license +* widget factory extentions for mobile */ (function( $, undefined ) { @@ -312,20 +311,18 @@ $.widget( "mobile.widget", { // TODO remove dependency on the page widget for the keepNative. // Currently the keepNative value is defined on the page prototype so // the method is as well - var page = $(target).data( "page" ), - keepNative = page && page.keepNativeSelector(); + var page = $(target).closest(":jqmData(role='page')").data( "page" ), + keepNative = (page && page.keepNativeSelector()) || ""; - $( this.options.initSelector, target ).not( keepNative || "" )[ this.widgetName ](); + $( this.options.initSelector, target ).not( keepNative )[ this.widgetName ](); } }); })( jQuery ); /* -* jQuery Mobile Framework : a workaround for window.matchMedia -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license +* a workaround for window.matchMedia */ + (function( $, undefined ) { var $window = $( window ), @@ -366,10 +363,9 @@ $.mobile.media = (function() { }; })(); -})(jQuery);/* -* jQuery Mobile Framework : support tests -* Copyright (c) jQuery Project -* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. +})(jQuery); +/* +* support tests */ (function( $, undefined ) { @@ -378,6 +374,7 @@ var fakeBody = $( "" ).prependTo( "html" ), fbCSS = fakeBody[ 0 ].style, vendors = [ "Webkit", "Moz", "O" ], webos = "palmGetResource" in window, //only used to rule out scrollTop + operamini = window.operamini && ({}).toString.call( window.operamini ) === "[object OperaMini]", bb = window.blackberry; //only used to rule out box shadow, as it's filled opaque on BB // thx Modernizr @@ -440,7 +437,7 @@ $.extend( $.support, { cssPseudoElement: !!propExists( "content" ), touchOverflow: !!propExists( "overflowScrolling" ), boxShadow: !!propExists( "boxShadow" ) && !bb, - scrollTop: ( "pageXOffset" in window || "scrollTop" in document.documentElement || "scrollTop" in fakeBody[ 0 ] ) && !webos, + scrollTop: ( "pageXOffset" in window || "scrollTop" in document.documentElement || "scrollTop" in fakeBody[ 0 ] ) && !webos && !operamini, dynamicBaseTag: baseTagTest() }); @@ -466,7 +463,7 @@ $.mobile.ajaxBlacklist = // BlackBerry browsers, pre-webkit window.blackberry && !window.WebKitPoint || // Opera Mini - window.operamini && Object.prototype.toString.call( window.operamini ) === "[object OperaMini]" || + operamini || // Symbian webkits pre 7.3 nokiaLTE7_3; @@ -486,10 +483,7 @@ if ( !$.support.boxShadow ) { })( jQuery ); /* -* jQuery Mobile Framework : "mouse" plugin -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license +* "mouse" plugin */ // This plugin is an experiment for abstracting away the touch and mouse @@ -984,11 +978,9 @@ if ( eventCaptureSupported ) { } })( jQuery, window, document ); /* -* jQuery Mobile Framework : events -* Copyright (c) jQuery Project -* Dual licensed under the MIT or GPL Version 2 licenses. -* http://jquery.org/license +* "events" plugin - Handles events */ + (function( $, window, undefined ) { // add new event shortcuts @@ -1223,7 +1215,7 @@ $.event.special.swipe = { last_orientation = orientation; win.trigger( "orientationchange" ); } - }; + } // Get the current page orientation. This method is exposed publicly, should it // be needed, as jQuery.event.special.orientationchange.orientation() @@ -1303,71 +1295,62 @@ $.each({ }); })( jQuery, this ); -/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ - // Script: jQuery hashchange event -// -// *Version: 1.3, Last updated: 7/21/2010* // +// *Version: 1.3, Last updated: 7/21/2010* +// // Project Home - http://benalman.com/projects/jquery-hashchange-plugin/ // GitHub - http://github.com/cowboy/jquery-hashchange/ // Source - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.js // (Minified) - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.min.js (0.8kb gzipped) -// +// // About: License -// +// // Copyright (c) 2010 "Cowboy" Ben Alman, // Dual licensed under the MIT and GPL licenses. // http://benalman.com/about/license/ -// +// // About: Examples -// +// // These working examples, complete with fully commented code, illustrate a few // ways in which this plugin can be used. -// +// // hashchange event - http://benalman.com/code/projects/jquery-hashchange/examples/hashchange/ // document.domain - http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/ -// +// // About: Support and Testing -// +// // Information about what version or versions of jQuery this plugin has been // tested with, what browsers it has been tested in, and where the unit tests // reside (so you can test it yourself). -// +// // jQuery Versions - 1.2.6, 1.3.2, 1.4.1, 1.4.2 // Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5, // Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2, BlackBerry 4.6-5. // Unit Tests - http://benalman.com/code/projects/jquery-hashchange/unit/ -// +// // About: Known issues -// +// // While this jQuery hashchange event implementation is quite stable and // robust, there are a few unfortunate browser bugs surrounding expected // hashchange event-based behaviors, independent of any JavaScript // window.onhashchange abstraction. See the following examples for more // information: -// +// // Chrome: Back Button - http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/ // Firefox: Remote XMLHttpRequest - http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/ // WebKit: Back Button in an Iframe - http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/ // Safari: Back Button from a different domain - http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/ -// -// Also note that should a browser natively support the window.onhashchange +// +// Also note that should a browser natively support the window.onhashchange // event, but not report that it does, the fallback polling loop will be used. -// +// // About: Release History -// +// // 1.3 - (7/21/2010) Reorganized IE6/7 Iframe code to make it more // "removable" for mobile-only development. Added IE6/7 document.title // support. Attempted to make Iframe as hidden as possible by using -// techniques from http://www.paciellogroup.com/blog/?p=604. Added +// techniques from http://www.paciellogroup.com/blog/?p=604. Added // support for the "shortcut" format $(window).hashchange( fn ) and // $(window).hashchange() like jQuery provides for built-in events. // Renamed jQuery.hashchangeDelay to and @@ -1392,40 +1375,40 @@ $.each({ (function($,window,undefined){ '$:nomunge'; // Used by YUI compressor. - + // Reused string. var str_hashchange = 'hashchange', - + // Method / object references. doc = document, fake_onhashchange, special = $.event.special, - + // Does the browser support window.onhashchange? Note that IE8 running in // IE7 compatibility mode reports true for 'onhashchange' in window, even // though the event isn't supported, so also test document.documentMode. doc_mode = doc.documentMode, supports_onhashchange = 'on' + str_hashchange in window && ( doc_mode === undefined || doc_mode > 7 ); - + // Get location.hash (or what you'd expect location.hash to be) sans any // leading #. Thanks for making this necessary, Firefox! function get_fragment( url ) { url = url || location.href; return '#' + url.replace( /^[^#]*#?(.*)$/, '$1' ); }; - + // Method: jQuery.fn.hashchange - // + // // Bind a handler to the window.onhashchange event or trigger all bound // window.onhashchange event handlers. This behavior is consistent with // jQuery's built-in event handlers. - // + // // Usage: - // + // // > jQuery(window).hashchange( [ handler ] ); - // + // // Arguments: - // + // // handler - (Function) Optional handler to be bound to the hashchange // event. This is a "shortcut" for the more verbose form: // jQuery(window).bind( 'hashchange', handler ). If handler is omitted, @@ -1433,127 +1416,127 @@ $.each({ // is a shortcut for the more verbose // jQuery(window).trigger( 'hashchange' ). These forms are described in // the section. - // + // // Returns: - // + // // (jQuery) The initial jQuery collection of elements. - + // Allow the "shortcut" format $(elem).hashchange( fn ) for binding and // $(elem).hashchange() for triggering, like jQuery does for built-in events. $.fn[ str_hashchange ] = function( fn ) { return fn ? this.bind( str_hashchange, fn ) : this.trigger( str_hashchange ); }; - + // Property: jQuery.fn.hashchange.delay - // + // // The numeric interval (in milliseconds) at which the // polling loop executes. Defaults to 50. - + // Property: jQuery.fn.hashchange.domain - // + // // If you're setting document.domain in your JavaScript, and you want hash // history to work in IE6/7, not only must this property be set, but you must // also set document.domain BEFORE jQuery is loaded into the page. This // property is only applicable if you are supporting IE6/7 (or IE8 operating // in "IE7 compatibility" mode). - // + // // In addition, the property must be set to the // path of the included "document-domain.html" file, which can be renamed or // modified if necessary (note that the document.domain specified must be the // same in both your main JavaScript as well as in this file). - // + // // Usage: - // + // // jQuery.fn.hashchange.domain = document.domain; - + // Property: jQuery.fn.hashchange.src - // + // // If, for some reason, you need to specify an Iframe src file (for example, // when setting document.domain as in ), you can // do so using this property. Note that when using this property, history // won't be recorded in IE6/7 until the Iframe src file loads. This property // is only applicable if you are supporting IE6/7 (or IE8 operating in "IE7 // compatibility" mode). - // + // // Usage: - // + // // jQuery.fn.hashchange.src = 'path/to/file.html'; - + $.fn[ str_hashchange ].delay = 50; /* $.fn[ str_hashchange ].domain = null; $.fn[ str_hashchange ].src = null; */ - + // Event: hashchange event - // + // // Fired when location.hash changes. In browsers that support it, the native // HTML5 window.onhashchange event is used, otherwise a polling loop is // initialized, running every milliseconds to // see if the hash has changed. In IE6/7 (and IE8 operating in "IE7 // compatibility" mode), a hidden Iframe is created to allow the back button // and hash-based history to work. - // + // // Usage as described in : - // + // // > // Bind an event handler. // > jQuery(window).hashchange( function(e) { // > var hash = location.hash; // > ... // > }); - // > + // > // > // Manually trigger the event handler. // > jQuery(window).hashchange(); - // + // // A more verbose usage that allows for event namespacing: - // + // // > // Bind an event handler. // > jQuery(window).bind( 'hashchange', function(e) { // > var hash = location.hash; // > ... // > }); - // > + // > // > // Manually trigger the event handler. // > jQuery(window).trigger( 'hashchange' ); - // + // // Additional Notes: - // + // // * The polling loop and Iframe are not created until at least one handler // is actually bound to the 'hashchange' event. // * If you need the bound handler(s) to execute immediately, in cases where // a location.hash exists on page load, via bookmark or page refresh for - // example, use jQuery(window).hashchange() or the more verbose + // example, use jQuery(window).hashchange() or the more verbose // jQuery(window).trigger( 'hashchange' ). // * The event can be bound before DOM ready, but since it won't be usable // before then in IE6/7 (due to the necessary Iframe), recommended usage is // to bind it inside a DOM ready handler. - + // Override existing $.event.special.hashchange methods (allowing this plugin // to be defined after jQuery BBQ in BBQ's source code). special[ str_hashchange ] = $.extend( special[ str_hashchange ], { - + // Called only when the first 'hashchange' event is bound to window. setup: function() { // If window.onhashchange is supported natively, there's nothing to do.. if ( supports_onhashchange ) { return false; } - + // Otherwise, we need to create our own. And we don't want to call this // until the user binds to the event, just in case they never do, since it // will create a polling loop and possibly even a hidden Iframe. $( fake_onhashchange.start ); }, - + // Called only when the last 'hashchange' event is unbound from window. teardown: function() { // If window.onhashchange is supported natively, there's nothing to do.. if ( supports_onhashchange ) { return false; } - + // Otherwise, we need to stop ours (if possible). $( fake_onhashchange.stop ); } - + }); - + // fake_onhashchange does all the work of triggering the window.onhashchange // event for browsers that don't natively support it, including creating a // polling loop to watch for hash changes and in IE 6/7 creating a hidden @@ -1561,79 +1544,79 @@ $.each({ fake_onhashchange = (function(){ var self = {}, timeout_id, - + // Remember the initial hash so it doesn't get triggered immediately. last_hash = get_fragment(), - + fn_retval = function(val){ return val; }, history_set = fn_retval, history_get = fn_retval; - + // Start the polling loop. self.start = function() { timeout_id || poll(); }; - + // Stop the polling loop. self.stop = function() { timeout_id && clearTimeout( timeout_id ); timeout_id = undefined; }; - + // This polling loop checks every $.fn.hashchange.delay milliseconds to see // if location.hash has changed, and triggers the 'hashchange' event on // window when necessary. function poll() { var hash = get_fragment(), history_hash = history_get( last_hash ); - + if ( hash !== last_hash ) { history_set( last_hash = hash, history_hash ); - + $(window).trigger( str_hashchange ); - + } else if ( history_hash !== last_hash ) { location.href = location.href.replace( /#.*/, '' ) + history_hash; } - + timeout_id = setTimeout( poll, $.fn[ str_hashchange ].delay ); }; - + // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv // vvvvvvvvvvvvvvvvvvv REMOVE IF NOT SUPPORTING IE6/7/8 vvvvvvvvvvvvvvvvvvv // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv $.browser.msie && !supports_onhashchange && (function(){ // Not only do IE6/7 need the "magical" Iframe treatment, but so does IE8 // when running in "IE7 compatibility" mode. - + var iframe, iframe_src; - + // When the event is bound and polling starts in IE 6/7, create a hidden // Iframe for history handling. self.start = function(){ if ( !iframe ) { iframe_src = $.fn[ str_hashchange ].src; iframe_src = iframe_src && iframe_src + get_fragment(); - + // Create hidden Iframe. Attempt to make Iframe as hidden as possible // by using techniques from http://www.paciellogroup.com/blog/?p=604. iframe = $('