Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattpiwik <matthieu.aubry@gmail.com>2008-02-08 17:50:13 +0300
committermattpiwik <matthieu.aubry@gmail.com>2008-02-08 17:50:13 +0300
commita09b44495c4452e99f7a583fc39713ebe2882bb0 (patch)
tree2a68188d83cd975c09a9255f5b9df27422da5865 /libs/jquery/superfish_modified.js
parent6563a95d7fd3619e0a3eb6ca97988027ae55175a (diff)
- visits generator now works with plugins
- fixed details in JS git-svn-id: http://dev.piwik.org/svn/trunk@307 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'libs/jquery/superfish_modified.js')
-rw-r--r--libs/jquery/superfish_modified.js149
1 files changed, 149 insertions, 0 deletions
diff --git a/libs/jquery/superfish_modified.js b/libs/jquery/superfish_modified.js
new file mode 100644
index 0000000000..a9557b63fd
--- /dev/null
+++ b/libs/jquery/superfish_modified.js
@@ -0,0 +1,149 @@
+/*
+ * Superfish v1.4.1 - jQuery menu widget
+ * Copyright (c) 2007 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($){
+ $.superfish = {};
+ $.superfish.o = [];
+ $.superfish.op = {};
+ $.superfish.currentActiveMenu = 'init';
+ $.superfish.defaults = {
+ hoverClass : 'sfHover',
+ pathClass : 'overideThisToUse',
+ delay : 800,
+ animation : {opacity:'show'},
+ speed : 'normal',
+ oldJquery : false, /* set to true if using jQuery version below 1.2 */
+ disableHI : true, /* set to true to disable hoverIntent usage */
+ // callback functions:
+ onInit : function(){},
+ onBeforeShow: function(){},
+ onShow : function(){}, /* note this name changed ('onshow' to 'onShow') from version 1.4 onward */
+ onHide : function(){}
+ };
+ $.fn.superfish = function(op){
+ var bcClass = 'sfbreadcrumb',
+ click = function(){
+ //console.log('click');
+ // no LI means level2 clicked
+ if($(this).find('ul li').size() == 0)
+ {
+ //console.log('clicked sub menu');
+
+ // case we clicked the submenu
+ $.superfish.currentActiveMenu = $(this).parents('li');
+
+ // case we clicked the main menu with NO submenu
+ if($.superfish.currentActiveMenu.size() == 0)
+ {
+ //console.log('clicked main menu with no submenu');
+ $.superfish.currentActiveMenu = $(this);
+ }
+ }
+ else
+ {
+ //console.log('clicked main menu');
+ $.superfish.currentActiveMenu = $(this);
+ }
+ //console.log($.superfish.currentActiveMenu.filter('.sfHover'));
+ //console.log($.superfish.currentActiveMenu.filter('.sfHover').html());//each(function(){ $(this).removeClass('sfHover'); });
+ $.superfish.currentActiveMenu.parent().find('ul li.sfHover').removeClass('sfHover');
+ //console.log('click, the main is '); console.log($.superfish.currentActiveMenu.html() );
+
+ },
+ over = function(){
+ var $$ = $(this), menu = getMenu($$);
+ getOpts(menu,true);
+ clearTimeout(menu.sfTimer);
+
+ $$.showSuperfishUl().siblings().hideSuperfishUl();
+ },
+ out = function(){
+ var $$ = $(this), menu = getMenu($$);
+ var o = getOpts(menu,true);
+ clearTimeout(menu.sfTimer);
+ if (!$$.is('.'+bcClass) ) {
+ menu.sfTimer=setTimeout(function(){
+
+ // if there is an active menu (a clicked menu)
+ if($.superfish.currentActiveMenu != 'init')
+ {
+ //console.log('showing '); console.log($.superfish.currentActiveMenu.html());
+ $.superfish.currentActiveMenu.siblings('.sfHover').removeClass('sfHover');
+ $.superfish.currentActiveMenu.showSuperfishUl().siblings().hideSuperfishUl();
+ }
+ else
+ {
+ $$.hideSuperfishUl();
+ }
+
+ //console.log($.superfish.currentActiveMenu);
+ if (o.$path.length){over.call(o.$path);}
+ },o.delay);
+ }
+ },
+ getMenu = function($el){ return $el.parents('ul.superfish:first')[0]; },
+ getOpts = function(el,menuFound){ el = menuFound ? el : getMenu(el); return $.superfish.op = $.superfish.o[el.serial]; },
+ hasUl = function(){ return $.superfish.op.oldJquery ? 'li[ul]' : 'li:has(ul)'; };
+
+ return this.each(function() {
+ var s = this.serial = $.superfish.o.length;
+ var o = $.extend({},$.superfish.defaults,op);
+ o.$path = $('li.'+o.pathClass,this).each(function(){
+ $(this).addClass(o.hoverClass+' '+bcClass)
+ .filter(hasUl()).removeClass(o.pathClass);
+ });
+ $.superfish.o[s] = $.superfish.op = o;
+
+ $('li',this).click(click);
+
+ $(hasUl(),this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out)
+
+ .not('.'+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);
+
+ }).addClass('superfish');
+ };
+
+ $.fn.extend({
+ hideSuperfishUl : function(){
+ var o = $.superfish.op,
+ $ul = $('li.'+o.hoverClass,this).add(this)
+ .find('>ul').hide().css('visibility','hidden');
+ o.onHide.call($ul);
+ return this;
+ },
+ showSuperfishUl : function(){
+ var o = $.superfish.op,
+ $ul = this.addClass(o.hoverClass)
+ .find('>ul:hidden').css('visibility','visible');
+ //console.log(this.html());
+ o.onBeforeShow.call($ul);
+ $ul.animate(o.animation,o.speed,function(){ o.onShow.call(this); });
+ return this;
+ }
+ });
+
+ $(window).unload(function(){
+ $('ul.superfish').each(function(){
+ $('li',this).unbind('mouseover','mouseout','mouseenter','mouseleave');
+ });
+ });
+})(jQuery); \ No newline at end of file