PluginProbe
Polylang / trunk
Polylang vtrunk
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
polylang / js / build / nav-menu.min.js

nav-menu.min.js in Polylang trunk, at js/build/nav-menu.min.js

1 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 const pllNavMenu={wrapper:null,init:()=>{"loading"!==document.readyState?pllNavMenu.ready():document.addEventListener("DOMContentLoaded",pllNavMenu.ready)},ready:()=>{pllNavMenu.wrapper=document.getElementById("menu-to-edit"),pllNavMenu.wrapper&&(pllNavMenu.wrapper.addEventListener("click",pllNavMenu.printMetabox),pllNavMenu.wrapper.addEventListener("change",pllNavMenu.manageRowsAndValues))},printMetabox:{handleEvent:e=>{if(!e.target.classList.contains("item-edit"))return;const t=e.target.closest(".menu-item")?.querySelector(".menu-item-settings");if(!t?.id)return;if(!t.querySelectorAll('input[value="#pll_switcher"][type=text]').length)return;[...t.children].forEach(e=>{"P"!==e.nodeName||e.classList.contains("field-move")||e.remove()});const n=pllNavMenu.printMetabox,a=Number(t.id.replace("menu-item-settings-",""));t.append(n.createHiddenInput("title",a,pll_data.title)),t.append(n.createHiddenInput("url",a,"#pll_switcher")),t.append(n.createHiddenInput("pll-detect",a,1));const l=void 0!==pll_data.val[a]?pll_data.val[a]:{},r=n.createElement("div",{class:"polylang-language-switcher-menu-content"});t.prepend(r);let c=r;for(const[e,t]of Object.entries(pll_data.data)){const i=void 0!==l[e]?l[e]:t.default;if(t.section){c=n.createElement("fieldset"),r.append(c);const e=n.createElement("legend");e.innerText=t.section,c.append(e)}const d=n.createWrapper(t,l);c.append(d);const p=n.createElement("label",{for:`edit-menu-item-${e}-${a}`});if(p.innerText=` ${t.label} `,d.append(p),t.choices){const l=n.createSelectInput(e,a,i,t.choices);p.append(l)}else{const t=n.createCheckboxInput(e,a,i);p.prepend(t)}}},createHiddenInput:(e,t,n)=>pllNavMenu.printMetabox.createInput(e,t,n,"hidden"),createWrapper:(e,t)=>{const n={class:"description"};if(!e.hide_if)return pllNavMenu.printMetabox.createElement("p",n);for(const[a,l]of Object.entries(e.hide_if)){if(void 0===pll_data.data[a])continue;const e=void 0!==t[a]?t[a]:pll_data.data[a].default;n.class+=` pll-hidden-if-${a}-${l}`,l===e&&(n.class+=` pll-hidden-by-${a}`)}return pllNavMenu.printMetabox.createElement("p",n)},createCheckboxInput:(e,t,n)=>{const a=pllNavMenu.printMetabox.createInput(e,t,1,"checkbox");return a.setAttribute("data-key",e),n&&(a.checked=!0),a},createSelectInput:(e,t,n,a)=>{const l=pllNavMenu.printMetabox.createElement("select",{id:`edit-menu-item-${e}-${t}`,name:`menu-item-${e}[${t}]`,"data-key":e});for(const[e,t]of Object.entries(a)){const a={value:e};n===e&&(a.selected="selected");const r=pllNavMenu.printMetabox.createElement("option",a);r.innerText=t,l.append(r)}return l},createInput:(e,t,n,a)=>pllNavMenu.printMetabox.createElement("input",{type:a,id:`edit-menu-item-${e}-${t}`,name:`menu-item-${e}[${t}]`,value:n}),createElement:(e,t={})=>{const n=document.createElement(e);for(const[e,a]of Object.entries(t))n.setAttribute(e,a);return n}},manageRowsAndValues:{handleEvent:e=>{let t="";if("SELECT"===e.target.nodeName)t=e.target.value;else{if("INPUT"!==e.target.nodeName||"checkbox"!==e.target.type)return;t=e.target.checked}const n=e.target.closest(".polylang-language-switcher-menu-content");if(!n)return;const a=e.target.getAttribute("data-key");if(!a)return;const l="string"==typeof t?t.replaceAll(":","\\:"):t;if(n.querySelectorAll(`[class*="pll-hidden-if-${a}-"]:not(.pll-hidden-if-${a}-${l})`).forEach(e=>{e.classList.remove(`pll-hidden-by-${a}`)}),n.querySelectorAll(`.pll-hidden-if-${a}-${l}`).forEach(e=>{e.classList.add(`pll-hidden-by-${a}`)}),"show_labels"===a&&""===t){const e=n.querySelector('[data-key="show_flags"]');e&&!0!==e.checked&&(e.checked=!0,e.dispatchEvent(new Event("change",{bubbles:!0})))}else if("show_flags"===a&&!1===t){const e=n.querySelector('[data-key="show_labels"]');e&&""===e.value&&(e.value="names",e.dispatchEvent(new Event("change",{bubbles:!0})))}}}};pllNavMenu.init();