2024-10-09
This commit is contained in:
parent
a129d830cb
commit
336911df78
333 changed files with 5413 additions and 2967 deletions
|
|
@ -1,24 +1,29 @@
|
|||
import { r } from "./chunk-RU7WR4KH.D5j7HXCF.js";
|
||||
import { a as recupereElementsDocumentEither, r as recupereElementDocumentEither, p, b as propEither } from "./utils.js";
|
||||
import { u, a as recupereElementsDocumentEither, r as recupereElementDocumentEither, p, b as propEither } from "./utils.js";
|
||||
import { x } from "./chunk-7BKSRZNG.C39W3Wne.js";
|
||||
import { p as parse } from "./index.DD7qm8S6.js";
|
||||
import { R as ROUTE_API_RETIRE_ARTICLE_PANIER, b as ROUTE_API_MAJ_ARTICLE_PANIER } from "./api2.js";
|
||||
import { a as SELECTEUR_ENTREES_PANIER, b as SELECTEUR_CONTENEUR_PANIER, c as SELECTEUR_SOUS_TOTAL_PANIER, d as SELECTEUR_TOTAL_PANIER, e as SELECTEUR_BOUTON_SEPARATION_ADRESSES, f as SELECTEUR_FORMULAIRE_LIVRAISON, g as SELECTEUR_FORMULAIRE_FACTURATION, h as ATTRIBUT_CLE_PANIER, i as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, j as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, k as SELECTEUR_BOUTON_ADDITION_QUANTITE, l as SELECTEUR_BOUTON_SUPPRESSION_PANIER, A as ATTRIBUT_CONTIENT_ARTICLES, m as SELECTEUR_PRIX_LIGNE_PANIER, n as ATTRIBUT_HIDDEN, o as ATTRIBUT_DESACTIVE } from "./dom.js";
|
||||
import { p as parse } from "./index.CCa5Y_L9.js";
|
||||
import { R as ROUTE_API_RETIRE_ARTICLE_PANIER, b as ROUTE_API_MAJ_ARTICLE_PANIER, c as ROUTE_API_MAJ_CLIENT } from "./api.js";
|
||||
import { a as SELECTEUR_ENTREES_PANIER, b as SELECTEUR_CONTENEUR_PANIER, c as SELECTEUR_SOUS_TOTAL_PANIER, d as SELECTEUR_TOTAL_PANIER, e as SELECTEUR_BOUTON_SEPARATION_ADRESSES, f as SELECTEUR_FORMULAIRE_PANIER, g as SELECTEUR_FORMULAIRE_LIVRAISON, h as SELECTEUR_FORMULAIRE_FACTURATION, i as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, j as ATTRIBUT_CLE_PANIER, k as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, l as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, m as SELECTEUR_BOUTON_ADDITION_QUANTITE, n as SELECTEUR_BOUTON_SUPPRESSION_PANIER, A as ATTRIBUT_CONTIENT_ARTICLES, o as SELECTEUR_PRIX_LIGNE_PANIER, p as ATTRIBUT_HIDDEN, q as ATTRIBUT_DESACTIVE } from "./dom.js";
|
||||
import { N as NOM_CANAL_BOUTON_PANIER, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js";
|
||||
import { r as recupereElementOuLeve, a as recupereElementAvecSelecteur } from "./dom2.js";
|
||||
import { r as recupereElementOuLeve, a as recupereElementsAvecSelecteur, b as recupereElementAvecSelecteur } from "./dom2.js";
|
||||
import { l as leveServerError, r as reporteErreur } from "./erreurs.js";
|
||||
import { e as estReponse500, a as estError } from "./gardes.js";
|
||||
import { v as valideMessageMajBoutonPanier, a as valideMessageMajContenuPanier, e as emetMessageMajBoutonPanier, b as emetMessageMajContenuPanier } from "./messages.js";
|
||||
import { p as postBackend, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
|
||||
import { W as WCStoreCartRemoveItemArgsSchema } from "./cart-remove-item.js";
|
||||
import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js";
|
||||
import { W as WCStoreCartSchema } from "./cart.js";
|
||||
import { W as WCStoreCartRemoveItemArgsSchema } from "./cart-remove-item.js";
|
||||
import { W as WCStoreCartUpdateCustomerArgsSchema } from "./cart-update-customer.js";
|
||||
import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js";
|
||||
import { M as Maybe, E as Either } from "./Either.wHNxn7Os.js";
|
||||
import "./exports.DNZBdkMD.js";
|
||||
import "./exports.D-K_zMCo.js";
|
||||
import "./messages2.js";
|
||||
import "./index.CeK6pfoJ.js";
|
||||
import "./erreurs2.js";
|
||||
import "./cart2.js";
|
||||
import "./adresses.js";
|
||||
function n(...r2) {
|
||||
return u(Object.fromEntries, r2);
|
||||
}
|
||||
const ETATS_PAGE = _etats;
|
||||
const ENTREES_PANIER_EITHER = recupereElementsDocumentEither(
|
||||
SELECTEUR_ENTREES_PANIER
|
||||
|
|
@ -39,6 +44,10 @@ const BOUTON_SEPARATION_ADRESSES = x(
|
|||
recupereElementDocumentEither(SELECTEUR_BOUTON_SEPARATION_ADRESSES),
|
||||
recupereElementOuLeve
|
||||
);
|
||||
const FORMULAIRE_PANIER = x(
|
||||
recupereElementDocumentEither(SELECTEUR_FORMULAIRE_PANIER),
|
||||
recupereElementOuLeve
|
||||
);
|
||||
x(
|
||||
recupereElementDocumentEither(SELECTEUR_FORMULAIRE_LIVRAISON),
|
||||
recupereElementOuLeve
|
||||
|
|
@ -47,6 +56,10 @@ const FORMULAIRE_FACTURATION = x(
|
|||
recupereElementDocumentEither(SELECTEUR_FORMULAIRE_FACTURATION),
|
||||
recupereElementOuLeve
|
||||
);
|
||||
const BOUTON_ACTIONS_FORMULAIRE = x(
|
||||
recupereElementDocumentEither(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE),
|
||||
recupereElementOuLeve
|
||||
);
|
||||
const recupereElementDansEntreePanierOuLeve = (entree) => (selecteur) => x(
|
||||
recupereElementAvecSelecteur(entree)(selecteur),
|
||||
recupereElementOuLeve
|
||||
|
|
@ -251,7 +264,72 @@ const initialiseMajContenuPanier = () => {
|
|||
};
|
||||
const initialiseMajFormulairesPanier = () => {
|
||||
BOUTON_SEPARATION_ADRESSES.addEventListener("click", () => {
|
||||
BOUTON_SEPARATION_ADRESSES.checked ? FORMULAIRE_FACTURATION.removeAttribute(ATTRIBUT_HIDDEN) : FORMULAIRE_FACTURATION.setAttribute(ATTRIBUT_HIDDEN, "");
|
||||
Maybe.fromFalsy(BOUTON_SEPARATION_ADRESSES.checked).ifJust(() => {
|
||||
FORMULAIRE_FACTURATION.removeAttribute(ATTRIBUT_HIDDEN);
|
||||
recupereElementsAvecSelecteur(FORMULAIRE_FACTURATION)("input, select").ifRight((champs) => champs.forEach((champ) => champ.removeAttribute(ATTRIBUT_DESACTIVE)));
|
||||
}).ifNothing(() => {
|
||||
FORMULAIRE_FACTURATION.setAttribute(ATTRIBUT_HIDDEN, "");
|
||||
recupereElementsAvecSelecteur(FORMULAIRE_FACTURATION)("input, select").ifRight(
|
||||
(champs) => champs.forEach((champ) => {
|
||||
console.debug(champ);
|
||||
champ.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||
champ.value = "";
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
};
|
||||
const initialiseBoutonActions = () => {
|
||||
BOUTON_ACTIONS_FORMULAIRE.addEventListener("click", (evenement) => {
|
||||
Maybe.fromFalsy(FORMULAIRE_PANIER.checkValidity()).ifJust(() => {
|
||||
evenement.preventDefault();
|
||||
FORMULAIRE_PANIER.removeAttribute(ATTRIBUT_HIDDEN);
|
||||
BOUTON_ACTIONS_FORMULAIRE.textContent = "Check-out";
|
||||
}).ifJust(() => {
|
||||
const donneesFormulaireLivraison = x(
|
||||
new FormData(FORMULAIRE_PANIER),
|
||||
(formData) => formData.entries(),
|
||||
Array.from,
|
||||
n
|
||||
);
|
||||
const argumentsFormulaire = {
|
||||
shipping_address: {
|
||||
address_1: donneesFormulaireLivraison["livraison-adresse"] ?? "",
|
||||
address_2: "",
|
||||
city: donneesFormulaireLivraison["livraison-ville"] ?? "",
|
||||
company: "",
|
||||
country: "FR",
|
||||
first_name: donneesFormulaireLivraison["livraison-prenom"] ?? "",
|
||||
last_name: donneesFormulaireLivraison["livraison-nom"] ?? "",
|
||||
phone: donneesFormulaireLivraison["livraison-telephone"] ?? "",
|
||||
postcode: donneesFormulaireLivraison["livraison-code-postal"] ?? "",
|
||||
state: donneesFormulaireLivraison["livraison-region-etat"] ?? ""
|
||||
}
|
||||
};
|
||||
Either.encase(
|
||||
() => parse(WCStoreCartUpdateCustomerArgsSchema, argumentsFormulaire)
|
||||
).map(
|
||||
async (args) => {
|
||||
await postBackend({
|
||||
corps: JSON.stringify(args),
|
||||
nonce: ETATS_PAGE.nonce,
|
||||
route: ROUTE_API_MAJ_CLIENT
|
||||
}).then(async (reponse) => {
|
||||
if (estReponse500(reponse)) leveServerError("500 Server Error");
|
||||
x(
|
||||
// Récupère la Réponse
|
||||
await reponse.json(),
|
||||
r((a) => console.debug(a)),
|
||||
// Traite tous les codes HTTPs possibles
|
||||
(corpsReponse) => traiteReponseBackendWCSelonCodesHTTP(
|
||||
corpsReponse,
|
||||
WCStoreCartSchema
|
||||
)
|
||||
);
|
||||
});
|
||||
}
|
||||
).ifLeft((a) => console.error(a.issues));
|
||||
});
|
||||
});
|
||||
};
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
|
|
@ -259,5 +337,6 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||
initialiseMajConteneurPanier();
|
||||
initialiseMajContenuPanier();
|
||||
initialiseMajFormulairesPanier();
|
||||
initialiseBoutonActions();
|
||||
});
|
||||
//# sourceMappingURL=scripts-page-panier.js.map
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue