angus
(Angus McLeod)
24 Settembre 2020, 11:13pm
2
Il modo in cui ho affrontato questo problema in passato è stato incapsulare i pulsanti in un helper HTML, che renderizza l’HTML grezzo nei template grezzi, che puoi poi inserire tramite un outlet plugin grezzo. Ecco un esempio:
https://github.com/paviliondev/discourse-topic-previews/blob/master/assets/javascripts/discourse/helpers/preview-helpers.js.es6#L8
Il clic sul pulsante viene gestito nel componente topic-list-item, ad esempio:
https://github.com/paviliondev/discourse-topic-previews/blob/master/assets/javascripts/discourse/initializers/preview-edits.js.es6#L332
@merefield potrebbe avere anche qualche idea da condividere
Inoltre, probabilmente vorrai utilizzare la struttura delle cartelle JavaScript del tema invece di aggiungere script all’header.html. Consulta:
I temi complessi di JavaScript possono essere suddivisi in più file, per mantenere le cose ben organizzate.
Per utilizzare questa funzionalità, è sufficiente aggiungere file alla cartella /javascripts nella directory del tema. Questi file non possono essere modificati dall’interfaccia utente di Discourse, quindi è necessario utilizzare la Theme CLI o caricare il tema da git .
I file Javascript sono trattati esattamente come quelli in core/plugins, quindi è necessario seguire la stessa struttura…