現在、カスタムプラグインのイニシャライザーで作業中です。各ロック済みカテゴリに対して任意のクラス(locked-category)を追加したいのですが、方法がうまくわかりません。
topic-list-item のテンプレートを編集することは可能ですが、そのクラスはトピックがロックされているかどうかによって条件付きになります。
問題のコードは以下の通りです:
TopicStatus.reopen({ statuses(){ if (this.topic.is_locked_down) { // トピックの classList にクラスを追加したいです } ... })
アイデアをお持ちの方がいれば、どんなことでも大歓迎です!
Johani
(Joe)
2
もし
が、読み取り権限が制限されたカテゴリを指している場合、これをイニシャライザーに追加すれば以下のようなコードで動作します。
api.modifyClass("component:topic-list-item", {
didInsertElement() {
this._super(...arguments); // コアコードが最初に実行されるようにします
const privateCategory = this.topic.category.read_restricted;
if (privateCategory) {
// 上記の条件を満たすトピックリスト項目にクラスを追加します
this.element.classList.add("locked-category");
}
}
});
素晴らしい、動作しました。大変ありがとうございます!