v3.3.1
  • Спонсор
  • Типы календарей

    Неделя

    Тип календаря 'week' показывает одну неделю вместо целого месяца. Он подходит для записи на приём и любых экранов, где сетка месяца занимает больше места, чем того стоит выбор.

    Полоса открывается на неделе с первой выбранной датой, если эта дата относится к отображаемому месяцу. Иначе берётся сегодняшний день, если он относится к этому месяцу, а в последнюю очередь — неделя с первым днём selectedMonth.

    Стрелки листают по одной неделе и переносят полосу через границы месяцев. Все дни рендерятся как дни текущего периода, поэтому ничего не гасится как дата вне месяца, а клик по дню никогда не сдвигает полосу.

    Неделя на стыке двух месяцев подписывается тем месяцем, которому принадлежит, — тем, где лежит её четвёртый день. По тому же правилу определяется её номер по ISO.

    Сворачивание месяца до недели

    enableCollapse добавляет под сеткой элемент управления, который переключает месяц и неделю, — представление выбирает посетитель, а не вы. Подробности в разделе Сворачивание.

    Те же элементы управления работают в inputMode. Этот попап открывается в режиме недели, раскрывается до полного месяца с помощью enableCollapse и листает текущее представление с помощью enableSwipe:

    Программное переключение

    Сворачивание задаёт type, поэтому оба представления доступны и из вашего кода:

    ts
    calendar.set({ type: 'week' }); // свернуть до недели
    calendar.set({ type: 'default' }); // обратно к месяцу
    calendar.type; // 'week', пока календарь свёрнут

    displayMonthsCount для этого типа остаётся равным 1, несколько недель рядом не поддерживаются. Если нужно больше одной сетки, используйте type: 'multiple'.