Привет, @Jagster, спасибо за отчет! Вот исправление: FIX: Replace visibility:hidden to allow MathJax rendering · VaperinaDEV/discourse-topic-preview-modal@f9eb70f · GitHub
Спасибо, @RGJ, я добавил для этого настройку.
Отличный вопрос.
PostList/PostListItem предназначены для списков краткого содержания на основе отрывков (черновики, закладки, ленты активности), а не для отображения фактического интерактивного потока сообщений темы.
Они выводят @post.excerpt/expandedExcerpt через DDecoratedHtml, а также заголовок с аватаром и кнопку разворачивания отрывка. Здесь нет действий «лайк», «цитата», «ответ», «редактирование» или «жалоба» — то есть всего интерактивного функционала сообщений, который нужен модальному окну.
Пагинация в PostList также однонаправлена (fetchMorePosts только добавляет записи вниз), тогда как модальное окно должно открываться на последнем прочитанном сообщении и загружать как более ранние, так и более поздние сообщения вокруг него — для этого требуется двунаправленная подгрузка сервиса postStream, а не простой обратный вызов fetch-more.
Так что повторное использование PostList потребовало бы переписывания большей части интерактивного поведения Post и двунаправленной подгрузки postStream поверх компонента, созданного для другой задачи. Использование реального компонента Post из ядра и сервиса postStream напрямую гарантирует, что модальное окно будет вести себя идентично настоящей странице темы.