74 lines
No EOL
2.3 KiB
JavaScript
74 lines
No EOL
2.3 KiB
JavaScript
function initializeBootstrap() {
|
|
// tooltips
|
|
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
|
|
tooltipTriggerList.map(function(element){
|
|
return new bootstrap.Tooltip(element);
|
|
});
|
|
// popovers
|
|
let popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
|
|
let popoverList = popoverTriggerList.map(function(popoverTriggerEl) {
|
|
let popoverId = popoverTriggerEl.getAttribute('data-content-id');
|
|
let contentEl = document.getElementById(popoverId).innerHTML;
|
|
return new bootstrap.Popover(popoverTriggerEl, {
|
|
content: contentEl,
|
|
html: true,
|
|
});
|
|
})
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", function(){
|
|
initializeBootstrap()
|
|
});
|
|
|
|
function post_toast(url, reload, data) {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open("POST", url, true);
|
|
var form = new FormData()
|
|
form.append("formkey", formkey());
|
|
|
|
if(typeof data === 'object' && data !== null) {
|
|
for(let k of Object.keys(data)) {
|
|
form.append(k, data[k]);
|
|
}
|
|
}
|
|
|
|
|
|
form.append("formkey", formkey());
|
|
xhr.withCredentials=true;
|
|
|
|
xhr.onload = function() {
|
|
if (xhr.status >= 200 && xhr.status < 300) {
|
|
var myToast = new bootstrap.Toast(document.getElementById('toast-post-success'));
|
|
myToast.show();
|
|
try {
|
|
document.getElementById('toast-post-success-text').innerText = JSON.parse(xhr.response)["message"];
|
|
} catch(e) {
|
|
document.getElementById('toast-post-success-text').innerText = "Action successful!";
|
|
}
|
|
|
|
if (reload == 1) {location.reload(true)}
|
|
return true
|
|
|
|
} else if (xhr.status >= 300 && xhr.status < 400) {
|
|
window.location.href = JSON.parse(xhr.response)["redirect"]
|
|
} else {
|
|
try {
|
|
data=JSON.parse(xhr.response);
|
|
|
|
var myToast = new bootstrap.Toast(document.getElementById('toast-post-error'));
|
|
myToast.show();
|
|
document.getElementById('toast-post-error-text').innerText = data["error"];
|
|
return false
|
|
} catch(e) {
|
|
var myToast = new bootstrap.Toast(document.getElementById('toast-post-success'));
|
|
myToast.hide();
|
|
var myToast = new bootstrap.Toast(document.getElementById('toast-post-error'));
|
|
myToast.show();
|
|
return false
|
|
}
|
|
}
|
|
};
|
|
|
|
xhr.send(form);
|
|
|
|
} |