La chiamata api.decorateWidget di Topic-timeline ha smesso di funzionare

Ciao amici!

Non riesco a individuare esattamente quando, ma da qualche parte quest’anno il seguente codice ha smesso di funzionare. Non genera errori, semplicemente non fa più nulla. Sospetto che ciò possa essere correlato a questa modifica, ma non ne sono sicuro.

var bHTML = (some html);

api.decorateWidget('topic-timeline-container:before', helper => {
    return helper.h('div.side-block', [
        helper.rawHtml(bHTML),
    ]);
});

Qualche idea su come posso risolvere questo problema?

3 Mi Piace

La timeline è stata aggiornata per utilizzare componenti Ember/Glimmer standard anziché il nostro sistema personalizzato di “widget”, quindi temo che decorateWidget non funzionerà più lì.

Invece, dovrai utilizzare un Plugin Outlet. Al momento abbiamo questi due:

Ma se non funzionano per il tuo caso d’uso, faccelo sapere e saremo lieti di considerare l’introduzione di nuovi.

6 Mi Piace

Ho in qualche modo fatto funzionare questo, ma non sono riuscito a trovare un modo per inserire dati da un componente del tema. È ancora possibile solo dal JS del tema?

Cosa intendi per inserire dati?

Non dovrebbe esserci alcuna differenza tra il JS del TC e un tema.

1 Mi Piace

Ho parlato troppo presto e ho bisogno di ulteriore aiuto. Ho aggiunto il seguente codice nella sezione HEAD di un componente del tema:

<script type='text/x-handlebars' data-template-name='/connectors/timeline-controls-before/adnet'>
    <div class="side-block">
        <div id="supporters"></div>
    </div>
</script>

Mentre questo viene visualizzato per me, l’amministratore, non viene visualizzato per gli utenti normali. Hai qualche idea sul perché?

Sembra che quell’outlet venga visualizzato solo quando i “controlli della timeline” sono visibili

Forse dovremmo introdurre un altro outlet prima di quel {{#if. Cosa ne pensi @isaac @featheredtoast

3 Mi Piace

Confermo, sarebbe bello che fosse disponibile al di fuori di {{#if :+1:t2:

2 Mi Piace