1 line
17 KiB
JavaScript
1 line
17 KiB
JavaScript
!function(c){class e{constructor(){this.state={tab:templateberg_gutenberg.currentTab,isLoaded:!1,isError:!1,isMissing:!1,isAllCatSelected:!1,isFreeCatSelected:!1,isProCatSelected:!1,selectedCategory:"all",search:"",bCats:[],bFreeCats:[],bProCats:[],tCats:[],tFreeCats:[],tProCats:[],tkCats:[],tkFreeCats:[],tkProCats:[],tkSelected:null,pCats:[],data:[],selectedTemplate:null,missingBlocks:[],countItems:[],countFreeItems:[],countProItems:[],sort:""}}toTitleCase(t){return t.replace(/\w\S*/g,function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()})}setState(t){const s=this;c.each(t,function(t,e){s.state[t]=e})}mobileMenu(){c(document).on("click",".tb-list__btn",function(){c(window).width()<767&&(c(".tb-list__template").toggleClass("tb-show-cat-sidebar"),c("body").toggleClass("tb-overflow"))}),c(window).on("resize",function(){const t=c(this);767<t.width()&&(c(".tb-list__template").hasClass("tb-show-cat-sidebar")&&c(".tb-list__template").removeClass("tb-show-cat-sidebar"),c("body").hasClass("tb-overflow")&&c("body").removeClass("tb-overflow"))})}fixTab(t){return t["template-kits"]?"template-kits":t.templates?"templates":t.blocks?"blocks":tab}templateFetch(e=!1,t){let s;if(s=t||("popularity"===e?templateberg_gutenberg.popularList:templateberg_gutenberg.normalList),Array.isArray(s)){let a=[],i=[],l=[],r=[],n=[],o=[],c=[],_=[],d=[],t=[],p=[],b=[],u=[],m=[];function h(t,e,s=!1){void 0===p[t]&&(p[t]=[]),s?void 0===p[t].all?p[t].all=1:p[t].all++:void 0===p[t][e]?p[t][e]=1:p[t][e]++}function v(t,e,s=!1){void 0===u[t]&&(u[t]=[]),s?void 0===u[t]["all-pro"]?u[t]["all-pro"]=1:u[t]["all-pro"]++:void 0===u[t][e]?u[t][e]=1:u[t][e]++}function f(t,e,s=!1){void 0===b[t]&&(b[t]=[]),s?void 0===b[t]["all-free"]?b[t]["all-free"]=1:b[t]["all-free"]++:void 0===b[t][e]?b[t][e]=1:b[t][e]++}s.map(e=>{const s=e.type;void 0===m[s]&&(m[s]=[]),m[s].push(e),h(s,"",!0),(e.is_pro?v:f)(s,"",!0),e.categories&&("block"===s||"blocks"===s?e.categories.map(t=>{e.is_pro?(l.push(t),v(s,t)):(i.push(t),f(s,t)),a.push(t),h(s,t)}):"template"===s||"templates"===s?e.categories.map(t=>{e.is_pro?(o.push(t),v(s,t)):(n.push(t),f(s,t)),r.push(t),h(s,t)}):"template-kit"!==s&&"template-kits"!==s||e.categories.map(t=>{e.is_pro?(d.push(t),v(s,t)):(_.push(t),f(s,t)),c.push(t),h(s,t)}))}),a=a.filter((t,e,s)=>s.indexOf(t)===e).sort(),i=i.filter((t,e,s)=>s.indexOf(t)===e).sort(),l=l.filter((t,e,s)=>s.indexOf(t)===e).sort(),r=r.filter((t,e,s)=>s.indexOf(t)===e).sort(),n=n.filter((t,e,s)=>s.indexOf(t)===e).sort(),o=o.filter((t,e,s)=>s.indexOf(t)===e).sort(),c=c.filter((t,e,s)=>s.indexOf(t)===e).sort(),d=d.filter((t,e,s)=>s.indexOf(t)===e).sort(),_=_.filter((t,e,s)=>s.indexOf(t)===e).sort(),t=t.filter((t,e,s)=>s.indexOf(t)===e).sort();e=this.fixTab(m);this.setState({bCats:a,bFreeCats:i,bProCats:l,tCats:r,tFreeCats:n,tProCats:o,tkCats:c,tkFreeCats:_,tkProCats:d,pCats:t,data:m,isLoaded:!0,countItems:p,countFreeItems:b,countProItems:u,tab:e})}else this.setState({isLoaded:!0,isError:!0})}getCategories(){let e=this,t,s;return"blocks"===this.state.tab?s=this.state.bCats:"templates"===this.state.tab?s=this.state.tCats:"template-kits"===this.state.tab&&(s=this.state.tkCats),!!s&&(!!e.state.countItems[this.state.tab]&&(!!(t=s.map(t=>({label:e.toTitleCase(t),value:t,count:e.state.countItems[this.state.tab][t]})))&&[{label:templateberg_gutenberg.text.allItems,value:"all",count:e.state.countItems[this.state.tab].all},...t]))}getFreeCategories(){let e=this,t,s;return"blocks"===this.state.tab?s=this.state.bFreeCats:"templates"===this.state.tab?s=this.state.tFreeCats:"template-kits"===this.state.tab&&(s=this.state.tkFreeCats),!!s&&(!!e.state.countFreeItems[this.state.tab]&&(!!(t=s.map(t=>({label:e.toTitleCase(t),value:t,count:e.state.countFreeItems[this.state.tab][t]})))&&[{label:templateberg_gutenberg.text.allItems,value:"all-free",count:e.state.countFreeItems[this.state.tab]["all-free"]},...t]))}getProCategories(){let e=this,t,s;return"blocks"===this.state.tab?s=this.state.bProCats:"templates"===this.state.tab?s=this.state.tProCats:"template-kits"===this.state.tab&&(s=this.state.tkProCats),!!s&&(!!e.state.countProItems[this.state.tab]&&(!!(t=s.map(t=>({label:e.toTitleCase(t),value:t,count:e.state.countProItems[this.state.tab][t]})))&&[{label:templateberg_gutenberg.text.allItems,value:"all-pro",count:e.state.countProItems[this.state.tab]["all-pro"]},...t]))}renderCategories(){let t=this,s="",a="",i="";const l=t=>"all"===t?"tb-list__current_item":"";t.getCategories()&&t.getCategories().map(t=>{var e=(e='<li class="'+l(t.value)+'">')+'<a href="#" data-cat="'+t.value+'">'+t.label.replace("-"," ")+"<span>"+t.count+"</span></a>";e+="</li>",s+=e}),t.getFreeCategories()&&t.getFreeCategories().map(t=>{var e=(e='<li class="'+l(t.value)+'">')+'<a href="#" data-cat="'+t.value+'">'+t.label.replace("-"," ")+"<span>"+t.count+"</span></a>";e+="</li>",a+=e}),t.getProCategories()&&t.getProCategories().map(t=>{var e=(e='<li class="'+l(t.value)+'">')+'<a href="#" data-cat="'+t.value+'">'+t.label.replace("-"," ")+"<span>"+t.count+"</span></a>";e+="</li>",i+=e}),c(".tb-list__cat_lists").html(s),c(".tb-cat-lists-free").html(a),c(".tb-cat-lists-pro").html(i)}renderItem(s,t,a=!0,e=null){let i="";if(0===e){i="tb-list__item_current";const n=c(".tb-list__item");n.removeClass("tb-list__item_current")}let l="";l=0<s.price?s.price_with_symbol:"Free";var r,e='<div aria-label="'+s.title+'" class="tb-list__item '+i+'" data-id="'+s.id+'" data-type="'+s.type+'">',e=(e+='<div class="tb-list__item_preview">')+'<img src="'+s.screenshot_url+'" loading="lazy">';return e+=a?'<span class="tb-list__author"><i class="fas fa-user"></i>'+templateberg_gutenberg.text.by+" "+s.author+"</span>":"",e+="</div>",e+='<div class="tb-list__item_footer">',e+='<div class="tb-list__item_price">',e+="<span>",e+=l,e+="</span>",e=(e+="</div>")+'<div class="tb-list__item_meta"><h4><a class="tb-list__item_title_link" href="'+s.permalink+'" target="_blank" rel="noopener">'+s.title+"</a></h4>"+((r=s)&&r.templates&&r.templates.length?'<span class="tb-list__item-tk-count">'+r.templates.length+" "+templateberg_gutenberg.text.templates+"</span>":r&&r.template_kit_id?'<span class="tb-list__item-tk-count"><a class="tb-list__item_title_link" href="'+r.template_kit_link+'" target="_blank" rel="noopener">'+r.template_kit_title+"</a></span>":"")+"</div>",e=(e+='<div class="tb-list__item_actions">')+'<a class="tb-item__preview_link" href="'+s.demo_url+'" target="_blank">'+templateberg_gutenberg.text.preview+"</a>",e+=function(){if(a){var t=s.is_pro?"Purchase":"Get It Free",e=s.is_pro?"pro":"free";return'<a type="button" class="tb-list__item_btn tb-list__item_buy_btn" data-id="'+s.id+'" data-is_pro="'+e+'" href="'+s.permalink+'" target="_blank" rel="noopener">'+t+"</a>"}return""}(),e+="</div>",e+="</div>",e+="</div>"}renderTemplates(){c("body").addClass("tb-templates-loading");let e=this,s="";e.state.data[e.state.tab]&&e.state.data[e.state.tab].map(t=>{if(("all-pro"===this.state.selectedCategory&&e.state.countProItems[this.state.tab]||"all-free"===this.state.selectedCategory&&e.state.countFreeItems[this.state.tab]||"all"===this.state.selectedCategory||t.categories&&t.categories.includes(this.state.selectedCategory))&&(!this.state.search||t.keywords&&t.keywords.some(t=>t.toLowerCase().includes(this.state.search.toLowerCase()))||t.title.toLowerCase().includes(this.state.search.toLowerCase()))){if(!this.state.isAllCatSelected&&this.state.isProCatSelected&&!t.is_pro)return"";if(!this.state.isAllCatSelected&&this.state.isFreeCatSelected&&t.is_pro)return"";t=e.renderItem(t,e);s+=t}}),s=s||'<span class="tb-list__content-no-item">'+templateberg_gutenberg.text.noItem+"</span>",c(".tb-list__content").html(s),e.lazyLoading(),setTimeout(function(){c("body").removeClass("tb-templates-loading")},500)}renderTKTemplates(e){let i=this,l=null,t=i.state.data[i.state.tab].find(t=>t.id==e);if(t&&t.templates&&t.templates.length){let a="";t.templates.forEach(function(t,e){var s=i.renderItem(t,i,!1,e);a+=s,0===e&&(l=t.demo_url)});const s=c("#tb-list__item_preview");a='<div class="tb-list__tk_templates">'+a+"</div>",s.find(".tb-list__item_buy_btn").after(a),i.lazyLoading()}return l}lazyLoading(){c(".tb-list__item_preview img").each(function(){c(this).on("load",function(){c(this).parent().addClass("tb-list__img_loaded")}).each(function(){this.complete&&c(this).load()})})}run(){this.templateFetch(),this.mobileMenu();const n=this;c(document).on("click",".tb-list__categories-tab-item",function(t){t.preventDefault();let e=c(this),s=e.attr("data-id"),a=e.closest(".tb-list__categories");if(e.addClass("tb-filter-active"),e.siblings().removeClass("tb-filter-active"),"all"===s){const i=a.find(".tb-cat-lists-all");i.addClass("tb-cats-content-active"),i.siblings().removeClass("tb-cats-content-active"),n.setState({selectedCategory:"all",isAllCatSelected:!0,isFreeCatSelected:!1,isProCatSelected:!1})}else if("free"===s){const l=a.find(".tb-cat-lists-free");l.addClass("tb-cats-content-active"),l.siblings().removeClass("tb-cats-content-active"),n.setState({selectedCategory:"all-free",isAllCatSelected:!1,isFreeCatSelected:!0,isProCatSelected:!1})}else if("pro"===s){const r=a.find(".tb-cat-lists-pro");r.addClass("tb-cats-content-active"),r.siblings().removeClass("tb-cats-content-active"),n.setState({selectedCategory:"all-pro",isAllCatSelected:!1,isFreeCatSelected:!1,isProCatSelected:!0})}n.renderCategories(),n.renderTemplates()}),c(document).on("click",".tb-cat-lists-all li",function(t){t.preventDefault(),n.setState({isAllCatSelected:!0,isFreeCatSelected:!1,isProCatSelected:!1})}),c(document).on("click",".tb-cat-lists-free li",function(t){t.preventDefault(),n.setState({isAllCatSelected:!1,isFreeCatSelected:!0,isProCatSelected:!1})}),c(document).on("click",".tb-cat-lists-pro li",function(t){t.preventDefault(),n.setState({isAllCatSelected:!1,isFreeCatSelected:!1,isProCatSelected:!0})}),c(document).on("click",".tb-list__sidebar a",function(t){t.preventDefault();t=c(this).data("cat");if(t===n.state.selectedCategory)return!1;c(this).parent("li").siblings().removeClass("tb-list__current_item"),c(this).parent("li").addClass("tb-list__current_item"),n.setState({selectedCategory:t}),n.renderTemplates()}),c(document).on("click",".tb-list__cat_btn",function(t){t.preventDefault();t=c(this).data("type");if(t===n.state.tab)return!1;c(this).siblings().removeClass("is-selected"),c(this).addClass("is-selected"),c(".tb-list__searchinput").val(""),n.setState({tab:t,selectedCategory:"all",search:""}),n.renderCategories(),n.renderTemplates()}),c(".tb-list__search i").on("click",function(t){t.preventDefault(),n.setState({search:c(".tb-list__searchinput").val()}),n.renderTemplates()}),c(".tb-list__searchinput").keyup(function(t){13===t.keyCode&&(t.preventDefault(),n.setState({search:c(".tb-list__searchinput").val()}),n.renderTemplates())}),c("#tb-list__sorting_select").on("change",function(t){t.preventDefault(),n.setState({sort:c(this).val()}),n.templateFetch(c(this).val()),n.renderTemplates()}),c(document).on("click",".tb-list__page-link",function(t){t.preventDefault();let e=c(this).data("gpage"),s=c(this).attr("href");c.ajax({type:"GET",url:templateberg_gutenberg.restUrl+"templateberg/v1/gutenberg_templates",data:{page:e,sort:n.state.sort},beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",templateberg_gutenberg.restNonce)}}).done(function(t){t&&(n.templateFetch(!1,t.templates),c(".tb-list__navigation").replaceWith(t.pagination),c(".tb-list__links").replaceWith(t.header),n.renderCategories(),c(".tb-list__categories-wrap-tab").children().first().trigger("click"),history.pushState({},null,s))}).fail(function(t,e,s){console.log(t+" :: "+e+" :: "+s)}).always(function(){})}),n.lazyLoading()}}class s{constructor(){this.state={archiveDownload:null}}setState(t){const s=this;c.each(t,function(t,e){s.state[t]=e})}hasPrevItem(){const t=c(".tb-list__item_current");return!!t.prev().length}hasNextItem(){const t=c(".tb-list__item_current");return!!t.next().length}showHidePrevNext(){this.hasNextItem()?c(".tb-preview__next").removeClass("tb-list__page-disabled"):c(".tb-preview__next").addClass("tb-list__page-disabled"),this.hasPrevItem()?c(".tb-preview__prev").removeClass("tb-list__page-disabled"):c(".tb-preview__prev").addClass("tb-list__page-disabled")}hideControls(){c(document).on("click",".tb-preview__collapse-btn",function(t){t.preventDefault(),c(".tb-preview__wrapper").toggleClass("tb-preview__sidebar-hide")})}devicePreview(){c(document).on("click",".tb-preview__desktop",function(t){t.preventDefault(),c(".tb-preview__wrapper").removeClass("tb-preview-t tb-preview-m"),c(this).addClass("active").siblings().removeClass("active")}),c(document).on("click",".tb-preview__tablet",function(t){t.preventDefault(),c(".tb-preview__wrapper").removeClass("tb-preview-t tb-preview-m").addClass("tb-preview-t"),c(this).addClass("active").siblings().removeClass("active")}),c(document).on("click",".tb-preview__mobile",function(t){t.preventDefault(),c(".tb-preview__wrapper").removeClass("tb-preview-t tb-preview-m").addClass("tb-preview-m"),c(this).addClass("active").siblings().removeClass("active")})}hidePreview(){c(document).on("click",".tb-preview__close",function(t){t.preventDefault(),c("body").removeClass("tb-preview"),c("#tb-list__item_preview").hide(),c(".tb-list__tk_templates").remove()})}renderPreview(){let t=c(".tb-list__item_current"),e=t.data("id"),s=t.find("img").attr("src"),a=t.find("h4").text(),i=t.find(".tb-list__item_title_link").attr("href"),l=t.find(".tb-list__author").html(),r=t.find(".tb-item__preview_link").attr("href"),n=c("#tb-list__item_preview");var o;n.addClass("tb-item__preview_loading"),n.find(".tb-list__item_buy_btn").remove(),n.find(".tb-list__item").remove(),n.find("h4").text(a),n.find("img").attr("src",s),n.find(".tb-list__item_title_link").attr("href",i),n.find(".tb-preview__author").html(l),t.find(".tb-list__item_buy_btn").clone().insertAfter(n.find(".tb-preview__author")),c("body").addClass("tb-preview"),document.getElementById("tb-preview__frame").src=r,this.state.archiveDownload&&e&&((o=this.state.archiveDownload.renderTKTemplates(e))&&(document.getElementById("tb-preview__frame").src=o)),n.show(),this.showHidePrevNext(),setTimeout(function(){n.removeClass("tb-item__preview_loading")},3e3)}replacePreview(){let t=c(".tb-list__item_current"),e=t.find(".tb-item__preview_link").attr("href"),s=c("#tb-list__item_preview");s.addClass("tb-item__preview_loading"),document.getElementById("tb-preview__frame").src=e,this.showHidePrevNext(),setTimeout(function(){s.removeClass("tb-item__preview_loading")},3e3)}run(t=null){t.run();const i=this;i.setState({archiveDownload:t});const e=t=>{t.siblings().removeClass("tb-list__item_current"),t.addClass("tb-list__item_current"),t.parent().hasClass("tb-list__tk_templates")?i.replacePreview():i.renderPreview()};c(document).on("click",".tb-item__preview_link",function(t){t.preventDefault();t=c(this).closest(".tb-list__item");e(t)}),c(document).on("click",".tb-preview__sidebar-content .tb-list__item",function(t){t.preventDefault(),e(c(this))}),c(document).on("click",".tb-preview__prev",function(t){t.preventDefault();let e=c(".tb-list__item_current"),s=c(".tb-list__item");if(!e.prev().length)return!1;const a=e.prev();s.removeClass("tb-list__item_current"),a.addClass("tb-list__item_current"),0<c(".tb-preview__sidebar-content").children(".tb-list__tk_templates").length?i.replacePreview():i.renderPreview()}),c(document).on("click",".tb-preview__next",function(t){t.preventDefault();let e=c(".tb-list__item_current"),s=c(".tb-list__item");if(!e.next().length)return!1;const a=e.next();s.removeClass("tb-list__item_current"),a.addClass("tb-list__item_current"),0<c(".tb-preview__sidebar-content").children(".tb-list__tk_templates").length?i.replacePreview():i.renderPreview()}),i.hideControls(),i.devicePreview(),i.hidePreview()}}class a{constructor(){this.state={archiveDownload:null}}setState(t){const s=this;c.each(t,function(t,e){s.state[t]=e})}buyPopup(t){c.ajax({type:"GET",url:"https://templateberg.com/wp-json/connect/v1/get_cart",data:{id:t}}).done(function(t){t&&(c("#tb-list__popup_loader").hide(),c("#tb-list__item_buy_popup").html(t))}).fail(function(t,e,s){console.log(t+" :: "+e+" :: "+s)}).always(function(){})}run(){c(document).on("click",".tb-list__item_buy_btn",function(t){c(this).data("id");if("pro"===c(this).data("is_pro"))return!0;t.preventDefault(),c("body").addClass("tb-template-popup"),c("body").addClass("tb-template-popup-loading"),c("#tb-list__popup_loader").show(),setTimeout(function(){c("#tb-list__item_free_popup").show(),c("#tb-list__popup_loader").hide(),c("body").removeClass("tb-template-popup-loading")},300)}),c(document).on("click",".tb-modal__cancel",function(t){t.preventDefault(),c("body").addClass("tb-template-popup-loading"),c("body").removeClass("tb-template-popup"),c("#tb-list__popup_loader").hide(),c("#tb-list__item_buy_popup").html("").hide(),c("#tb-list__item_free_popup").hide(),setTimeout(function(){c("body").removeClass("tb-template-popup-loading")},3e3)})}}c(document).ready(function(){var t=new e;(new s).run(t),(new a).run()})}(jQuery); |