/*========================================================================================= File Name: pickers.js Description: Pick a date/time Picker, Date Range Picker JS ---------------------------------------------------------------------------------------- Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template Author: Pixinvent Author URL: hhttp://www.themeforest.net/user/pixinvent ==========================================================================================*/ (function (window, document, $) { 'use strict'; /******* Flatpickr *****/ var basicPickr = $('.flatpickr-basic'), timePickr = $('.flatpickr-time'), dateTimePickr = $('.flatpickr-date-time'), multiPickr = $('.flatpickr-multiple'), rangePickr = $('.flatpickr-range'), humanFriendlyPickr = $('.flatpickr-human-friendly'), disabledRangePickr = $('.flatpickr-disabled-range'), inlineRangePickr = $('.flatpickr-inline'); // Default if (basicPickr.length) { basicPickr.flatpickr(); } // Time if (timePickr.length) { timePickr.flatpickr({ enableTime: true, noCalendar: true }); } // Date & TIme if (dateTimePickr.length) { dateTimePickr.flatpickr({ enableTime: true }); } // Multiple Dates if (multiPickr.length) { multiPickr.flatpickr({ weekNumbers: true, mode: 'multiple', minDate: 'today' }); } // Range if (rangePickr.length) { rangePickr.flatpickr({ mode: 'range' }); } // Human Friendly if (humanFriendlyPickr.length) { humanFriendlyPickr.flatpickr({ altInput: true, altFormat: 'F j, Y', dateFormat: 'Y-m-d' }); } // Disabled Range if (disabledRangePickr.length) { disabledRangePickr.flatpickr({ dateFormat: 'Y-m-d', disable: [ { from: new Date().fp_incr(2), to: new Date().fp_incr(7) } ] }); } // Inline if (inlineRangePickr.length) { inlineRangePickr.flatpickr({ inline: true }); } /******* Pick-a-date Picker *****/ // Basic date $('.pickadate').pickadate(); // Format Date Picker $('.format-picker').pickadate({ format: 'mmmm, d, yyyy' }); // Date limits $('.pickadate-limits').pickadate({ min: [2019, 3, 20], max: [2019, 5, 28] }); // Disabled Dates & Weeks $('.pickadate-disable').pickadate({ disable: [1, [2019, 3, 6], [2019, 3, 20]] }); // 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' }); // Month Select Picker $('.pickadate-months').pickadate({ selectYears: false, selectMonths: true }); // Month and Year Select Picker $('.pickadate-months-year').pickadate({ selectYears: true, selectMonths: true }); // Short String Date Picker $('.pickadate-short-string').pickadate({ weekdaysShort: ['S', 'M', 'Tu', 'W', 'Th', 'F', 'S'], showMonthsShort: true }); // Change first weekday $('.pickadate-firstday').pickadate({ firstDay: 1 }); /******* Pick-a-time Picker *****/ // Basic time $('.pickatime').pickatime(); // Format options $('.pickatime-format').pickatime({ // Escape any “rule” characters with an exclamation mark (!). format: 'T!ime selected: h:i a', formatLabel: 'HH:i a', 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 <sm!all>' + (hours ? Math.abs(hours) : '') + label + '</sm!all>'; } }); // Min - Max Time to select $('.pickatime-min-max').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] }); // Intervals $('.pickatime-intervals').pickatime({ interval: 150 }); // Disable Time $('.pickatime-disable').pickatime({ disable: [ // Disable Using Integers 3, 5, 7, 13, 17, 21 /* Using Array */ // [0,30], // [2,0], // [8,30], // [9,0] ] }); // Close on a user action $('.pickatime-close-action').pickatime({ closeOnSelect: false, closeOnClear: false }); })(window, document, jQuery);