mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-08-10 07:11:18 +02:00
Expose tag/langue/motscles JS functions on window to survive ESM tree-shaking
This commit is contained in:
@@ -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") {
|
||||
|
||||
@@ -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") {
|
||||
|
||||
@@ -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") {
|
||||
|
||||
@@ -67,7 +67,7 @@ function tagsCancelRename(id) {
|
||||
<p>Supprimer « <strong id="delete-tag-name"></strong> » ? Cette action est irréversible.</p>
|
||||
</div>
|
||||
<div class="admin-dialog__footer">
|
||||
<button type="button" class="btn btn--danger" onclick="this.closest('dialog').close(); _submitPendingTagForm()">Supprimer</button>
|
||||
<button type="button" class="btn btn--danger" onclick="this.closest('dialog').close(); submitPendingTagForm()">Supprimer</button>
|
||||
<button type="button" class="btn btn--secondary" onclick="this.closest('dialog').close()">Annuler</button>
|
||||
</div>
|
||||
</dialog>
|
||||
|
||||
Reference in New Issue
Block a user