TLDR:
Как быстрее всего изменить состав filteredTopics (строка 26)? Я хотел бы иметь полный контроль над тем, какие темы (с какими свойствами) собираются.
Привет, сообщество,
Мы используем компонент темы GitHub - discourse/discourse-topic-thumbnails: Display thumbnails in topic lists · GitHub на нашем размещённом окружении и хотели внести в него дополнительные изменения, чтобы удовлетворить наши потребности.
Вместо того чтобы смешивать все темы в один большой блок элементов сетки, мы хотим внести некоторый порядок.
Мы планируем следующее:
Сначала хотим сортировать по статусу «просмотрено/не просмотрено», затем — по категории; после этого сгруппировать их по хронологии (и создать группы, например: «Сегодня» (все соответствующие посты за сегодня), «Вчера», «На прошлой неделе»).
Таким образом, наш список тем должен выглядеть так, с тремя отдельными сетками одна под другой:
<СЕГОДНЯ, ВЧЕРА, НА ПРОШЛОЙ НЕДЕЛЕ> представляет собой группировку.
ЗАКРЕПЛЕНО:
Тема 20, Тема 30, Тема 40
НЕ ПРОСМОТРЕНО:
<СЕГОДНЯ : [АРТ: Тема 1, Тема 2], [ДИЗАЙН: Тема 4]> <ВЧЕРА: [КОНЦЕПТ: Тема 3], [ДРУГАЯ_КАТЕГОРИЯ: Тема 6, Тема 11]> <НА ПРОШЛОЙ НЕДЕЛЕ: Тема 8, Тема 10>
ПРОСМОТРЕНО:
<СЕГОДНЯ : [АРТ: Тема 4, Тема 12], [ДИЗАЙН: Тема 4]> <ВЧЕРА: [CGI: Тема 13], [ДРУГАЯ_КАТЕГОРИЯ: Тема 16, Тема 21]>, <НА ПРОШЛОЙ НЕДЕЛЕ: Тема 18, Тема 100>
Мой главный вопрос: как я могу создать/расширить запрос, который формирует набор результатов, а затем итерироваться по нему в
через filteredList.
Я нашёл место, где это, возможно, заполняется, но не был уверен, как это «расширить». Похоже, существует система queryParam и некоторые маршруты, которые могут влиять на набор результатов, но я не разобрался.
Может ли кто-нибудь указать мне правильное направление?
Мы используем упомянутый выше компонент темы, что означает, что у нас есть ограничения в том, что мы можем делать.
Мне было бы очень полезно, если бы кто-то показал, как ограничить filteredList только темами с непрочитанными постами, например — тогда я смогу продолжить дальше.
Огромное спасибо!
CC @pfaffman