Files
tysweld.com/wp-content/plugins/polylang-pro/js/build/machine-translation-settings.min.js
2025-02-24 22:33:42 +01:00

1 line
3.6 KiB
JavaScript

const{addAction}=wp.hooks,pllMachineTranslation={init:()=>{"loading"!==document.readyState?(pllMachineTranslation.ajaxButton.attachEvent(),pllMachineTranslation.dataUsage.fetchData()):(document.addEventListener("DOMContentLoaded",pllMachineTranslation.ajaxButton.attachEvent),document.addEventListener("DOMContentLoaded",pllMachineTranslation.dataUsage.fetchData)),addAction("pll_settings_saved","polylang-pro",pllMachineTranslation.saveSettings.highlightRow)},resetFieldRow:e=>{e.querySelectorAll(".pll-message-shown").forEach((e=>{e.classList.remove("pll-message-shown")})),e.classList.remove("notice-success","notice-warning","notice-error","notice-alt"),e.querySelectorAll(".pll-error-message-text").forEach((e=>{e.textContent=""}))},displayErrorMessage:(e,t,a="error")=>{t&&e.querySelectorAll("."+t).forEach((e=>{e.classList.add("pll-message-shown")})),e.classList.add("notice-"+a,"notice-alt")},ajaxButton:{attachEvent:()=>{document.querySelectorAll(".pll-ajax-button").forEach((e=>{e.addEventListener("click",(e=>{const t=e.target,a=t.getAttribute("data-action"),s=t.getAttribute("data-nonce"),n=t.closest("tr"),l=n.querySelectorAll(".pll-error-message-text");if(!a||!s||!n||!l.length||t.getAttribute("disabled"))return;const r={action:a,_pll_nonce:s,pll_ajax_settings:1};n.querySelectorAll("[data-name]").forEach((e=>{r[e.getAttribute("data-name")]=e.value}));const i=wp.url.addQueryArgs(ajaxurl,r);t.setAttribute("disabled","disabled"),pllMachineTranslation.resetFieldRow(n),fetch(i).then((e=>e.json())).then((e=>{t.removeAttribute("disabled"),e.success?n.classList.add("notice-success","notice-alt"):(l[0].textContent=e.data&&e.data.message?e.data.message:"",pllMachineTranslation.displayErrorMessage(n,e.data?e.data.message_class:""))})).catch((()=>{t.removeAttribute("disabled"),n.classList.add("notice-error","notice-alt")}))}))}))}},saveSettings:{highlightRow:(e,t)=>{switch(e.what){case"success":t.querySelectorAll(".notice-alt, .pll-message-shown").forEach((e=>{e.classList.remove("notice-success","notice-warning","notice-error","notice-alt","pll-message-shown")}));break;case"error":const a=pllMachineTranslation.saveSettings.getNoticeData(e.data);if(!a.fieldId)break;const s=document.getElementById(a.fieldId);if(!s)break;const n=s.closest("tr");if(!n)break;pllMachineTranslation.resetFieldRow(n),pllMachineTranslation.displayErrorMessage(n,a.messageClass,a.type)}},getNoticeData:e=>{const t=document.createElement("div");return t.innerHTML=e.trim(),{type:pllMachineTranslation.saveSettings.find(t.firstChild.className,"notice-(success|warning|error)","error"),fieldId:pllMachineTranslation.saveSettings.find(t.firstChild.className,"pll-field-id-([^\\s]+)",""),messageClass:pllMachineTranslation.saveSettings.find(t.firstChild.className,"pll-message-class-([^\\s]+)","")}},find:(e,t,a)=>{const s=(" "+e+" ").match(new RegExp("\\s"+t+"\\s"));return s&&s[1]?s[1]:a}},dataUsage:{fetchData:()=>{document.querySelectorAll(".pll-progress-bar-wrapper").forEach((e=>{const t=e.getAttribute("data-action"),a=e.getAttribute("data-nonce"),s=e.querySelectorAll(".spinner").item(0),n=e.querySelectorAll("div").item(0);if(!(t&&a&&s&&n&&e.parentElement))return;const l=e.parentElement.querySelectorAll(".description").item(0);if(!l)return;const r={action:t,_pll_nonce:a,pll_ajax_settings:1},i=wp.url.addQueryArgs(ajaxurl,r);fetch(i).then((e=>e.json())).then((t=>{if(!t.success||!t.data.percent)return e.remove(),void(l.textContent=t.data.message);e.replaceChild(document.createTextNode(t.data.percent_formatted),s),n.textContent=t.data.percent_formatted,n.style.width=t.data.percent,l.textContent=t.data.message})).catch((()=>{e.closest("tr").remove()}))}))}}};pllMachineTranslation.init();