Infinite Scrolling Date Picker UI With Pure JavaScript
AUTHOR: | patrickkunka |
---|---|
VIEWS TOTAL: | 6,469 views |
OFFICIAL PAGE: | Go to website |
LAST UPDATE: | May 31, 2017 |
LICENSE: | MIT |
Preview:
Description:
A pure JavaScript date picker component that enables the user to select a date from an infinite scrolling calendar UI.
How to use it:
Load the main style sheet ‘styles.css’ to style the date picker.
<link rel="stylesheet" href="styles.css">
Create a regular text field to accept the date input.
<input name="date" value="2017-05-31"/>
Load the JavaScript file ‘datepicker.js’ right before the closing body tag.
<script src="datepicker.js"></script>
Initialize the date picker and we’re done.
var input = document.querySelector('input[name="date"]'); var picker = datepicker(input);
Event listeners.
input.addEventListener('change', () => { console.log('change', input.value); }); input.addEventListener('input', () => { console.log('input', input.value); });
All default options to customize the date picker.
var picker = datepicker(input,{ animation: { duration: 200, easing: 'cubic-bezier(0.86, 0, 0.07, 1)' }, behavior: { closeOnSelect: true }, callbacks: { onSelect: null, onOpen: null, onClose: null, onChangeView: null }, classNames: { block: 'datepicker', elementCalendar: 'calendar', elementDay: 'day', elementWeek: 'week', elementMonth: 'month', elementHeader: 'header', elementMarker: 'marker', elementButton: 'button', elementButtonGroup: 'button-group', elementHeading: 'heading', modifierActive: 'active', modifierToday: 'today', modifierSelected: 'selected', modifierPadding: 'padding', modifierWeekend: 'weekend', modifierNextMonth: 'next-month', modifierPrevMonth: 'prev-month', modifierNextYear: 'next-year', modifierPrevYear: 'prev-year', delineatorElement: '_', delineatorModifier: '__' }, transform: { input: null, output: null } });