// -------------------------------------------------------- // Autostart // -------------------------------------------------------- "use strict"; var alertDivId = "alert-container" var alertTemplate = { ERROR: `
 
`, WARNING: `
 
`, SUCCESS: `
 
`, INFO: `
 
` } $(function(){ updateAlerts(); setInterval(function() { updateAlerts(); }, 3000); // 3 sec }); function updateAlerts() { fetch('/api/alert?action=poll') .then(response => response.json()) .then(data => { data.forEach(alert => { var alertElement = $("#alert-id-" + alert.id); if (alertElement.length <= 0) { alertElement = $(alertTemplate[alert.level]); $("#" + alertDivId).append(alertElement); alertElement.attr("id", "alert-id-" + alert.id); alertElement.data("alert-id", alert.id); alertElement.find(".close").click(dismissEvent); } alertElement.find(".alert-title").html(alert.title); alertElement.find(".alert-description").html(alert.description); }); }); } function dismissEvent(e) { dismissAlert($(e.target).parent().parent().data("alert-id")); } function dismissAlert(id) { fetch('/api/alert?action=dismiss&id=' + id) .then(response => response.json()) .then(data => { }); }