10 lines
11 KiB
JavaScript
10 lines
11 KiB
JavaScript
|
|
/*!
|
||
|
|
* Dialogs Manager v4.9.3
|
||
|
|
* https://github.com/kobizz/dialogs-manager
|
||
|
|
*
|
||
|
|
* Copyright Kobi Zaltzberg
|
||
|
|
* Released under the MIT license
|
||
|
|
* https://github.com/kobizz/dialogs-manager/blob/master/LICENSE.txt
|
||
|
|
*/
|
||
|
|
!function(t,e){"use strict";var n={widgetsTypes:{},createWidgetType:function(e,i,o){o||(o=this.Widget);var s=function(){o.apply(this,arguments)},r=s.prototype=new o(e);return r.types=r.types.concat([e]),t.extend(r,i),r.constructor=s,s.extend=function(t,e){return n.createWidgetType(t,e,s)},s},addWidgetType:function(t,e,n){return e&&e.prototype instanceof this.Widget?this.widgetsTypes[t]=e:this.widgetsTypes[t]=this.createWidgetType(t,e,n)},getWidgetType:function(t){return this.widgetsTypes[t]}};n.Instance=function(){var e=this,i={},o={},s=function(e){t.extend(o,{classPrefix:"dialog",effects:{show:"fadeIn",hide:"fadeOut"}},e)};this.createWidget=function(t,i){var o=new(n.getWidgetType(t))(t);return i=i||{},o.init(e,i),o},this.getSettings=function(t){return t?o[t]:Object.create(o)},this.maybeLoadAssets=async function(){if(!!window.elementorFrontend?.utils?.assetsLoader)try{await elementorFrontend.utils.assetsLoader.load("style","dialog")}catch(t){console.error("Failed to load assets:",t)}},this.init=function(n){return this.maybeLoadAssets(),s(n),i.body=t("body"),e},e.init()},n.Widget=function(e){var i=this,o={},s={},r={},a=0,c=["refreshPosition"],u=function(t,e){var n=o.effects[t],i=r.widget;if("function"==typeof n)n.apply(i,e);else{if(!i[n])throw"Reference Error: The effect "+n+" not found";i[n].apply(i,e)}},d=function(e){if(!g(e)){if(o.hide.onClick){if(t(e.target).closest(o.selectors.preventClose).length)return}else if(e.target!==this)return;i.hide()}},l=function(e){g(e)||t(e.target).closest(r.widget).length||function(e){return!!o.hide.ignore&&!!t(e.target).closest(o.hide.ignore).length}(e)||i.hide()},f=function(){t.each(o,(function(t){var e=t.match(/^on([A-Z].*)/);e&&(e=e[1].charAt(0).toLowerCase()+e[1].slice(1),i.on(e,this))}))},g=function(t){return"click"===t.type&&2===t.button},h=function(t){27===t.which&&i.hide()},p=function(){var t=[r.window];r.iframe&&t.push(jQuery(r.iframe[0].contentWindow)),t.forEach((function(t){o.hide.onEscKeyPress&&t.off("keyup",h),o.hide.onOutsideClick&&t[0].removeEventListener("click",l,!0),o.hide.onOutsideContextMenu&&t[0].removeEventListener("contextmenu",l,!0),o.position.autoRefresh&&t.off("resize",i.refreshPosition)})),(o.hide.onClick||o.hide.onBackgroundClick)&&r.widget.off("click",d)};this.addElement=function(e,n,i){var s=r[e]=t(n||"<div>"),a=function(t){return t.replace(/([a-z])([A-Z])/g,(function(){return arguments[1]+"-"+arguments[2].toLowerCase()}))}(e);return i=i?i+" ":"",i+=o.classes.globalPrefix+"-"+a,i+=" "+o.classes.prefix+"-"+a,s.addClass(i),s},this.destroy=function(){return p(),r.widget.remove(),i.trigger("destroy"),i},this.getElements=function(t){return t?r[t]:r},this.getSettings=function(t){var e=Object.create(o);return t?e[t]:e},this.hide=function(){if(i.isVisible())return clearTimeout(a),u("hide",arguments),p(),o.preventScroll&&i.getElements("body").removeClass(o.classes.preventScroll),i.trigger("hide"),i},this.init=function(s,a){if(!(s instanceof n.Instance))throw"The "+i.widgetName+" must to be initialized from an instance of DialogsManager.Instance";var u;return u=c.concat(i.getClosureMethods()),t.each(u,(function(){var t=i[this];i[this]=function(){t.apply(i,arguments)}})),i.trigger("init",a),function(n,s){var r=t.extend(!0,{},n.getSettings());o={headerMessage:"",message:"",effects:r.effects,classes:{globalPrefix:r.classPrefix,prefix:r.classPrefix+"-"+e,preventScroll:r.classPrefix+"-prevent-scroll"},selectors:{preventClose:"."+r.classPrefix+"-prevent-close"},container:"body",preventScroll:!1,iframe:null,closeButton:!1,closeButtonOptions:{iconClass:r.classPrefix+"-close-button-icon",attributes:{role:"button",tabindex:0,"aria-label":"Close",href:"#"},iconElement:"<i>"},position:{element:"widget",my:"center",at:"center",enable:!0,autoRefresh:!1},hide:{auto:!1,autoDelay:5e3,onClick:!1,onOutsideClick:!0,onOutsideContextMenu:!1,onBackgroundClick:!0,onEscKeyPress:!0,ignore:""}},t.extend(!0,o,i.getDefaultSettings(),s),f()}(s,a),function(){if(i.addElement("widget"),i.addElement("header"),i.addElement("message"),i.addElement("window",window),i.addElement("body",document.body),i.
|