Изменение результатов поиска

Я хочу иметь возможность настраивать некоторые стили в результатах поиска (выпадающий список из иконки лупы в правом верхнем углу). Сейчас, похоже, там компоненты создаются на лету (в app/assets/javascripts/discourse/app/lib/search.js), а не используются шаблоны. Мне не удаётся сделать

      api.modifyClass("component:search-result-post", {
        didInsertElement() {
          this._super(...arguments);

        },
      });

или что-то подобное.

Как можно получить триггер/событие и изменить часть сгенерированного HTML?

Привет, Ричард,

Не могли бы вы подробнее рассказать, какие именно изменения вы хотите внести?

В качестве отправной точки, я думаю, вам стоит поэкспериментировать с кодом:

api.reopenWidget(`search-result-post`, {
    html(attrs) {
        //
    }
})

Здесь речь идет о post, но у вас также есть: tag, category, group, user и topic.

Спасибо за вашу помощь!!!

Обновление: генерация HTML в этом виджете была довольно сложной и имела множество внешних зависимостей. Кроме того, я не хотел копировать весь этот код в наш плагин, поэтому в итоге поступил так:

      api.reopenWidget(`search-result-topic`, {
        html(attrs) {
          const html = this._super(attrs);
          // модифицируем HTML по своему усмотрению
          return html;
        }
      });

Модификация уже сгенерированного HTML, вероятно, не самый элегантный способ, но это избавило меня от необходимости копировать большой блок кода из ядра в плагин, что делает плагин более устойчивым к будущим обновлениям ядра.

Да, я тоже заметил, когда пытался с моей стороны. Думаю, у вас здесь не так много вариантов.