ldc-legaulois/resources/js/pages/traceability.js
2021-04-12 16:16:29 +02:00

140 lines
6.3 KiB
JavaScript
Vendored

if (document.querySelector(".traceability")) {
let route = require("../modules/route").default.methods.route;
document.addEventListener("DOMContentLoaded", function(event) {
let hash = window.location.hash;
if (hash !== undefined) {
if (hash === "#finder") {
window.scrollTo(0, document.getElementById("finder").offsetTop);
}
}
});
let btnTracaHowTo = document.querySelector(".btnTracaHowTo");
let btnTracaCloseHowTo = document.querySelector(".btnTracaCloseHowTo");
let btnTracaBreeder = document.querySelector(".btnTracaBreeder");
let btnCloseTracaBreeder = document.querySelector(".btnCloseTracaBreeder");
if (btnTracaHowTo) {
btnTracaHowTo.addEventListener("click", function (event) {
document.getElementById("img-traca").style.opacity = 0;
document.getElementById("img-etiquette").style.opacity = 1;
document.getElementById("img-etiquette").style.top = "5%";
});
}
if (btnTracaCloseHowTo) {
btnTracaCloseHowTo.addEventListener("click", function (event) {
document.getElementById("img-etiquette").style.top = "10%";
document.getElementById("img-etiquette").style.opacity = 0;
document.getElementById("img-traca").style.opacity = 1;
});
}
if (btnCloseTracaBreeder) {
btnCloseTracaBreeder.addEventListener("click", function (event) {
document.getElementById("result-traca").style.opacity = 0;
document.getElementById("result-traca").style.top = "20%";
document.getElementById("how-to").style.opacity = 1;
});
}
if (btnTracaBreeder) {
// Appel AJAX et traitement de la réponse pour la traçabilité
btnTracaBreeder.addEventListener("click", function (event) {
if (
document.getElementById("code_traceability").value.length === 10
) {
document.getElementById("erreur-traca").style.transform =
"scaleY(0)";
axios.get(
route("brand.traceability-search") +
"?code=" +
document.getElementById("code_traceability").value
).then(function (res) {
res = res.data;
switch (res.code) {
case 200:
// Cas OK
if (typeof res.redirect !== "undefined") {
window.location = route("ocb.breeders") + '/' + res.redirect;
return;
}
document.getElementById(
"how-to"
).style.opacity = 0;
document.getElementById(
"result-traca"
).style.opacity = 1;
document.getElementById(
"result-traca"
).style.top = 0;
document.getElementById(
"icon-traca"
).className = "icon-eleveur";
document.getElementById(
"traca-title"
).innerHTML = "Votre éleveur :";
document.getElementById(
"traca-name"
).innerHTML =
res.breeder.last_name +
" " +
res.breeder.first_name;
document.getElementById(
"traca-desc"
).innerHTML =
"Éleveur de volailles Le Gaulois à " +
(res.breeder.place ?? res.breeder.city) +
" (" +
res.breeder.postal_code.substring(
0,
2
) +
")";
break;
default:
document.getElementById(
"how-to"
).style.opacity = 0;
document.getElementById(
"result-traca"
).style.opacity = 1;
document.getElementById(
"result-traca"
).style.top = 0;
document.getElementById(
"icon-traca"
).className = "icon-close";
document.getElementById(
"traca-title"
).innerHTML = "Oups !";
document.getElementById(
"traca-name"
).innerHTML =
"Le numéro de ce produit ne correspond pas à un produit Le Gaulois";
document.getElementById(
"traca-desc"
).innerHTML = "";
break;
}
}).catch(function (error) {
document.getElementById("how-to").style.opacity = 0;
document.getElementById("result-traca").style.opacity = 1;
document.getElementById("result-traca").style.top = 0;
document.getElementById("icon-traca").className = "icon-close";
document.getElementById("traca-title").innerHTML = "Oups !";
document.getElementById("traca-name").innerHTML =
"Le numéro de ce produit ne correspond pas à un produit Le Gaulois";
document.getElementById("traca-desc").innerHTML = "";
console.error(error)
})
} else {
document.getElementById("erreur-traca").style.transform =
"scaleY(1)";
}
});
}
}