PluginProbe ʕ •ᴥ•ʔ
GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites / 2.28
GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites v2.28
2.33.6 2.33.5 2.33.2 2.32.10 2.33 2.33.1 2.32.6 2.32.7 2.32.8 trunk 2.10.3 2.10.4 2.10.5 2.10.6 2.11 2.12 2.13 2.14 2.14.1 2.15 2.15.1 2.16.1 2.16.2 2.17 2.18 2.18.1 2.18.2 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.25.1 2.25.2 2.26 2.27 2.27.10 2.27.5 2.28 2.28.1 2.29 2.30 2.31 2.32 2.32.5
gptranslate / assets / js / admin.js
gptranslate / assets / js Last commit date
jsonrepair 2 months ago admin.js 2 months ago crawler.js 2 months ago dom.min.js 2 months ago gptranslate.js 2 months ago index.html 2 months ago responsivevoice.js 2 months ago select2.min.js 2 months ago toast.min.js 2 months ago
admin.js
2 lines
1 function e(e,t){const n=document.getElementById(e+"-container"),a=e.replace("-","_");n.innerHTML="",Object.entries(t).forEach((([e,t])=>{const o=document.createElement("div");o.classList.add("translation-row"),o.innerHTML=`<label class="badge bg-primary">${PLG_GPTRANSLATE_ORIGINAL_TEXT}</label><textarea type="text" class="original">${e}</textarea> ➜ \n <label class="badge bg-primary">${PLG_GPTRANSLATE_TRANSLATED_TEXT}</label><textarea type="text" class="translated">${t}</textarea>\n <button type="button" class="btn btn-danger" onclick="this.parentElement.remove()">${PLG_GPTRANSLATE_DELETE}</button>\n <button type="button" class="group-sync btn btn-warning btn-invisible hasPopover" data-type="${a}" title="${PLG_GPTRANSLATE_SYNC_TITLE} - ${PLG_GPTRANSLATE_SYNC_DESC}" aria-label="${PLG_GPTRANSLATE_SYNC}">\n\t\t\t\t\t\t <span class="icon-refresh">↻</span> ${PLG_GPTRANSLATE_SYNC}</button>`,n.appendChild(o)}))}function t(e){const t=document.getElementById(e+"-container"),n={};return t.querySelectorAll("div").forEach((e=>{const t=e.querySelector(".original").value,a=e.querySelector(".translated").value;t&&a&&(n[t]=a)})),JSON.stringify(n)}document.addEventListener("DOMContentLoaded",(()=>{const n=localStorage.getItem("gptranslate_selected_tab");n&&document.getElementById("tab-"+n)&&(document.querySelectorAll(".nav-tab").forEach((e=>e.classList.remove("nav-tab-active"))),document.querySelectorAll(".tab-content").forEach((e=>e.style.display="none")),document.querySelector('a[href="#'+n+'"]').classList.add("nav-tab-active"),document.getElementById("tab-"+n).style.display="block"),"undefined"!=typeof initialTranslations&&(e("translations",initialTranslations),e("alt-translations",initialAltTranslations));const a=document.querySelector("form#edit-translations");a&&a.addEventListener("submit",(e=>{document.querySelectorAll('div.gptcard [id$="-container"]').forEach((function(e){r(e,"length-desc")})),document.getElementById("translations_json").value=t("translations"),document.getElementById("alt_translations_json").value=t("alt-translations")})),document.querySelectorAll('input[type="submit"][data-action]').forEach((e=>{e.addEventListener("click",(function(){const e=this.getAttribute("data-action");document.getElementById("form_action").value=e}))})),document.querySelectorAll("button.btn-adder").forEach((e=>{e.addEventListener("click",(function(){!function(e){const t=document.getElementById(e+"-container"),n=document.createElement("div");n.classList.add("translation-row"),n.innerHTML=`<label class="badge bg-primary">${PLG_GPTRANSLATE_ORIGINAL_TEXT}</label><textarea type="text" class="original"></textarea> ➜ \n <label class="badge bg-primary">${PLG_GPTRANSLATE_TRANSLATED_TEXT}</label><textarea type="text" class="translated"></textarea>\n <button type="button" class="btn btn-danger" onclick="this.parentElement.remove()">${PLG_GPTRANSLATE_DELETE}</button>`,t.insertBefore(n,t.firstChild)}(this.getAttribute("data-addtype"))}))})),document.querySelectorAll("textarea.translated").forEach((function(e,t){e.addEventListener("keyup",(function(e){const t=e.target.closest("div.translation-row").querySelector("button.group-sync");t&&t.classList.remove("btn-invisible")}))})),document.querySelectorAll(".gpt-apikey-toggle").forEach((function(e){e.addEventListener("click",(function(){var t=document.getElementById(e.dataset.target),n=e.querySelector(".dashicons");"password"===t.type?(t.type="text",n.classList.replace("dashicons-visibility","dashicons-hidden"),e.title=e.dataset.hide):(t.type="password",n.classList.replace("dashicons-hidden","dashicons-visibility"),e.title=e.dataset.show)}))}));const o=document.getElementById("checkall");function r(e,t){const n=Array.from(e.querySelectorAll("div.translation-row"));n.sort((function(e,n){const a=e.querySelector("textarea.original").value.toLowerCase(),o=n.querySelector("textarea.original").value.toLowerCase();switch(t){case"alpha-asc":return a.localeCompare(o);case"alpha-desc":return o.localeCompare(a);case"length-asc":return a.length-o.length;default:return o.length-a.length}})),n.forEach((function(t){e.appendChild(t)}))}o&&o.addEventListener("change",(function(){document.querySelectorAll('input[name="gptid[]"]').forEach((e=>e.checked=o.checked))})),document.addEventListener("change",(function(e){const t=e.target.closest('select[data-role="sort-translations"]');if(!t)return;r(t.closest("div.gptcard").querySelector('[id$="-container"]'),t.value)})),document.addEventListener("keydown",(function(e){if("Enter"===e.key){const t=e.target.closest('input[name="search"]');if(t){e.preventDefault();const n=t.closest("div.gptcard").querySelector('button[data-role="search-translations"]');n&&n.click()}}})),document.addEventListener("click",(function(e){const t=e.target.closest('button[data-role="search-translations"]');if(t){const e=t.closest("div.gptcard"),n=e.querySelector('input[name="search"]').value,a=e.querySelectorAll("div.translation-row"),o=new RegExp(n,"i");a.forEach((function(e){const t=e.querySelector('textarea[class="original"]').value,n=e.querySelector('textarea[class="translated"]').value;o.test(t)||o.test(n)?e.classList.remove("translation-row-hidden"):e.classList.add("translation-row-hidden")}))}const n=e.target.closest('button[data-role="reset-search"]');if(n){const e=n.closest("div.gptcard");e.querySelector('input[name="search"]').value="";e.querySelectorAll("div.translation-row").forEach((function(e){e.classList.remove("translation-row-hidden")}))}})),document.querySelectorAll("button.group-sync").forEach((function(e,t){e.addEventListener("click",(function(e){const t=e.currentTarget,n=t.querySelector("span.icon-refresh"),a=t.closest("div.translation-row"),o=a.querySelector("textarea.original"),r=a.querySelector("textarea.translated"),l=t.dataset.type,s=o.value,c=r.value,i=document.getElementById("languagetranslated").value;n.classList.add("icon-working");const d={task:"syncTranslation",original:s,translated:c,language_translated:i,translation_type:l},u=`${gptServerSideLink}`,p={method:"POST",body:JSON.stringify(d),headers:{"Content-Type":"application/json; charset=utf-8",Accept:"application/json","x-gptranslate-key":gptranslate_vars.gptApiKey}};fetch(u,p).then((e=>e.json())).then((e=>{if(e.result){const e=document.createElement("label");e.className="gpt-label badge bg-success",e.innerText=PLG_GPTRANSLATE_SYNC_COMPLETED,t.insertAdjacentElement("afterend",e)}else{const e=document.createElement("label");e.className="gpt-label badge bg-danger",e.innerText=PLG_GPTRANSLATE_SYNC_ERROR,t.insertAdjacentElement("afterend",e)}})).catch((e=>{const n=document.createElement("label");n.className="gpt-label badge bg-danger",n.innerText=PLG_GPTRANSLATE_SYNC_ERROR,t.insertAdjacentElement("afterend",n)})).finally((()=>{n.classList.remove("icon-working"),setTimeout((()=>{t.classList.add("btn-invisible"),document.querySelectorAll("label.gpt-label").forEach((e=>e.remove()))}),2e3)}))}))}));const l=document.createElement("div");l.className="custom-tooltip",document.body.appendChild(l),document.querySelectorAll("[title]").forEach((function(e){const t=e.getAttribute("title");e.addEventListener("mouseenter",(function(n){e.setAttribute("data-original-title",t),e.removeAttribute("title"),l.textContent=t,l.style.opacity="1"})),e.addEventListener("mousemove",(function(e){l.style.top=e.pageY+10+"px",l.style.left=e.pageX+10+"px"})),e.addEventListener("mouseleave",(function(){l.style.opacity="0",e.setAttribute("title",e.getAttribute("data-original-title"))}))})),jQuery(".select2-dropdown").length&&jQuery(".select2-dropdown").select2({tags:!1,tokenSeparators:[","]});const s=document.getElementById("config-gptranslate"),c=document.querySelector("div.action-buttons-toolbar");if(s){document.querySelectorAll("h2.nav-tab-wrapper a.nav-tab").forEach((function(e,t){e.addEventListener("click",(function(t){const n=e.dataset.click;var a;a=n,document.querySelectorAll(".tab-content").forEach((e=>e.style.display="none")),document.querySelectorAll(".nav-tab").forEach((e=>e.classList.remove("nav-tab-active"))),document.getElementById("tab-"+a).style.display="block",event.currentTarget.classList.add("nav-tab-active"),localStorage.setItem("gptranslate_selected_tab",a)}))}));const m=document.querySelector('select[name="gptranslate_options[google_translate_engine]"]'),y=document.querySelectorAll(".chatgpt_ctrl"),f=document.getElementById("chatgpt_apikey");function v(e){y.forEach((function(t){const n=t.closest("tr")||t.closest(".control-group")||t.closest(".form-group");n&&("0"==e?(n.style.display="",f&&f.setAttribute("data-validation","required")):(n.style.display="none",f&&f.removeAttribute("data-validation")))}))}const E=document.querySelectorAll(".google_translate_method_ctrl");function _(e){E.forEach((function(t){const n=t.closest("tr")||t.closest(".control-group")||t.closest(".form-group");n&&(n.style.display="1"==e?"":"none")}))}m&&(v(m.value),_(m.value),m.addEventListener("change",(function(){v(this.value),_(this.value)})));const h=document.getElementById("chatgpt_model"),b=document.querySelector('label[for="chatgpt_apikey"]');if(h&&b){const Z=()=>{const e=b.getAttribute("data-original-text")||b.textContent;b.getAttribute("data-original-text")||b.setAttribute("data-original-text",e),b.textContent=e.replace("DeepSeek","{aiengine}").replace("Gemini","{aiengine}").replace("Claude","{aiengine}").replace("Google Cloud Translation","{aiengine}").replace("ChatGPT","{aiengine}");const t=h.value;"deepseek-chat"===t?b.textContent=b.textContent.replace("{aiengine}","DeepSeek"):0===t.indexOf("gemini-")?b.textContent=b.textContent.replace("{aiengine}","Gemini"):0===t.indexOf("claude-")?b.textContent=b.textContent.replace("{aiengine}","Claude"):0===t.indexOf("google-")?b.textContent=b.textContent.replace("{aiengine}","Google Cloud Translation"):b.textContent="deepl-api"===t?b.textContent.replace("{aiengine}","DeepL"):b.textContent.replace("{aiengine}","ChatGPT")};Z(),h.addEventListener("change",Z)}if(f){var i=document.createElement("button");i.type="button",i.id="btn_test_apikey",i.className="button button-secondary chatgpt_ctrl",i.innerHTML='<span class="dashicons dashicons-yes-alt" style="vertical-align:text-top;margin-right:3px;"></span>'+("undefined"!=typeof gptranslate_vars?gptranslate_vars.i18n_test_apikey:"Test API Key");var d=document.createElement("span");d.id="apikey_test_result",d.style.display="none",d.style.marginLeft="8px",d.style.marginTop="4px";const ee=f.parentNode,te=ee.parentNode;te.insertBefore(i,ee.nextSibling),te.insertBefore(d,i.nextSibling),i.parentNode.insertBefore(d,i.nextSibling);var u=v;v=function(e){u(e),"0"==e?i.style.display="":(i.style.display="none",d.style.display="none")},m&&v(m.value),i.addEventListener("click",(function(){var e=f.value.trim();if(!e)return d.style.display="inline-block",d.className="gpt-test-error",void(d.textContent=gptranslate_vars.i18n_test_apikey_empty);var t=document.getElementById("chatgpt_model"),n=t?t.value:"";i.disabled=!0,i.innerHTML='<span class="dashicons dashicons-update icon-spin" style="vertical-align:text-top;margin-right:3px;"></span>'+gptranslate_vars.i18n_test_apikey_testing,d.style.display="none";var a=new FormData;a.append("action","gptranslate_test_apikey"),a.append("nonce",gptranslate_vars.testApikeyNonce),a.append("apikey",e),a.append("model",n),fetch(gptranslate_vars.ajaxurl,{method:"POST",body:a}).then((function(e){return e.json()})).then((function(e){if(d.style.display="inline-block",e.success)d.className="gpt-test-success",d.textContent=gptranslate_vars.i18n_test_apikey_success;else{d.className="gpt-test-error";var t=gptranslate_vars.i18n_test_apikey_error;e.data&&e.data.error_code&&(t+=" ("+e.data.error_code+")"),e.data&&e.data.message&&(t+=": "+e.data.message),d.textContent=t}})).catch((function(e){d.style.display="inline-block",d.className="gpt-test-error",d.textContent=gptranslate_vars.i18n_test_apikey_error+": "+e.message})).finally((function(){i.disabled=!1,i.innerHTML='<span class="dashicons dashicons-yes-alt" style="vertical-align:text-top;margin-right:3px;"></span>'+gptranslate_vars.i18n_test_apikey}))}))}const L=document.querySelectorAll('input[name="gptranslate_options[enable_dropdown]"]'),S=document.querySelectorAll(".enable_dropdown_ctrl");function A(e){S.forEach((t=>{const n=t.closest("tr")||t.closest(".control-group");n&&(n.style.display="1"==e?"":"none")}))}const T=Array.from(L).find((e=>e.checked))?.value;"1"!=T&&A(0),L.forEach((e=>{e.addEventListener("change",(function(){A(this.value)}))}));const q=document.querySelectorAll('input[name="gptranslate_options[rewrite_language_url]"]'),k=document.querySelectorAll(".urlrewriting");function w(e){k.forEach((t=>{const n=t.closest("tr")||t.closest(".control-group");n&&(n.style.display="1"==e?"":"none")})),"1"==e&&(x("gptranslate_options[detect_current_language]","1"),x("gptranslate_options[autotranslate_detected_language]","1"))}function x(e,t){document.querySelectorAll(`input[name="${e}"]`).forEach((e=>{const n=e.closest("label");e.value===t?(e.checked=!0,n?.classList.add("active")):n?.classList.remove("active")}))}parseInt(Array.from(q).find((e=>e.checked))?.value)||w(0),q.forEach((e=>{e.addEventListener("change",(function(){w(this.value)}))}));const N=document.querySelectorAll('input[name="gptranslate_options[serverside_translations]"]'),P=document.querySelectorAll(".serverside_translations");function G(e){P.forEach((t=>{const n=t.closest(".form-table tr")||t.closest(".control-group");n&&(n.style.display="1"==e?"":"none")}))}const I=Array.from(N).find((e=>e.checked))?.value;G(I),N.forEach((e=>{e.addEventListener("change",(function(){if(G(this.value),"1"==this.value){const e=document.querySelector('input[name="gptranslate_options[rewrite_language_url]"][value="0"]'),t=document.querySelector('input[name="gptranslate_options[rewrite_language_url]"][value="1"]');e&&t&&(t.checked=!0,e.checked=!1,t.dispatchEvent(new Event("change",{bubbles:!0})))}}))}));const R=document.querySelectorAll('input[name="gptranslate_options[translate_altimages]"]'),C=document.getElementById("css_selector_classes_translate_altimages_excluded")?.closest(".form-table tr"),B=document.getElementById("translate_srcimages")?.closest(".form-table tr");function O(e){C&&(C.style.display="1"==e?"":"none"),B&&(B.style.display="1"==e?"":"none")}const D=Array.from(R).find((e=>e.checked))?.value;O(D),R.forEach((e=>{e.addEventListener("change",(function(){O(this.value)}))}));const $=document.getElementById("serverside_translations_method"),M=document.getElementById("css_selector_serverside_leafnodes_excluded")?.closest(".form-table tr"),j=document.getElementById("serverside_translations_matchquotes1")?.closest("label");function H(e){if(M&&(M.style.display="strireplace"===e?"none":""),"simplehtmldom"===e&&j){const e=j.querySelector("input");e&&(e.checked=!0)}}if($){1==document.querySelector('input[name="gptranslate_options[serverside_translations]"]:checked').value&&H($.value),$.addEventListener("change",(function(){H(this.value)}))}const K=document.querySelectorAll('input[name="gptranslate_options[detect_current_language]"]'),U=document.querySelectorAll('input[name="gptranslate_options[detect_default_language]"]');K.forEach((e=>{e.addEventListener("click",(()=>{if(1===parseInt(e.value)){const e=document.querySelector('input[name="gptranslate_options[detect_default_language]"][value="0"]');e&&!e.checked&&(e.checked=!0)}}))})),U.forEach((e=>{e.addEventListener("click",(()=>{if(1===parseInt(e.value)){const e=document.querySelector('input[name="gptranslate_options[detect_current_language]"][value="0"]');e&&!e.checked&&(e.checked=!0)}}))}));const Y=document.getElementById("words_leafnodes_excluded_bylanguage_repeatable-body"),X=document.getElementById("add-repeatable-row"),F=document.getElementById("words_leafnodes_excluded_bylanguage_repeatable");function J(e={}){const t=document.createElement("tr");t.classList.add("repeatable-row");const n=document.querySelector('select[name="gptranslate_options[language]"]'),a=`\n <option value="*">All languages</option>\n ${n?n.innerHTML:""}\n `;t.innerHTML=`\n <td><input type="text" class="widefat word" value="${e.word||""}" /></td>\n <td>\n <select class="widefat lang-original">\n ${a}\n </select>\n </td>\n <td>\n <select class="widefat lang-translated">\n ${a}\n </select>\n </td>\n <td><input type="text" class="widefat optional-translation" value="${e.optionalTranslation||""}" /></td>\n <td>\n <button type="button" class="button button-secondary move-row" draggable="true" title="${PLG_GPTRANSLATE_MOVE}">�
2 </button>\n <button type="button" class="button button-secondary remove-row" title="${PLG_GPTRANSLATE_REMOVE}"></button>\n </td>\n `;const o=t.querySelector(".lang-original"),r=t.querySelector(".lang-translated");return o.value=e.langOriginal||"*",r.value=e.langTranslated||"*",t}function W(){const e=Y.querySelectorAll("tr.repeatable-row"),t=[];e.forEach((e=>{t.push({word:e.querySelector(".word").value,langOriginal:e.querySelector(".lang-original").value,langTranslated:e.querySelector(".lang-translated").value,optionalTranslation:e.querySelector(".optional-translation").value})})),F.value=JSON.stringify(t)}X.addEventListener("click",(function(){const e=J();Y.appendChild(e),W()})),Y.addEventListener("click",(function(e){e.target.classList.contains("remove-row")&&(e.target.closest("tr").remove(),W())})),Y.addEventListener("input",(function(){W()}));let V=null,Q=null,z=null;Y.addEventListener("dragstart",(function(e){if(e.target.classList.contains("move-row")){V=e.target.closest("tr");const t=V.getBoundingClientRect(),n=e.clientX-t.left,a=e.clientY-t.top;e.dataTransfer.setDragImage(V,n,a),e.dataTransfer.effectAllowed="move",setTimeout((function(){V.style.opacity="0.5"}),0)}})),Y.addEventListener("dragend",(function(){V&&(V.style.opacity="",V=null),Y.querySelectorAll("tr.gpt-drag-over-before, tr.gpt-drag-over-after").forEach((function(e){e.classList.remove("gpt-drag-over-before","gpt-drag-over-after")})),Q=null,z=null})),Y.addEventListener("dragover",(function(e){if(!V)return;e.preventDefault(),e.dataTransfer.dropEffect="move";const t=e.target.closest("tr");if(t&&t!==V){const n=t.getBoundingClientRect(),a=e.clientY-n.top>n.height/2?"after":"before";t===Q&&a===z||(Y.querySelectorAll("tr.gpt-drag-over-before, tr.gpt-drag-over-after").forEach((function(e){e.classList.remove("gpt-drag-over-before","gpt-drag-over-after")})),t.classList.add("gpt-drag-over-"+a),Q=t,z=a,"after"===a?t.after(V):t.before(V))}})),Y.addEventListener("drop",(function(){Y.querySelectorAll("tr.gpt-drag-over-before, tr.gpt-drag-over-after").forEach((function(e){e.classList.remove("gpt-drag-over-before","gpt-drag-over-after")})),V&&W()})),document.querySelector(".button-import").addEventListener("click",(function(){document.querySelectorAll(".toggle-import").forEach((e=>{e.classList.toggle("hidden")}))}));try{JSON.parse(F.value||"[]").forEach((e=>{const t=J(e);Y.appendChild(t)}))}catch(ne){}s.addEventListener("submit",(function(e){s.querySelectorAll(".gpt-validation-error").forEach((function(e){e.remove()})),s.querySelectorAll(".gpt-field-error").forEach((function(e){e.classList.remove("gpt-field-error")}));const t=s.querySelectorAll('[data-validation="required"]');let n=!0;if(t.forEach((function(e){if(!e.value.trim()){n=!1,e.classList.add("gpt-field-error");const t=document.createElement("span");t.className="gpt-validation-error",t.textContent="undefined"!=typeof gptranslate_vars&&gptranslate_vars.i18n_apikey_required?gptranslate_vars.i18n_apikey_required:"API Key is required.",e.parentNode.insertBefore(t,e.nextSibling)}})),!n){e.preventDefault();const t=s.querySelector(".gpt-field-error");t&&(t.scrollIntoView({behavior:"smooth",block:"center"}),t.focus())}}))}else c&&(document.getElementById("notranslations-notice")&&document.querySelectorAll(".form-filter-container, .action-buttons-toolbar, table.widefat.fixed.striped,div.tablenav").forEach((function(e){e.style.display="none"})),document.querySelector(".button-import").addEventListener("click",(function(){document.querySelectorAll(".toggle-import").forEach((e=>{e.classList.toggle("hidden")}))})),document.getElementById("toggle-migration").addEventListener("click",(function(){const e=document.getElementById("migraterow");e.style.display="none"===e.style.display||""===e.style.display?"flex":"none",e.style.alignItems="center"})),document.getElementById("migrationcancel").addEventListener("click",(function(){document.getElementById("migratetranslations_currentdomain").value="",document.getElementById("migratetranslations_newdomain").value=""})),document.getElementById("migrationconfirm").addEventListener("click",(function(){const e=document.getElementById("migratetranslations_currentdomain").value.trim(),t=document.getElementById("migratetranslations_newdomain").value.trim();if(!e||!t)return void alert("Please enter both domains.");const n=new FormData;n.append("action","gptranslate_migrate_translations"),n.append("old_domain",e),n.append("new_domain",t),n.append("_wpnonce",gptranslate_vars.nonce),fetch(gptranslate_vars.ajaxurl,{method:"POST",body:n}).then((e=>e.json())).then((e=>{const t=document.createElement("div");if(t.className="notice is-dismissible",e.success)t.classList.add("notice-success"),t.innerHTML="<p>"+PLG_GPTRANSLATE_MIGRATION_SUCCESS+"</p>",document.querySelector("#wpcontent").prepend(t),setTimeout((()=>{window.location.reload()}),1500);else{t.classList.add("notice-error");const n=e.data||PLG_GPTRANSLATE_UNKNOWN_ERROR;t.innerHTML="<p>"+PLG_GPTRANSLATE_MIGRATION_FAILED+": "+n+"</p>",document.querySelector("#wpcontent").prepend(t)}})).catch((()=>{const e=document.createElement("div");e.className="notice notice-error is-dismissible",e.innerHTML="<p>"+PLG_GPTRANSLATE_NETWORK_ERROR+"</p>",document.querySelector("#wpcontent").prepend(e)}))})),document.getElementById("bulk-delete-btn").addEventListener("click",(function(){const e=Array.from(document.querySelectorAll('input[name="gptid[]"]:checked')).map((e=>e.value));if(0===e.length)return void alert(PLG_GPTRANSLATE_BULK_DELETE_SELECT_ONE);if(!confirm(PLG_GPTRANSLATE_BULK_DELETE_CONFIRM))return;const t=new FormData;t.append("action","gptranslate_bulk_delete"),t.append("_wpnonce",gptranslate_vars.deletenonce),e.forEach((e=>t.append("gptid[]",e))),fetch(gptranslate_vars.ajaxurl,{method:"POST",body:t}).then((e=>e.json())).then((e=>{const t=document.createElement("div");t.className="notice is-dismissible",e.success?(t.classList.add("notice-success"),t.innerHTML="<p>"+PLG_GPTRANSLATE_BULK_DELETE_SUCCESS+"</p>",document.querySelector("#wpcontent").prepend(t),setTimeout((()=>{window.location.href=window.location.origin+window.location.pathname+"?page=gptranslate"}),250)):(t.classList.add("notice-error"),t.innerHTML="<p>"+PLG_GPTRANSLATE_BULK_DELETE_ERROR+": "+(e.data||PLG_GPTRANSLATE_UNKNOWN_ERROR)+"</p>",document.querySelector("#wpcontent").prepend(t))})).catch((()=>{const e=document.createElement("div");e.className="notice notice-error is-dismissible",e.innerHTML="<p>"+PLG_GPTRANSLATE_BULK_DELETE_NETWORK+"</p>",document.querySelector("#wpcontent").prepend(e)}))})));document.querySelectorAll(".wrapper").forEach((function(e){e.addEventListener("click",(function(t){if(t.isSynthetic)return;if("INPUT"===t.target.tagName)return;t.preventDefault();const n=e.querySelectorAll('input[type="radio"]'),a=e.querySelector('input[type="radio"]:checked');n.forEach((function(e){if(e!==a){e.checked=!0;const t=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});t.isSynthetic=!0,e.dispatchEvent(t);const n=new Event("change",{bubbles:!0});n.isSynthetic=!0,e.dispatchEvent(n)}}))}))}));const p=document.getElementById("gptranslate-start-crawler");p&&p.addEventListener("click",(function(e){e.preventDefault(),p.disabled=!0,p.classList.add("disabled");const t=document.querySelector("input.button-crawler");t&&t.click(),setTimeout((function(){document.getElementById("crawler_dialog")&&setTimeout((function(){const e=document.getElementById("start_analysis");e&&e.click()}),100)}),100)}));const g=document.getElementById("gpt-rate-btn");if(g){const ae=document.querySelector("h1:has(.gptranslate-plugin-icon)");ae&&(ae.appendChild(g),g.style.display="block")}}));