JavaScript calendar
A lightweight responsive JavaScript calendar, date and date-time picker web component plugin. It brings a great user experience across different devices.
- React, Angular, Vue compatible;
- Mobile friendly;
- Date picker;
- Time picker;
- Year-month picker;
- Several events and easy integration;
- JS plugin or web component;
Examples
Webcomponent date picker
How to embed a simple webcomponent calendar input in your application.<html> <script src="https://jsuites.net/v4/jsuites.js"></script> <script src="https://jsuites.net/v4/jsuites.webcomponents.js"></script> <link rel="stylesheet" href="https://jsuites.net/v4/jsuites.css" type="text/css" /> <jsuites-calendar value="2020-01-20"></jsuites-calendar> <script> document.querySelector('jsuites-calendar').addEventListener('onchange', function(e) { console.log('New value: ' + e.target.value); }); document.querySelector('jsuites-calendar').addEventListener('onclose', function(e) { console.log('Calendar is closed'); }); </script> </html>
Basic date input
Create a basic date and time input using pure JavaScript.<html> <script src="https://jsuites.net/v4/jsuites.js"></script> <link rel="stylesheet" href="https://jsuites.net/v4/jsuites.css" type="text/css" /> <input id='calendar' /> <script> jSuites.calendar(document.getElementById('calendar'),{ format: 'DD/MM/YYYY HH:MM', time: true, }); </script> </html>
React integration
Using the JavaScript calendar via NPM.Install
%npm install jsuites
Component
import jSuites from "jsuites"; import { useRef, useEffect } from "react"; import jSuites from "jsuites"; import "jsuites/dist/jsuites.css"; export default function Calendar({ options }) { const calendarRef = useRef(null); useEffect(() => { jSuites.calendar(calendarRef.current, options); }, [options]); return <input ref={calendarRef} />; }
Documentation
Methods
Method | Description |
---|---|
calendar.open(); | Open the javascript calendar picker |
calendar.close(ignoreEvents); | Close the calendar @param int ignoreEvents - Do no execute onclose event |
calendar.getValue(); | Get the current selected date |
calendar.setValue(newValue); | Set a new value for the javascript calendar and time picker @param mixed newValue - New date should be set as YYYY-MM-DD HH:MM:SS |
calendar.reset(); | Reset the input value |
calendar.next(); | Go to the next month |
calendar.prev(); | Go to the previous month |
Events
Method | Description |
---|---|
onchange | Trigger a method when value is changed. |
onupdate | Trigger a method when any information change in the calendar picker. |
onclose | Trigger a method when the calendar is closed. |
onopen | Trigger a method when the calendar is closed. |
Initial settings
Property | Description |
---|---|
type: string | Picker type: default | year-month-picker. Default: default |
validRange: [ date, date ] | Date selection would be disabled out of this range. Default: null |
startingDay: number | Starting weekday - 0 for sunday, 6 for saturday. Default: 0 (Sunday) |
format: string | Date format. Default: YYYY-MM-DD |
readonly: boolean | Input will be disabled for manual changes. |
today: boolean | If no value is default, open teh calendar on today as default. Default: false |
time: boolean | Include a time picker on the calendar. Default: false |
resetButton: boolean | Show reset button. Default: true |
placeholder: string | Placeholder instructions |
months: array | Month short names. Default: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] |
monthsFull: array | Month short names. Default: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] |
weekdays: array | Weekday names. Default: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] |
weekdays_short: array | Weekday short names. Default: ['S', 'M', 'T', 'W', 'T', 'F', 'S'] |
value: string | Default date. |
fullscreen: boolean | Render in fullscreen. Default: true for screenWidth: 800px |
opened: boolean | Calendar starts opened. Default: false. |
textDone: string | Text of the 'Done' button |
textReset: string | Text of the 'textReset' button |
textUpdate: string | Text of the 'Update' button |