Composerからカテゴリ情報を取得する方法

テーマコンポーネントから、作曲器でカテゴリが選択されたときに何らかのコードを実行することは可能でしょうか?作曲器が開かれた直後と、カテゴリのドロップダウンが変更されたときに、それぞれ選択されたカテゴリを取得したいと考えています。

おそらく、作曲器コントローラーのようなコントローラーやコンポーネントを修正することで実現できるかと思ったのですが、カテゴリの情報を特定できませんでした。

Composerコントローラーで model.categoryId を監視し、変更が発生したときにコードを実行できます。

@fzngagan さん、ありがとうございます!

追加の質問ですが、これまでこのようなモデルは見たことがありません :slight_smile: 。以下のような実装を考えました。どうやら機能しているようです。

const { observes } = require('discourse-common/utils/decorators');
api.modifyClass("controller:composer", {
    @observes('model.categoryId')
    getCategory() {
        let categoryId = this.get("model.categoryId");
        if (categoryId == null) return;
        
        let category = this.site.categories.findBy("id", categoryId).name;
    }
});

この方法(または推奨される方法)は正しいでしょうか?また、ID からカテゴリ名を取得する最適な方法でしょうか?

model オブジェクトに何が含まれているか確認できます。すでにカテゴリ名が入っているかもしれません。

「モデルオブジェクト」とは、このようなことをする必要があるという意味でしょうか?

this.get("model")

編集:
とにかく、コードは完璧に動作しています。改めてありがとうございます!