
Lingua 🇮🇹 Italiano
Informazioni di base
API
Sviluppo di Extensions
Contesto
FastComments offre la possibilità di estendere la nostra funzionalità principale tramite script che chiamiamo Extensions.
Un'Extension può aggiungere markup aggiuntivo al widget dei commenti, listener di eventi ed eseguire codice arbitrario.
Qui troverai esempi di Extensions che abbiamo in produzione, oltre alla documentazione su come scrivere Extensions.
Il ciclo di vita dell'estensione 
Lo script per ogni estensione viene recuperato e invocato prima che il widget dei commenti inizi a recuperare il primo set di commenti e a renderizzare l'interfaccia utente.
Al caricamento iniziale, i seguenti dati verranno aggiunti all'oggetto dell'estensione:
config- Un riferimento all'oggettoconfig.translations- Un riferimento all'oggettotranslations.commentsById- Un riferimento a tutti i commenti per id.root- Un riferimento al nodo DOM radice.
Le estensioni dovrebbero sovrascrivere le funzioni desiderate, che il widget dei commenti invocherà nei momenti appropriati.
Definire un'estensione 
L'estensione più piccola possibile sarebbe:
Run 
Per questo esempio, salva questo come my-extension.js, e rendilo disponibile a https://example.com/my-extension.min.js.
Questa estensione non fa nulla; al caricamento recupera l'oggetto extension creato dalla libreria principale dei commenti.
Questo oggetto Extension è un singleton e non viene condiviso con altre estensioni.
Successivamente, per caricare la nostra estensione, dobbiamo comunicarlo al widget dei commenti. Ad esempio:
Run 
Per esempi funzionali, vedi la sezione successiva.
Esempi di estensioni 
In FastComments scriviamo le nostre estensioni usando la stessa API. Puoi visualizzare il codice non minimizzato di queste estensioni ai seguenti endpoint:
Modalità Scura
L'estensione Modalità Scura viene caricata condizionatamente quando viene rilevata una pagina "dark". Questa estensione aggiunge semplicemente del CSS al widget dei commenti. In questo modo non dobbiamo caricare il CSS della modalità scura quando non è necessario.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.dark.extension.js
Moderazione
Quando l'utente corrente è un moderatore, utilizziamo l'estensione di moderazione.
Questo è un buon esempio per aggiungere listener per eventi basati sul click, effettuare richieste API, e aggiungere elementi al menu dei commenti e alle aree dei commenti.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.moderation.extension.js
Chat dal vivo
L'estensione Chat dal vivo (in combinazione con altre configurazioni e stili) trasforma il widget dei commenti in un componente di chat dal vivo.
https://fastcomments.com/js/comment-ui/extensions/live-chat.extension.js
L'oggetto dell'estensione 
L'oggetto extension è composto dalla seguente definizione:
Run 
L'API dell'estensione 
Interacting with the Extension is simple, as we simply define references to functions we want invoked.
Per basarci sull'esempio precedente, supponiamo di voler aggiungere HTML all'inizio di ogni commento:
Run 
Whenever you return HTML like this, it will get merged into the UI via a dom-diffing algorithm.
Attivare manualmente il re-render di un commento
Possiamo attendere il caricamento iniziale della pagina e renderizzare nuovamente un commento manualmente invocando reRenderComment:
Run 