0.2.1 • Published 2 years ago

calendar-model v0.2.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

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 для единого форматирования кода.
0.2.1

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.0

2 years ago