Chamada api.decorateWidget do tópico-timeline parou de funcionar

Olá amigos!

Não consigo identificar exatamente quando, mas em algum momento este ano o seguinte código parou de funcionar. Ele não está lançando nenhum erro, apenas não faz mais nada - suspeito que isso possa estar relacionado a esta alteração, mas não tenho certeza.

var bHTML = (algum html);

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

Alguma ideia de como posso consertar isso?

3 curtidas

A linha do tempo foi atualizada para usar componentes Ember/Glimmer regulares em vez do nosso sistema personalizado de ‘widgets’, então receio que decorateWidget não funcionará mais lá.

Em vez disso, você precisará usar um Plugin Outlet. Atualmente, temos estes dois:

Mas se eles não funcionarem para o seu caso de uso, por favor, nos avise e teremos prazer em considerar a introdução de novos.

6 curtidas

Consegui fazer isso funcionar, mas não encontrei uma maneira de inserir dados de dentro de um Componente de Tema. Isso ainda só é possível a partir do JS do tema?

O que você quer dizer com inserir dados?

Não deve haver diferença entre o JS do TC e um Tema.

1 curtida

Falei cedo demais e preciso de mais ajuda com isso. Adicionei o seguinte código na seção HEAD de um Componente de Tema:

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

Embora isso seja renderizado para mim, o administrador, não é exibido para usuários regulares. Alguma ideia do porquê?

Parece que esse outlet só é renderizado quando os ‘timeline controls’ estão visíveis

Talvez devêssemos introduzir outro outlet antes desse {{#if. O que você acha @isaac @featheredtoast

3 curtidas

Posso confirmar, isso seria bom disponível fora de {{#if :+1:t2:

2 curtidas