Panoramica Configurazione API Globale Funzioni FAQ
Pacchetto: chatbotfaq | Classe: ChatWidget | Classe: FAQApp
pacchetto chatbotfaq

Documentazione Tecnica delle API

Questa documentazione descrive la struttura, le configurazioni e le API Javascript utilizzate nel Widget Chatbot e nel gestore delle FAQ.

CONFIGURAZIONE: Proprietà dell'Oggetto CONFIG (chat-widget.js)
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'.
API METODI GLOBALI: Interfaccia window.ChatWidget
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.
FUNZIONI APPLICAZIONE FAQ (faq/faq.js)
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.
Dettaglio Metodi API Globale (window.ChatWidget)

open

public void open()

Apre la finestra di conversazione del widget. Toggles la classe open sul contenitore dialog della chat.

close

public void close()

Chiude la finestra di conversazione del widget ed esegue il reset allo stato iniziale del menu della chat.

toggle

public void toggle()

Alterna l'apertura e la chiusura. Utilissimo per bottoni di trigger configurati ed inseriti autonomamente dall'utente in posizioni personalizzate della pagina.

Dettaglio Funzioni FAQ (faq/faq.js)

loadFAQs

async function 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

function initAccordion()

Crea ed associa i pulsanti "Mostra tutto / Mostra meno" per le risposte che superano i limiti di altezza di preview preimpostati (80px).

scrollToAndHighlight

function scrollToAndHighlight(target, clickedLink = null)

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

function initSearch()

Associa la barra di ricerca live all'input. Nasconde le FAQ non pertinenti e restituisce un'istanza contenente il metodo di reset clear().