http://www.mediawiki.org/wiki/Special:Code/MediaWiki/70395
Revision: 70395 Author: dale Date: 2010-08-03 18:35:35 +0000 (Tue, 03 Aug 2010) Log Message: ----------- menu updates for sequencer menu usage to support divider and disabled class Modified Paths: -------------- trunk/extensions/JS2Support/mwEmbed/libraries/jquery/plugins/jquery.menu/jquery.menu.js Modified: trunk/extensions/JS2Support/mwEmbed/libraries/jquery/plugins/jquery.menu/jquery.menu.js =================================================================== --- trunk/extensions/JS2Support/mwEmbed/libraries/jquery/plugins/jquery.menu/jquery.menu.js 2010-08-03 18:30:57 UTC (rev 70394) +++ trunk/extensions/JS2Support/mwEmbed/libraries/jquery/plugins/jquery.menu/jquery.menu.js 2010-08-03 18:35:35 UTC (rev 70395) @@ -5,11 +5,17 @@ By: Maggie Costello Wachs (mag...@filamentgroup.com) and Scott Jehl (sc...@filamentgroup.com) http://www.filamentgroup.com * reference articles: http://www.filamentgroup.com/lab/jquery_ipod_style_drilldown_menu/ + +* modified by Michael Dale, ( michael.d...@kaltura.com ) Copyright (c) 2009 Filament Group Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses. -NOTE: mvEmbed will switch to jquery ui menu once that is released +NOTE: mwEmbed will switch to jquery ui menu once that is released +NOTE: This menu contains several customizations for use in mwEmbed modules:: + +* added getLineItem helper function +* added special class "divider" that is non selectable menu item horizontal hr --------------------------------------------------------------------*/ @@ -120,6 +126,7 @@ linkToFront: false }, showSpeed: 200, // show/hide speed in milliseconds + createMenuCallback: null, callerOnState: 'ui-state-active', // class to change the appearance of the link/button when the menu is showing loadingState: 'ui-state-loading', // class added to the link/button while the menu is created linkHover: 'ui-state-hover', // class for menu option hover state @@ -173,11 +180,11 @@ this.showMenu = function() { mw.log('$j.menu:: show menu' ); killAllMenus(); - mw.log('done:: killAllMenus' ); + mw.log('jquery.menu:: killAllMenus' ); if ( ! menu.menuExists) { menu.create() }; - mw.log('done:: menu.create' ); + mw.log('jquery.menu:: menu.create' ); caller .addClass('fg-menu-open') .addClass(options.callerOnState); @@ -185,7 +192,7 @@ menu.kill(); return false; }); - mw.log('done:: menu. binding container' ); + mw.log('jquery.menu:: menu. binding container' ); container.hide().slideDown(options.showSpeed).find('.fg-menu:eq(0)'); menu.menuOpen = true; @@ -271,7 +278,7 @@ }; break; }; - }); + }); }; this.create = function() { @@ -314,11 +321,16 @@ allLinks.hover( function() { var menuitem = $(this); - $('.'+options.linkHover).removeClass(options.linkHover).blur().parent().removeAttr('id'); - $(this).addClass(options.linkHover).focus().parent().attr('id','active-menuitem'); + var menuli = menuitem.parent(); + if( !menuli.hasClass('divider') && !menuli.hasClass('disabled') ){ + $('.'+options.linkHover).removeClass(options.linkHover).blur().parent().removeAttr('id'); + $(this).addClass(options.linkHover).focus().parent().addClass('active-menuitem'); + } }, function() { - $(this).removeClass(options.linkHover).blur().parent().removeAttr('id'); + if( !menuitem.hasClass('divider') && !menuitem.hasClass('disabled') ){ + $(this).removeClass(options.linkHover).blur().parent().removeClass('active-menuitem'); + } } ); }; @@ -336,6 +348,10 @@ menu.setPosition(container, caller, options); menu.menuExists = true; + + if( typeof options.createMenuCallback == 'function' ){ + options.createMenuCallback(); + } }; this.chooseItem = function(item) { @@ -786,4 +802,3 @@ }; } )( jQuery ); - _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs