Render a component within a Widget. (Using select-kit components within plugin code)

Sim, eu os tenho definidos. Vou organizar e enviar para um repositório.

Um teste demonstrando uma forma de two-way binding com um Componente embutido seria extremamente útil! :pray:

1 curtida

Consegui acessar isso e a função scheduleRerender(). Testes e documentação atualizados em

Apenas confirmando - seu @bind é importado de discourse-common/utils/decorators?

1 curtida

Confirmado

Aqui está o repositório: GitHub - merefield/discourse-tc-bars-tag-intersection-chooser: A small widget to allow you to navigate to a topic list based on a combinations of tags

E o arquivo do widget especificamente: layouts-tag-intersection-widget/layouts-tag-combo.js.es6 at master · paviliondev/layouts-tag-intersection-widget (github.com)

Muito em andamento e não funcionando como declarado.

(Requer o plugin Layouts instalado e configurado para testar como está, mas é trivial extrair o código do widget)

Ah, acho que isso pode ajudar:

- @onChange={{action @data.onChangeUpdateTagSet}}/\u003e
+ @onChange=@data.onChangeUpdateTagSet/\u003e

Ao passar uma ‘closure action’, não há necessidade do helper (action (e, neste caso, acho que na verdade quebra as coisas)

2 curtidas

Isso parece resultar em TypeError: this.attrs.onChange não é uma função?

Mas sim, talvez esse helper esteja mascarando os atributos disponíveis?

Ah, desculpe, precisamos de algumas chaves ali, caso contrário, será analisado apenas como um atributo de string.

- @onChange={{action @data.onChangeUpdateTagSet}}/\u003e
+ @onChange={{@data.onChangeUpdateTagSet}} /\u003e
1 curtida

Infelizmente, isso resulta no mesmo erro?

1 curtida

Você pode adicionar um ponto de interrupção e descobrir qual é o valor de this.attrs.onChange? (O recurso “pausar na exceção” nas ferramentas de desenvolvedor pode ajudar aqui)

1 curtida

@David e eu resolvemos isso via PM:

Muito obrigado pelo seu tempo, @David.

Publicarei o TC assim que estiver completo.

3 curtidas

Isso agora é uma coisa, embora um pouco grosseiramente finalizado no momento:

Requer o Plugin de Layouts.

Repositório do Componente Temático aqui: GitHub - merefield/discourse-tc-bars-tag-intersection-chooser: A small widget to allow you to navigate to a topic list based on a combinations of tags

6 curtidas

FYI este componente também suporta blocos da barra lateral direita agora!

1 curtida

Para sua informação, este componente suporta Discourse Bars 🍻 🍸 (a sidebar framework)

2 curtidas