Компонент Calendar для Angular | ng-hub-ui-calendar

Компонент календаря для Angular с представлениями событий, drag and drop, шаблонами, интернационализацией и CSS-переменными для интерфейсов планирования.

Справочник API

Вот полный контракт calendar: всё, что можно привязать, прослушать, спроецировать и тематизировать, собрано в одном месте. Подключите то, что нужно, и оформите так, как хотите — это standalone и дружит с сигналами.

Входные свойства

Настройте calendar с помощью 6 входных свойств. Привязывайте их, как любой @Input в Angular.

ИмяТипПо умолчаниюОписание
eventsCalendarEvent<T>[][]Массив событий для отображения в календаре
view'month' | 'week' | 'day' | 'year''month'Текущий тип представления (двусторонняя привязка с viewChange)
selectedDateDatenew Date()Текущая выбранная дата (двусторонняя привязка с dateChange)
configCalendarConfig{}Параметры конфигурации для календаря
eventClassstring | ((event: CalendarEvent) => string)undefinedCSS-класс(ы) для применения к событиям, может быть статическим или динамическим
weekStartsOn0 | 1 | 2 | 3 | 4 | 5 | 60День начала недели (0 = воскресенье, 1 = понедельник и т. д.)

События

Реагируйте на то, что делает calendar, — 5 событий, к которым можно подключить вашу логику.

ИмяТипОписание
eventClickCalendarEvent<T>Вызывается при клике по событию
dayClickCalendarDay<T>Вызывается при клике по ячейке дня
eventDrop{ event: CalendarEvent<T>; newDate: Date; previousDate: Date }Вызывается при перетаскивании события на другой день
viewChangeCalendarViewTypeВызывается при изменении типа представления
dateChangeDateВызывается, когда навигация изменяет отображаемую дату

Шаблоны

Сделайте его своим — 2 слотов шаблона позволяют проецировать собственную разметку.

ИмяОписаниеПример
eventTptШаблон для отрисовки отдельных событий. Контекст: { event: CalendarEvent }<ng-template eventTpt let-event="event">{{ event.title }}</ng-template>
dayCellTptШаблон для настройки отрисовки ячейки дня. Контекст: { day: CalendarDay }<ng-template dayCellTpt let-day="day">{{ day.date | date }}</ng-template>

CSS-переменные

CSS-переменные пока не задокументированы.

Стилизация и тематизация

Примеры стилизации пока не задокументированы. В этом разделе будут рецепты кастомизации и примеры тематизации.