mercury_editor-2.0.x-dev/build/js/autosave.min.js
build/js/autosave.min.js
!function(){"use strict";((e,t,a)=>{let n=!1;function r(e){document.body.classList.toggle("me-ajaxing",e),n=e}a(document).on("ajaxStart",(()=>r(!0))),a(document).on("ajaxComplete",(()=>r(!1)));let o=!1;function l(a){e.detachBehaviors(a,t,"serialize");let n=Object.fromEntries(new FormData(a).entries());return n=Object.fromEntries(Object.entries(n).filter((([,e])=>""!==e&&null!=e))),n=Object.keys(n).sort().reduce(((e,t)=>(e[t]=n[t],e)),{}),["form_build_id","form_id","form_token","tabs"].forEach((e=>{delete n[e]})),JSON.stringify(n)}window.addEventListener("message",(e=>{"layoutParagraphsEvent"===e.data.type&&("lpb-component:drag"===e.data.eventName&&(o=!0),"lpb-component:drop"===e.data.eventName&&(o=!1))}));let i=null,s=null;function u(){s||(s=setInterval((()=>{if(!n&&i&&!0===function(e){if(o||n||!t.ajaxPreviewPageState||!e.serializedData||e.hasAttribute("data-me-saving")||e.querySelector('input[type="file"][disabled]'))return!1;const a=l(e);return e.serializedData!==a&&(e.serializedData=a,!0)}(i)){const e=i.querySelector(".me-autosave-btn");e&&e.dispatchEvent(new Event("mousedown"))}}),500))}function c(){const e=document.querySelectorAll("form .me-autosave-btn");e.length>0?(i=e[e.length-1].closest("form"),i.serializedData||(i.serializedData=l(i)),i.classList.add("me-autosave"),u()):(i=null,s&&(clearInterval(s),s=null))}document.addEventListener("dialog:afterclose",(()=>{setTimeout(c,100)})),e.behaviors.mercuryEditorAutosave={attach(){document.querySelectorAll(".me-autosave-form")&&c()}}})(Drupal,drupalSettings,jQuery,once,Drupal.debounce)}();
