7 var debug = "[% debug | html %]";
8 var dateformat_pref = "[% Koha.Preference('dateformat ') | html %]";
9 var dateformat_string = "";
10 var flatpickr_dateformat_string = "";
11 switch ( dateformat_pref ){
13 dateformat_string = "mm/dd/yy";
14 flatpickr_dateformat_string = "m/d/Y";
17 dateformat_string = "dd/mm/yy";
18 flatpickr_dateformat_string = "d/m/Y";
21 dateformat_string = "dd.mm.yy";
22 flatpickr_dateformat_string = "d.m.Y";
25 dateformat_string = "yy-mm-dd";
26 flatpickr_dateformat_string = "Y-m-d";
29 var bidi = [% IF(bidi) %] true[% ELSE %] false[% END %];
30 var calendarFirstDayOfWeek = '[% Koha.Preference('CalendarFirstDayOfWeek') | html %]';
31 var flatpickr_timeformat_string = [% IF Koha.Preference('TimeFormat') == '12hr' %]"G:i K"[% ELSE %]"H:i"[% END %];
32 var flatpickr_timeformat = [% IF Koha.Preference('TimeFormat') == '12hr' %]false[% ELSE %]true[% END %];
34 <!-- / calendar.inc -->
35 [% Asset.js("js/calendar.js") | $raw %]
36 [% Asset.js("lib/flatpickr/flatpickr.min.js") | $raw %]
38 flatpickr.l10ns.default.weekdays = flatpickr_weekdays;
39 flatpickr.l10ns.default.months = flatpickr_months;
40 flatpickr.setDefaults({
42 dateFormat: flatpickr_dateformat_string,
43 nextArrow: '<i class="fa fa-fw fa-arrow-right"></i>',
44 prevArrow: '<i class="fa fa-fw fa-arrow-left"></i>',
45 time_24hr: flatpickr_timeformat,
47 "firstDayOfWeek": calendarFirstDayOfWeek
49 onReady: function( selectedDates, dateStr, instance ){
50 /* When flatpickr instance is created, automatically append a "clear date" link */
52 /* Add a wrapper element so that we can prevent the clear button from wrapping */
53 .wrap("<span class='flatpickr_wrapper'></span>")
54 .attr("autocomplete", "off")
57 .addClass("clear_date")
58 .on("click", function(e){
62 .addClass("fa fa-fw fa-remove")
63 .attr("aria-hidden", true)
64 .attr("aria-label", _("Clear date") )
65 ).keydown(function(e) {
66 var key = (event.keyCode ? event.keyCode : event.which);
68 instance.set('allowInput',false);
72 onClose: function( selectedDates, dateText, instance) {
73 validate_date( dateText, instance );
74 var thisInput = instance.input;
75 if ( thisInput.hasAttribute('data-date_to') ) {
76 var endPicker = document.querySelector("#"+thisInput.dataset.date_to)._flatpickr;
77 endPicker.set('minDate', selectedDates[0]);
81 $(document).ready(function(){
82 $(".flatpickr").each(function(){
85 if( $(this).hasClass("futuredate") ) {
86 options['minDate'] = new Date().fp_incr(1);
87 options['allowInvalidPreload'] = true;
89 if( $(this).hasClass("pastdate") ) {
90 options['maxDate'] = new Date().fp_incr(-1);
92 $(this).flatpickr(options);