aboutsummaryrefslogtreecommitdiff
path: root/static/js/alert.js
blob: 4f9fc21d72b150ba16696120962ba4a8f30aa8f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function initAlerts() {
    document.querySelectorAll("[data-alert]").forEach(function (alert) {
        if (alert.dataset.alertInitialized) return;
        alert.dataset.alertInitialized = "true";

        var dismissButton = alert.querySelector("[data-alert-dismiss]");
        var autoTimeout = setTimeout(function () {
            dismissAlert(alert);
        }, 5000);

        if (dismissButton) {
            dismissButton.addEventListener("click", function () {
                clearTimeout(autoTimeout);
                dismissAlert(alert);
            });
        }
    });
}

function dismissAlert(alert) {
    alert.classList.add("dismissing");
    alert.addEventListener("animationend", function () {
        alert.remove();
    });
}

document.addEventListener("DOMContentLoaded", initAlerts);
document.body.addEventListener("htmx:afterSwap", initAlerts);