/*=========================================================================================
File Name: picker-date-time.js
Description: Pick a date/time Picker, Date Range Picker JS
----------------------------------------------------------------------------------------
Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template
Author: Pixinvent
Author URL: hhttp://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function (window, document, $) {
'use strict';
/******* Pick-a-date Picker *****/
// Basic date
$('.pickadate').pickadate();
// Change Day & Month strings
$('.pickadate-short-string').pickadate({
weekdaysShort: ['S', 'M', 'Tu', 'W', 'Th', 'F', 'S'],
showMonthsShort: true
});
// Select Year
$('.pickadate-select-year').pickadate({
selectYears: 8
});
// Change first weekday
$('.pickadate-firstday').pickadate({
firstDay: 1
});
// Button options
$('.pickadate-buttons').pickadate({
today: '',
close: 'Close Picker',
clear: ''
});
// Date limits
$('.pickadate-limits').pickadate({
min: [2016, 8, 20],
max: [2016, 10, 30]
});
// Format options
$('.pickadate-format').pickadate({
// Escape any 'rule' characters with an exclamation mark (!).
format: 'Selecte!d Date : dddd, dd mmmm, yyyy',
formatSubmit: 'mm/dd/yyyy',
hiddenPrefix: 'prefix__',
hiddenSuffix: '__suffix'
});
$('.pickadate-arrow').pickadate({
monthPrev: '←',
monthNext: '→',
weekdaysShort: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
showMonthsFull: false
});
// Disable weekday range
$('.pickadate-disable-weekday').pickadate({
disable: [
3
]
});
// Disable dates
$('.pickadate-disable-dates').pickadate({
disable: [
[2016, 5, 10],
[2016, 5, 15],
[2016, 5, 20]
]
});
// Month & Year selectors
$('.pickadate-selectors').pickadate({
labelMonthNext: 'Next month',
labelMonthPrev: 'Previous month',
labelMonthSelect: 'Pick a Month',
labelYearSelect: 'Pick a Year',
selectMonths: true,
selectYears: true
});
// With Select
$('.pickadate-dropdown').pickadate({
selectMonths: true,
selectYears: true
});
// Events
$('.pickadate-events').pickadate({
onStart: function () {
console.log('Hi there!!!');
},
onRender: function () {
console.log('Holla... rendered new');
},
onOpen: function () {
console.log('Picker Opened');
},
onClose: function () {
console.log("I'm Closed now");
},
onStop: function () {
console.log('Have a great day ahead!!');
},
onSet: function (context) {
console.log('All stuff:', context);
}
});
// Picker Translations
$('.pickadate-translations').pickadate({
formatSubmit: 'dd/mm/yyyy',
monthsFull: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthsShort: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec'],
weekdaysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
today: 'aujourd\'hui',
clear: 'clair',
close: 'Fermer'
});
$('.pickadate-minmax').pickadate({
dateMin: -8,
dateMax: true
});
// Date Range from & to
var from_$input = $('#picker_from').pickadate(),
from_picker = from_$input.pickadate('picker');
var to_$input = $('#picker_to').pickadate(),
to_picker = to_$input.pickadate('picker');
// Check if there’s a “from” or “to” date to start with.
if (from_picker.get('value')) {
to_picker.set('min', from_picker.get('select'));
}
if (to_picker.get('value')) {
from_picker.set('max', to_picker.get('select'));
}
// When something is selected, update the “from” and “to” limits.
from_picker.on('set', function (event) {
if (event.select) {
to_picker.set('min', from_picker.get('select'));
} else if ('clear' in event) {
to_picker.set('min', false);
}
});
to_picker.on('set', function (event) {
if (event.select) {
from_picker.set('max', to_picker.get('select'));
} else if ('clear' in event) {
from_picker.set('max', false);
}
});
/******* Pick-a-time Picker *****/
// Basic time
$('.pickatime').pickatime();
// Hide Button
$('.pickatime-button').pickatime({
clear: '',
});
// Format options
$('.pickatime-format').pickatime({
// Escape any “rule” characters with an exclamation mark (!).
format: 'T!ime selected: h:i a',
formatLabel: 'h:i a',
formatSubmit: 'HH:i',
hiddenPrefix: 'prefix__',
hiddenSuffix: '__suffix'
});
// Format options
$('.pickatime-formatTime').pickatime({
// Escape any “rule” characters with an exclamation mark (!).
format: 'T!ime selected: h:i a',
formatLabel: 'h:i a!i>',
formatSubmit: 'HH:i',
hiddenPrefix: 'prefix__',
hiddenSuffix: '__suffix'
});
// Format options
$('.pickatime-formatlabel').pickatime({
formatLabel: function (time) {
var hours = (time.pick - this.get('now').pick) / 60,
label = hours < 0 ? ' !hours to now' : hours > 0 ? ' !hours from now' : 'now';
return 'h:i a ' + (hours ? Math.abs(hours) : '') + label + '';
}
});
// Date range to select
$('.pickatime-minmax').pickatime({
// Using Javascript
min: new Date(2015, 3, 20, 7),
max: new Date(2015, 7, 14, 18, 30)
// Using Array
/*min: [7,30],
max: [14,0]*/
});
// Time using Integer & Boolean
$('.pickatime-limits').pickatime({
// An integer (positive/negative) sets it as intervals relative from now.
min: -5,
// 'true' sets it to now. 'false' removes any limits.
max: true
});
// Intervals
$('.pickatime-intervals').pickatime({
interval: 150
});
/* Diasable Time sets */
$('.pickatime-disable').pickatime({
// Disable Using Javascript
disable: [
new Date(2016, 3, 20, 4, 30),
new Date(2016, 3, 20, 9)
]
// Disable Using Array
/*disable: [
[0,30],
[2,0],
[8,30],
[9,0]
]*/
});
// Disable using integers
$('.pickatime-disable-integer').pickatime({
disable: [
3, 5, 7, 13, 17, 21
]
});
// Disable using object
$('.pickatime-disable-object').pickatime({
disable: [{
from: [2, 0],
to: [5, 30]
}]
});
// Disable All
$('.pickatime-disable-all').pickatime({
disable: [
true,
3, 5, 7,
[0, 30],
[2, 0],
[8, 30],
[9, 0]
]
});
// Close on a user action
$('.pickatime-close-action').pickatime({
closeOnSelect: false,
closeOnClear: false
});
// Events
$('.pickatime-events').pickatime({
onStart: function () {
console.log('This is PickATime!!!');
},
onRender: function () {
console.log('Holla... PickATime Here');
},
onOpen: function () {
console.log('PickATime Opened');
},
onClose: function () {
console.log("I'm Closed now");
},
onStop: function () {
console.log('Have a great day ahead!!');
},
onSet: function (context) {
console.log('All stuff:', context);
}
});
// Picker Translations
$('.pickatime-translations').pickatime({
formatSubmit: 'dd/mm/yyyy',
monthsFull: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthsShort: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec'],
weekdaysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
today: 'aujourd\'hui',
clear: 'clair',
close: 'Fermer'
});
/******* Bootstrap DateRangePicker *****/
// Basic Date Range Picker
$('.daterange').daterangepicker();
// Date & Time
$('.datetime').daterangepicker({
timePicker: true,
timePickerIncrement: 30,
locale: {
format: 'MM/DD/YYYY h:mm A'
}
});
//Calendars are not linked
$('.timeseconds').daterangepicker({
timePicker: true,
timePickerIncrement: 30,
timePicker24Hour: true,
timePickerSeconds: true,
locale: {
format: 'MM-DD-YYYY h:mm:ss'
}
});
// Single Date Range Picker
$('.singledate').daterangepicker({
singleDatePicker: true,
showDropdowns: true
});
// Auto Apply Date Range
$('.autoapply').daterangepicker({
autoApply: true,
});
// Calendars are not linked
$('.linkedCalendars').daterangepicker({
linkedCalendars: false,
});
// Date Limit
$('.dateLimit').daterangepicker({
dateLimit: {
days: 7
},
});
// Show Dropdowns
$('.showdropdowns').daterangepicker({
showDropdowns: true,
});
// Show Week Numbers
$('.showweeknumbers').daterangepicker({
showWeekNumbers: true,
});
// Date Ranges
$('.dateranges').daterangepicker({
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().startOf(1), moment().startOf(1)],
'Last 7 Days': [moment().startOf(6), moment()],
'Last 30 Days': [moment().startOf(29), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().startOf(1).startOf('month'), moment().startOf(1).endOf('month')]
}
});
// Always Show Calendar on Ranges
$('.shawCalRanges').daterangepicker({
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().startOf(1), moment().startOf(1)],
'Last 7 Days': [moment().startOf(6), moment()],
'Last 30 Days': [moment().startOf(29), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().startOf(1).startOf('month'), moment().startOf(1).endOf('month')]
},
alwaysShowCalendars: true,
});
// Date Limit
$('.openRight').daterangepicker({
opens: "left" // left/right/center
});
// Date Limit
$('.drops').daterangepicker({
drops: "up" // up/down
});
// Date Limit
$('.buttonClass').daterangepicker({
drops: "up",
buttonClasses: "btn",
applyClass: "btn-info",
cancelClass: "btn-danger"
});
// Localization
$('.localeRange').daterangepicker({
ranges: {
"Aujourd'hui": [moment(), moment()],
'Hier': [moment().startOf(1), moment().startOf(1)],
'Les 7 derniers jours': [moment().startOf(6), moment()],
'Les 30 derniers jours': [moment().startOf(29), moment()],
'Ce mois-ci': [moment().startOf('month'), moment().endOf('month')],
'le mois dernier': [moment().startOf(1).startOf('month'), moment().startOf(1).endOf('month')]
},
locale: {
applyLabel: "Vers l'avant",
cancelLabel: 'Annulation',
startLabel: 'Date initiale',
endLabel: 'Date limite',
customRangeLabel: 'Sélectionner une date',
// daysOfWeek: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi','Samedi'],
daysOfWeek: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
monthNames: ['Janvier', 'février', 'Mars', 'Avril', 'Маi', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre'],
firstDay: 1
}
});
})(window, document, jQuery);