biletiki.store — пример сайта для поиска авиабилетов и отелей с помощью vanilla-calendar.
Действия
Действия в VanillaCalendar представляют собой обработчики событий, которые позволяют получать и обрабатывать различные данные взаимодействия с календарем.
Начиная с версии 2.9.0 все методы содержат self
— ссылку на инициализированный календарь. Это позволяет получить максимальное количество данных. self
содержит все параметры для чтения и многое другое.
Обратите внимание, что нумерация месяцев начинаются с 0
, поэтому декабрь — это 11-й месяц. Это связано с работой стандартного метода .getMonth()
.
actions.clickDay()
Type: Function
Default: null
Options: clickDay(e, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickDay(e, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickDay(e, self) {},
},
});
Этот метод срабатывает после нажатия на день в календаре. Вы можете получить следующие параметры:
e
- событие мыши;self
- ссылка на инициализированный календарь.
Важно знать, что каждый 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, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickWeekNumber(e, number, days, year, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickWeekNumber(e, number, days, year, self) {},
},
});
Этот метод срабатывает после нажатия на номер недели в календаре, но для его работы необходим параметр settings.visibility.weekNumbers
со значением true
. Вы можете получить следующие параметры:
e
- событие мыши;number
- номер недели;days
- массив дней (html-элементов);year
- год недели;self
- ссылка на инициализированный календарь.
actions.clickMonth()
Type: Function
Default: null
Options: clickMonth(e, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickMonth(e, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickMonth(e, self) {},
},
});
Этот метод срабатывает после выбора месяца в календаре. Вы можете получить следующие параметры:
e
- событие мыши;self
- ссылка на инициализированный календарь.
actions.clickYear()
Type: Function
Default: null
Options: clickYear(e, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickYear(e, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickYear(e, self) {},
},
});
Этот метод срабатывает после выбора года в календаре. Вы можете получить следующие параметры:
e
- событие мыши;self
- ссылка на инициализированный календарь.
actions.clickArrow()
Type: Function
Default: null
Options: clickArrow(e, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
clickArrow(e, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
clickArrow(e, self) {},
},
});
Этот метод срабатывает после клика на стрелочку в календаре. Вы можете получить следующие параметры:
e
- событие мыши;self
- ссылка на инициализированный календарь.
actions.changeTime()
Type: Function
Default: null
Options: changeTime(e, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
changeTime(e, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
changeTime(e, self) {},
},
});
Этот метод срабатывает после изменения времени в календаре. Вы можете получить следующие параметры:
e
- событие change;self
- ссылка на инициализированный календарь.
actions.changeToInput()
Type: Function
Default: null
Options: changeToInput(e, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
changeToInput(e, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
changeToInput(e, self) {},
},
});
Для работы этого метода необходим параметр input
с значением true
.
Этот метод срабатывает после нажатия на день в календаре или изменения времени любым способом.
Вы можете получить следующие параметры:
e
- событие;self
- ссылка на инициализированный календарь.
actions.getDays()
Type: Function
Default: null
Options: getDays(day, date, HTMLElement, HTMLButtonElement, self) => void | null
new VanillaCalendar('#calendar', {
actions: {
getDays(day, date, HTMLElement, HTMLButtonElement, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
getDays(day, date, HTMLElement, HTMLButtonElement, self) {},
},
});
Этот метод срабатывает при инициализации календаря и при любых изменениях. Он предоставляет доступ к информации о каждом дне и его HTML-элементе. Вы можете получить следующие параметры:
day
- номер дня;date
- полная дата в форматеYYYY-MM-DD
;HTMLElement
- родительский (обертка) HTML-элемент дня;HTMLButtonElement
- дочерний (кнопка) HTML-элемент дня.self
- ссылка на инициализированный календарь.
actions.getMonths()
Type: Function
Default: null
Options: getMonths(month: number, HTMLElement: HTMLElement, self: IVanillaCalendar) => void | null
new VanillaCalendar('#calendar', {
actions: {
getMonths(month, HTMLElement, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
getMonths(month, HTMLElement, self) {},
},
});
Этот метод срабатывает, когда тип календаря установлен на 'month'
. Тип календаря также становится 'month'
, когда пользователь кликает на заголовок месяца или при инициализации с параметром type = 'month'
. Он предоставляет доступ к информации о каждом месяце и его HTML-элементе. Вы можете получить следующие параметры:
month
- номер месяца (начинается с 0);HTMLElement
- HTML-элемент месяца;self
- ссылка на инициализированный календарь.
actions.getYears()
Type: Function
Default: null
Options: getYears(year: number, HTMLElement: HTMLElement, self: IVanillaCalendar) => void | null
new VanillaCalendar('#calendar', {
actions: {
getYears(year, HTMLElement, self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
getYears(year, HTMLElement, self) {},
},
});
Этот метод срабатывает, когда тип календаря установлен на 'year'
. Тип календаря становится 'year'
, когда пользователь кликает на заголовок года или при инициализации с параметром type = 'year'
. Он предоставляет доступ к информации о каждом годе и его HTML-элементе. Вы можете получить следующие параметры:
year
- номер года;HTMLElement
- HTML-элемент года;self
- ссылка на инициализированный календарь.
actions.hideCalendar()
Type: Function
Default: null
Options: hideCalendar(self) => void | null
new VanillaCalendar('#calendar', {
actions: {
hideCalendar(self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
hideCalendar(self) {},
},
});
Этот метод срабатывает при скрытии календаря, но только если для параметра input
установлено значение true
.
self
- ссылка на инициализированный календарь.
actions.showCalendar()
Type: Function
Default: null
Options: showCalendar(self) => void | null
new VanillaCalendar('#calendar', {
actions: {
showCalendar(self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
showCalendar(self) {},
},
});
Этот метод срабатывает при отображении календаря пользователю, но только если для параметра input
установлено значение true
.
self
- ссылка на инициализированный календарь.
actions.initCalendar()
Type: Function
Default: null
Options: initCalendar(self) => void | null
new VanillaCalendar('#calendar', {
actions: {
initCalendar(self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
initCalendar(self) {},
},
});
Этот метод срабатывает при инициализации календаря. Если для параметра input
установлено значение true
, то метод отработает при первом отображении календаря, поскольку в этот момент инициализируется календарь.
self
- ссылка на инициализированный календарь.
actions.updateCalendar()
Type: Function
Default: null
Options: updateCalendar(self) => void | null
new VanillaCalendar('#calendar', {
actions: {
updateCalendar(self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
updateCalendar(self) {},
},
});
Этот метод срабатывает при обновлении/сбросе календаря.
self
- ссылка на инициализированный календарь.
actions.destroyCalendar()
Type: Function
Default: null
Options: destroyCalendar(self) => void | null
new VanillaCalendar('#calendar', {
actions: {
destroyCalendar(self) {},
},
});
new VanillaCalendar('#calendar', {
actions: {
destroyCalendar(self) {},
},
});
Этот метод срабатывает при уничтожении календаря.
self
- ссылка на инициализированный календарь.