mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
236 lines
6.5 KiB
JavaScript
Executable File
236 lines
6.5 KiB
JavaScript
Executable File
// -----------------------------------------------------------------------------
|
|
// Modal dialog handling
|
|
// -----------------------------------------------------------------------------
|
|
var modalCallbackFunction = "";
|
|
|
|
function showModalOK(title, message, callbackFunction) {
|
|
showModalOk(title, message, callbackFunction);
|
|
}
|
|
function showModalOk(title, message, callbackFunction) {
|
|
// set captions
|
|
$("#modal-ok-title").html(title);
|
|
$("#modal-ok-message").html(message);
|
|
|
|
if (callbackFunction != null) {
|
|
$("#modal-ok-OK").click(function () {
|
|
callbackFunction();
|
|
});
|
|
}
|
|
|
|
// Show modal
|
|
$("#modal-ok").modal("show");
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function showModalDefault(title, message, btnCancel, btnOK, callbackFunction) {
|
|
// set captions
|
|
$("#modal-default-title").html(title);
|
|
$("#modal-default-message").html(message);
|
|
$("#modal-default-cancel").html(btnCancel);
|
|
$("#modal-default-OK").html(btnOK);
|
|
modalCallbackFunction = callbackFunction;
|
|
|
|
// Show modal
|
|
$("#modal-default").modal("show");
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
|
|
function showModalDefaultStrParam(
|
|
title,
|
|
message,
|
|
btnCancel,
|
|
btnOK,
|
|
callbackFunction,
|
|
param = ""
|
|
) {
|
|
// set captions
|
|
$("#modal-str-title").html(title);
|
|
$("#modal-str-message").html(message);
|
|
$("#modal-str-cancel").html(btnCancel);
|
|
$("#modal-str-OK").html(btnOK);
|
|
$("#modal-str-OK").off("click"); //remove existing handlers
|
|
$("#modal-str-OK").on("click", function () {
|
|
$("#modal-str").modal("hide");
|
|
callbackFunction(param);
|
|
});
|
|
|
|
// Show modal
|
|
$("#modal-str").modal("show");
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function showModalWarning(
|
|
title,
|
|
message,
|
|
btnCancel = getString("Gen_Cancel"),
|
|
btnOK = getString("Gen_Okay"),
|
|
callbackFunction = null
|
|
) {
|
|
// set captions
|
|
$("#modal-warning-title").html(title);
|
|
$("#modal-warning-message").html(message);
|
|
$("#modal-warning-cancel").html(btnCancel);
|
|
$("#modal-warning-OK").html(btnOK);
|
|
|
|
if (callbackFunction != null) {
|
|
modalCallbackFunction = callbackFunction;
|
|
}
|
|
|
|
// Show modal
|
|
$("#modal-warning").modal("show");
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function showModalInput(
|
|
title,
|
|
message,
|
|
btnCancel = getString("Gen_Cancel"),
|
|
btnOK = getString("Gen_Okay"),
|
|
callbackFunction = null
|
|
) {
|
|
prefix = "modal-input";
|
|
|
|
// set captions
|
|
$(`#${prefix}-title`).html(title);
|
|
$(`#${prefix}-message`).html(message);
|
|
$(`#${prefix}-cancel`).html(btnCancel);
|
|
$(`#${prefix}-OK`).html(btnOK);
|
|
|
|
if (callbackFunction != null) {
|
|
modalCallbackFunction = callbackFunction;
|
|
}
|
|
|
|
// Show modal
|
|
$(`#${prefix}`).modal("show");
|
|
|
|
setTimeout(function () {
|
|
$(`#${prefix}-textarea`).focus();
|
|
}, 500);
|
|
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function showModalFieldInput(
|
|
title,
|
|
message,
|
|
btnCancel = getString("Gen_Cancel"),
|
|
btnOK = getString("Gen_Okay"),
|
|
curValue = "",
|
|
callbackFunction = null
|
|
) {
|
|
// set captions
|
|
prefix = "modal-field-input";
|
|
|
|
$(`#${prefix}-title`).html(title);
|
|
$(`#${prefix}-message`).html(message);
|
|
$(`#${prefix}-cancel`).html(btnCancel);
|
|
$(`#${prefix}-OK`).html(btnOK);
|
|
|
|
if (callbackFunction != null) {
|
|
modalCallbackFunction = callbackFunction;
|
|
}
|
|
|
|
$(`#${prefix}-field`).val(curValue);
|
|
|
|
setTimeout(function () {
|
|
$(`#${prefix}-field`).focus();
|
|
}, 500);
|
|
|
|
// Show modal
|
|
$(`#${prefix}`).modal("show");
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function modalDefaultOK() {
|
|
// Hide modal
|
|
$("#modal-default").modal("hide");
|
|
|
|
// timer to execute function
|
|
window.setTimeout(function () {
|
|
window[modalCallbackFunction]();
|
|
}, 100);
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function modalDefaultInput() {
|
|
// Hide modal
|
|
$("#modal-input").modal("hide");
|
|
|
|
// timer to execute function
|
|
window.setTimeout(function () {
|
|
window[modalCallbackFunction]();
|
|
}, 100);
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function modalDefaultFieldInput() {
|
|
// Hide modal
|
|
$("#modal-field-input").modal("hide");
|
|
|
|
// timer to execute function
|
|
window.setTimeout(function () {
|
|
modalCallbackFunction();
|
|
}, 100);
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function modalWarningOK() {
|
|
// Hide modal
|
|
$("#modal-warning").modal("hide");
|
|
|
|
// timer to execute function
|
|
window.setTimeout(function () {
|
|
window[modalCallbackFunction]();
|
|
}, 100);
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function showMessage(textMessage = "") {
|
|
if (textMessage.toLowerCase().includes("error")) {
|
|
// show error
|
|
alert(textMessage);
|
|
} else {
|
|
// show temporal notification
|
|
$("#alert-message").html(textMessage);
|
|
$("#notification").fadeIn(1, function () {
|
|
window.setTimeout(function () {
|
|
$("#notification").fadeOut(500);
|
|
}, 3000);
|
|
});
|
|
}
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
function showTickerAnnouncement(textMessage = "") {
|
|
if (textMessage.toLowerCase().includes("error")) {
|
|
// show error
|
|
alert(textMessage);
|
|
} else {
|
|
// show permanent notification
|
|
$("#ticker-message").html(textMessage);
|
|
$("#tickerAnnouncement").removeClass("myhidden");
|
|
// Move the tickerAnnouncement element to ticker_announcement_plc
|
|
$("#tickerAnnouncement").appendTo("#ticker_announcement_plc");
|
|
}
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Keyboard bindings
|
|
// -----------------------------------------------------------------------------
|
|
|
|
$(document).ready(function () {
|
|
$(document).on("keydown", function (event) {
|
|
// ESC key is pressed
|
|
if (event.keyCode === 27) {
|
|
// Trigger modal dismissal
|
|
$(".modal").modal("hide");
|
|
}
|
|
|
|
// Enter key is pressed
|
|
if (event.keyCode === 13) {
|
|
$(".modal:visible").find(".btn-modal-submit").click(); // Trigger the click event of the OK button in visible modals
|
|
}
|
|
});
|
|
});
|