From 0494244e8068198707bf602199413cd216b0d515 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 3 Feb 2013 18:48:30 -0500 Subject: Super first pass: - jQuery 1.90 - jQuery UI 1.10 - Superfish 1.5.1 (minus all plugins) - jQuery Form 3.26.0-2013.01.28 Deleted all other jQuery plugins for now. - Reworked autocomplete to use the latest jQuery code. - Deleted references to $.browser.msie, no longer supported - Basic CSS support for autocomplete - lots more work needed there --- lib/superfish/js/superfish.js | 75 +++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 35 deletions(-) (limited to 'lib/superfish/js') diff --git a/lib/superfish/js/superfish.js b/lib/superfish/js/superfish.js index c6a9c7de..45d2e9a6 100644 --- a/lib/superfish/js/superfish.js +++ b/lib/superfish/js/superfish.js @@ -1,13 +1,12 @@ /* - * Superfish v1.4.8 - jQuery menu widget - * Copyright (c) 2008 Joel Birch + * Superfish v1.5.1 - jQuery menu widget + * Copyright (c) 2013 Joel Birch * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * - * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt */ ;(function($){ @@ -15,8 +14,8 @@ var sf = $.fn.superfish, c = sf.c, - $arrow = $([' »'].join('')), - over = function(){ + $arrow = $(' »'), + over = function(e){ var $$ = $(this), menu = getMenu($$); clearTimeout(menu.sfTimer); $$.showSuperfishUl().siblings().hideSuperfishUl(); @@ -27,59 +26,67 @@ menu.sfTimer=setTimeout(function(){ o.retainPath=($.inArray($$[0],o.$path)>-1); $$.hideSuperfishUl(); - if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} + if (o.$path.length && $$.parents('li.'+o.hoverClass).length<1){ + o.onIdle.call(this); + over.call(o.$path); + } },o.delay); }, - getMenu = function($menu){ - var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; + getMenu = function($child){ + if ($child.hasClass(c.menuClass)){ + $.error('Superfish requires you to update to a version of hoverIntent that supports event-delegation, such as this one: https://github.com/joeldbirch/onHoverIntent'); + } + var menu = $child.closest('.'+c.menuClass)[0]; sf.op = sf.o[menu.serial]; return menu; }, + applyHandlers = function($menu){ + var targets = 'li:has(ul)'; + if ($.fn.hoverIntent && !sf.op.disableHI){ + $menu.hoverIntent(over, out, targets); + } else { + $menu.on('mouseenter', targets, over); + $menu.on('mouseleave', targets, out); + } + $menu.on('focusin', targets, over); + $menu.on('focusout', targets, out); + }, addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; - return this.each(function() { + return this.addClass(c.menuClass).each(function() { var s = this.serial = sf.o.length; var o = $.extend({},sf.defaults,op); - o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){ - $(this).addClass([o.hoverClass,c.bcClass].join(' ')) + var $$ = $(this); + o.$path = $$.find('li.'+o.pathClass).slice(0,o.pathLevels).each(function(){ + $(this).addClass(o.hoverClass+' '+c.bcClass) .filter('li:has(ul)').removeClass(o.pathClass); }); sf.o[s] = sf.op = o; - $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { - if (o.autoArrows) addArrow( $('>a:first-child',this) ); + applyHandlers($$); + + $$.find('li:has(ul)').each(function() { + if (o.autoArrows) { + addArrow( $('>a:first-child',this) ); + } }) .not('.'+c.bcClass) .hideSuperfishUl(); - var $a = $('a',this); - $a.each(function(i){ - var $li = $a.eq(i).parents('li'); - $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); - }); o.onInit.call(this); - }).each(function() { - var menuClasses = [c.menuClass]; - if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); - $(this).addClass(menuClasses.join(' ')); }); }; var sf = $.fn.superfish; sf.o = []; sf.op = {}; - sf.IE7fix = function(){ - var o = sf.op; - if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) - this.toggleClass(sf.c.shadowClass+'-off'); - }; + sf.c = { bcClass : 'sf-breadcrumb', menuClass : 'sf-js-enabled', anchorClass : 'sf-with-ul', - arrowClass : 'sf-sub-indicator', - shadowClass : 'sf-shadow' + arrowClass : 'sf-sub-indicator' }; sf.defaults = { hoverClass : 'sfHover', @@ -89,31 +96,29 @@ animation : {opacity:'show'}, speed : 'normal', autoArrows : true, - dropShadows : true, disableHI : false, // true disables hoverIntent detection onInit : function(){}, // callback functions onBeforeShow: function(){}, onShow : function(){}, - onHide : function(){} + onHide : function(){}, + onIdle : function(){} }; $.fn.extend({ hideSuperfishUl : function(){ var o = sf.op, not = (o.retainPath===true) ? o.$path : ''; o.retainPath = false; - var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) + var $ul = $('li.'+o.hoverClass,this).add(this).not(not).removeClass(o.hoverClass) .find('>ul').hide().css('visibility','hidden'); o.onHide.call($ul); return this; }, showSuperfishUl : function(){ var o = sf.op, - sh = sf.c.shadowClass+'-off', $ul = this.addClass(o.hoverClass) .find('>ul:hidden').css('visibility','visible'); - sf.IE7fix.call($ul); o.onBeforeShow.call($ul); - $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); + $ul.animate(o.animation,o.speed,function(){ o.onShow.call($ul); }); return this; } }); -- cgit v1.2.3 From 2dda5ef14da747b206b829c1a0096aacfd393033 Mon Sep 17 00:00:00 2001 From: shadlaws Date: Sat, 16 Mar 2013 00:38:24 +0100 Subject: Update to Superfish v1.5.13, with JS minified (in sync with gallery3-vendor) --- lib/superfish/js/superfish.js | 125 +++--------------------------------------- 1 file changed, 7 insertions(+), 118 deletions(-) (limited to 'lib/superfish/js') diff --git a/lib/superfish/js/superfish.js b/lib/superfish/js/superfish.js index 45d2e9a6..b8f660c2 100644 --- a/lib/superfish/js/superfish.js +++ b/lib/superfish/js/superfish.js @@ -1,6 +1,5 @@ - /* - * Superfish v1.5.1 - jQuery menu widget + * Superfish v1.5.13 - jQuery menu widget * Copyright (c) 2013 Joel Birch * * Dual licensed under the MIT and GPL licenses: @@ -8,119 +7,9 @@ * http://www.gnu.org/licenses/gpl.html * */ - -;(function($){ - $.fn.superfish = function(op){ - - var sf = $.fn.superfish, - c = sf.c, - $arrow = $(' »'), - over = function(e){ - var $$ = $(this), menu = getMenu($$); - clearTimeout(menu.sfTimer); - $$.showSuperfishUl().siblings().hideSuperfishUl(); - }, - out = function(){ - var $$ = $(this), menu = getMenu($$), o = sf.op; - clearTimeout(menu.sfTimer); - menu.sfTimer=setTimeout(function(){ - o.retainPath=($.inArray($$[0],o.$path)>-1); - $$.hideSuperfishUl(); - if (o.$path.length && $$.parents('li.'+o.hoverClass).length<1){ - o.onIdle.call(this); - over.call(o.$path); - } - },o.delay); - }, - getMenu = function($child){ - if ($child.hasClass(c.menuClass)){ - $.error('Superfish requires you to update to a version of hoverIntent that supports event-delegation, such as this one: https://github.com/joeldbirch/onHoverIntent'); - } - var menu = $child.closest('.'+c.menuClass)[0]; - sf.op = sf.o[menu.serial]; - return menu; - }, - applyHandlers = function($menu){ - var targets = 'li:has(ul)'; - if ($.fn.hoverIntent && !sf.op.disableHI){ - $menu.hoverIntent(over, out, targets); - } else { - $menu.on('mouseenter', targets, over); - $menu.on('mouseleave', targets, out); - } - $menu.on('focusin', targets, over); - $menu.on('focusout', targets, out); - }, - addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; - - return this.addClass(c.menuClass).each(function() { - var s = this.serial = sf.o.length; - var o = $.extend({},sf.defaults,op); - var $$ = $(this); - o.$path = $$.find('li.'+o.pathClass).slice(0,o.pathLevels).each(function(){ - $(this).addClass(o.hoverClass+' '+c.bcClass) - .filter('li:has(ul)').removeClass(o.pathClass); - }); - sf.o[s] = sf.op = o; - - applyHandlers($$); - - $$.find('li:has(ul)').each(function() { - if (o.autoArrows) { - addArrow( $('>a:first-child',this) ); - } - }) - .not('.'+c.bcClass) - .hideSuperfishUl(); - - o.onInit.call(this); - - }); - }; - - var sf = $.fn.superfish; - sf.o = []; - sf.op = {}; - - sf.c = { - bcClass : 'sf-breadcrumb', - menuClass : 'sf-js-enabled', - anchorClass : 'sf-with-ul', - arrowClass : 'sf-sub-indicator' - }; - sf.defaults = { - hoverClass : 'sfHover', - pathClass : 'overideThisToUse', - pathLevels : 1, - delay : 800, - animation : {opacity:'show'}, - speed : 'normal', - autoArrows : true, - disableHI : false, // true disables hoverIntent detection - onInit : function(){}, // callback functions - onBeforeShow: function(){}, - onShow : function(){}, - onHide : function(){}, - onIdle : function(){} - }; - $.fn.extend({ - hideSuperfishUl : function(){ - var o = sf.op, - not = (o.retainPath===true) ? o.$path : ''; - o.retainPath = false; - var $ul = $('li.'+o.hoverClass,this).add(this).not(not).removeClass(o.hoverClass) - .find('>ul').hide().css('visibility','hidden'); - o.onHide.call($ul); - return this; - }, - showSuperfishUl : function(){ - var o = sf.op, - $ul = this.addClass(o.hoverClass) - .find('>ul:hidden').css('visibility','visible'); - o.onBeforeShow.call($ul); - $ul.animate(o.animation,o.speed,function(){ o.onShow.call($ul); }); - return this; - } - }); - -})(jQuery); +(function(b){b.fn.superfish=function(d){var g=b.fn.superfish,a=g.c,f=b(' »'),k=function(){var e=b(this),c=j(e);clearTimeout(c.sfTimer);e.showSuperfishUl().siblings().hideSuperfishUl()},l=function(e){var c=b(this),d=j(c),a=g.op,f=function(){a.retainPath=-1c.parents("li."+a.hoverClass).length&&(a.onIdle.call(),b.proxy(k,a.$path,e)())};"click"===e.type?f():(clearTimeout(d.sfTimer),d.sfTimer=setTimeout(f, +a.delay))},j=function(e){e.hasClass(a.menuClass)&&b.error("Superfish requires you to update to a version of hoverIntent that supports event-delegation, such as this one: https://github.com/joeldbirch/onHoverIntent");e=e.closest("."+a.menuClass)[0];g.op=g.o[e.serial];return e},m=function(e){var c=b(this),a=c.siblings("ul");if(0