303 lines
7.5 KiB
JavaScript
303 lines
7.5 KiB
JavaScript
/**
|
|
* Form Picker
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
(function () {
|
|
// Flat Picker
|
|
// --------------------------------------------------------------------
|
|
const flatpickrDate = document.querySelector('#flatpickr-date'),
|
|
flatpickrTime = document.querySelector('#flatpickr-time'),
|
|
flatpickrDateTime = document.querySelector('#flatpickr-datetime'),
|
|
flatpickrMulti = document.querySelector('#flatpickr-multi'),
|
|
flatpickrRange = document.querySelector('#flatpickr-range'),
|
|
flatpickrInline = document.querySelector('#flatpickr-inline'),
|
|
flatpickrFriendly = document.querySelector('#flatpickr-human-friendly'),
|
|
flatpickrDisabledRange = document.querySelector('#flatpickr-disabled-range');
|
|
|
|
// Date
|
|
if (flatpickrDate) {
|
|
flatpickrDate.flatpickr({
|
|
monthSelectorType: 'static'
|
|
});
|
|
}
|
|
|
|
// Time
|
|
if (flatpickrTime) {
|
|
flatpickrTime.flatpickr({
|
|
enableTime: true,
|
|
noCalendar: true
|
|
});
|
|
}
|
|
|
|
// Datetime
|
|
if (flatpickrDateTime) {
|
|
flatpickrDateTime.flatpickr({
|
|
enableTime: true,
|
|
dateFormat: 'Y-m-d H:i'
|
|
});
|
|
}
|
|
|
|
// Multi Date Select
|
|
if (flatpickrMulti) {
|
|
flatpickrMulti.flatpickr({
|
|
weekNumbers: true,
|
|
enableTime: true,
|
|
mode: 'multiple',
|
|
minDate: 'today'
|
|
});
|
|
}
|
|
|
|
// Range
|
|
if (typeof flatpickrRange != undefined) {
|
|
flatpickrRange.flatpickr({
|
|
mode: 'range'
|
|
});
|
|
}
|
|
|
|
// Inline
|
|
if (flatpickrInline) {
|
|
flatpickrInline.flatpickr({
|
|
inline: true,
|
|
allowInput: false,
|
|
monthSelectorType: 'static'
|
|
});
|
|
}
|
|
|
|
// Human Friendly
|
|
if (flatpickrFriendly) {
|
|
flatpickrFriendly.flatpickr({
|
|
altInput: true,
|
|
altFormat: 'F j, Y',
|
|
dateFormat: 'Y-m-d'
|
|
});
|
|
}
|
|
|
|
// Disabled Date Range
|
|
if (flatpickrDisabledRange) {
|
|
const fromDate = new Date(Date.now() - 3600 * 1000 * 48);
|
|
const toDate = new Date(Date.now() + 3600 * 1000 * 48);
|
|
|
|
flatpickrDisabledRange.flatpickr({
|
|
dateFormat: 'Y-m-d',
|
|
disable: [
|
|
{
|
|
from: fromDate.toISOString().split('T')[0],
|
|
to: toDate.toISOString().split('T')[0]
|
|
}
|
|
]
|
|
});
|
|
}
|
|
})();
|
|
|
|
// * Pickers with jQuery dependency (jquery)
|
|
$(function () {
|
|
// Bootstrap Datepicker
|
|
// --------------------------------------------------------------------
|
|
var bsDatepickerBasic = $('#bs-datepicker-basic'),
|
|
bsDatepickerFormat = $('#bs-datepicker-format'),
|
|
bsDatepickerRange = $('#bs-datepicker-daterange'),
|
|
bsDatepickerDisabledDays = $('#bs-datepicker-disabled-days'),
|
|
bsDatepickerMultidate = $('#bs-datepicker-multidate'),
|
|
bsDatepickerOptions = $('#bs-datepicker-options'),
|
|
bsDatepickerAutoclose = $('#bs-datepicker-autoclose'),
|
|
bsDatepickerInlinedate = $('#bs-datepicker-inline');
|
|
|
|
// Basic
|
|
if (bsDatepickerBasic.length) {
|
|
bsDatepickerBasic.datepicker({
|
|
todayHighlight: true,
|
|
orientation: isRtl ? 'auto right' : 'auto left'
|
|
});
|
|
}
|
|
|
|
// Format
|
|
if (bsDatepickerFormat.length) {
|
|
bsDatepickerFormat.datepicker({
|
|
todayHighlight: true,
|
|
format: 'dd/mm/yyyy',
|
|
orientation: isRtl ? 'auto right' : 'auto left'
|
|
});
|
|
}
|
|
|
|
// Range
|
|
if (bsDatepickerRange.length) {
|
|
bsDatepickerRange.datepicker({
|
|
todayHighlight: true,
|
|
orientation: isRtl ? 'auto right' : 'auto left'
|
|
});
|
|
}
|
|
|
|
// Disabled Days
|
|
if (bsDatepickerDisabledDays.length) {
|
|
bsDatepickerDisabledDays.datepicker({
|
|
todayHighlight: true,
|
|
daysOfWeekDisabled: [0, 6],
|
|
orientation: isRtl ? 'auto right' : 'auto left'
|
|
});
|
|
}
|
|
|
|
// Multiple
|
|
if (bsDatepickerMultidate.length) {
|
|
bsDatepickerMultidate.datepicker({
|
|
multidate: true,
|
|
todayHighlight: true,
|
|
orientation: isRtl ? 'auto right' : 'auto left'
|
|
});
|
|
}
|
|
|
|
// Options
|
|
if (bsDatepickerOptions.length) {
|
|
bsDatepickerOptions.datepicker({
|
|
calendarWeeks: true,
|
|
clearBtn: true,
|
|
todayHighlight: true,
|
|
orientation: isRtl ? 'auto left' : 'auto right'
|
|
});
|
|
}
|
|
|
|
// Auto close
|
|
if (bsDatepickerAutoclose.length) {
|
|
bsDatepickerAutoclose.datepicker({
|
|
todayHighlight: true,
|
|
autoclose: true,
|
|
orientation: isRtl ? 'auto right' : 'auto left'
|
|
});
|
|
}
|
|
|
|
// Inline picker
|
|
if (bsDatepickerInlinedate.length) {
|
|
bsDatepickerInlinedate.datepicker({
|
|
todayHighlight: true
|
|
});
|
|
}
|
|
|
|
// Bootstrap Daterange Picker
|
|
// --------------------------------------------------------------------
|
|
var bsRangePickerBasic = $('#bs-rangepicker-basic'),
|
|
bsRangePickerSingle = $('#bs-rangepicker-single'),
|
|
bsRangePickerTime = $('#bs-rangepicker-time'),
|
|
bsRangePickerRange = $('#bs-rangepicker-range'),
|
|
bsRangePickerWeekNum = $('#bs-rangepicker-week-num'),
|
|
bsRangePickerDropdown = $('#bs-rangepicker-dropdown');
|
|
|
|
// Basic
|
|
if (bsRangePickerBasic.length) {
|
|
bsRangePickerBasic.daterangepicker({
|
|
opens: isRtl ? 'left' : 'right'
|
|
});
|
|
}
|
|
|
|
// Single
|
|
if (bsRangePickerSingle.length) {
|
|
bsRangePickerSingle.daterangepicker({
|
|
singleDatePicker: true,
|
|
opens: isRtl ? 'left' : 'right'
|
|
});
|
|
}
|
|
|
|
// Time & Date
|
|
if (bsRangePickerTime.length) {
|
|
bsRangePickerTime.daterangepicker({
|
|
timePicker: true,
|
|
timePickerIncrement: 30,
|
|
locale: {
|
|
format: 'MM/DD/YYYY h:mm A'
|
|
},
|
|
opens: isRtl ? 'left' : 'right'
|
|
});
|
|
}
|
|
|
|
if (bsRangePickerRange.length) {
|
|
bsRangePickerRange.daterangepicker({
|
|
ranges: {
|
|
Today: [moment(), moment()],
|
|
Yesterday: [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
|
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
|
|
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
|
|
'This Month': [moment().startOf('month'), moment().endOf('month')],
|
|
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
|
|
},
|
|
opens: isRtl ? 'left' : 'right'
|
|
});
|
|
}
|
|
|
|
// Week Numbers
|
|
if (bsRangePickerWeekNum.length) {
|
|
bsRangePickerWeekNum.daterangepicker({
|
|
showWeekNumbers: true,
|
|
opens: isRtl ? 'left' : 'right'
|
|
});
|
|
}
|
|
// Dropdown
|
|
if (bsRangePickerDropdown.length) {
|
|
bsRangePickerDropdown.daterangepicker({
|
|
showDropdowns: true,
|
|
opens: isRtl ? 'left' : 'right'
|
|
});
|
|
}
|
|
|
|
// jQuery Timepicker
|
|
// --------------------------------------------------------------------
|
|
var basicTimepicker = $('#timepicker-basic'),
|
|
minMaxTimepicker = $('#timepicker-min-max'),
|
|
disabledTimepicker = $('#timepicker-disabled-times'),
|
|
formatTimepicker = $('#timepicker-format'),
|
|
stepTimepicker = $('#timepicker-step'),
|
|
altHourTimepicker = $('#timepicker-24hours');
|
|
|
|
// Basic
|
|
if (basicTimepicker.length) {
|
|
basicTimepicker.timepicker({
|
|
orientation: isRtl ? 'r' : 'l'
|
|
});
|
|
}
|
|
|
|
// Min & Max
|
|
if (minMaxTimepicker.length) {
|
|
minMaxTimepicker.timepicker({
|
|
minTime: '2:00pm',
|
|
maxTime: '7:00pm',
|
|
showDuration: true,
|
|
orientation: isRtl ? 'r' : 'l'
|
|
});
|
|
}
|
|
|
|
// Disabled Picker
|
|
if (disabledTimepicker.length) {
|
|
disabledTimepicker.timepicker({
|
|
disableTimeRanges: [
|
|
['12am', '3am'],
|
|
['4am', '4:30am']
|
|
],
|
|
orientation: isRtl ? 'r' : 'l'
|
|
});
|
|
}
|
|
|
|
// Format Picker
|
|
if (formatTimepicker.length) {
|
|
formatTimepicker.timepicker({
|
|
timeFormat: 'H:i:s',
|
|
orientation: isRtl ? 'r' : 'l'
|
|
});
|
|
}
|
|
|
|
// Steps Picker
|
|
if (stepTimepicker.length) {
|
|
stepTimepicker.timepicker({
|
|
step: 15,
|
|
orientation: isRtl ? 'r' : 'l'
|
|
});
|
|
}
|
|
|
|
// 24 Hours Format
|
|
if (altHourTimepicker.length) {
|
|
altHourTimepicker.timepicker({
|
|
show: '24:00',
|
|
timeFormat: 'H:i:s',
|
|
orientation: isRtl ? 'r' : 'l'
|
|
});
|
|
}
|
|
});
|