File: /home/zwafgyp/lacalita/wp-content/plugins/rey-core/assets/js/elementor-editor/template-library.js
!function(e){"use strict";if("undefined"!=typeof elementor&&"undefined"!==elementorCommon){new function(t){var a=this;this.data={},this.internal_data={},this.activeData=!1,this.activePanel=!1,this.totalItems=0,this.categories={},this.gridSize=30,this.supportedTypes=["pages"],this.options=e.extend({},t||{}),this.errorDialog=!1,this.templatesJson=!!reyTemplatesLibraryParams.api_url&&reyTemplatesLibraryParams.api_url+"templates_library.json",this.columnsPerPanel={headers:2,footers:3},this.ls={set:function(e,t,a){if(e&&t&&a){var n={value:t,expires_at:(new Date).getTime()+a/1};localStorage.setItem(e.toString(),JSON.stringify(n))}},get:function(e){if(!e)return null;var t=JSON.parse(localStorage.getItem(e.toString()));if(null!==t){if(!(null!==t.expires_at&&t.expires_at<(new Date).getTime()))return t.value;localStorage.removeItem(e.toString())}return null}},this.elements={$body:e(document.body),$templatePanelScript:e("#tmpl-elementor-add-section")},this.templates={modal:wp.template("elementor-rey-templates-modal"),itemsHolder:wp.template("elementor-rey-templates-modal-itemholder"),items:wp.template("elementor-rey-templates-modal-item"),nav:wp.template("elementor-rey-templates-modal-nav"),empty:wp.template("elementor-rey-templates-modal-empty")},this.init=function(){this.templatesJson&&this.elements.$templatePanelScript.length&&this.addTriggerButton()},this.getSlugFromId=function(t){var a="";return e.each(this.data.items,(function(e,n){void 0!==n.sku&&parseInt(n.sku)===parseInt(t)&&(a=e)})),a},this.doModal=function(){void 0===this.$modal&&(this.$modal=elementorCommon.dialogsManager.createWidget("lightbox",{id:"rey-templates-modal",headerMessage:"",message:a.templates.modal,className:"elementor-templates-modal rey-templates",hide:{auto:!1,onClick:!1,onOutsideClick:!1,onOutsideContextMenu:!1,onBackgroundClick:!0},position:{my:"center",at:"center"}}),this.initApp()),this.$modal.show()},this.initApp=function(){this.elements.$modalContent=this.$modal.getElements("message"),this.elements.$tpModal=e(".rey-tpModal",this.elements.$modalContent),this.defaultCols=parseInt(this.elements.$tpModal.attr("data-columns"))||4,this.elements.$headerNav=e(".tpModal-headerNav",this.elements.$modalContent),this.elements.$headerLogo=e(".tpModal-headerLogo",this.elements.$modalContent),this.elements.$search=e('.headerBar-search input[type="search"]',this.elements.$modalContent),this.elements.$modalLoader=e(".js-tpModal-loading",this.elements.$modalContent),this.elements.$contentContainer=e(".js-tpModal-content",this.elements.$modalContent),this.elements.$content=e(".tpModal-contentInner",this.elements.$modalContent),this.elements.$title=e(".headerBar-title",this.elements.$modalContent),this.elements.$favoritesBtn=e(".headerTools-favorites",this.elements.$modalContent),this.elements.$installedBtn=e(".headerTools-installed",this.elements.$modalContent),this.elements.$syncBtn=e(".tpModal-headerSync",this.elements.$modalContent),this.panelSize={w:this.elements.$modalContent.width(),h:this.elements.$modalContent.height()},this.elements.$changeList=e(".js-headerBar-changeView",this.elements.$modalContent),this.elements.$sortList=e(".js-headerBar-sort",this.elements.$modalContent),this.getTemplateData(),this.events(),e(document).trigger("reycore/template_library/init",[this])},this.getTemplateData=function(t){var a=this;if(!0!==t&&this.ls.get("rey_library_data"))return this.data=this.ls.get("rey_library_data"),void this.runApp();e.ajax({dataType:"json",url:a.templatesJson,cache:!1,success:function(n){n&&void 0!==n.data&&(n.data.categories={},e.each(n.data.items,(function(t,a){var s=a.categories.indexOf(a.cat);-1!==s&&n.data.items[t].categories.splice(s,1),void 0===n.data.categories[a.cat]&&(n.data.categories[a.cat]={}),e.each(a.categories,(function(e,t){n.data.categories[a.cat][t]=t.replace(/-/gi," ")}))})),a.data=n.data,a.ls.set("rey_library_data",a.data,864e5),a.runApp(),t&&a.elements.$syncBtn.removeClass("--syncing"))},error:function(e,t,a){console.error(e),console.error(t),console.error(a)}})},this.getInternalData=function(){void 0!==reyTemplatesLibraryParams.internal_data&&(this.internal_data=reyTemplatesLibraryParams.internal_data,void 0!==this.internal_data.favorites&&this.elements.$favoritesBtn.attr("data-count",this.internal_data.favorites.length))},this.changeColumns=function(e){this.elements.$tpModal.attr("data-columns",e),this.elements.$changeList.val(e)},this.sortPipe=function(e){var t=this.activeData?this.activeData:this.data.items,a={};return e=e||this.elements.$sortList.val(),Object.keys(t).sort((function(a,n){if("newest"===e){var s=new Date(t[a].d);return new Date(t[n].d)-s}return t[a].p[e]<t[n].p[e]?1:t[a].p[e]>t[n].p[e]?-1:0})).map((function(e,n){a[e]=t[e]})),this.activeData?this.activeData=a:this.data.items=a,a},this.doSort=function(t,a){var n=this.sortPipe(t);a&&this.populatePanel(n),e(".headerBar-sortWhich",this.elements.$tpModal).text(e('option[value="'+t+'"]',this.elements.$sortList).text())},this.runApp=function(){this.getInternalData(),this.makeNavigation(),this.populatePanel(this.getFeaturedItems(),this.activePanel)},this.populatePanel=function(t,a,n){var s=this;if(this.activeData=t||!1,this.activePanel=a||!1,this.elements.$content&&this.elements.$content.remove(),e(".tpModal-emptyContent").remove(),e.isEmptyObject(t))return e(this.templates.empty()).appendTo(this.elements.$contentContainer),void this.loader.hide();this.elements.$content=e(this.templates.itemsHolder()).appendTo(this.elements.$contentContainer);var i=Object.assign({},this.sortPipe()),o=e(".tpModal-itemLoader",this.elements.$content).removeAttr("style"),l=!1;o.addClass("--visible");var r=new IntersectionObserver((function(t,a){e.each(t,(function(t,r){if(o.addClass("--visible"),0!==r.intersectionRatio){if(e.isEmptyObject(i))return o.removeClass("--visible"),void a.unobserve(r.target);var m={},d=0;e.each(i,(function(e,t){d>parseInt(reyTemplatesLibraryParams.per_load)||(m[e]=t,delete i[e],d++)}));var c=s.templates.items({items:m,internal_data:s.internal_data}),h=e(c).appendTo(s.elements.$content);s.changeColumns(n||s.defaultCols),h.imagesLoaded((function(){l?l.masonry("appended",h):l=s.elements.$content.masonry({itemSelector:".tpModal-item",percentPosition:!0,transitionDuration:0}),h.addClass("--loaded"),s.item_events(h),o.removeClass("--visible")}))}else o.removeClass("--visible")}))}),{root:s.elements.$contentContainer[0],rootMargin:"0px",threshold:.2});o.length&&r.observe(o[0]),this.loader.hide()},this.getFeaturedItems=function(){var t={};return e.each(a.data.items,(function(e,a){void 0!==a.feat&&a.feat&&(t[e]=a)})),t},this.insertTemplate=function(t,a){var n=this,s=n.getSlugFromId(t),i={unique_id:t,data:e.extend({source:"rey",edit_mode:!0,display:!0,template_id:t,page_settings:!1,template_slug:s},a||{}),success:function(e){var t=n.insertIndex;if("undefined"!=typeof $e){for(var i=$e.internal("document/history/start-log",{type:"add",title:"Importing Rey Template"}),o=0;o<e.content.length;o++)$e.run("document/elements/create",{container:elementor.getPreviewContainer(),model:e.content[o],options:t>=0?{at:t++}:{}});$e.internal("document/history/end-log",{id:i})}else{var l=new Backbone.Model({getTitle:()=>"Importing"});elementor.channels.data.trigger("template:before:insert",l);for(o=0;o<e.content.length;o++)elementor.getPreviewView().addChildElement(e.content[o],t>=0?{at:t++}:null);elementor.channels.data.trigger("template:after:insert",{})}a.page_settings&&elementor.settings.page.model.setExternalChange(e.page_settings),n.afterTemplateImport(s)},error:function(e){n.alertDialog.showDialog(e)},complete:function(){n.loader.hide(),e('.tpModal-itemInsert[data-sku="'+t+'"]',n.elements.$modalContent).addClass("--active"),setTimeout((function(){n.$modal.hide()}),500)}};return elementorCommon.ajax.addRequest("get_template_data",i)},this.afterTemplateImport=function(e){var t=elementor.settings.page.getSettings();void 0!==a.internal_data.installed&&void 0===a.internal_data.installed[e]&&a.internal_data.installed.push(e),"template-builder.php"!==t.settings.template&&elementor.settings.page.model.setExternalChange({template:"template-builder.php"})},this.changeTitle=function(e){this.elements.$title.html(e)},this.events=function(){var t=this;this.elements.$changeList.on("change",(function(e){t.populatePanel(t.activeData,t.activePanel,e.target.value)})),this.elements.$search.on("input",this.debounce((function(a){var n=a.target.value,s={},i=new RegExp(n,"gi");t.loader.show(),""!==n?(e.each(t.data.items,(function(e,t){(t.k.match(i)||t.name.match(i)||t.url.match(i))&&(s[e]=t)})),t.populatePanel(s,"search"),t.changeTitle(reyTemplatesLibraryParams.strings.searching+' <span class="u-normal-text">"'+a.target.value+'"</span>')):t.populatePanel()}),400)),this.elements.$sortList.on("change",(function(e){t.doSort(e.target.value,!0)})),e(".js-tpModal-headerClose",this.elements.$modalContent).on("click",(function(e){e.preventDefault(),t.$modal.hide()})),this.elements.$favoritesBtn.on("click",(function(a){a.preventDefault();var n=e(this),s={};t.loader.show(),e.each(t.internal_data.favorites,(function(e,a){void 0!==t.data.items[a]&&(s[a]=t.data.items[a])})),t.populatePanel(s,"favorites"),n.addClass("--active"),e(".headerNav-list a[data-category]",t.elements.$tpModal).removeClass("--active"),t.elements.$installedBtn.removeClass("--active"),t.elements.$headerLogo.removeClass("--active"),t.changeTitle(n.text())})),this.elements.$headerLogo.on("click",(function(a){a.preventDefault(),t.loader.show(),t.populatePanel(t.data.items),e(this).addClass("--active"),e(".headerNav-list a[data-category]",t.elements.$tpModal).removeClass("--active"),t.elements.$installedBtn.removeClass("--active"),t.elements.$favoritesBtn.removeClass("--active"),t.changeTitle(reyTemplatesLibraryParams.strings.browse)})),this.elements.$syncBtn.on("click",(function(a){a.preventDefault(),e(this).addClass("--syncing"),t.loader.show(),t.getTemplateData(!0),t.makeNavigation(),t.elements.$headerLogo.trigger("click")})),this.elements.$installedBtn.on("click",(function(a){a.preventDefault();var n=e(this),s={};t.loader.show(),void 0!==t.internal_data.installed?(e.each(t.internal_data.installed,(function(e,a){s[a]=t.data.items[a]})),t.populatePanel(s,"installed")):t.populatePanel({},"installed"),n.addClass("--active"),e(".headerNav-list a[data-category]",t.elements.$tpModal).removeClass("--active"),t.elements.$favoritesBtn.removeClass("--active"),t.elements.$headerLogo.removeClass("--active"),t.changeTitle(n.text())}))},this.makeNavigation=function(){void 0!==this.elements.$headerNavList&&this.elements.$headerNavList.remove();var t=this.templates.nav(this.data.categories);this.elements.$headerNavList=e(t).appendTo(this.elements.$headerNav),e("a[data-category]",this.elements.$headerNavList).on("click",(function(t){t.preventDefault();var n=e(this),s=n.parent().is("li"),i=n.attr("data-category"),o=n.text(),l={};e.each(a.data.items,(function(e,t){s?t.cat===i&&(l[e]=t):-1!==t.categories.indexOf(i)&&(l[e]=t)}));var r=void 0!==a.columnsPerPanel[i]?a.columnsPerPanel[i]:a.defaultCols;if(a.populatePanel(l,i,r),n.closest("ul").find("a").removeClass("--active"),n.addClass("--active"),!s){var m=n.closest("li").children("a");m.addClass("--active"),o=m.text()+" ยป "+n.text()}a.elements.$favoritesBtn.removeClass("--active"),a.elements.$installedBtn.removeClass("--active"),a.elements.$headerLogo.removeClass("--active"),a.changeTitle(o),""!==a.elements.$search.val()&&a.elements.$search.val("")}))},this.item_events=function(t){var a=this;t=t||this.elements.$modalContent,e(".tpModal-itemFav",t).on("click",(function(t){t.preventDefault();var n=e(this),s=n.hasClass("--active");a.loader.show(),void 0!==reyTemplatesLibraryParams.ajax_url&&void 0!==reyTemplatesLibraryParams.ajax_nonce&&e.ajax({method:"post",url:reyTemplatesLibraryParams.ajax_url,data:{action:"add_remove_favorites",security:reyTemplatesLibraryParams.ajax_nonce,slug:n.attr("data-slug")},success:function(t){if(t&&t.success&&void 0!==t.data){var i=parseInt(a.elements.$favoritesBtn.attr("data-count"));if(s){if(n.addClass("--removed"),n.removeClass("--active"),a.elements.$favoritesBtn.attr("data-count",i-1),"favorites"===a.activePanel){var o={};e.each(t.data,(function(e,t){o[t]=a.data.items[t]})),a.populatePanel(o,"favorites")}}else n.addClass("--added"),a.elements.$favoritesBtn.attr("data-count",i+1);a.internal_data.favorites=t.data,a.loader.hide()}},error:function(e,t,a){console.error(e),console.error(t),console.error(a)}})})),e(".tpModal-itemInsert",t).on("click",(function(t){t.preventDefault();var n=e(this),s=a.data.items[n.attr("data-slug")],i=s.sku,o=function(){a.loader.show(reyTemplatesLibraryParams.strings.downloading),a.insertTemplate(i,{page_settings:!1})};if(void 0!==s.req){var l={};e.each(s.req,(function(e,t){void 0!==reyTemplatesLibraryParams.req_strings[t]&&(l[e]=reyTemplatesLibraryParams.req_strings[t])})),a.alertDialog.showDialog(l,(function(){o()}),"Please know the following:")}else o()})),e("[data-template-tooltip]",t).on("mouseenter",(function(t){if(!e(".rey-tpl-tooltip").length){var a=!0,n=e(this),s=n.attr("data-template-tooltip");try{var i=JSON.parse(s)}catch(e){a=!1}a&&(s=n.hasClass(i.switcher_class)?i.active_text:i.text),e('<div class="rey-tpl-tooltip"></div>').text(s).appendTo("body").fadeIn("fast")}})).on("mousemove",(function(t){var n=document.querySelector(".rey-tpl-tooltip"),s=n.offsetWidth,i=n.offsetHeight,o=s/2,l=i+15;t.pageX>.8*a.panelSize.w&&(o=s),t.pageY<.2*a.panelSize.h&&(l=-1*i),e(".rey-tpl-tooltip").css({top:t.pageY-l,left:t.pageX-o})})).on("mouseleave",(function(t){e(".rey-tpl-tooltip").remove()}))},this.addTriggerButton=function(){var t=this,a=this.elements.$templatePanelScript.text(),n=reyTemplatesLibraryParams.button_text;reyTemplatesLibraryParams.button_icon&&(n='<img src="'+reyTemplatesLibraryParams.button_icon+'" /><span class="elementor-screen-only">'+reyTemplatesLibraryParams.button_text+"</span>"),a=a.replace('<div class="elementor-add-section-drag-title','<div class="elementor-add-section-area-button js-rey-templatesButton rey-templatesButton">'+n+'</div><div class="elementor-add-section-drag-title'),this.elements.$templatePanelScript.text(a),elementor.on("preview:loaded",(function(){if(e(elementor.$previewContents[0].body).on("click",".js-rey-templatesButton",(function(){t.doModal(),t.insertIndex=e(this).closest(".elementor-section-wrap").length?e(this).closest(".elementor-add-section").index():-1})),void 0!==elementor.elements&&!elementor.elements.length&&e("html").is('[data-post-type="rey-global-sections"]')){var a=e("html").attr("data-gs")||"",n={header:"headers",footer:"footers",cover:"cover-page-headers"};a in n&&(e(document).on("reycore/template_library/init",(function(t,s){e('.headerNav-list a[data-category="'+n[a]+'"]',s.elements.$tpModal).trigger("click")})),t.doModal())}}))},this.loader={class:"--visible",show:function(t){t&&e("<h4>"+t+"</h4>").appendTo(a.elements.$modalLoader),a.elements.$modalLoader.addClass(this.class)},hide:function(){e("h4",a.elements.$modalLoader).remove(),a.elements.$modalLoader.removeClass(this.class)}},this.alertDialog={errorDialog:null,showDialog:function(t,a,n){if("object"==typeof t){var s="";e.each(t,(function(e,t){s+="<div>"+t+"</div>"})),t=s}else t?t+=".":t="<i><The error message is empty></i>";this.getDialog(a,n).setMessage("<div>"+t+"</div>").show()},getDialog:function(e,t){if(!this.errorDialog){var a={id:"rey-templates-modal-error-dialog",headerMessage:t||reyTemplatesLibraryParams.strings.an_error_occurred};e&&(a.onConfirm=e),this.errorDialog=elementorCommon.dialogsManager.createWidget("alert",a)}return this.errorDialog}},this.confirmationDialog={dialog:null,showImportDialog:function(e,t){var a=this.getDialog();a.onConfirm=e,a.onCancel=t,a.show()},initDialog:function(){this.dialog=elementorCommon.dialogsManager.createWidget("confirm",{id:"rey-templates-modal-confirm-dialog",headerMessage:elementor.translate("import_template_dialog_header"),message:elementor.translate("import_template_dialog_message")+"<br>"+elementor.translate("import_template_dialog_message_attention"),strings:{confirm:elementor.translate("yes"),cancel:elementor.translate("no")}})},getDialog:function(){return this.dialog||this.initDialog(),this.dialog}},this.debounce=function(e,t,a){var n,s,i,o,l,r=function(){var m=Date.now-o;m<t&&m>=0?n=setTimeout(r,t-m):(n=null,a||(l=e.apply(i,s),n||(i=s=null)))};return function(){i=this,s=arguments,o=Date.now;var m=a&&!n;return n||(n=setTimeout(r,t)),m&&(l=e.apply(i,s),i=s=null),l}},this.init()}}}(jQuery);