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
3.4 KiB

(function(e,n,t,o){e.dimScreen=function(n){var t="function"==typeof n?e.extend({},e.fn.modal.settings,{dim:n}):e.extend({},e.fn.modal.settings,n),o=e(t.context),i=o.children(t.selector.dimmer),a=i.size()>0,r=i.css("opacity");return a||(i=e("<div/>").attr("id","dimmer").html('<div class="content"></div>'),o.append(i)),r!=t.opacity&&(i.one("click",function(){t.unDim(),e.unDimScreen()}),0===t.duration?(i.css({visibility:"visible"}).find(".content").css({opacity:t.opacity,visibility:"visible"}),t.dim()):i.css({visibility:"visible"}).find(".content").css({opacity:0,visibility:"visible"}).fadeTo(t.duration,t.opacity,t.dim)),this},e.unDimScreen=function(n){var t="function"==typeof n?e.extend({},e.fn.modal.settings,{unDim:n}):e.extend({},e.fn.modal.settings,n),o=e(t.context),i=o.children(t.selector.dimmer),a=i.size()>0;return a&&(t.unDim(),0===t.duration?i.css({visibility:"hidden"}).remove():i.find(".content").fadeTo(t.duration,0,function(){i.remove()})),this},e.fn.modal=function(i){var a,r=e.extend(!0,{},e.fn.modal.settings,i),s=arguments[0],c=[].slice.call(arguments,1);return e(this).each(function(){var i,l=e(this),u=l.find(r.selector.closeButton),d=(e(r.context).find(r.selector.dimmer),e(r.context).children(r.selector.modal)),m=d.not(l),f=l.data("module-"+r.namespace),g="string"==typeof s,p=(r.className,r.namespace);i={initialize:function(){l.on("modalShow."+p,i.show).on("modalHide."+p,i.hide).data("module-"+p,i)},show:function(){var i=l.outerHeight(),a=e(n).height(),s=i>a,c=s?"absolute":"fixed",d=s?"0":"50%",f=s?a/8:-((i-r.closeSpacing)/2),g="absolute"==l.css("position")?f+e(n).prop("pageYOffset"):f,h=g+r.animationOffset;e.fn.popIn!==o?l.addClass(c).css({display:"block",opacity:0,top:d,marginTop:g+"px"}).popIn():l.addClass(c).css({display:"block",opacity:0,top:d,marginTop:h+"px"}).animate({opacity:1,marginTop:g+"px"},r.duration+300,r.easing),m.is(":visible")&&m.filter(":visible").hide(),console.log("zzz"),e.dimScreen({context:r.context,duration:0,dim:function(){console.log("aaa"),e(t).on("keyup."+p,function(e){var n=e.which,t=27;switch(n){case t:l.modal("hide"),e.preventDefault()}}),console.log(u),console.log("attaching click"),u.one("click",function(){l.modal("hide")}),r.dim()},unDim:function(){l.modal("hide"),u.unbind("click")}})},hide:function(){e(t).off("keyup."+p),e.unDimScreen({duration:0,unDim:function(){l.popOut(200),r.unDim()}})},setting:function(e,n){return n===o?r[e]:(r[e]=n,o)},debug:function(){var e=[],n=r.moduleName+": "+arguments[0],t=[].slice.call(arguments,1),o=console.info||console.log||function(){};r.debug&&(e.push(n),o.apply(console,e.concat(t)))},error:function(){var e=[],n=r.moduleName+": "+arguments[0],t=[].slice.call(arguments,1),o=console.warn||console.log||function(){};r.debug&&(e.push(n),e.concat(t),o.apply(console,e.concat(t)))},invoke:function(n,t,a){var s,c;return a=a||[].slice.call(arguments,2),"string"==typeof n&&f!==o&&(n=n.split("."),s=n.length-1,e.each(n,function(n,t){return e.isPlainObject(f[t])&&n!=s?(f=f[t],!0):f[t]!==o?(c=f[t],!0):(i.error(r.errors.method),!1)})),e.isFunction(c)?c.apply(t,a):c}},g?a=i.invoke(s,this,c):i.initialize()}),a!==o?a:this},e.fn.modal.settings={moduleName:"Modal",debug:!1,namespace:"modal",errors:{method:"The method you called is not defined"},dim:function(){},unDim:function(){},hide:function(){},show:function(){},context:"body",opacity:.8,closeSpacing:25,animationOffset:15,duration:400,easing:"easeOutExpo",selector:{dimmer:"#dimmer",modal:".modal",closeButton:".close"}}})(jQuery,window,document);