1 line
4.6 KiB
JavaScript
1 line
4.6 KiB
JavaScript
function fcn_toggleInProgress(e,t=null){(t=null!==t?t:!e.disabled)?(e.dataset.enableWith=e.innerHTML,e.innerHTML=e.dataset.disableWith,e.disabled=!0,e.classList.add("disabled")):(e.innerHTML=e.dataset.enableWith,e.disabled=!1,e.classList.remove("disabled"))}function fcn_purgeSchema(e){const t=_$(`a[data-id="${e}"]`),a=t.closest(".row-actions");t.closest("tr").classList.add("no-schema"),a.remove(),fcn_ajaxPost({action:"fictioneer_ajax_purge_schema",nonce:document.getElementById("fictioneer_admin_nonce").value,post_id:e}).then((e=>{e.success||console.log(e.data)})).catch((e=>{console.log(e)}))}function fcn_purgeAllSchemas(e=0,t=null,a=0){const o=_$$("[data-action-purge-all-schemas]");null===t&&o.forEach((e=>{fcn_toggleInProgress(e,!0)})),fcn_ajaxPost({action:"fictioneer_ajax_purge_all_schemas",offset:e,nonce:document.getElementById("fictioneer_admin_nonce").value}).then((e=>{if(e.data.finished)o.forEach((e=>{fcn_toggleInProgress(e,!1)})),_$$("tr").forEach((e=>{e.classList.add("no-schema")}));else{const t=parseInt(a/Math.max(e.data.total,1)*100),n=t>0?` ${t} %`:"";o.forEach((e=>{e.innerHTML=e.dataset.disableWith+n})),fcn_purgeAllSchemas(e.data.next_offset,e.data.total,a+e.data.processed)}})).catch((e=>{console.log(e)}))}function fcn_delete_epub(e){fcn_ajaxPost({action:"fictioneer_ajax_delete_epub",name:e,nonce:document.getElementById("fictioneer_admin_nonce").value}).then((t=>{t.success?document.querySelector(`[data-action="delete-epub"][data-name="${e}"]`).closest("tr").remove():console.log(t)})).catch((e=>{console.log(e)}))}function fcn_ogMediaUpload(e){e.preventDefault();var t=wp.media({multiple:!1,library:{type:"image"}}).open().on("select",(function(){const e=t.state().get("selection").first().toJSON();_$$$("fictioneer-seo-og-image").value=e.id,_$$$("fictioneer-seo-og-display").setAttribute("src",e.url),_$$$("fictioneer-button-seo-og-image-remove").classList.remove("hidden"),_$(".og-source").classList.add("hidden")}))}function fcn_update_seo_title_chars(){const e=_$$$("fictioneer-seo-title");_$$$("fictioneer-seo-title-chars").innerHTML=`(${e.value.length}/70)`}function fcn_remove_seo_og_image(e){e.preventDefault();const t=_$$$("fictioneer-seo-og-display").dataset.placeholder;_$$$("fictioneer-seo-og-image").value="",_$$$("fictioneer-seo-og-display").setAttribute("src",t),_$$$("fictioneer-button-seo-og-image-remove").classList.add("hidden")}function fcn_confirmIt(e){const t=e.currentTarget.dataset.dialogMessage,a=e.currentTarget.dataset.dialogConfirm;if(!t||!a)return;const o=prompt(t);o?o.toLowerCase()!=a.toLowerCase()&&e.preventDefault():e.preventDefault()}_$$("[data-purge-schema]").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),fcn_purgeSchema(e.currentTarget.dataset.id)}))})),_$$("[data-action-purge-all-schemas]").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),fcn_purgeAllSchemas()}))})),_$$('[data-dialog-target="schema-dialog"]').forEach((e=>{e.addEventListener("click",(e=>{const t=_$('[data-target="schema-content"]');t.value=e.currentTarget.closest("tr").querySelector("[data-schema-id]").textContent,t.scrollTop=0,setTimeout((()=>{t.scrollTop=0}),10)}))})),_$$('[data-action="delete-epub"]').forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),fcn_delete_epub(e.target.dataset.name)}))})),(button=_$$$("fictioneer-button-og-upload"))&&button.addEventListener("click",fcn_ogMediaUpload),(button=_$$$("fictioneer-seo-title"))&&(fcn_update_seo_title_chars(),button.addEventListener("keyup",fcn_update_seo_title_chars)),(button=_$$$("fictioneer-button-seo-og-image-remove"))&&button.addEventListener("click",fcn_remove_seo_og_image),_$$("[data-confirm-dialog]").forEach((e=>{e.addEventListener("click",(e=>{fcn_confirmIt(e)}))})),_$("#wp-admin-bar-logout a")?.addEventListener("click",(()=>{localStorage.removeItem("fcnProfileAvatar"),localStorage.removeItem("fcnUserData"),localStorage.removeItem("fcnAuth"),localStorage.removeItem("fcnBookshelfContent"),localStorage.removeItem("fcnChapterBookmarks")})),_$(".fictioneer-settings")?.addEventListener("click",(e=>{const t=e.target.closest("[data-click]"),a=t?.dataset.click;if(a)switch(a){case"purge-all-epubs":case"purge-all-schemas":case"purge-all-meta":case"reset-post-relationship-registry":confirm(t.dataset.prompt)||e.preventDefault()}})),_$$("[data-dialog-target]").forEach((e=>{e.addEventListener("click",(e=>{_$$$(e.currentTarget.dataset.dialogTarget)?.showModal()}))})),_$$('button[formmethod="dialog"][value="cancel"]').forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),e.currentTarget.closest("dialog").close()}))})),_$$("dialog").forEach((e=>{e.addEventListener("mousedown",(e=>{"dialog"===e.target.tagName.toLowerCase()&&e.target.close()}))})); |