You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
5.4 KiB

!function(a,b,c,d){a.fn.modal=function(e){var f,g=a(this),h=a(b),i=a(c),j=a.isPlainObject(e)?a.extend(!0,{},a.fn.modal.settings,e):a.fn.modal.settings,k=j.selector,l=j.className,m=j.namespace,n=j.error,o="."+m,p="module-"+m,q=g.selector||"",r=(new Date).getTime(),s=[],t=arguments[0],u="string"==typeof t,v=[].slice.call(arguments,1);return g.each(function(){var c,e=a(this),w=a(j.context),x=g.not(e),y=e.find(k.close),z=this,A=e.data(p);c={initialize:function(){c.verbose("Initializing dimmer",w),w.dimmer("add content",e),c.verbose("Attaching close events",y),y.on("click"+o,c.event.close),h.on("resize",function(){c.event.debounce(c.refresh,50)}),c.instantiate()},instantiate:function(){c.verbose("Storing instance of modal"),A=c,e.data(p,A)},destroy:function(){c.verbose("Destroying previous modal"),e.off(o)},refresh:function(){c.cacheSizes(),c.set.type(),c.set.position()},event:{close:function(){c.verbose("Close button pressed"),w.dimmer("hide")},debounce:function(a,b){clearTimeout(c.timer),c.timer=setTimeout(a,b)},keyboard:function(a){var b=a.which,d=27;b==d&&(c.debug("Escape key pressed hiding modal"),w.dimmer("hide"),a.preventDefault())},resize:function(){w.dimmer("is active")&&c.refresh()}},toggle:function(){c.is.active()?c.hide():c.show()},show:function(){c.showDimmer(),c.cacheSizes(),c.set.type(),c.set.position(),c.hideAll(),j.transition&&a.fn.transition!==d?e.transition(j.transition+" in",j.duration,c.set.active):e.fadeIn(j.duration,j.easing,c.set.active),c.debug("Triggering dimmer"),a.proxy(j.onShow,z)()},showDimmer:function(){c.debug("Showing modal"),c.set.dimmerSettings(),w.dimmer("show")},hideDimmer:function(){w.dimmer("hide")},hide:function(){c.debug("Hiding modal"),i.off("keyup."+m),j.transition&&a.fn.transition!==d?e.transition(j.transition+" out",j.duration,function(){c.remove.active()}):e.fadeOut(j.duration,j.easing,c.remove.active),a.proxy(j.onHide,z)()},hideAll:function(){x.filter(":visible").modal("hide")},add:{keyboardShortcuts:function(){c.verbose("Adding keyboard shortcuts"),i.on("keyup"+o,c.event.keyboard)}},remove:{active:function(){e.removeClass(l.active)},keyboardShortcuts:function(){c.verbose("Removing keyboard shortcuts"),i.off("keyup"+o)}},cacheSizes:function(){c.cache={height:e.outerHeight()+j.offset,contextHeight:"body"==j.context?a(b).height():w.height()},c.debug("Caching modal and container sizes",c.cache)},can:{fit:function(){return c.cache.height<c.cache.contextHeight}},is:{active:function(){return e.hasClass(l.active)}},set:{active:function(){e.addClass(l.active)},dimmerSettings:function(){c.debug("Setting dimmer settings",j.closable),w.dimmer("setting","closable",j.closable).dimmer("setting","duration",j.duration).dimmer("setting","onShow",c.add.keyboardShortcuts).dimmer("setting","onHide",function(){c.hide(),c.remove.keyboardShortcuts()}).dimmer("destroy").dimmer("initialize")},type:function(){c.can.fit()?(c.verbose("Modal fits on screen"),e.removeClass(l.scrolling)):(c.verbose("Modal cannot fit on screen setting to scrolling"),e.addClass(l.scrolling))},position:function(){c.verbose("Centering modal on page",c.cache,c.cache.height/2),c.can.fit()?e.css({marginTop:-(c.cache.height/2)}):e.css({top:w.prop("scrollTop")})}},setting:function(b,c){return c===d?j[b]:(a.isPlainObject(b)?a.extend(!0,j,b):j[b]=c,void 0)},internal:function(b,e){return e===d?c[b]:(a.isPlainObject(b)?a.extend(!0,c,b):c[b]=e,void 0)},debug:function(){j.debug&&(j.performance?c.performance.log(arguments):(c.debug=Function.prototype.bind.call(console.info,console,j.name+":"),c.debug.apply(console,arguments)))},verbose:function(){j.verbose&&j.debug&&(j.performance?c.performance.log(arguments):(c.verbose=Function.prototype.bind.call(console.info,console,j.name+":"),c.verbose.apply(console,arguments)))},error:function(){c.error=Function.prototype.bind.call(console.error,console,j.name+":"),c.error.apply(console,arguments)},performance:{log:function(a){var b,d,e;j.performance&&(b=(new Date).getTime(),e=r||b,d=b-e,r=b,s.push({Element:z,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(c.performance.timer),c.performance.timer=setTimeout(c.performance.display,100)},display:function(){var b=j.name+":",e=0;r=!1,clearTimeout(c.performance.timer),a.each(s,function(a,b){e+=b["Execution Time"]}),b+=" "+e+"ms",q&&(b+=" '"+q+"'"),(console.group!==d||console.table!==d)&&s.length>0&&(console.groupCollapsed(b),console.table?console.table(s):a.each(s,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),s=[]}},invoke:function(b,e,g){var h,i,j;return e=e||v,g=z||g,"string"==typeof b&&A!==d&&(b=b.split(/[\. ]/),h=b.length-1,a.each(b,function(e,f){var g=e!=h?f+b[e+1].charAt(0).toUpperCase()+b[e+1].slice(1):b;if(a.isPlainObject(A[f])&&e!=h)A=A[f];else{if(!a.isPlainObject(A[g])||e==h)return A[f]!==d?(i=A[f],!1):A[g]!==d?(i=A[g],!1):(c.error(n.method),!1);A=A[g]}})),a.isFunction(i)?j=i.apply(g,e):i!==d&&(j=i),a.isArray(f)?f.push(j):"string"==typeof f?f=[f,j]:j!==d&&(f=j),i}},u?(A===d&&c.initialize(),c.invoke(t)):(A!==d&&c.destroy(),c.initialize())}),f!==d?f:this},a.fn.modal.settings={name:"Modal",namespace:"modal",verbose:!0,debug:!0,performance:!0,offset:0,transition:"scale",duration:500,easing:"easeOutExpo",closable:!0,context:"body",onShow:function(){},onHide:function(){},selector:{close:".close, .actions .button"},error:{method:"The method you called is not defined."},className:{active:"active",scrolling:"scrolling"}}}(jQuery,window,document);