0.2.1 • Published 2 years ago
calendar-model v0.2.1
Calendar model
Тут написан небольшой набор классов при помощи которых можно генерировать сетку для календаря.
Данная библиотека работает с объектами moment
Существующие классы
Все они реализуют интерфейс ICalendar
Опции которые принимают в себя календари OptionCalendar
// Дефолтные значения
const optionCalendar = {
date: moment(),
// Выберете первый день недели, по умолчанию стоит понедельник.
startDay: 'monday' || 'sunday',
// Указывает на тип календаря на день, неделю, месяц, год
typeCalendar: 'day' || 'week' || 'month' || 'year'
}
Пример использования
const calendar = new CalendarMonth({
date: moment('03.07.2022','DD.MM.YYYY')
})
// Вернет вам массив из moment объектов, для рендера календаря.
const grid = calendar.gridCalendar()
Так же есть несколько дополнительных методов которые вы можете использовать уже сейчас.
const calendar = new CalendarMonth({
date: moment('03.07.2022','DD.MM.YYYY')
})
// Сдвинет дату календаря на 1 мес, сдвиг равняется типу календаря т.е
// если это будет CalendarWeek, то дата сдвинется на неделю.
calendar.swapNextDate()
// Получим массив за Август
calendar.gridCalendar()
// Сдвинет дату календаря на 1 мес назад.
calendar.swapPrevDate()
Так же есть дополнительный метод
const calendar = new CalendarMonth({
date: moment('03.07.2022','DD.MM.YYYY')
})
// Переместите календарь в нужное вам время
calendar.setDate(moment())
Это тестовый вариант модели для календаря, в будущем планируется сделать Если у вас есть желание поддержать разработку или у вас есть идея по улучшению, то прошу писать сюда swdevstudio@gmail.com
- Улучшения по календарю
- Сделать возможность генерации массива с воскресенья.
- Сделать общий класс с возможность переключения между типами календаря.
- Добавить обертку модели для Vue.
- По проекту
- Провести код ревью проекта.
- Добавить prettier и eslint для единого форматирования кода.