/** * jQuery asModal v0.3.2 * https://github.com/amazingSurge/jquery-asModal * * Copyright (c) amazingSurge * Released under the LGPL-3.0 license */ !function(t,e){if("function"==typeof define&&define.amd)define(["jquery"],e);else if("undefined"!=typeof exports)e(require("jquery"));else{var n={exports:{}};e(t.jQuery),t.jqueryAsModalEs=n.exports}}(this,function(t){"use strict";function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var n=function(t){return t&&t.__esModule?t:{default:t}}(t),s=function(){function t(t,e){for(var n=0;n"),this.$contentWrap=(0,n.default)("
").appendTo(this.$container),this.$content=(0,n.default)("
").appendTo(this.$contentWrap);var l=[];n.default.each(this.$element.data(),function(t,e){var n=new RegExp("^modal","i");n.test(t)&&(l[t.toLowerCase().replace(n,"")]=e)}),this.options=n.default.extend(!0,{},o,a,l),this.namespace=this.options.namespace,i.css3Support||(this.options.effect=this.options.effectFallback),this.classes={overlay:this.namespace+"-overlay",container:this.namespace+"-container",content:this.namespace+"-content",contentWrap:this.namespace+"-contentWrap",skin:this.namespace+"_"+this.options.skin,error:this.namespace+"_error",open:this.namespace+"_open",animateActive:this.namespace+"_animateActive",effect:this.namespace+"_"+this.options.effect,overlayEffect:this.namespace+"_ovrelay_"+this.options.effect,loading:this.namespace+"_loading",disabled:this.namespace+"_disabled"},this.options.skin&&(this.$element.addClass(this.classes.skin),this.$container.addClass(this.classes.skin)),this.$container.addClass(this.classes.container),this.$contentWrap.addClass(this.classes.contentWrap),this.$content.addClass(this.classes.content),this.options.overlay&&(this.$overlay=(0,n.default)("
"),this.$overlay.addClass(this.classes.overlay),this.options.skin&&this.$overlay.addClass(this.classes.skin)),this.isLoading=!1,this.disabled=!1,this.isError=!1,this.isOpen=!1,this._init()}return s(t,[{key:"_init",value:function(){null===this.options.content&&(this.options.content=this.$element.attr("href")),this.$contentWrap.addClass(this.classes.effect),this.$overlay.addClass(this.classes.overlayEffect),this.$container.appendTo("body"),this.$overlay.appendTo("body"),this.options.width&&this.$content.width(this.options.width),this.options.height&&this.$content.height(this.options.height),this._bindEvents(),this._trigger("ready")}},{key:"_bindEvents",value:function(){var t=this;this.options.closeElement&&this.$contentWrap.on("click.modal",this.options.closeElement,n.default.proxy(this.hide,this)),this.$element.on("click.modal",function(){return t.disabled||t.open(),!1}),this.options.closeByOverlayClick&&this.$container.on("click.modal",function(e){if((0,n.default)(e.target).hasClass(t.classes.container))return t.close(),!1})}},{key:"_load",value:function(){var t=this,e=n.default.Deferred();return"#"===this.options.content.charAt(0)||"."===this.options.content.charAt(0)?e.resolve((0,n.default)(this.options.content)):(this._showLoading(),n.default.ajax({type:"get",cache:!0,url:this.options.content}).then(function(t){e.resolve((0,n.default)(t))},function(){e.reject(t.options.errorContent)})),e.promise()}},{key:"_unbindeEvent",value:function(){(0,n.default)(document).off("keydown.modal")}},{key:"_showLoading",value:function(){this.$loading=(0,n.default)("
").html(this.options.loadingContent).addClass(this.classes.loading),this.$loading.appendTo(this.$overlay)}},{key:"_hideLoading",value:function(){this.$loading&&(this.$loading.remove(),this.$loading=null)}},{key:"_animate",value:function(){var t=n.default.Deferred();return i.css3Support?t.reject():a[this.options.effectFallback][this.status](this,t),t.promise()}},{key:"open",value:function(){var t=this;this.isLoading&&this._hideLoading(),this.options.overlay&&(this.$overlay.addClass(this.classes.open),this.$overlay.animate({opacity:1},{duration:this.options.overlaySpeed})),this.options.closeByEscape&&(0,n.default)(document).on("keydown.modal",function(e){27===e.keyCode&&t.close()}),!this.content||this.isError?(this.$content.removeClass(this.classes.error),this._load().always(function(){t._hideLoading()}).then(function(e){t.content=e,t.$content.empty().html(t.content),t._afterOpen()},function(e){t.$content.addClass(t.classes.error),t.isError=!0,t.content=e,t.$content.empty().html(t.content),t._afterOpen()})):this._afterOpen()}},{key:"_afterOpen",value:function(){var t=this;this.options.focus&&setTimeout(function(){var e=n.default.isFunction(t.content.find)&&t.content.find("input");e.length>0&&e.get(0).focus()},10),this.$container.addClass(this.classes.open),setTimeout(function(){t.$contentWrap.addClass(t.classes.animateActive)},0),this.status="moveIn",this._animate().then(function(){t.isOpen=!0,t.$content.trigger(t.animationEnd,t)})}},{key:"close",value:function(){var t=this;this.status="moveOut",this.$content.on(i.animationEnd,function(){return t._afterClose(),t.$content.off(t.animationEnd),"function"==typeof t.options.onComplete&&t.options.onComplete.call(this,this),t.$container.trigger("modal::complete",this),!1}),this.$overlay.animate({opacity:0},{duration:this.options.overlaySpeed,complete:function(){t.$overlay.removeClass(t.classes.open)}}),this.$contentWrap.removeClass(this.classes.animateActive),this._animate().then(function(){t._afterClose()})}},{key:"_afterClose",value:function(){this._unbindeEvent(),this.$container.removeClass(this.classes.open),this.isOpen=!1}},{key:"enable",value:function(){this.disabled=!1,this.$element.addClass(this.classes.disabled),this._trigger("enable")}},{key:"disable",value:function(){this.disabled=!0,this.$element.removeClass(this.classes.disabled),this._trigger("disable")}},{key:"destroy",value:function(){this.$element.off("click.modal"),this.$container.remove(),this.$overlay.remove(),this._trigger("destroy")}},{key:"_trigger",value:function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),s=1;s1?e-1:0),i=1;i