96 lines
3.8 KiB
JavaScript
96 lines
3.8 KiB
JavaScript
/*
|
|
██ ███ ██ ████████ ██████ ██████
|
|
██ ████ ██ ██ ██ ██ ██ ██
|
|
██ ██ ██ ██ ██ ██████ ██ ██
|
|
██ ██ ██ ██ ██ ██ ██ ██ ██
|
|
██ ██ ████ ██ ██ ██ ██████
|
|
*/
|
|
function registerIntroView(introName) {
|
|
$.post(`https://${resName}/registerIntroView`, JSON.stringify({introName}));
|
|
}
|
|
|
|
async function hasIntroBeenViewed(introName) {
|
|
return await $.post(`https://${resName}/hasIntroBeenViewed`, JSON.stringify({introName}));
|
|
}
|
|
|
|
|
|
/*
|
|
███ ██ ██████ ████████ ██ ███████ ██ ██████ █████ ████████ ██ ██████ ███ ██ ███████
|
|
████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██
|
|
██ ██ ██ ██ ██ ██ ██ █████ ██ ██ ███████ ██ ██ ██ ██ ██ ██ ██ ███████
|
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
|
|
██ ████ ██████ ██ ██ ██ ██ ██████ ██ ██ ██ ██ ██████ ██ ████ ███████
|
|
*/
|
|
|
|
const cssLink = document.createElement("link");
|
|
cssLink.href = "../utils/dialogs/misc/misc.css";
|
|
cssLink.rel = "stylesheet";
|
|
cssLink.type = "text/css";
|
|
|
|
document.head.appendChild(cssLink);
|
|
|
|
async function showServerResponse(response) {
|
|
if(response == null) return;
|
|
|
|
if(response === true) {
|
|
swal("SUCCESS", "", "success");
|
|
|
|
} else {
|
|
swal("ERROR", response || "", "error");
|
|
}
|
|
}
|
|
|
|
async function confirmDeletion(message) {
|
|
const wantsToDelete = await swal({
|
|
title: getLocalizedText("menu:are_you_sure"),
|
|
text: message,
|
|
icon: "warning",
|
|
buttons: true,
|
|
dangerMode: true,
|
|
});
|
|
return wantsToDelete;
|
|
}
|
|
|
|
/*
|
|
███████ ██████ ██████ ███ ███ ███████
|
|
██ ██ ██ ██ ██ ████ ████ ██
|
|
█████ ██ ██ ██████ ██ ████ ██ ███████
|
|
██ ██ ██ ██ ██ ██ ██ ██ ██
|
|
██ ██████ ██ ██ ██ ██ ███████
|
|
*/
|
|
|
|
function isThereAnyErrorInForm(event) {
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
|
|
if (!event.target.checkValidity()) {
|
|
const invalidInputs = $(event.target).find(':invalid');
|
|
if (invalidInputs.length > 0) {
|
|
const firstInvalidInput = invalidInputs.first();
|
|
firstInvalidInput.focus();
|
|
}
|
|
|
|
$(event.target).addClass('was-validated')
|
|
|
|
swal("ERROR", `There are ${invalidInputs.length} invalid fields somewhere!`, "error");
|
|
|
|
return true;
|
|
} else {
|
|
// The timeout is needed because otherwise the was-validated class is added afterwards by the theme .js
|
|
setTimeout(() => {
|
|
$(event.target).removeClass("was-validated");
|
|
}, 0);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function setTomSelectValue(id, value) {
|
|
// If id starts with #, remove it
|
|
if(id[0] == "#") id = id.substring(1);
|
|
|
|
let select = document.getElementById(id);
|
|
let control = select.tomselect;
|
|
if(!control) return;
|
|
|
|
control.setValue(value);
|
|
}
|