PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.8
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.8
4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 All 139 releases
learnpress / assets / js / admin / webhooks.min.js

webhooks.min.js in LearnPress – WordPress LMS Plugin for Create and Sell Online Courses 4.4.8, at assets/js/admin/webhooks.min.js

1 lines 6.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import SweetAlert from"sweetalert2";import*as lpUtils from"../utils.js";!function(){"use strict";const e=window.lpWebhooksSettings||{};if(!e.is_webhook_section)return;const t=window.lpAJAXG;if(!t||"function"!=typeof t.fetchAJAX)return;const o=e.actions||{},l=e.i18n||{},r=document.querySelector("#lp-webhook-id"),s=document.querySelector("#lp-webhook-name"),c=document.querySelector("#lp-webhook-delivery-url"),a=document.querySelector("#lp-webhook-secret"),n=document.querySelector("#lp-webhook-status"),i=document.querySelector("#lp-webhook-events"),u=document.querySelector("#lp-webhook-submit"),d=document.querySelector("#lp-webhook-cancel"),p=document.querySelector("#lp-webhook-regenerate-editor"),h=document.querySelector("#lp-webhook-editor-title"),w=document.querySelector("#lp-webhook-editor-holder"),y=document.querySelector("#lp-webhook-editor"),b=document.querySelector("#lp-webhook-editor-fields"),f=document.querySelector("#lp-webhook-editor-actions"),k=document.querySelector("#lp-webhook-status-message"),m=document.querySelector("#lp-webhook-secret-reveal"),v=document.querySelector("#lp-webhook-secret-value");let q=!0;const g=()=>i?.tomselect||i?.tomSelectInstance||null,S=(e="",t=!1)=>{k&&(k.textContent=e,k.style.color=t?"#b32d2e":"#1e1e1e")},_=e=>{u&&(u.disabled=!!e||q,u.classList.toggle("loading",!!e))},C=e=>{q=!!e,[s,c,a,n,i,u,d,p].forEach(e=>{e&&(e.disabled=q)});const t=g();t&&(q&&"function"==typeof t.disable?t.disable():"function"==typeof t.enable&&t.enable()),u?.classList.contains("loading")&&(u.disabled=!0)},A=(e=!1)=>{a&&(a.placeholder=e?l.secret_edit_placeholder||"Leave blank to keep the current secret.":l.secret_create_placeholder||"Leave blank to auto-generate a secret.")},B=(e=!0)=>{b&&(b.style.display=e?"":"none"),f&&(f.style.display=""),e||[u,d,p].forEach(e=>{e&&(e.style.display="none")})},x=()=>{m&&(m.style.display="none"),v&&(v.value="")},I=e=>{e&&m&&v&&(v.value=e,m.style.display="block")},R=()=>{y&&w&&SweetAlert.fire({html:'<div id="lp-webhook-editor-popup"></div>',width:860,showConfirmButton:!1,showCloseButton:!0,showCancelButton:!1,focusConfirm:!1,customClass:{popup:"lp-webhook-editor-popup"},didOpen:()=>{const e="function"==typeof SweetAlert.getPopup?SweetAlert.getPopup():null,t=e?.querySelector("#lp-webhook-editor-popup");t&&(y.style.display="block",t.appendChild(y),i&&!g()&&"function"==typeof window.lpFindTomSelect&&window.lpFindTomSelect(),C(!1),s?.focus())},willClose:()=>{C(!0),y.style.display="none",w.appendChild(y)}})},W=()=>{"function"==typeof SweetAlert.close&&SweetAlert.close()},D=(e=[])=>{if(!i)return;const t=g();t?t.setValue(e,!0):i.querySelectorAll("option").forEach(t=>{t.selected=e.includes(t.value)})},P=()=>{if(!i)return[];const e=g();if(e){const t=e.getValue();return Array.isArray(t)?t:[t].filter(Boolean)}return Array.from(i.querySelectorAll("option:checked")).map(e=>e.value)},E=()=>{r&&(r.value="0"),s&&(s.value=""),c&&(c.value=""),a&&(a.value=""),A(),n&&(n.value="active"),h&&(h.textContent=l.create_title||"Create Webhook"),u&&(u.textContent=l.create_button||"Create Webhook",u.style.display=""),d&&(d.style.display="none"),p&&(p.style.display="none"),B(),D(),x(),S()},T=(e,o={})=>{t.fetchAJAX(e,{success:e=>{"function"==typeof o.success&&o.success(e)},error:e=>{"function"==typeof o.error&&o.error(e)},completed:()=>{"function"==typeof o.completed&&o.completed()}})},J=async()=>{const e=document.querySelector(".lp-webhook-list");if(e)try{const t=await fetch(window.location.href,{method:"GET",credentials:"same-origin",cache:"no-store"});if(!t.ok)return;const o=await t.text(),l=(new DOMParser).parseFromString(o,"text/html").querySelector(".lp-webhook-list");l&&e.replaceWith(l)}catch{}},L=e=>{e&&window.confirm(l.confirm_regenerate||"Regenerate this webhook secret?")&&(S(l.processing||"Processing..."),T({action:o.regenerate||"regenerate_webhook_secret",webhook_id:e},{success:e=>{const t=e?.message||l.request_failed||"Request failed.";S(t,"success"!==e?.status),"success"===e?.status&&(I(e?.data?.secret||""),J())},error:()=>S(l.request_failed||"Request failed.",!0)}))};lpUtils.eventHandlers("click",[{selector:"#lp-webhook-open-create",callBack:e=>{const{e:t}=e;t.preventDefault(),E(),R()}},{selector:".lp-webhook-edit",callBack:e=>{const{e:t,target:o}=e;t.preventDefault();const i=o.closest(".lp-webhook-edit");try{(w=JSON.parse(i.dataset.webhook||"{}"))&&(r&&(r.value=w.webhook_id||0),s&&(s.value=w.name||""),c&&(c.value=w.delivery_url||""),a&&(a.value=""),A(!0),n&&(n.value=w.status||"active"),h&&(h.textContent=l.edit_title||"Edit Webhook"),u&&(u.textContent=l.update_button||"Update Webhook",u.style.display=""),d&&(d.style.display=""),p&&(p.style.display=""),B(),D(Array.isArray(w.events)?w.events:[]),x(),S(),R())}catch{S(l.request_failed||"Request failed.",!0)}var w}},{selector:".lp-webhook-delete",callBack:e=>{const{e:t,target:s}=e;t.preventDefault();const c=s.closest(".lp-webhook-delete");var a;(a=parseInt(c.dataset.webhookId,10)||0)&&window.confirm(l.confirm_delete||"Delete this webhook?")&&(S(l.processing||"Processing..."),T({action:o.delete||"delete_webhook",webhook_id:a},{success:e=>{const t=e?.message||l.request_failed||"Request failed.";S(t,"success"!==e?.status),"success"===e?.status&&(r&&parseInt(r.value,10)===a&&E(),J())},error:()=>S(l.request_failed||"Request failed.",!0)}))}},{selector:".lp-webhook-regenerate",callBack:e=>{const{e:t,target:o}=e;t.preventDefault();const l=o.closest(".lp-webhook-regenerate");L(parseInt(l.dataset.webhookId,10)||0)}},{selector:"#lp-webhook-submit",callBack:()=>{(()=>{if(!u||!s||!c)return;if(!s.reportValidity()||!c.reportValidity())return;const e=r&&parseInt(r.value,10)||0,t=e>0,i={action:t?o.update||"update_webhook":o.create||"create_webhook",webhook_id:e,name:s.value,delivery_url:c.value,secret:a?a.value:"",status:n?n.value:"active",events:P()};_(!0),S(l.processing||"Processing..."),T(i,{success:e=>{const o=e?.message||l.request_failed||"Request failed.";if("success"!==e?.status)return void S(o,!0);if(J(),t)return W(),void E();const r=e?.data?.webhook?.secret||"";E(),h&&(h.textContent=l.created_title||"Webhook Created"),B(!1),I(r),S(o),C(!0)},error:()=>S(l.request_failed||"Request failed.",!0),completed:()=>_(!1)})})()}},{selector:"#lp-webhook-cancel",callBack:()=>{E(),W()}},{selector:"#lp-webhook-regenerate-editor",callBack:()=>{L(r&&parseInt(r.value,10)||0)}},{selector:"#lp-webhook-copy-secret",callBack:()=>{(async()=>{if(v)try{navigator.clipboard?.writeText?await navigator.clipboard.writeText(v.value):(v.select(),document.execCommand("copy")),S(l.copy_success||"Copied.")}catch{S(l.copy_fallback||"Copy this value manually.")}})()}}]),A(),C(!0)}();