Я столкнулся со следующими проблемами в области пользовательского интерфейса при использовании обновленного плагина календаря:
Изображение героя в карточке события ведет на само изображение, а не на тему
Отсутствие точек расширения плагина в редакторе и диалоговом окне расширенных настроек
Хотя представление события в обработанном посте имеет множество точек расширения плагина и обертку discourse-post-event-info, новое представление события в редакторе их не содержит, равно как и диалоговое окно расширенных настроек.
Отсутствие специального CSS-класса для раздела пользовательских полей в диалоговом окне расширенных настроек
Чтобы обеспечить особое форматирование или ввод для пользовательских полей, было бы неплохо, если бы у нас была точка расширения плагина (см. предыдущую проблему) и возможность скрыть весь общий раздел ввода пользовательских полей. Раздел «Пользовательские поля» имеет только CSS-класс form-kit__container --full, но не имеет идентификатора.
Отдельные поля имеют идентификатор control-customFields-fieldname.
Кнопка «Расширенные настройки» внизу не меняет вид
Даже когда вы находитесь в расширенных настройках, кнопка выглядит так же. Оказывается, это переключатель: нажатие «Расширенные настройки» в диалоговом окне расширенных настроек возвращает вас к основному представлению.
Добавление пользовательских полей в сериализатор
Это не совсем вопрос пользовательского интерфейса, но пользовательские поля недоступны на фронтенде в структурированном виде.
В настоящее время мы используем плагин, который просто делает следующее:
add_to_class("DiscoursePostEvent::BasicEventSerializer", :event_extensions_custom_fields) do
object.custom_fields
end
add_to_serializer("discourse_post_event/basic_event", :custom_fields) do
event_extensions_custom_fields
end

