Utilities di wr.shop (Actions)
Le utilities sono metodi pronti all'uso disponibili nella prop wr.shop. Il loro scopo è gestire i cambiamenti di stato complessi, le validazioni dei filtri e le chiamate al catalogo in modo semplificato.
Navigazione Collezioni
Gestiscono lo spostamento dell'utente all'interno dell'albero delle categorie del negozio.
| Metodo | Argomenti | Descrizione |
|---|---|---|
| navigateToCollection | collectionId: string | Esegue la navigazione verso una collezione specifica, aggiornando automaticamente lo stack dei breadcrumb e i filtri collegati. |
| goBackCollection | - | Permette di risalire la gerarchia, tornando alla collezione genitore. |
Gestione Tag e Filtri
Il sistema di filtraggio di webround.com è progettato con una logica a due fasi: Staging (selezione) e Commit (applicazione). Questo evita ricaricamenti continui e chiamate API superflue.
| Metodo | Argomenti | Descrizione |
|---|---|---|
| toggleTagSelection | tagValueId: string | Aggiunge o rimuove un tag dalla "lista d'attesa" (selectedTagValueIds). Non ricarica i prodotti finché non viene invocato applyFilters. |
| setRangeFilter | id, value, isPrice | Imposta un intervallo [min, max] per filtri numerici o di prezzo. |
| resetRangeFilter | filterId: string | Rimuove un filtro range specifico mantenendo gli altri invariati. |
| applyFilters | - | Il metodo principale: valida i range inseriti, committa i tag selezionati e ricarica i prodotti partendo da pagina 1. |
| resetFilters | - | Svuota istantaneamente sia i tag che i range, ripristinando la visualizzazione completa. |
Ricerca e Visualizzazione
Utility per gestire l'interazione con il catalogo e la presentazione dei risultati.
| Metodo | Argomenti | Descrizione |
|---|---|---|
| setSearch | term: string | Aggiorna il termine di ricerca "temporaneo" (utile per l'input testuale mentre l'utente digita). |
| applySearch | - | Applica effettivamente il termine di ricerca corrente e aggiorna i risultati del catalogo. |
| resetSearch | - | Pulisce il termine di ricerca e ripristina la vista originale. |
| setSort | option: string | Cambia il criterio di ordinamento (es. price::asc o createdAt::desc). |
| setPage / setLimit | value: number | Gestiscono rispettivamente il passaggio tra le pagine e il numero di prodotti per pagina. |
| setCurrency | code: string | Cambia la valuta globale (es. EUR, USD), innescando il ricalcolo dei prezzi negli SKU. |
Selezione Entità (Dettaglio)
Queste utility sincronizzano l'interfaccia con l'entità specifica su cui l'utente sta interagendo. Sono essenziali per gestire la logica di componenti come schede prodotto, Quick View o pagine di dettaglio.
| Metodo | Argomenti | Descrizione |
|---|---|---|
| selectProduct | product: Product | Imposta il prodotto principale. Utile per inizializzare la visualizzazione o gestire override grafici basati sui metadati del prodotto. |
| selectVariant | variant: Variant | Aggiorna la variante attiva. Solitamente invocata al click sugli swatch (es. cambio colore) per caricare i nuovi asset multimediali. |
| selectSku | sku: Sku | Identifica lo SKU specifico pronto per l'acquisto dopo che l'utente ha completato la selezione delle opzioni (taglia, peso, ecc.). |
Per un'esperienza utente ottimale, usa toggleTagSelection e setRangeFilter per permettere all'utente di comporre i suoi filtri in un pannello laterale, e invoca applyFilters() solo alla pressione di un tasto "Vedi Risultati". Questo garantisce performance elevate e una navigazione fluida, riducendo le chiamate API asincrone.
Qualora decidessi di implementare l'applicazione istantanea, imposta applyFilters periodicamente. Ti consigliamo di utilizzare un debounce per evitare troppe chiamate, che potrebbero portare a blocchi di rate-limit.