3.0 KiB
Parametri URL del configuratore
Il configuratore legge la sua configurazione iniziale esclusivamente dalla query string dell'URL con cui viene caricato index.html (tipicamente dentro un <iframe>). La logica di parsing/validazione è in src/js/communication/UrlParamsParser.js, usata da Application.start().
Esempio:
https://.../index.html?sistema=pvc&type=finestra_2_ante
Parametri obbligatori
| Parametro | Descrizione | Valori ammessi |
|---|---|---|
sistema |
Materiale/serramento | pvc, alluminio, legno, acciaio |
type |
Tipologia di infisso (id modello) | vedi tabella sotto, dipende da sistema |
Se uno dei due manca, o sistema non è tra i valori ammessi, l'app lancia un errore in fase di avvio (Application.start() intercetta l'eccezione, emette EVENTS.APP_ERROR e — se l'app gira in iframe — notifica il parent con configuratore_error via postMessage).
Non ci sono altri parametri opzionali gestiti dall'app: tutto il resto della configurazione (dimensioni, finiture, maniglia, vetro, ecc.) viene impostato dall'utente nell'interfaccia dopo il caricamento.
Valori validi di type per ciascun sistema
Ricavati da src/assets/data/sistemi/<sistema>/modelli.json (l'elenco effettivo è quel file — questa tabella va aggiornata se i JSON cambiano).
sistema=pvc
finestra_anta_fissafinestra_vasistasfinestra_1_antafinestra_2_antefinestra_3_anteportafinestra_1_antaportafinestra_2_anteportafinestra_3_antescorrevole_multislidealzante_scorrevole_hstportoncinocassonetto(variante semplificata, vedi sotto)
sistema=alluminio
finestra_anta_fissafinestra_vasistasfinestra_1_antafinestra_2_antefinestra_3_anteportafinestra_1_antaportafinestra_2_anteportafinestra_3_antealzante_scorrevolescorrevoleportoncino
sistema=legno
finestra_anta_fissafinestra_vasistasfinestra_1_antafinestra_2_antefinestra_3_anteportafinestra_1_antaportafinestra_2_anteportafinestra_3_antealzante_scorrevole_hstportoncino
sistema=acciaio
finestra_anta_fissafinestra_vasistasfinestra_1_antafinestra_2_antefinestra_3_anteportafinestra_1_antaportafinestra_2_anteportafinestra_3_ante
Caso speciale: type=cassonetto
Quando type=cassonetto, l'app salta l'inizializzazione di maniglia/finitura interna (non applicabili a un cassonetto) e usa il template menu dedicato assets/_menu-cassonetto.html invece di assets/_menu.html.
Comunicazione col parent (non URL, ma correlata)
Se il configuratore è in iframe, oltre ai parametri URL può ricevere messaggi postMessage dal parent (gestiti da IframeBridge), es. { fn: 'load_configuration', payload } per precaricare una configurazione salvata. L'origine del parent deve essere in whitelist (https://www.infissionline.it, https://infissionline.test).