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.1 KiB

(function(e,t,n,o){e.fn.dimmer=function(t){var n,i=e(this),a=e.isPlainObject(t)?e.extend(!0,{},e.fn.dimmer.settings,t):e.fn.dimmer.settings,s=("."+a.namespace,"module-"+a.namespace,i.selector||""),r=(i.size(),(new Date).getTime()),c=[],l=arguments[0],u="string"==typeof l,d=[].slice.call(arguments,1),m=a.selector,f=a.namespace,p=a.className,g=a.error;return i.each(function(){var t,i=e(this),h=i.children(m.dimmer).first(),v="animationend msAnimationEnd oAnimationEnd webkitAnimationEnd",b=this,y=h.data("module-"+f);t={initialize:function(){t.is.dimmer()?(h=i,i=h.parent(),t.debug("Module initialized as dimmer",h)):t.has.dimmer()?(h=i.find(m.dimmer),t.debug("Module initialized with found dimmer",h)):(h=a.template.dimmer(),h.appendTo(i),t.debug("Module initialized with created dimmer",h)),i.addClass(p.dimmable),a.closable&&h.on("click",t.event.click),t.instantiate()},instantiate:function(){t.verbose("Storing instance of module"),y=t,h.data("module-"+f,y)},destroy:function(){t.verbose("Destroying previous module for",i),i.off(f)},event:{click:function(e){t.verbose("Determining if event occured on dimmer",e),0===h.find(e.target).size()&&t.hide()}},animate:{show:function(){t.set.dimmed(),"css"==a.animation.show?(t.verbose("Showing dimmer animation with css"),h.one(v,function(){t.set.active(),h.removeClass(p.show)}).addClass(p.show)):"fade"==a.animation.show&&(t.verbose("Showing dimmer animation with javascript"),h.stop().css({opacity:0,width:"100%",height:"100%"}).fadeTo(a.duration,1,function(){h.removeAttr("style"),t.set.active()}))},hide:function(){t.remove.dimmed(),"css"==a.animation.hide?(t.verbose("Hiding dimmer with css"),h.one(v,function(){t.remove.active(),h.removeClass(p.hide)}).addClass(p.hide)):"fade"==a.animation.hide?(t.verbose("Hiding dimmer with javascript"),h.stop().fadeOut(a.duration,function(){h.removeAttr("style"),t.remove.active()})):e.isFunction(a.animation.hide)&&e.proxy(a.animation.hide,h)()}},has:{dimmer:function(){return i.children(m.dimmer).size()>0}},is:{animating:function(){return h.hasClass(p.show)||h.hasClass(p.hide)||h.is(":animated")},dimmer:function(){return i.is(m.dimmer)},pageDimmer:function(){return i.is(m.pageDimmer)},dimmable:function(){return i.is(m.dimmable)},enabled:function(){return!i.hasClass(p.disabled)},disabled:function(){return i.hasClass(p.disabled)},active:function(){return h.hasClass(p.active)}},can:{show:function(){return!h.hasClass(p.disabled)}},set:{active:function(){h.addClass(p.active)},dimmed:function(){i.addClass(p.dimmed)},disabled:function(){h.addClass(p.disabled)}},remove:{active:function(){h.removeClass(p.active)},dimmed:function(){i.removeClass(p.dimmed)},disabled:function(){h.removeClass(p.disabled)}},show:function(){t.debug("Showing dimmer",h),!t.is.active()&&t.is.enabled()?(t.animate.show(),e.proxy(a.onShow,b)(),e.proxy(a.onChange,b)()):t.debug("Dimmer is already shown or disabled")},hide:function(){t.is.active()?(t.debug("Hiding dimmer",h),t.animate.hide(),e.proxy(a.onHide,b)(),e.proxy(a.onChange,b)()):t.debug("Dimmer is not visible")},toggle:function(){t.verbose("Toggling dimmer visibility",h),t.is.hidden()?t.show():t.hide()},setting:function(t,n){return n===o?a[t]:(e.isPlainObject(t)?e.extend(!0,a,t):a[t]=n,o)},internal:function(n,i){return i===o?t[n]:(e.isPlainObject(n)?e.extend(!0,t,n):t[n]=i,o)},debug:function(){a.debug&&(a.performance?t.performance.log(arguments):t.debug=Function.prototype.bind.call(console.info,console,a.moduleName+":"))},verbose:function(){a.verbose&&a.debug&&(a.performance?t.performance.log(arguments):t.verbose=Function.prototype.bind.call(console.info,console,a.moduleName+":"))},error:function(){t.error=Function.prototype.bind.call(console.log,console,a.moduleName+":")},performance:{log:function(e){var n,o,i;a.performance&&(n=(new Date).getTime(),i=r||n,o=n-i,r=n,c.push({Element:b,Name:e[0],Arguments:e[1]||"","Execution Time":o})),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100)},display:function(){var t=a.moduleName+":",n=0;r=!1,e.each(c,function(e,t){n+=t["Execution Time"]}),t+=" "+n+"ms",s&&(t+=" '"+s+"'"),(console.group!==o||console.table!==o)&&c.length>0&&(console.groupCollapsed(t),console.table?console.table(c):e.each(c,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),c=[]}},invoke:function(n,i,a){var s,r;return i=i||d,a=b||a,"string"==typeof n&&y!==o&&(n=n.split("."),s=n.length-1,e.each(n,function(n,i){e.isPlainObject(y[i])&&n!=s?y=y[i]:y[i]!==o?r=y[i]:t.error(g.method)})),e.isFunction(r)?(y.verbose("Executing invoked function",r),r.apply(a,i)):r||!1}},u?(y===o&&t.initialize(),n=t.invoke(l)):(y===o&&t.destroy(),t.initialize())}),n?n:this},e.fn.dimmer.settings={moduleName:"Dimmer",namespace:"dimmer",verbose:!0,debug:!0,performance:!0,animation:{show:"fade",hide:"fade"},closable:!0,duration:500,onChange:function(){},onShow:function(){},onHide:function(){},error:{method:"The method you called is not defined."},selector:{dimmable:".ui.dimmable",dimmer:".ui.dimmer"},template:{dimmer:function(){return e("<div />").attr("class","ui dimmer")}},className:{active:"active",animating:"animating",dimmable:"ui dimmable",dimmed:"dimmed",disabled:"disabled",hide:"hide",show:"show"}}})(jQuery,window,document);