feat: Aggiungi funzionalità di eliminazione per clienti e preventivi con gestione delle dipendenze
This commit is contained in:
+21
-1
@@ -23,6 +23,8 @@ window.GLTFLoader = GLTFLoader; // Used by APP Scripts.
|
||||
|
||||
// --- Integrazione backend preventivi ---
|
||||
const CART_TOKEN_KEY = 'kreios_cart_token';
|
||||
// Ordine dei sistemi come nel menu: il primo è quello di default
|
||||
const SISTEMI = ['pvc', 'alluminio', 'legno', 'acciaio'];
|
||||
|
||||
// URL dell'app cliente (checkout): richiesto all'API invece di essere indovinato, perché la
|
||||
// porta Vite dell'app cliente può cambiare (es. se 5199 è già occupata). Fallback locale se
|
||||
@@ -136,13 +138,31 @@ $(() => {
|
||||
const start = async () => {
|
||||
const params = ParamsParser.getQueryParams();
|
||||
|
||||
// Senza sistema in query string si parte dal primo sistema (pvc)
|
||||
if (!SISTEMI.includes(params.sistema))
|
||||
params.sistema = SISTEMI[0];
|
||||
|
||||
let data_folder = `./assets/data/sistemi/${params.sistema}`;
|
||||
let modello_folder = `./assets/data/modelli/${params.sistema}`;
|
||||
|
||||
|
||||
const modelli = await (await fetch(`${data_folder}/modelli.json?rnd=` + Math.random())).json();
|
||||
|
||||
const modello = modelli.find(m => m.id === params.type);
|
||||
let modello = modelli.find(m => m.id === params.type);
|
||||
|
||||
// Senza type (o type non valido) si mostra il primo infisso disponibile
|
||||
if (!modello) {
|
||||
modello = modelli.find(m => m.enabled !== false) || modelli[0];
|
||||
params.type = modello.id;
|
||||
}
|
||||
|
||||
// Allinea la query string ai valori effettivi, così le altre letture (es. carrello) restano coerenti
|
||||
const url = new URL(window.location.href);
|
||||
if (url.searchParams.get('sistema') !== params.sistema || url.searchParams.get('type') !== params.type) {
|
||||
url.searchParams.set('sistema', params.sistema);
|
||||
url.searchParams.set('type', params.type);
|
||||
window.history.replaceState(null, '', url);
|
||||
}
|
||||
|
||||
const data = await (await fetch(`${modello_folder}/${modello.cartella}/form.json?rnd=${Math.random()}`)).json();
|
||||
const data_finiture = modello.moduli.includes('modello') ? (await (await fetch(`${modello_folder}/${modello.cartella}/modello.json?rnd=${Math.random()}`)).json()).filter(el => el.id != "") : [];
|
||||
|
||||
Reference in New Issue
Block a user