react-big-calendar

Бесплатно
Открытый исходный код

Сайт: github.com/jquense/react-big-calendar

react-big-calendar — библиотека компонентов для построения календарных интерфейсов в приложениях на React. Она предоставляет визуальные представления событий в привычных режимах «день», «неделя», «месяц» и «список», а также механизмы для отображения, создания и управления временными событиями. Библиотека ориентирована на гибкость: позволяет настраивать рендеринг событий, стили, рабочие часы и поведение при взаимодействиях пользователя.

Проект возник как набор компонентов, упрощающих интеграцию календарной визуализации в веб-приложения, и использует сторонние библиотеки для работы с датами и локализацией. Основные сценарии применения включают планирование встреч, отображение таймлайнов и интеграцию с системами управления задачами. Детальные сведения о происхождении и истории проекта могут варьироваться; если официальная история проекта недоступна в конкретном источнике, его назначение и функциональность однозначно определяются исходным кодом и документацией.

  • Поддержка представлений: режимы день, неделя, месяц и настраиваемые виды, включая представление рабочего времени и список событий.
  • Отображение событий: визуализация одно- и многочасовых событий, поддержка перекрытия и продолжительных событий.
  • Интерактивность: перетаскивание (drag-and-drop) событий и изменение их длительности через ресайз (при подключении соответствующих утилит).
  • Локализация и работа с датами: совместимость с разными библиотеками для работы с датами (например, date-fns, moment и др.) и возможность локализации форматов и строковых представлений.
  • Кастомизация рендеринга: возможность предоставления собственных компонентов для событий, заголовков, ячеек и деталей дня.
  • Настройки времени и осей: конфигурация начала и конца рабочего дня, шагов по времени, временных зон и видимости временных интервалов.
  • События и обработчики: набор колбэков для кликов, двойных кликов, выбора диапазона дат и событий перетаскивания для интеграции с бизнес-логикой.
  • Производительность: оптимизации для отображения большого количества событий и механизмы виртуализации при необходимости (в зависимости от реализации и дополнительных библиотек).
  • Стилевые возможности: поддержка пользовательских CSS-классов и inline-стилей для точной настройки внешнего вида.
  • Интеграция с данными: гибкая модель данных событий и простая интеграция с внешними источниками и API.
Подробнее