biletiki.store — пример сайта для поиска авиабилетов и отелей с помощью vanilla-calendar.
Действия
Действия в VanillaCalendar представляют собой обработчики событий, которые позволяют получать и обрабатывать различные данные взаимодействия с календарем.
Обратите внимание, что нумерация месяцев начинаются с 0
, поэтому декабрь — это 11-й месяц. Это связано с работой стандартного метода .getMonth()
.
actions.clickDay()
Type: Function
Default: null
Options: clickDay(e, dates) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickDay(e, dates) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickDay(e, dates) {},
},
});
Этот метод срабатывает после нажатия на день в календаре. Вы можете получить следующие параметры:
e
- событие мыши;dates
- массив выбранных дат.
Важно знать, что каждый HTML-элемент дня, на который нажали, содержит data-атрибут, внутри которого находится полная дата в формате YYYY-MM-DD
.
Если вам нужно получить день, месяц, год отдельно, то вы можете использовать стандартные методы JS.
В качестве примера: new Date('2022-11-07').getDate()
вернет 7
.
actions.clickWeekNumber()
Type: Function
Default: null
Options: clickWeekNumber(e, number, days, year) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickWeekNumber(e, number, days, year) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickWeekNumber(e, number, days, year) {},
},
});
Этот метод срабатывает после нажатия на номер недели в календаре, но для его работы необходим параметр settings.visibility.weekNumbers
со значением true
. Вы можете получить следующие параметры:
e
- событие мыши;number
- номер недели;days
- массив дней (html-элементов);year
- год недели.
actions.clickMonth()
Type: Function
Default: null
Options: clickMonth(e, month) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickMonth(e, month) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickMonth(e, month) {},
},
});
Этот метод срабатывает после выбора месяца в календаре. Вы можете получить следующие параметры:
e
- событие мыши;month
- номер выбранного месяца.
actions.clickYear()
Type: Function
Default: null
Options: clickYear(e, year) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickYear(e, year) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickYear(e, year) {},
},
});
Этот метод срабатывает после выбора года в календаре. Вы можете получить следующие параметры:
e
- событие мыши;year
- выбранный год.
actions.clickArrow()
Type: Function
Default: null
Options: clickArrow(e, year, month) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickArrow(e, year, month) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickArrow(e, year, month) {},
},
});
Этот метод срабатывает после клика на стрелочку в календаре. Вы можете получить следующие параметры:
e
- событие мыши;year
- выбранный год;month
- номер выбранного месяца.
actions.changeTime()
Type: Function
Default: null
Options: changeTime(e, time, hours, minutes, keeping) => void | null
new VanillaCalendar('#calendar', {
actions: {
changeTime(e, time, hours, minutes, keeping) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
changeTime(e, time, hours, minutes, keeping) {},
},
});
Этот метод срабатывает после изменения времени в календаре. Вы можете получить следующие параметры:
e
- событие change;time
- выбранное время;hours
- выбранный час;minutes
- выбранные минуты;keeping
- выбранный маркер AM/PM для 12-часового формата времени.
actions.changeToInput()
Type: Function
Default: null
Options: changeToInput(e, calendar, dates, time, hours, minutes, keeping) => void | null
new VanillaCalendar('#calendar', {
actions: {
changeToInput(e, calendar, dates, time, hours, minutes, keeping) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
changeToInput(e, calendar, dates, time, hours, minutes, keeping) {},
},
});
Для работы этого метода необходим параметр input
с значением true
.
Этот метод срабатывает после нажатия на день в календаре или изменения времени любым способом.
Вы можете получить следующие параметры:
e
- событие;calendar
- объект, содержащийHTMLInputElement
,HTMLElement
и методыshow()
,hide()
;dates
- массив выбранных дат;time
- выбранное время;hours
- выбранный час;minutes
- выбранные минуты;keeping
- выбранный маркер AM/PM.
actions.getDays()
Type: Function
Default: null
Options: getDays(day, date, HTMLElement, HTMLButtonElement) => void | null
new VanillaCalendar('#calendar', {
actions: {
getDays(day, date, HTMLElement, HTMLButtonElement) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
getDays(day, date, HTMLElement, HTMLButtonElement) {},
},
});
Этот метод срабатывает при инициализации календаря и при любых изменениях. Он предоставляет доступ к информации о каждом дне и его HTML-элементе. Вы можете получить следующие параметры:
day
- номер дня;date
- полная дата в форматеYYYY-MM-DD
;HTMLElement
- родительский (обертка) HTML-элемент дня;HTMLButtonElement
- дочерний (кнопка) HTML-элемент дня.
actions.hideCalendar()
Type: Function
Default: null
Options: hideCalendar(HTMLInputElement, HTMLElement) => void | null
new VanillaCalendar('#calendar', {
actions: {
hideCalendar(HTMLInputElement, HTMLElement) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
hideCalendar(HTMLInputElement, HTMLElement) {},
},
});
Этот метод срабатывает при скрытии календаря, но только если для параметра input
установлено значение true
.
HTMLInputElement
- представляет корневой элемент HTML, который является полем ввода;HTMLElement
- корневой HTML-элемент календаря.
actions.showCalendar()
Type: Function
Default: null
Options: showCalendar(HTMLInputElement, HTMLElement) => void | null
new VanillaCalendar('#calendar', {
actions: {
showCalendar(HTMLInputElement, HTMLElement) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
showCalendar(HTMLInputElement, HTMLElement) {},
},
});
Этот метод срабатывает при отображении календаря пользователю, но только если для параметра input
установлено значение true
.
HTMLInputElement
- представляет корневой элемент HTML, который является полем ввода;HTMLElement
- корневой HTML-элемент календаря.