Topic-timeline api.decorateWidget の呼び出しが機能しなくなりました

皆さん、こんにちは!

正確な時期は特定できませんが、今年のどこかで以下のコードが機能しなくなりました。エラーは発生しませんが、何も起こらなくなりました。これはおそらくこの変更に関連しているのではないかと疑っていますが、確信はありません。

var bHTML = (some html);

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

これを修正する方法について、何かアイデアはありますか?

「いいね!」 3

タイムラインは、カスタムの「ウィジェット」システムではなく、通常のEmber/Glimmerコンポーネントを使用するように更新されたため、残念ながらdecorateWidgetはそこでは機能しなくなりました。

代わりに、Plugin Outletを使用する必要があります。現在、これら2つがあります。

しかし、ユースケースに合わない場合はお知らせください。新しいものを導入することを喜んで検討します。

「いいね!」 6

なんとか動作させることができましたが、テーマコンポーネント内からデータを挿入する方法が見つかりませんでした。それはまだテーマのJavaScriptからしかできないのでしょうか?

データを挿入するとはどういう意味ですか?

TC JSとテーマの間には違いはないはずです。

「いいね!」 1

早とちりでした。この件でさらに助けが必要です。テーマコンポーネントのHEADセクションに以下のコードを追加しました。

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

これは管理者である私には表示されますが、一般ユーザーには表示されません。何か原因がお分かりになりますか?

「タイムラインコントロール」が表示されている場合にのみ、そのアウトレットが表示されるようです。

もしかしたら、{{#if の前に別のアウトレットを導入すべきでしょうか。@isaac @featheredtoast さん、どう思いますか?

「いいね!」 3

確認しました。これは {{#if の外で利用できると良いでしょう :+1:

「いいね!」 2