163 lines
7.4 KiB
JavaScript
Vendored
163 lines
7.4 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);
|
|
}
|
|
}
|
|
});
|
|
|
|
document
|
|
.querySelector(".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%";
|
|
});
|
|
|
|
document
|
|
.querySelector(".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;
|
|
});
|
|
|
|
// Appel AJAX et traitement de la réponse pour la traçabilité
|
|
document
|
|
.querySelector(".btnTracaBreeder")
|
|
.addEventListener("click", function(event) {
|
|
if (
|
|
document.getElementById("code_traceability").value.length === 10
|
|
) {
|
|
document.getElementById("erreur-traca").style.transform =
|
|
"scaleY(0)";
|
|
|
|
let xhttp = new XMLHttpRequest();
|
|
|
|
xhttp.onreadystatechange = function() {
|
|
if (this.readyState === 4) {
|
|
if (this.status === 200) {
|
|
// Code a mettre dans la vue
|
|
let res = JSON.parse(this.responseText);
|
|
switch (res.code) {
|
|
case 200:
|
|
// Cas OK
|
|
if (typeof res.redirect !== "undefined") {
|
|
let url =
|
|
'{{ route("ocb.breeders", ":slug") }}';
|
|
url = url.replace(
|
|
":slug",
|
|
res.redirect
|
|
);
|
|
window.location.href(url);
|
|
}
|
|
|
|
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.nom_eleveur +
|
|
" " +
|
|
res.breeder.prenom;
|
|
document.getElementById(
|
|
"traca-desc"
|
|
).innerHTML =
|
|
"Éleveur de volailles Le Gaulois à " +
|
|
res.breeder.ville +
|
|
" (" +
|
|
res.breeder.code_postal.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;
|
|
}
|
|
} else {
|
|
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 =
|
|
"";
|
|
}
|
|
}
|
|
};
|
|
xhttp.open(
|
|
"GET",
|
|
route("brand.traceability-search") +
|
|
"?code=" +
|
|
document.getElementById("code_traceability").value,
|
|
true
|
|
);
|
|
xhttp.send();
|
|
} else {
|
|
document.getElementById("erreur-traca").style.transform =
|
|
"scaleY(1)";
|
|
}
|
|
});
|
|
|
|
document
|
|
.querySelector(".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;
|
|
});
|
|
}
|