Formulaire jury BUT: vérifie sortie sans enregistrement (JS) #425

This commit is contained in:
Emmanuel Viennet 2022-12-25 16:40:05 -03:00 committed by iziram
parent c98df4529e
commit bbcd6d7b33
2 changed files with 13 additions and 37 deletions

View File

@ -71,53 +71,29 @@ $(function () {
} else { } else {
document.querySelector("div.prev").innerHTML = ""; document.querySelector("div.prev").innerHTML = "";
} }
if (next_idx != -1) {
let elem = document.querySelector("div.next a");
if (elem) {
elem.href = elem.href.replace("NEXT", etudids[next_idx]);
elem.innerHTML = noms[next_idx];
}
} else {
document.querySelector("div.next").innerHTML = "";
}
} else {
// Supprime les liens de navigation
document.querySelector("div.prev").innerHTML = "";
document.querySelector("div.next").innerHTML = "";
}
}); });
// ----- Etat du formulaire jury pour éviter sortie sans enregistrer // ----- Etat du formulaire jury pour éviter sortie sans enregistrer
let FORM_STATE = ""; let FORM_STATE = "";
let IS_SUBMITTING = false;
// Une chaine décrivant l'état du form // Une chaine décrivant l'état du form
function get_form_state() { function get_form_state() {
let codes = []; let codes = [];
// il n'y a que des <select> // il n'y a que des <select>
document.querySelectorAll("select").forEach((sel) => codes.push(sel.value)); document.querySelectorAll("select").forEach(sel => codes.push(sel.value));
return codes.join(); return codes.join();
} }
$("document").ready(function () { $('document').ready(function () {
FORM_STATE = get_form_state(); FORM_STATE = get_form_state();
document
.querySelector("form#jury_but")
.addEventListener("submit", jury_form_submit);
}); });
function is_modified() { function is_modified() {
return FORM_STATE != get_form_state(); return FORM_STATE != get_form_state();
} }
function jury_form_submit(event) {
IS_SUBMITTING = true;
}
window.addEventListener("beforeunload", function (e) { window.addEventListener("beforeunload", function (e) {
if (!IS_SUBMITTING && is_modified()) { if (is_modified()) {
var confirmationMessage = "Changements non enregistrés !"; var confirmationMessage = 'Changements non enregistrés !';
(e || window.event).returnValue = confirmationMessage; (e || window.event).returnValue = confirmationMessage;
return confirmationMessage; return confirmationMessage;
} }
}); });

View File

@ -1,7 +1,7 @@
# -*- mode: python -*- # -*- mode: python -*-
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
SCOVERSION = "9.4.7" SCOVERSION = "9.4.20"
SCONAME = "ScoDoc" SCONAME = "ScoDoc"