Documentazione Tecnica delle API
Questa documentazione descrive la struttura, le configurazioni e le API Javascript utilizzate nel Widget Chatbot e nel gestore delle FAQ.
| Tipo e Proprietà | Descrizione |
|---|---|
| string botName | Nome visualizzato del Bot. Default: 'Angie'. |
| string botStatus | Stato o tagline del Bot visualizzato nell'header della chat. |
| string welcomeMessage | Messaggio di benvenuto inviato automaticamente all'apertura del widget. |
| string inputPlaceholder | Testo segnaposto dell'input di testo della chat. |
| number typingDelay | Ritardo in millisecondi di digitazione simulata del Bot. |
| string urlContent | URL del file delle FAQ visualizzato nell'iframe della modale. Default: 'faq/index.html'. |
| Array<Object> btnMenu | Insieme delle voci di menu delle categorie visualizzate in chat. Caricato dinamicamente da JSON. |
| string iconPosition |
Layout/Posizionamento del widget. Valori supportati:
'bottom', 'top', 'static', 'staticbottom', 'hidden'.
|
| Tipo Modificatore | Metodo e Descrizione |
|---|---|
| void |
open()
Apre il widget della chat ed esegue lo slide-in del dialog, nascondendo gli elementi dell'iframe. |
| void |
close()
Chiude il widget della chat ed esegue lo slide-out del dialog. |
| void |
toggle()
Alterna lo stato di apertura/chiusura del widget della chat. |
| Tipo Modificatore | Funzione e Descrizione |
|---|---|
| Promise<Array> |
loadFAQs()
Esegue il fetch asincrono del file JSON con le FAQ, popola il container DOM e chiama i generatori di menu. |
| void |
initAccordion()
Inizializza gli accordion collassabili delle risposte per ciascun elemento delle FAQ. |
| void |
setActiveLink()
Scrollspy: gestisce l'evidenziazione e lo scorrimento automatico dei link laterali attivi in base alla posizione di scroll della pagina. |
| void |
scrollToAndHighlight(HTMLElement target, HTMLElement [clickedLink])
Sposta il viewport fino alla FAQ target specificata con transizione fluida e la evidenzia temporaneamente. Disabilita lo scrollspy per evitare jank. |
| Object |
initSearch()
Inizializza la live search tra le risposte e ritorna un controller per la pulizia del campo. |
open
Apre la finestra di conversazione del widget. Toggles la classe open sul contenitore dialog della chat.
close
Chiude la finestra di conversazione del widget ed esegue il reset allo stato iniziale del menu della chat.
toggle
Alterna l'apertura e la chiusura. Utilissimo per bottoni di trigger configurati ed inseriti autonomamente dall'utente in posizioni personalizzate della pagina.
loadFAQs
Carica il database delle FAQ. Effettua la richiesta HTTP per faq.json, inserisce dinamicamente i blocchi HTML nel DOM,
configura i badge con colori HSL stabili ricavati dall'hash del nome della categoria e genera la sidebar.
initAccordion
Crea ed associa i pulsanti "Mostra tutto / Mostra meno" per le risposte che superano i limiti di altezza di preview preimpostati (80px).
setActiveLink
Ascolta gli eventi di scroll della finestra. Evidenzia la categoria sidebar corretta e scorre la lista della sidebar in modo che il link attivo
rimanga sempre visibile all'utente. Viene saltata se isProgrammaticScrolling è attivo.
scrollToAndHighlight
Sposta in modo fluido la pagina fino alla FAQ selezionata, posizionandola correttamente sotto la barra di ricerca.
- Parametri:
target- L'elemento DOM della sezione FAQ (<section>) da raggiungere.clickedLink- (Opzionale) L'ancora della sidebar che ha scatenato lo scroll per applicare l'evidenziazione immediata.
initSearch
Associa la barra di ricerca live all'input. Nasconde le FAQ non pertinenti e restituisce un'istanza contenente il metodo di reset clear().