Календарь без дат и направляющие в календаре

Здравствуйте. У меня появилась не совсем стандартная задача. Нужно создать экран на котором календарь, который отображается в формате одной недели, будет отображать события на основе базы данных, но в таблице хранится только время начала и окончания события и (в отдельном столбце) день недели. Т.е. это должно быть расписание регулярных еженедельных событий. При этом календарь должен быть интерактивным, т.е. события можно переносить, добавлять новые.

Скажите, пожалуйста, правильно ли я понимаю, что для реализации такого экрана необходимо создание собственного компонента? Подскажите, пожалуйста, каким способом его проще создать?

И второй вопрос, похожий на первый.
В стандартном компоненте “календарь” необходимо расширить функциональность - отображать горизонтальные направляющие линии(с прилипанием при создании, перетаскивании и изменении размеров событий) по определённым правилам. Каким образом это лучше сделать?

Спасибо.

Добрый день, @alexandrov!

Мне кажется, что Вы сможете воспользоваться уже существующим функционалом компонента Календарь.

  1. Выберите произвольную неделю, которая у Вас будет считаться начальной точкой отсчета, и установите ее с помощью startDate и endDate;
  2. Установите атрибут navigationButtonsVisible = false, чтобы скрыть кнопки переключения недели;
  3. Вычислите время начала и время окончания события в зависимости от данных их БД и затем создайте calendarEvent для отображения события в Календаре (пример создания calendarEvent).
  4. Чтобы рядом с названием дня недели не отображалось число, вам нужно использовать атрибут weeklyCaptionFormat.

Подробно прочитать про способы создания собственного визуального компонента вы можете в документации (ссылка).

Возможно, вам будет достаточно расширить тему и написать свои собственные css стили для компонента Календарь (документация).

Если Вам понадобится расширить функциональность из web-toolkit модуля, то можете посмотреть пример в следующей теме на форуме (ссылка).

С уважением,
Глеб

2 симпатии

Глеб, спасибо большое. Будем пробовать!