Извините, что вторгаюсь в ваши выходные, Дэвид. Да, я только что увидел API, спасибо.
Привет! Я попробовал использовать трансформатор значений для “topic-list-columns” следующим образом:
export default {
name: "assignment-topic-list-column-modifier",
initialize(container) {
const router = container.lookup("service:router");
withPluginApi("1.39.0", (api) => {
api.registerValueTransformer(
"topic-list-columns",
({ value: columns }) => {
if (ASSIGN_LIST_ROUTES.includes(router.currentRouteName)) {
columns.add("posters-recent", {
header: AssignHeaderCell,
item: AssignCell,
after: "posters",
});
}
return columns;
}
);
});
},
};
Цель — вставить новый элемент столбца и заголовок после столбца “posters”. Элемент добавляется корректно, но заголовок всё ещё находится не на том месте: он размещается после столбца “activity”.
Чего-то не хватает в моём коде? Есть ли документация, объясняющая, как правильно это сделать?
Есть новое руководство:
Однако в данном случае оно может быть не очень полезным.
@NateDhaliwal спасибо за информацию, я проверю.
Я думаю, код должен выглядеть так:
columns.add(
"posters-recent",
{ header: AssignHeaderCell, item: AssignCell }
{ after: "posters"}
});
Возможно, вам также потребуется указать before:
{after: "posters", before: "replies"}
@Arkshine огромное спасибо, твой код работает !!! супер ![]()
Мы включили предупреждающий баннер для этих устареваний, поэтому администраторы сообществ будут уведомлены о любых темах или плагинах, которые всё ещё требуют обновления.
Мы также опубликовали справочное руководство с указателями на все различные способы настройки нового списка тем:
Я добавил ссылку на него из первого сообщения.
Дэвид, не уверен, предпочитаешь ли ты эту тему или другую, но вот что у меня есть:
Мой новый компонент (как я полагаю, совместимый) не работает, когда параметр «Enable Glimmer Topic List» установлен в режим «Auto»…
Это указывает на то, что новый API не активируется в режиме «Auto»… Нужно ли мне что-то сделать, чтобы указать компоненту темы, что Discourse должен использовать новый Glimmer API в режиме «Auto»?
Я заметил предупреждение здесь:
Но всё ещё ничего не ломается, хотя указанная вами дата уже прошла, и я использую последнюю сборку…?
Всё немного задерживается, но мы надеемся завершить удаление старого кода в течение следующих 1–2 недель.
Значит, это полностью сломает темы, которые еще не обновлены? Стоит ли избегать обновления? Или есть что-то, что мы можем сделать просто, если форкнем тему?
Да, это помешает применению их кастомизаций к списку тем.
Я бы не рекомендовал этого делать. Обновления ядра Discourse часто включают исправления уязвимостей безопасности, и если вы прекратите обновления, ваше сообщество может оказаться под угрозой.
Похоже, вы уже всё продумали в другой теме ![]()
Системы «legacy topic-list» и «raw handlebars» теперь удалены из ядра Discourse. Спасибо всем, кто помог обновить плагины и темы в связи с этим изменением! ![]()
Это просто потрясающе! Поздравляю команду CDCK, которая работала над этим. ![]()
Также спасибо вам и вашей команде за то, что вы очень открыты к предложениям по новым функциям и так тщательно продумали дизайн нового API ![]()
Я опасался, что мы потеряем часть возможностей. Но на самом деле мы получили гораздо больше, при этом работа с ними стала значительно проще! ![]()
Что касается сырых шаблонов, правильно ли я понимаю, что использование компонентов в шаблоне с функцией автодополнения больше невозможно (например, эмодзи)?
this.textManipulation.autocomplete({
template: renderEmojiAutocomplete,
Кажется, теперь можно возвращать только HTML.
Я помню, вы упоминали, что автодополнение будет переработано в будущем, но, вероятно, это произойдёт не скоро.
Видите ли вы какое-либо решение этой проблемы? (Пытаюсь исправить Emoji Fluff TC)
К сожалению, у нас не было корректного сообщения об устаревании для автозаполнения, извините! Но есть путь вперёд — ознакомьтесь: Autocomplete still using Raw Templates - #4 by david