mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
Created templates/partials/form/form.php as the unified form template driven by
$mode ('add'|'edit'|'partage') and boolean flags for optional sections.
The three calling templates (templates/admin/add.php, templates/admin/edit.php,
partage/index.php renderShareLinkForm) now only set variables then include the
shared partial. ~200 lines of duplicated fieldset HTML eliminated.
26 lines
810 B
JavaScript
26 lines
810 B
JavaScript
/**
|
|
* Beforeunload guard — prompts the user before navigating away from unsaved changes.
|
|
*
|
|
* Attach to any form with a data-beforeunload-guard attribute.
|
|
* No effect when JavaScript is unavailable (form posts normally).
|
|
*/
|
|
(function () {
|
|
var forms = document.querySelectorAll('form[data-beforeunload-guard]');
|
|
if (!forms.length) return;
|
|
|
|
var dirty = false;
|
|
|
|
for (var i = 0; i < forms.length; i++) {
|
|
var form = forms[i];
|
|
form.addEventListener('input', function () { dirty = true; });
|
|
form.addEventListener('change', function () { dirty = true; });
|
|
form.addEventListener('submit', function () { dirty = false; });
|
|
}
|
|
|
|
window.addEventListener('beforeunload', function (e) {
|
|
if (dirty) {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
})();
|