forked from ricardojlrufino/jui_dropdown
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.jui_dropdown-min.js
1 lines (1 loc) · 2.8 KB
/
jquery.jui_dropdown-min.js
1
"use strict";(function(d){var c="jui_dropdown";var a={init:function(f){return this.each(function(){var i=d(this);var h=i.data(c);if(typeof(h)=="undefined"){var j=i.jui_dropdown("getDefaults");h=d.extend({},j,f)}else{h=d.extend({},h,f)}i.data(c,h);i.unbind("onSelect").bind("onSelect",h.onSelect);var g=h.menu_id;var l=i;var k=d("ul",i.parent());l.removeClass(h.launcherClass).addClass(h.launcherClass);k.removeClass(h.menuClass).addClass(h.menuClass);if(b(d.ui.version)<b("1.9.0")){k.menu().menu("refresh").hide();k.off("click","li").on("click","li",function(){i.triggerHandler("onSelect",{index:parseInt(d(this).index("#"+event.target.id+" li"))+1,id:d(this).attr("id")})})}else{k.menu({select:function(m,n){i.triggerHandler("onSelect",{index:parseInt(n.item.index("#"+m.target.id+" li"))+1,id:n.item.attr("id")})}}).menu("refresh").hide()}if(typeof(g)=="undefined"){g=k.attr("id")}if(h.launcher_is_UI_button){l.button({text:h.launcherUIShowText,icons:{primary:h.launcherUIPrimaryIconClass,secondary:h.launcherUISecondaryIconClass}})}i.on("click",function(){var m=d(document).data("jui_dropdown_current_menu_id");if(typeof(m)!="undefined"){d("#"+m).hide()}if(!h.launcher_is_UI_button&&h.toggle_launcher){l.addClass(h.launcherSelectedClass)}k.show().position({my:h.my_position,at:h.at_position,of:l});d(document).one("click",function(){k.hide();if(!h.launcher_is_UI_button&&h.toggle_launcher){l.removeClass(h.launcherSelectedClass)}});d(document).data("jui_dropdown_current_menu_id",g);return false});i.on("mouseenter",function(){if(h.launchOnMouseEnter){l.trigger("click")}});k.on("mouseleave",function(){k.hide()})})},getDefaults:function(){return{launcherContainerClass:"launcherContainerClass",launcherClass:"launcherClass",launcherSelectedClass:"launcherSelectedClass ui-widget-header ui-corner-all",menuClass:"menuClass",launcher_is_UI_button:true,launcherUIShowText:true,launcherUIPrimaryIconClass:"",launcherUISecondaryIconClass:"ui-icon-triangle-1-s",my_position:"left top",at_position:"left bottom",toggle_launcher:false,launchOnMouseEnter:false,onSelect:function(){}}},getOption:function(f){var g=this;return g.data(c)[f]},getAllOptions:function(){var f=this;return f.data(c)},setOption:function(f,i,h){var g=this;g.data(c)[f]=i;if(h){g.jui_dropdown("init")}},refresh:function(){var f=this;f.jui_dropdown()},destroy:function(){return d(this).each(function(){var f=d(this);f.removeData(c)})}};var e=function(k,f){var j=k.toString();var g="";if(f>j.length){for(var h=0;h<(f-j.length);h++){g+="0"}}return g+j};var b=function(f){var j="";var k=f.split(".");var g=k.length;for(var h=0;h<g;h++){j+=e(k[h],2)}return j};d.fn.jui_dropdown=function(f){if(a[f]){return a[f].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof f==="object"||!f){return a.init.apply(this,arguments)}else{d.error("Method "+f+" does not exist on jQuery."+c)}}}})(jQuery);