Revert "Export"
[framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.1.0 / js / jquery.mobile.zoom.js
1 //>>excludeStart("jqmBuildExclude", pragmas.jqmBuildExclude);
2 //>>description: Utility methods for enabling and disabling user scaling (pinch zoom)
3 //>>label: Zoom Handling
4 //>>group: Utilities
5
6 define( [ "jquery", "./jquery.mobile.core" ], function( $ ) {
7 //>>excludeEnd("jqmBuildExclude");
8 ( function( $ ) {
9         var     meta = $( "meta[name=viewport]" ),
10         initialContent = meta.attr( "content" ),
11         disabledZoom = initialContent + ",maximum-scale=1, user-scalable=no",
12         enabledZoom = initialContent + ",maximum-scale=10, user-scalable=yes",
13                 disabledInitially = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test( initialContent );
14         
15         $.mobile.zoom = $.extend( {}, {
16                 enabled: !disabledInitially,
17                 locked: false,
18                 disable: function( lock ) {
19                         if( !disabledInitially && !$.mobile.zoom.locked ){
20                         meta.attr( "content", disabledZoom );
21                         $.mobile.zoom.enabled = false;
22                                 $.mobile.zoom.locked = lock || false;
23                         }
24                 },
25                 enable: function( unlock ) {
26                         if( !disabledInitially && ( !$.mobile.zoom.locked || unlock === true ) ){
27                         meta.attr( "content", enabledZoom );
28                         $.mobile.zoom.enabled = true;
29                                 $.mobile.zoom.locked = false;
30                         }
31                 },
32                 restore: function() {
33                         if( !disabledInitially ){
34                         meta.attr( "content", initialContent );
35                         $.mobile.zoom.enabled = true;
36                         }
37                 }
38         });
39
40 }( jQuery ));
41 //>>excludeStart("jqmBuildExclude", pragmas.jqmBuildExclude);
42 });
43 //>>excludeEnd("jqmBuildExclude");