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

Да, я их определил. Я приведу код в порядок и выложу в репозиторий.

Очень пригодился бы тест, демонстрирующий двустороннее связывание с внедрённым компонентом! :pray:

Мне удалось получить к этому доступ, а также к функции scheduleRerender(). Обновлены тесты и документация в

Просто подтверждаю: ваш @bind импортируется из discourse-common/utils/decorators?

Подтверждено.

Вот репозиторий: 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 · GitHub

А конкретно файл виджета: layouts-tag-intersection-widget/layouts-tag-combo.js.es6 на master · paviliondev/layouts-tag-intersection-widget (github.com)

Как и заявлено, это всё ещё в активной разработке и не работает.

(Для проверки в текущем виде требуется установленный и настроенный плагин Layouts, но извлечь код виджета — тривиальная задача).

Ах, думаю, это может помочь:

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

При передаче «закрытия действия» нет необходимости в хелпере (action (и в данном случае, я полагаю, это фактически ломает работу).

Это, похоже, приводит к TypeError: this.attrs.onChange is not a function?

Но да, возможно, этот хелпер скрывает доступные атрибуты?

Ой, моя ошибка, там нужны фигурные скобки, иначе это просто будет распарсено как строковый атрибут.

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

К сожалению, это приводит к той же ошибке?

Можете установить точку останова и проверить значение this.attrs.onChange? (Здесь может помочь функция «Пауза при исключении» в инструментах разработчика)

@David и я решили это в личных сообщениях:

Огромное спасибо за ваше время, @David.

Как только всё будет готово, я опубликую TC.

Теперь это стало реальностью, хотя пока ещё немного сыровато:

Требуется плагин Layouts.

Репозиторий компонента темы здесь: 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 · GitHub

К сведению: этот компонент теперь также поддерживает блоки правой боковой панели!

FYI Этот компонент поддерживает Discourse Bars 🍻 🍸 (a sidebar framework)