/** * VITEC SSR module: TYPO3 modal confirmation for the destructive / heavy * actions (Purge everything, Warm cache) instead of window.confirm. * A form opts in with data-confirm="text" (+ data-confirm-title, * data-confirm-ok, data-confirm-severity="danger|primary"). */ import Modal from '@typo3/backend/modal.js'; import Severity from '@typo3/backend/severity.js'; document.querySelectorAll('form[data-confirm]').forEach((form) => { form.addEventListener('submit', (event) => { if (form.dataset.confirmed === '1') { return; } event.preventDefault(); const danger = form.dataset.confirmSeverity === 'danger'; Modal.confirm( form.dataset.confirmTitle || 'Please confirm', form.dataset.confirm, danger ? Severity.error : Severity.warning, [ { text: 'Cancel', btnClass: 'btn-default', name: 'cancel', trigger: (e, modal) => modal.hideModal(), }, { text: form.dataset.confirmOk || 'Continue', btnClass: danger ? 'btn-danger' : 'btn-primary', name: 'ok', active: true, trigger: (e, modal) => { modal.hideModal(); form.dataset.confirmed = '1'; form.requestSubmit(); }, }, ], ); }); });