D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
hrfiudwx
/
enterpriseuplift.com
/
wp-content
/
themes
/
themify-ultra
/
themify
/
js
/
admin
/
Filename :
panel.js
back
Copy
let ThemifyPanel;((t,i,e,n)=>{"use strict";ThemifyPanel=class{constructor(e,n,s,o,a){this.el=e,this.vals=s,this.options=o,this.labels=a,this.nonce=n,this.bindings=new Map,this.topTabs();const r=new IntersectionObserver((async(e,n)=>{for(let s=e.length-1;s>-1;--s)if(!0===e[s].isIntersecting){n.unobserve(e[s].target);const o=e[s].target,a=i.createElement("div");a.className="tf_loader";try{if(o.classList.contains("ajax_select")){o.parentNode.after(a);const i=await t.fetch({action:o.dataset.ajaxAction,nonce:this.nonce},"html");o.firstChild?.remove(),o.appendChild(i)}else if(o.hasAttribute("data-codeditor")){await t.loadJs(t.url+"js/admin/modules/codemirror/codemirror",!!window.ThemifyCodeMiror);let i=new ThemifyCodeMiror(o,o.dataset.codeditor);await i.run()}}catch(t){}a.remove()}0===e.length&&n.disconnect()})),c=e.querySelectorAll(".ajax_select,[data-codeditor]");for(let t=c.length-1;t>-1;--t)r.observe(c[t])}getIcon(t,e){t="tf-"+t.trim().replace(" ","-");const n="http://www.w3.org/2000/svg",s=i.createElementNS(n,"use"),o=i.createElementNS(n,"svg");let a="tf_fa "+t;return e&&(a+=" "+e),o.setAttribute("class",a),s.setAttributeNS(null,"href","#"+t),o.appendChild(s),o}after(t){const e=i.createElement("div");return e.innerHTML=t,e.className="after",e}getHelp(t){const e=i.createElement("div"),n=i.createElement("i"),s=i.createElement("div");return n.appendChild(this.getIcon("ti-help")),n.tabIndex="-1",s.className="help_content tf_hide tf_box",s.innerHTML=t,e.className="help tf_rel",e.append(n,s),e}getDisabledMsg(t){const e=i.createElement("div");return"disabled"!==t&&(e.className="warning",e.innerHTML=t),e}binding(){if(this.bindings.size>0)for(let[t,i]of this.bindings){let e=this.el.querySelector("#"+t);if(e){let t=function(){let t,e,n={},s=this.closest("#main");if("SELECT"===this.tagName?n=i[this.value]||i.any:"checkbox"===this.type&&(n=this.checked?i.checked:i.not_checked),t=n.show,e=n.hide,t){Array.isArray(t)||(t=[t]);for(let i=t.length-1;i>-1;--i){let e=s.querySelector("."+t[i]);e&&(e.style.display="")}}if(e){Array.isArray(e)||(e=[e]);for(let t=e.length-1;t>-1;--t){let i=s.querySelector("."+e[t]);i&&(i.style.display="none")}}};t.call(e),e.tfOn("change",t,{passive:!0})}}this.bindings.clear()}topTabs(){const t=i.createDocumentFragment(),e=i.createDocumentFragment(),s=i.createDocumentFragment(),o=this.el.querySelector("#main"),a=i.createElement("ul");let r=new URL(window.location.href).searchParams.get("tab")||"";this.options[r]===n&&(r=Object.keys(this.options)[0]),a.className="top_tabs tf_overflow";for(let n in this.options){let o=i.createElement("li"),a=i.createElement("section"),c=i.createElement("input"),l=i.createElement("label");c.type="radio",c.name="tab",c.className="tab tf_hide",c.id=l.htmlFor="tab-"+n,l.append(this.getIcon(this.options[n].icon),i.createTextNode(this.options[n].label)),a.id="tab-"+n+"-content",a.className="content tf_hide",n===r&&(c.checked=!0),a.appendChild(this.render(this.options[n].options)),o.appendChild(l),e.appendChild(a),s.appendChild(c),t.appendChild(o)}this.el.tfOn("change",(t=>{const i=t.target&&"radio"===t.target.type&&t.target.classList.contains("tab")?t.target:null;if(i){const t=new URL(window.location.href);t.searchParams.set("tab",i.id.replace("tab-","")),history.replaceState(null,null,t)}}),{passive:!0}),a.appendChild(t),this.el.prepend(s),this.el.tfClass("header")[0].prepend(a),o.classList.add("tf_opacity"),o.appendChild(e),this.binding(),o.classList.remove("tf_opacity")}render(t){const e=i.createDocumentFragment();for(let s=0,o=t.length;s<o;++s){let o=i.createElement("div"),a=i.createElement("div"),r=t[s].id,c=t[s].type,l=t[s].label!==n,h=r!==n&&this.vals[r]!==n?this.vals[r]:t[s].def;if(o.className="field",a.className="field_input field_"+c,l){let e="checkbox"===c?Object.keys(t[s].options).length:0;r&&"radio"===c&&(r+="_"+Object.keys(t[s].options)[0]);let a=r?"label":"span",l=i.createElement(a),h="label"===a?i.createElement("div"):null;l.textContent=t[s].label,r&&(l.htmlFor=r),("group"===c||"radio"===c||e>1)&&(o.className+=" alig_top"),"group"===c&&r!==n&&(o.className+=" "+r),h&&(h.className="label",h.appendChild(l),l=h),t[s].help&&(l.appendChild(this.getHelp(t[s].help)),h||(l.className="label")),o.appendChild(l)}try{let i=this["text"===c||"number"===c||"email"===c||"url"===c||"hidden"===c?"input":c](t[s],h,c);l||"group"!==c?a.appendChild(i):(o.className+=" field_group",o.appendChild(i))}catch(t){}if(l||"group"!==c){if(!t[s].disabled&&t[s].desc){o.classList.add("alig_top");let e=i.createElement("div");e.className="description",e.innerHTML=t[s].desc,a.appendChild(e)}o.appendChild(a)}t[s].disabled&&(o.classList.add("alig_top","has_error"),a.appendChild(this.getDisabledMsg(t[s].disabled))),a.className+=" count_"+a.childElementCount,t[s].wrap_class&&(o.className+=" "+t[s].wrap_class),o.className+=" count_"+o.childElementCount,e.appendChild(o),t[s].bind&&r&&this.bindings.set(r,t[s].bind)}return e}select(t,e){const s=i.createElement("div"),o=i.createElement("select"),a=i.createDocumentFragment(),r=i.createDocumentFragment();if(s.className="tf_inline_b tf_vmiddle tf_rel",o.className="tf_scrollbar",t.class!==n&&(o.className+=" "+t.class),t.id&&(o.name=o.id=t.id),t.disabled?o.disabled=!0:e&&t.ajax&&(t.options={[e]:""}),t.options){for(let n in t.options){let s=i.createElement("option");s.value=n,s.text=t.options[n],n===e&&(s.selected=!0),r.appendChild(s)}o.appendChild(r)}return s.appendChild(o),a.appendChild(s),t.after&&a.appendChild(this.after(t.after)),t.ajax&&(o.className+=" ajax_select",o.dataset.ajaxAction=t.ajax),a}expand(t){const e=i.createElement("div");return e.className="expand",e.appendChild(this.render(t.options)),e}group(t){return this.render(t.options)}radio(t,e){const n=i.createDocumentFragment(),s=t.options;for(let o in s){let a=i.createElement("input"),r=i.createElement("label");a.type="radio",a.value=o,a.name=t.id,r.textContent=s[o],r.htmlFor=a.id=t.id+"_"+o,t.disabled?a.disabled=!0:o===e&&(a.checked=!0),n.append(a,r)}return t.after&&f.appendChild(this.after(t.after)),n}checkbox(t,e){const n=i.createDocumentFragment(),s=t.options;for(let o in s){let a=i.createElement("input"),r=i.createElement("label");a.type="checkbox",a.value=1,a.name=o,r.textContent=s[o],r.htmlFor=a.id=o+"_checkbox",t.disabled?a.disabled=!0:o===e&&(a.checked=!0),n.appendChild(a),s[o]&&n.appendChild(r)}return t.after&&n.appendChild(this.after(t.after)),n}input(t,e,n){const s=i.createDocumentFragment(),o=i.createElement("input");return t.disabled?o.disabled=!0:o.value=e??"",o.type=n||"text",t.id&&(o.name=t.id),"hidden"!==n&&(t.id&&(o.id=t.id),t.min||"number"===n||"range"===n?o.min=parseInt(t.min)||0:o.className="tf_w",t.max&&(o.max=~~t.max,o.defaultValue=o.value=e),t.step&&(o.step=t.step),t.placeholder&&(o.placeholder=t.placeholder)),t.class&&(o.className+=" "+t.class),s.appendChild(o),t.after&&s.appendChild(this.after(t.after)),s}textarea(t,e){const n=i.createDocumentFragment(),s=i.createElement("textarea");return s.id=s.name=t.id,s.className="tf_w",t.class&&(s.className+=" "+t.class),t.disabled?s.disabled=!0:s.value=e||"",n.appendChild(s),t.after&&n.appendChild(this.after(t.after)),t.codeditor&&(s.dataset.codeditor=t.codeditor),n}slider(t,e){const n=i.createDocumentFragment(),s=Object.assign(t);e||t.def||(e=t.max),delete s.after;const o=this.input(s,e,"text");delete s.id;const a=this.input(s,e,"range");n.append(a,o),t.after&&n.appendChild(this.after(t.after));for(let t=n.querySelectorAll("input"),i=t.length-1;i>-1;--i)t[i].tfOn("input change",(t=>{let i=t.currentTarget;(i.nextElementSibling||i.previousElementSibling).value=parseInt(i.value)}),{passive:!0});return n}toggle(t,e){const n=i.createElement("label"),s=i.createElement("input"),o=i.createElement("div"),a=t.value||1;return s.className="toggle_switch",s.type="checkbox",s.id=s.name=t.id,s.value=a,t.disabled?s.disabled=!0:(t.opp&&(s.className+=" opposite"),s.checked=e==a),o.className="switch_label tf_rel tf_box",o.dataset.on=t.show||this.labels.en,o.dataset.off=t.hide||this.labels.dis,t.class&&(o.className+=" "+t.class),n.append(s,o),n}replace_url(n){const s=i.createDocumentFragment(),o=this.render([n.find]),a=this.render([n.replace]),r=i.createElement("button"),c=i.createElement("span"),l=n.confirm;return c.textContent=n.text,r.type="button",r.className="clear_cache find_replace",n.class&&(r.className+=" "+n.class),r.dataset.done=n.done,r.dataset.clearing=n.clearing,r.tfOn("click",(async i=>{if(confirm(l)){const n=i.currentTarget;if(!n.disabled){t.loadJs(t.url+"js/admin/notification",!!e.TF_Notification),n.disabled=!0;const s=n.tfTag("span")[0],o=n.closest(".field_replace_url").tfTag("input"),a=o[0].value.trim(),r=o[1].value.trim(),c=s.textContent;s.textContent=n.dataset.clearing,await t.loadJs(t.url+"js/admin/modules/find-replace",!!e.TF_Replace);try{await TF_Replace(a,r,this.nonce)}catch(i){}s.textContent=c,n.disabled=!1}}}),{passive:!0}).append(this.getIcon("ti-eraser"),c),s.append(o,a,r),s}clear_cache(n){const s=i.createDocumentFragment(),o=i.createElement("button"),a=i.createElement("span");if(a.textContent=n.text,o.className="clear_cache",o.type="button",n.class&&(o.className+=" "+n.class),o.dataset.action=n.action,o.dataset.done=n.done,o.dataset.clearing=n.clearing,s.appendChild(o),n.network){const t=i.createElement("div");t.className="clear_cache_network",t.appendChild(this.checkbox({options:n.network})),s.appendChild(t)}return n.after&&s.appendChild(this.after(n.after)),o.tfOn("click",(async i=>{const n=i.currentTarget,s=n.tfTag("span")[0],a=s.textContent;if(!n.disabled){s.textContent=n.dataset.clearing,n.disabled=!0,await t.loadJs(t.url+"js/admin/notification",!!e.TF_Notification),TF_Notification.show("info",n.dataset.clearing);try{const i=await t.fetch({nonce:this.nonce,action:n.dataset.action,all:o.parentNode.querySelector("input:checked")?1:0});if(!i.success)throw i;await TF_Notification.showHide("done",n.dataset.done,1500)}catch(i){const t=i.data?i.data:i;await TF_Notification.showHide("error",t)}s.textContent=a,n.disabled=!1}}),{passive:!0}).append(this.getIcon("ti-eraser"),a),s}}})(Themify,document,window,void 0);