diff --git a/app/public/assets/js/app/admin-contenus-langues.js b/app/public/assets/js/app/admin-contenus-langues.js index 0be5f0d..bbc5502 100644 --- a/app/public/assets/js/app/admin-contenus-langues.js +++ b/app/public/assets/js/app/admin-contenus-langues.js @@ -7,22 +7,25 @@ */ var _languesPendingForm = null; -function _languesConfirmDelete(btn, name) { +function languesConfirmDelete(btn, name) { _languesPendingForm = btn.closest("form"); document.getElementById("langues-delete-name").textContent = name; document.getElementById("langues-delete-dialog").showModal(); } +window.languesConfirmDelete = languesConfirmDelete; -function _languesSubmitPending() { +function languesSubmitPending() { if (_languesPendingForm) _languesPendingForm.submit(); } +window.languesSubmitPending = languesSubmitPending; -function _languesToggleAll(src) { +function languesToggleAll(src) { document.querySelectorAll('input[name="selected_langs[]"]').forEach((cb) => { cb.checked = src.checked; }); languesUpdateBulk(); } +window.languesToggleAll = languesToggleAll; function languesUpdateBulk() { var n = document.querySelectorAll( @@ -41,15 +44,17 @@ function languesUpdateBulk() { wrap.style.setProperty("--sticky-top", "0px"); } } +window.languesUpdateBulk = languesUpdateBulk; -function _languesCancelSelection() { +function languesCancelSelection() { document.querySelectorAll('input[name="selected_langs[]"]').forEach((cb) => { cb.checked = false; }); languesUpdateBulk(); } +window.languesCancelSelection = languesCancelSelection; -function _languesConfirmBulkDelete() { +function languesConfirmBulkDelete() { var checked = document.querySelectorAll( 'input[name="selected_langs[]"]:checked', ); @@ -58,8 +63,9 @@ function _languesConfirmBulkDelete() { checked.length; document.getElementById("langues-bulk-delete-dialog").showModal(); } +window.languesConfirmBulkDelete = languesConfirmBulkDelete; -function _languesExecBulkDelete() { +function languesExecBulkDelete() { var container = document.getElementById("langues-bulk-checkboxes"); container.innerHTML = ""; document @@ -77,8 +83,9 @@ function _languesExecBulkDelete() { document.getElementById("langues-bulk-delete-dialog").close(); document.getElementById("langues-bulk-form").submit(); } +window.languesExecBulkDelete = languesExecBulkDelete; -function _languesConfirmBulkMerge() { +function languesConfirmBulkMerge() { var checked = document.querySelectorAll( 'input[name="selected_langs[]"]:checked', ); @@ -98,8 +105,9 @@ function _languesConfirmBulkMerge() { }); document.getElementById("langues-bulk-merge-dialog").showModal(); } +window.languesConfirmBulkMerge = languesConfirmBulkMerge; -function _languesExecBulkMerge() { +function languesExecBulkMerge() { var targetId = document.getElementById( "langues-bulk-merge-target-select", ).value; @@ -119,6 +127,7 @@ function _languesExecBulkMerge() { document.getElementById("langues-bulk-merge-dialog").close(); document.getElementById("langues-bulk-form").submit(); } +window.languesExecBulkMerge = languesExecBulkMerge; document.addEventListener("htmx:afterSwap", (evt) => { if (evt.target.id === "langues-table-wrap") { diff --git a/app/public/assets/js/app/admin-contenus-motscles.js b/app/public/assets/js/app/admin-contenus-motscles.js index b8ae124..05a72ec 100644 --- a/app/public/assets/js/app/admin-contenus-motscles.js +++ b/app/public/assets/js/app/admin-contenus-motscles.js @@ -7,22 +7,25 @@ */ var _motsclesPendingForm = null; -function _motsclesConfirmDelete(btn, name) { +function motsclesConfirmDelete(btn, name) { _motsclesPendingForm = btn.closest("form"); document.getElementById("motscles-delete-name").textContent = name; document.getElementById("motscles-delete-dialog").showModal(); } +window.motsclesConfirmDelete = motsclesConfirmDelete; -function _motsclesSubmitPending() { +function motsclesSubmitPending() { if (_motsclesPendingForm) _motsclesPendingForm.submit(); } +window.motsclesSubmitPending = motsclesSubmitPending; -function _motsclesToggleAll(src) { +function motsclesToggleAll(src) { document.querySelectorAll('input[name="selected_tags[]"]').forEach((cb) => { cb.checked = src.checked; }); motsclesUpdateBulk(); } +window.motsclesToggleAll = motsclesToggleAll; function motsclesUpdateBulk() { var n = document.querySelectorAll( @@ -41,8 +44,9 @@ function motsclesUpdateBulk() { wrap.style.setProperty("--sticky-top", "0px"); } } +window.motsclesUpdateBulk = motsclesUpdateBulk; -function _motsclesConfirmBulkMerge() { +function motsclesConfirmBulkMerge() { var checked = document.querySelectorAll( 'input[name="selected_tags[]"]:checked', ); @@ -62,8 +66,9 @@ function _motsclesConfirmBulkMerge() { }); document.getElementById("motscles-bulk-merge-dialog").showModal(); } +window.motsclesConfirmBulkMerge = motsclesConfirmBulkMerge; -function _motsclesExecBulkMerge() { +function motsclesExecBulkMerge() { var targetId = document.getElementById( "motscles-bulk-merge-target-select", ).value; @@ -83,15 +88,17 @@ function _motsclesExecBulkMerge() { document.getElementById("motscles-bulk-merge-dialog").close(); document.getElementById("motscles-bulk-form").submit(); } +window.motsclesExecBulkMerge = motsclesExecBulkMerge; -function _motsclesCancelSelection() { +function motsclesCancelSelection() { document.querySelectorAll('input[name="selected_tags[]"]').forEach((cb) => { cb.checked = false; }); motsclesUpdateBulk(); } +window.motsclesCancelSelection = motsclesCancelSelection; -function _motsclesConfirmBulkDelete() { +function motsclesConfirmBulkDelete() { var checked = document.querySelectorAll( 'input[name="selected_tags[]"]:checked', ); @@ -100,8 +107,9 @@ function _motsclesConfirmBulkDelete() { checked.length; document.getElementById("motscles-bulk-delete-dialog").showModal(); } +window.motsclesConfirmBulkDelete = motsclesConfirmBulkDelete; -function _motsclesExecBulkDelete() { +function motsclesExecBulkDelete() { var container = document.getElementById("motscles-bulk-checkboxes"); container.innerHTML = ""; document @@ -119,6 +127,7 @@ function _motsclesExecBulkDelete() { document.getElementById("motscles-bulk-delete-dialog").close(); document.getElementById("motscles-bulk-form").submit(); } +window.motsclesExecBulkDelete = motsclesExecBulkDelete; document.addEventListener("htmx:afterSwap", (evt) => { if (evt.target.id === "motscles-table-wrap") { diff --git a/app/public/assets/js/app/admin-tags.js b/app/public/assets/js/app/admin-tags.js index 34b08c4..b9d4d62 100644 --- a/app/public/assets/js/app/admin-tags.js +++ b/app/public/assets/js/app/admin-tags.js @@ -2,20 +2,18 @@ * admin-tags.js — Tags/mots-clés admin page: bulk selection, merge, delete, and * HTMX-reloaded attachment. * - * Exported globals: tagsToggleAll, tagsUpdateBulk, tagsConfirmBulkMerge, - * tagsExecBulkMerge, tagsConfirmDelete, _submitPendingTagForm. - * * Inline-rename functions (tagsStartRename, tagsCancelRename) remain in the * template because they embed PHP-generated icon SVGs. */ var _pendingTagForm = null; -function _tagsToggleAll(src) { +function tagsToggleAll(src) { document.querySelectorAll('input[name="selected_tags[]"]').forEach((cb) => { cb.checked = src.checked; }); tagsUpdateBulk(); } +window.tagsToggleAll = tagsToggleAll; function tagsUpdateBulk() { var n = document.querySelectorAll( @@ -25,8 +23,9 @@ function tagsUpdateBulk() { document.getElementById("tags-bulk-actions").style.display = n > 1 ? "flex" : "none"; } +window.tagsUpdateBulk = tagsUpdateBulk; -function _tagsConfirmBulkMerge() { +function tagsConfirmBulkMerge() { var checked = document.querySelectorAll( 'input[name="selected_tags[]"]:checked', ); @@ -45,8 +44,9 @@ function _tagsConfirmBulkMerge() { }); document.getElementById("bulk-merge-dialog").showModal(); } +window.tagsConfirmBulkMerge = tagsConfirmBulkMerge; -function _tagsExecBulkMerge() { +function tagsExecBulkMerge() { var targetId = document.getElementById("bulk-merge-target-select").value; if (!targetId) return; document.getElementById("tags-bulk-target").value = targetId; @@ -64,16 +64,19 @@ function _tagsExecBulkMerge() { document.getElementById("bulk-merge-dialog").close(); document.getElementById("tags-bulk-form").submit(); } +window.tagsExecBulkMerge = tagsExecBulkMerge; -function _tagsConfirmDelete(btn, name) { +function tagsConfirmDelete(btn, name) { _pendingTagForm = btn.closest("form"); document.getElementById("delete-tag-name").textContent = name; document.getElementById("delete-tag-dialog").showModal(); } +window.tagsConfirmDelete = tagsConfirmDelete; -function _submitPendingTagForm() { +function submitPendingTagForm() { if (_pendingTagForm) _pendingTagForm.submit(); } +window.submitPendingTagForm = submitPendingTagForm; document.addEventListener("htmx:afterSwap", (evt) => { if (evt.target.id === "tags-table-wrap") { diff --git a/app/templates/admin/tags.php b/app/templates/admin/tags.php index 651ed3b..c51d5fd 100644 --- a/app/templates/admin/tags.php +++ b/app/templates/admin/tags.php @@ -67,7 +67,7 @@ function tagsCancelRename(id) {
Supprimer « » ? Cette action est irréversible.