7 var debug = "[% debug | html %]";
8 var dateformat_pref = "[% Koha.Preference('dateformat ') | html %]";
9 var dateformat_string = [% IF ( dateformat == "us" ) %]"mm/dd/yy"[% ELSIF ( dateformat == "metric" ) %]"dd/mm/yy"[% ELSIF ( dateformat == "dmydot" ) %]"dd.mm.yy"[% ELSE %]"yy-mm-dd"[% END %];
10 var flatpickr_dateformat_string = [% IF ( dateformat == "us" ) %]"m/d/Y"[% ELSIF ( dateformat == "metric" ) %]"d/m/Y"[% ELSIF ( dateformat == "dmydot" ) %]"d.m.Y"[% ELSE %]"Y-m-d"[% END %];
12 var bidi = [% IF(bidi) %] true[% ELSE %] false[% END %];
13 var calendarFirstDayOfWeek = '[% Koha.Preference('CalendarFirstDayOfWeek') | html %]';
14 var flatpickr_timeformat_string = [% IF Koha.Preference('TimeFormat') == '12hr' %]"G:i K"[% ELSE %]"H:i"[% END %];
15 var flatpickr_timeformat = [% IF Koha.Preference('TimeFormat') == '12hr' %]false[% ELSE %]true[% END %];
17 <!-- / calendar.inc -->
18 [% Asset.js("js/calendar.js") | $raw %]
19 [% Asset.js("lib/flatpickr/flatpickr.min.js") | $raw %]
21 flatpickr.l10ns.default.weekdays = flatpickr_weekdays;
22 flatpickr.l10ns.default.months = flatpickr_months;
23 flatpickr.setDefaults({
25 dateFormat: flatpickr_dateformat_string,
26 nextArrow: '<i class="fa fa-fw fa-arrow-right"></i>',
27 prevArrow: '<i class="fa fa-fw fa-arrow-left"></i>',
28 time_24hr: flatpickr_timeformat,
30 "firstDayOfWeek": calendarFirstDayOfWeek
32 onReady: function( selectedDates, dateStr, instance ){
33 /* When flatpickr instance is created, automatically append a "clear date" link */
34 if( $(instance.input).hasClass("futuredate") ){
35 instance.set("minDate", new Date().fp_incr(1));
37 if( $(instance.input).hasClass("pastdate") ){
38 instance.set("maxDate", new Date().fp_incr(-1));
41 /* Add a wrapper element so that we can prevent the clear button from wrapping */
42 .wrap("<span class='flatpickr_wrapper'></span>")
45 .addClass("clear_date")
46 .on("click", function(e){
50 .addClass("fa fa-fw fa-remove")
51 .attr("aria-hidden", true)
52 .attr("aria-label", _("Clear date") )
53 ).keydown(function(e) {
54 var key = (event.keyCode ? event.keyCode : event.which);
56 instance.set('allowInput',false);
60 onClose: function( selectedDates, dateText, instance) {
61 validate_date( dateText, instance );
62 var thisInput = instance.input;
63 if ( thisInput.hasAttribute('data-start_for') ) {
64 var endPicker = document.querySelector("#"+thisInput.dataset.start_for)._flatpickr;
65 endPicker.set('minDate', selectedDates[0]);
69 $(document).ready(function(){
70 $(".flatpickr").flatpickr();