Календари
Что такое календарь
Календарь — это визуальное представление записей одной или нескольких сущностей в виде событий на временной шкале. Например, календарь заявок (по полю «Дедлайн»), календарь отпусков, календарь запланированных работ. Доступен в меню Управление приложением → Календари или по адресу /calendars.
В отличие от обычного списка записей, календарь не создаёт новых данных — он берёт существующие записи сущности и показывает их там, где у записи есть дата.
Список календарей
Раздел /calendars показывает все настроенные календари. Открытие календаря из списка ведёт на экран просмотра с расписанием.
Создание и настройка календаря
Форма редактирования календаря (/calendars/:id, тот же экран открывается и для создания) состоит из двух вкладок.
Вкладка «Основные настройки»
| Поле | Описание |
|---|---|
| Название календаря | Например, «Рабочий график» |
| Вид по умолчанию | Месяц, Неделя или День — какой вид открывается при заходе на календарь |
| Календарь активен | Включает/выключает календарь без удаления |
Вкладка «Источники данных»
Один календарь может объединять записи из нескольких сущностей одновременно — для этого добавляются источники (кнопка + Добавить источник). Для каждого источника настраивается:
| Поле | Обязательное | Описание |
|---|---|---|
| Тип записи | Да | Сущность, записи которой показываются как события |
| Название события | Нет | Поле сущности, которое будет заголовком события (если не выбрано — используется ID записи) |
| Цвет ярлыка | Нет | Цвет события на календаре, отдельный для каждого источника |
| Поле: Дата начала | Да | Поле даты/даты-времени записи, определяющее начало события |
| Поле: Дата окончания | Нет | Если не задано, событие отображается как точечное (без длительности) |
| Поле для фильтра «Пользователь» | Нет | Поле типа «Пользователь» (например, «Исполнитель»), по которому работает переключатель «Только мои» |
Источник нельзя сохранить без выбранного типа записи и поля даты начала.
После сохранения можно открыть Предпросмотр, чтобы увидеть, как календарь выглядит для пользователей (предпросмотр недоступен до первого сохранения).
Просмотр календаря
Экран просмотра календаря (/calendars/render/:id) показывает события на сетке:
- Виды отображения — Месяц, Неделя, День (переключаются кнопками в правом верхнем углу); вида «Список» нет
- Кнопки ‹ › и Сегодня в шапке — навигация по датам
- Переключатель Только мои — фильтрует события по полю «Пользователь», заданному в источнике (показывает события, где это поле равно текущему пользователю)
- Кнопка-шестерёнка — переход к настройкам календаря
При смене месяца/недели/дня события подгружаются автоматически под видимый диапазон дат.
Перетаскивание событий (изменение даты прямо на календаре) не поддерживается — события только просматриваются.
Переход от события к записи
Клик на событие в календаре открывает карточку соответствующей записи сущности (тот же экран, что открывается из обычного списка записей).
Ограничения
- Календарь показывает только записи с заполненным полем даты начала — записи без даты не отображаются.
- Один календарь может объединять несколько разных сущностей, но у каждой свой набор настроенных полей (название, даты, цвет, фильтр) — это не общие настройки на весь календарь.