diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/acl.js | 16 | ||||
-rw-r--r-- | js/jquery-compat.js | 71 |
2 files changed, 85 insertions, 2 deletions
@@ -152,11 +152,23 @@ ACL.prototype.set_deny = function(itemid){ } ACL.prototype.update_view = function(){ + var jotpermslock; + var jotpermsunlock; + if (document.jotpermslock == null) { + jotpermslock = 'lock'; + } else { + jotpermslock = document.jotpermslock; + } + if (document.jotpermsunlock == null) { + jotpermsunlock = 'unlock'; + } else { + jotpermsunlock = document.jotpermsunlock; + } if (that.allow_gid.length==0 && that.allow_cid.length==0 && that.deny_gid.length==0 && that.deny_cid.length==0){ that.showall.addClass("selected"); /* jot acl */ - $('#jot-perms-icon').removeClass('lock').addClass('unlock'); + $('#jot-perms-icon').removeClass(jotpermslock).addClass(jotpermsunlock); $('#jot-public').show(); $('.profile-jot-net input').attr('disabled', false); if(typeof editor != 'undefined' && editor != false) { @@ -166,7 +178,7 @@ ACL.prototype.update_view = function(){ } else { that.showall.removeClass("selected"); /* jot acl */ - $('#jot-perms-icon').removeClass('unlock').addClass('lock'); + $('#jot-perms-icon').removeClass(jotpermsunlock).addClass(jotpermslock); $('#jot-public').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); $('#profile-jot-desc').html(' '); diff --git a/js/jquery-compat.js b/js/jquery-compat.js new file mode 100644 index 000000000..7bf912542 --- /dev/null +++ b/js/jquery-compat.js @@ -0,0 +1,71 @@ + +// provide jquery.browser so we can get rid of the migration toolkit + +jQuery.uaMatch = function( ua ) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; +}; + + +// Don't clobber any existing jQuery.browser in case it's different +if ( !jQuery.browser ) { + matched = jQuery.uaMatch( navigator.userAgent ); + browser = {}; + + if ( matched.browser ) { + browser[ matched.browser ] = true; + browser.version = matched.version; + } + + // Chrome is Webkit, but Webkit is also Safari. + if ( browser.chrome ) { + browser.webkit = true; + } else if ( browser.webkit ) { + browser.safari = true; + } + + jQuery.browser = browser; +} + +jQuery.fn.toggle = function( fn, fn2 ) { + + // Don't mess with animation or css toggles + if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) { + return oldToggle.apply( this, arguments ); + } + + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); +}; |