Files
InfantrySkillCalculator/static/dialogs.js
2024-01-25 15:18:12 +01:00

62 lines
1.7 KiB
JavaScript

const swalClasses = {
container: 'text-center',
confirmButton: 'btn btn-lg btn-primary',
cancelButton: 'btn btn-lg btn-secondary ms-3',
denyButton: 'btn btn-lg btn-secondary ms-3',
popup: 'border p-5',
title: 'fs-2',
inputLabel: 'fs-5 text-secondary-emphasis',
htmlContainer: 'fs-5 text-center text-secondary-emphasis',
};
function showAdminActionExecutedDialog(xhr, method) {
Swal.fire({
title: 'Action executed',
text: xhr.response,
icon: xhr.status === 200 ? 'success' : 'error'
}).then(() => {
if (method === "delete") {
location.reload();
}
});
}
function confirmAndTrigger(btn) {
Swal.fire({
title: btn.innerText,
text: 'Do you want to continue?',
confirmButtonText: 'Yes',
confirmButtonColor: '#dd6b55',
denyButtonColor: '#3085d6',
icon: 'warning',
showDenyButton: true,
customClass: swalClasses,
buttonsStyling: false
}).then((result) => {
if (result.isConfirmed) {
htmx.trigger(btn, 'confirmed', null);
}
});
}
function createCodeDialog(btn) {
Swal.fire({
title: btn.innerText,
input: 'select',
inputOptions: {
'READER': 'Reader',
'AUTHOR': 'Author',
'ADMIN': 'Admin'
},
inputPlaceholder: 'Select a role',
confirmButtonText: 'Generate',
showCancelButton: true,
customClass: swalClasses,
buttonsStyling: false
}).then((result) => {
if (result.isConfirmed) {
btn.setAttribute('hx-vals', '{"user_role": "' + result.value + '"}');
htmx.trigger(btn, 'confirmed', null);
}
});
}