1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| class Reservation {
constructor() {
this.secs = 1200;
this.mydivTimer = document.getElementById("timer");
this.launchCount = false;
this.boutonEnvoi = document.getElementById("bouton_envoi");
this.champNom = document.getElementById("nom");
this.champPrenom = document.getElementById("prenom");
this.divReservation = document.getElementById("reservation");
this.boutonEffacer = document.getElementById("erase");
this.boutonRetour = document.getElementById("retour");
this.boutonCancel = document.getElementById("cancel");
this.boutonReservation = document.getElementById("reserver");
this.maStation = document.getElementById("maStation");
this.infoStations = document.getElementById("infoStations");
this.infoReservation = document.getElementById("infoReservation");
this.textVeloV = document.getElementById("velovText");
this.canvas = document.getElementById("canvas");
this.lancementTimer = "";
this.storage();
this.timerOnLoad();
}
count() {
var that = this;
var mins = Math.floor(this.secs / 60);
var remsec = this.secs % 60;
mins %= 60;
this.secs -= 1
if (mins < 10) {
mins = "0" + mins;
}
if (remsec < 10) {
remsec = "0" + remsec;
}
if (this.secs < 0) {
clearInterval(this.lancementTimer);
this.mydivTimer.style.display = "none";
this.maStation.textContent = "Votre réservation a expiré, veuillez sélectionner une nouvelle station ! :)";
}
if (this.launchCount === false) {
this.launchCount = true;
this.lancementTimer = setInterval(this.count.bind(this), 1000);
}
this.mydivTimer.textContent = "Temps restant : " + mins + " : " + remsec;
sessionStorage.setItem("mins", mins);
sessionStorage.setItem("remsec", remsec);
}
storage() {
let that = this;
that.champNom.value = localStorage.getItem("nom");
that.champPrenom.value = localStorage.getItem("prenom");
this.boutonEnvoi.onclick = function () {
that.boutonEnvoi.style.display = "none";
that.boutonEffacer.style.display = "none";
that.boutonRetour.style.display = "none";
that.canvas.style.display = "block";
that.textVeloV.style.display = "none";
that.mydivTimer.style.display = "block";
that.maStation.style.display = "block";
let storageNom = localStorage.setItem("nom", that.champNom.value);
let storagePrenom = localStorage.setItem("prenom", that.champPrenom.value);
let index = document.getElementById("index").innerHTML;
var stations = JSON.parse(LeafletMap.listeStation);
sessionStorage.setItem("valeurTitreStation", stations[index].name);
sessionStorage.setItem("valeurEtatStation", stations[index].status);
sessionStorage.setItem("valeurAdresseStation", stations[index].address);
sessionStorage.setItem("valeurPlaceStation", stations[index].available_bike_stands);
sessionStorage.setItem("valeurVeloStation", stations[index].available_bikes);
that.maStation.textContent = "Vélo réservé à la station " + stations[index].name + " par " + that.champNom.value + " " + that.champPrenom.value + ".";
that.secs = 1200;
that.count();
}
}
timerOnLoad() {
var that = this;
window.addEventListener("load", function () {
if (sessionStorage.mins < 20) {
that.mydivTimer.style.visibility = "visible";
that.mydivTimer.textContent = " Votre vélo est toujours disponible à la station " + sessionStorage.valeurTitreStation + " pour une durée de : " + sessionStorage.mins + ":" + sessionStorage.remsec;
that.lancementTimer = setInterval(that.count, 1000);
}
});
}
}
let reservation = new Reservation(); |
Partager