/** * jquery asDropdown v0.2.2 * https://github.com/amazingSurge/jquery-asDropdown * * Copyright (c) amazingSurge * Released under the LGPL-3.0 license */ !function(e,t){if("function"==typeof define&&define.amd)define(["jquery"],t);else if("undefined"!=typeof exports)t(require("jquery"));else{var s={exports:{}};t(e.jQuery),e.jqueryAsDropdownEs=s.exports}}(this,function(e){"use strict";function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=function(e){return e&&e.__esModule?e:{default:e}}(e),i=function(){function e(e,t){for(var s=0;s1&&void 0!==arguments[1]?arguments[1]:{};t(this,e),this.element=i,this.$element=(0,s.default)(i),this.$parent=this.$element.parent();var o=[];s.default.each(this.$element.data(),function(e,t){var s=new RegExp("^asDropdown","i");s.test(e)&&(o[e.toLowerCase().replace(s,"")]=t)}),this.options=s.default.extend({},n,a,o),this.namespace=this.options.namespace,this.classes={skin:this.namespace+"_"+this.options.skin,show:this.namespace+"_show",trigger:this.namespace+"-trigger",mask:this.namespace+"-mask",wrapper:this.namespace+"-wrapper",panel:this.namespace+"-panel",disabled:this.namespace+"_disabled"},null!==this.options.skin&&this.$element.addClass(this.classes.skin),this.$children=this.$element.children(),this.$panel=this._parse(this.options.panel),this.isShow=!1,this.disabled=!1,this.initialized=!1,this._trigger("init"),this.init()}return i(e,[{key:"init",value:function(){var e=this;this.$parent.addClass(this.classes.wrapper),this.$element.addClass(this.namespace).addClass(this.classes.trigger),this.$panel.addClass(this.classes.panel),this.$element.on(this.eventName("click"),function(){return e.toggle(),!1}),this.$panel.on(this.eventName("click"),"li",function(){return e.set((0,s.default)(this).data(e.options.data)),e.hide(),!1}),null!==this.options.select&&this.set(this.options.select),this._trigger("ready"),this.initialized=!0}},{key:"_trigger",value:function(e){for(var t=arguments.length,s=Array(t>1?t-1:0),i=1;i").addClass(this.classes.mask).show().appendTo("body"),this.$mask.on(this.eventName("click"),function(){return e.hide(),!1})}},{key:"_clearMask",value:function(){this.$mask&&(this.$mask.off(this.eventName()),this.$mask.remove(),this.$mask=null)}},{key:"toggle",value:function(){this.isShow?this.hide():this.show()}},{key:"_position",value:function(){var e=this.$element.offset(),t=this.$element.outerHeight(),i=this.$element.outerWidth(),n=this.$panel.outerWidth(!0),a=this.$panel.outerHeight(!0),o=void 0,l=void 0;o=a+t+e.top>(0,s.default)(window).height()+(0,s.default)(window).scrollTop()?-a:t,l=n+e.left>(0,s.default)(window).width()+(0,s.default)(window).scrollLeft()?i-n:0,this.$panel.css({position:"absolute",top:o,left:l})}},{key:"_parse",value:function(e){return e.includes("+")?this.$element.next():(0,s.default)(this.options.panel)}},{key:"get",value:function(){return this.value}},{key:"update",value:function(e){this.$panel.html(e)}},{key:"enable",value:function(){this.disabled=!1,this.$wrapper.removeClass(this.classes.disabled)}},{key:"disable",value:function(){this.disabled=!0,this.$wrapper.addClass(this.classes.disabled)}},{key:"destroy",value:function(){this.hide(),this.$element.off(this.eventName()),this.$element.remove(),(0,s.default)(window).off(this.eventName())}}],[{key:"setDefaults",value:function(e){s.default.extend(n,s.default.isPlainObject(e)&&e)}}]),e}(),o={version:"0.2.2"},l=s.default.fn.asDropdown,h=function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n