View | Details | Raw Unified | Return to bug 28376
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/lib/flatpickr/flatpickr.min.js (+2 lines)
Line 0 Link Here
1
/* flatpickr v4.6.9,, @license MIT */
2
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).flatpickr=t()}(this,(function(){"use strict";var e=function(){return(e=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function t(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var a=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],r=0,l=o.length;r<l;r++,i++)a[i]=o[r];return a}var n=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);var n=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-n.getTime())/864e5-3+(n.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},i={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},o=function(e,t){return void 0===t&&(t=2),("000"+e).slice(-1*t)},r=function(e){return!0===e?1:0};function l(e,t){var n;return function(){var a=this;clearTimeout(n),n=setTimeout((function(){return e.apply(a,arguments)}),t)}}var c=function(e){return e instanceof Array?e:[e]};function d(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function s(e,t,n){var a=window.document.createElement(e);return t=t||"",n=n||"",a.className=t,void 0!==n&&(a.textContent=n),a}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e,t){return t(e)?e:e.parentNode?f(e.parentNode,t):void 0}function m(e,t){var n=s("div","numInputWrapper"),a=s("input","numInput "+e),i=s("span","arrowUp"),o=s("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?a.type="number":(a.type="text",a.pattern="\\d*"),void 0!==t)for(var r in t)a.setAttribute(r,t[r]);return n.appendChild(a),n.appendChild(i),n.appendChild(o),n}function g(e){try{return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(t){return e.target}}var p=function(){},h=function(e,t,n){return n.months[t?"shorthand":"longhand"][e]},v={D:p,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours(parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*r(new RegExp(n.amPM[1],"i").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var a=parseInt(t),i=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+n.firstDayOfWeek),i},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours(parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:p,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:p,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},D={D:"(\\w+)",F:"(\\w+)",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"(\\w+)",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"(\\w+)",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},w={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[w.w(e,t,n)]},F:function(e,t,n){return h(w.n(e,t,n)-1,!1,t)},G:function(e,t,n){return o(w.h(e,t,n))},H:function(e){return o(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[r(e.getHours()>11)]},M:function(e,t){return h(e.getMonth(),!0,t)},S:function(e){return o(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return o(e.getFullYear(),4)},d:function(e){return o(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return o(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return o(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},b=function(e){var t=e.config,n=void 0===t?a:t,o=e.l10n,r=void 0===o?i:o,l=e.isMobile,c=void 0!==l&&l;return function(e,t,a){var i=a||r;return void 0===n.formatDate||c?t.split("").map((function(t,a,o){return w[t]&&"\\"!==o[a-1]?w[t](e,i,n):"\\"!==t?t:""})).join(""):n.formatDate(e,t,i)}},C=function(e){var t=e.config,n=void 0===t?a:t,o=e.l10n,r=void 0===o?i:o;return function(e,t,i,o){if(0===e||e){var l,c=o||r,d=e;if(e instanceof Date)l=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if("string"==typeof e){var s=t||(n||a).dateFormat,u=String(e).trim();if("today"===u)l=new Date,i=!0;else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else if(n&&n.parseDate)l=n.parseDate(e,s);else{l=n&&n.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var f=void 0,m=[],g=0,p=0,h="";g<s.length;g++){var w=s[g],b="\\"===w,C="\\"===s[g-1]||b;if(D[w]&&!C){h+=D[w];var M=new RegExp(h).exec(e);M&&(f=!0)&&m["Y"!==w?"push":"unshift"]({fn:v[w],val:M[++p]})}else b||(h+=".");m.forEach((function(e){var t=e.fn,n=e.val;return l=t(l,n,c)||l}))}l=f?l:void 0}}if(l instanceof Date&&!isNaN(l.getTime()))return!0===i&&l.setHours(0,0,0,0),l;n.errorHandler(new Error("Invalid date provided: "+d))}}};function M(e,t,n){return void 0===n&&(n=!0),!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}var y=864e5;function x(e){var t=e.defaultHour,n=e.defaultMinute,a=e.defaultSeconds;if(void 0!==e.minDate){var i=e.minDate.getHours(),o=e.minDate.getMinutes(),r=e.minDate.getSeconds();t<i&&(t=i),t===i&&n<o&&(n=o),t===i&&n===o&&a<r&&(a=e.minDate.getSeconds())}if(void 0!==e.maxDate){var l=e.maxDate.getHours(),c=e.maxDate.getMinutes();(t=Math.min(t,l))===l&&(n=Math.min(c,n)),t===l&&n===c&&(a=e.maxDate.getSeconds())}return{hours:t,minutes:n,seconds:a}}"function"!=typeof Object.assign&&(Object.assign=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var a=function(t){t&&Object.keys(t).forEach((function(n){return e[n]=t[n]}))},i=0,o=t;i<o.length;i++){var r=o[i];a(r)}return e});function E(p,v){var w={config:e(e({},a),T.defaultConfig),l10n:i};function E(e){return e.bind(w)}function k(){var e=w.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==w.calendarContainer&&(w.calendarContainer.style.visibility="hidden",w.calendarContainer.style.display="block"),void 0!==w.daysContainer){var t=(w.days.offsetWidth+1)*e.showMonths;w.daysContainer.style.width=t+"px",w.calendarContainer.style.width=t+(void 0!==w.weekWrapper?w.weekWrapper.offsetWidth:0)+"px",w.calendarContainer.style.removeProperty("visibility"),w.calendarContainer.style.removeProperty("display")}}))}function I(e){if(0===w.selectedDates.length){var t=void 0===w.config.minDate||M(new Date,w.config.minDate)>=0?new Date:new Date(w.config.minDate.getTime()),n=x(w.config);t.setHours(n.hours,n.minutes,n.seconds,t.getMilliseconds()),w.selectedDates=[t],w.latestSelectedDateObj=t}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var t="keydown"===e.type,n=g(e),a=n;void 0!==w.amPM&&n===w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]);var i=parseFloat(a.getAttribute("min")),l=parseFloat(a.getAttribute("max")),c=parseFloat(a.getAttribute("step")),d=parseInt(a.value,10),s=e.delta||(t?38===e.which?1:-1:0),u=d+c*s;if(void 0!==a.value&&2===a.value.length){var f=a===w.hourElement,m=a===w.minuteElement;u<i?(u=l+u+r(!f)+(r(f)&&r(!w.amPM)),m&&j(void 0,-1,w.hourElement)):u>l&&(u=a===w.hourElement?u-l-r(!w.amPM):i,m&&j(void 0,1,w.hourElement)),w.amPM&&f&&(1===c?u+d===23:Math.abs(u-d)>c)&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]),a.value=o(u)}}(e);var a=w._input.value;S(),be(),w._input.value!==a&&w._debouncedChange()}function S(){if(void 0!==w.hourElement&&void 0!==w.minuteElement){var e,t,n=(parseInt(w.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(w.minuteElement.value,10)||0)%60,i=void 0!==w.secondElement?(parseInt(w.secondElement.value,10)||0)%60:0;void 0!==w.amPM&&(e=n,t=w.amPM.textContent,n=e%12+12*r(t===w.l10n.amPM[1]));var o=void 0!==w.config.minTime||w.config.minDate&&w.minDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.minDate,!0);if(void 0!==w.config.maxTime||w.config.maxDate&&w.maxDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.maxDate,!0)){var l=void 0!==w.config.maxTime?w.config.maxTime:w.config.maxDate;(n=Math.min(n,l.getHours()))===l.getHours()&&(a=Math.min(a,l.getMinutes())),a===l.getMinutes()&&(i=Math.min(i,l.getSeconds()))}if(o){var c=void 0!==w.config.minTime?w.config.minTime:w.config.minDate;(n=Math.max(n,c.getHours()))===c.getHours()&&a<c.getMinutes()&&(a=c.getMinutes()),a===c.getMinutes()&&(i=Math.max(i,c.getSeconds()))}O(n,a,i)}}function _(e){var t=e||w.latestSelectedDateObj;t&&O(t.getHours(),t.getMinutes(),t.getSeconds())}function O(e,t,n){void 0!==w.latestSelectedDateObj&&w.latestSelectedDateObj.setHours(e%24,t,n||0,0),w.hourElement&&w.minuteElement&&!w.isMobile&&(w.hourElement.value=o(w.config.time_24hr?e:(12+e)%12+12*r(e%12==0)),w.minuteElement.value=o(t),void 0!==w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(e>=12)]),void 0!==w.secondElement&&(w.secondElement.value=o(n)))}function F(e){var t=g(e),n=parseInt(t.value)+(e.delta||0);(n/1e3>1||"Enter"===e.key&&!/[^\d]/.test(n.toString()))&&Q(n)}function A(e,t,n,a){return t instanceof Array?t.forEach((function(t){return A(e,t,n,a)})):e instanceof Array?e.forEach((function(e){return A(e,t,n,a)})):(e.addEventListener(t,n,a),void w._handlers.push({remove:function(){return e.removeEventListener(t,n)}}))}function N(){pe("onChange")}function P(e,t){var n=void 0!==e?w.parseDate(e):w.latestSelectedDateObj||(w.config.minDate&&w.config.minDate>w.now?w.config.minDate:w.config.maxDate&&w.config.maxDate<w.now?w.config.maxDate:w.now),a=w.currentYear,i=w.currentMonth;try{void 0!==n&&(w.currentYear=n.getFullYear(),w.currentMonth=n.getMonth())}catch(e){e.message="Invalid date supplied: "+n,w.config.errorHandler(e)}t&&w.currentYear!==a&&(pe("onYearChange"),K()),!t||w.currentYear===a&&w.currentMonth===i||pe("onMonthChange"),w.redraw()}function Y(e){var t=g(e);~t.className.indexOf("arrow")&&j(e,t.classList.contains("arrowUp")?1:-1)}function j(e,t,n){var a=e&&g(e),i=n||a&&a.parentNode&&a.parentNode.firstChild,o=he("increment");o.delta=t,i&&i.dispatchEvent(o)}function H(e,t,n,a){var i=X(t,!0),o=s("span","flatpickr-day "+e,t.getDate().toString());return o.dateObj=t,o.$i=a,o.setAttribute("aria-label",w.formatDate(t,w.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===M(t,w.now)&&(w.todayDateElem=o,o.classList.add("today"),o.setAttribute("aria-current","date")),i?(o.tabIndex=-1,ve(t)&&(o.classList.add("selected"),w.selectedDateElem=o,"range"===w.config.mode&&(d(o,"startRange",w.selectedDates[0]&&0===M(t,w.selectedDates[0],!0)),d(o,"endRange",w.selectedDates[1]&&0===M(t,w.selectedDates[1],!0)),"nextMonthDay"===e&&o.classList.add("inRange")))):o.classList.add("flatpickr-disabled"),"range"===w.config.mode&&function(e){return!("range"!==w.config.mode||w.selectedDates.length<2)&&(M(e,w.selectedDates[0])>=0&&M(e,w.selectedDates[1])<=0)}(t)&&!ve(t)&&o.classList.add("inRange"),w.weekNumbers&&1===w.config.showMonths&&"prevMonthDay"!==e&&n%7==1&&w.weekNumbers.insertAdjacentHTML("beforeend","<span class='flatpickr-day'>"+w.config.getWeek(t)+"</span>"),pe("onDayCreate",o),o}function L(e){e.focus(),"range"===w.config.mode&&ae(e)}function W(e){for(var t=e>0?0:w.config.showMonths-1,n=e>0?w.config.showMonths:-1,a=t;a!=n;a+=e)for(var i=w.daysContainer.children[a],o=e>0?0:i.children.length-1,r=e>0?i.children.length:-1,l=o;l!=r;l+=e){var c=i.children[l];if(-1===c.className.indexOf("hidden")&&X(c.dateObj))return c}}function R(e,t){var n=ee(document.activeElement||document.body),a=void 0!==e?e:n?document.activeElement:void 0!==w.selectedDateElem&&ee(w.selectedDateElem)?w.selectedDateElem:void 0!==w.todayDateElem&&ee(w.todayDateElem)?w.todayDateElem:W(t>0?1:-1);void 0===a?w._input.focus():n?function(e,t){for(var n=-1===e.className.indexOf("Month")?e.dateObj.getMonth():w.currentMonth,a=t>0?w.config.showMonths:-1,i=t>0?1:-1,o=n-w.currentMonth;o!=a;o+=i)for(var r=w.daysContainer.children[o],l=n-w.currentMonth===o?e.$i+t:t<0?r.children.length-1:0,c=r.children.length,d=l;d>=0&&d<c&&d!=(t>0?c:-1);d+=i){var s=r.children[d];if(-1===s.className.indexOf("hidden")&&X(s.dateObj)&&Math.abs(e.$i-d)>=Math.abs(t))return L(s)}w.changeMonth(i),R(W(i),0)}(a,t):L(a)}function B(e,t){for(var n=(new Date(e,t,1).getDay()-w.l10n.firstDayOfWeek+7)%7,a=w.utils.getDaysInMonth((t-1+12)%12,e),i=w.utils.getDaysInMonth(t,e),o=window.document.createDocumentFragment(),r=w.config.showMonths>1,l=r?"prevMonthDay hidden":"prevMonthDay",c=r?"nextMonthDay hidden":"nextMonthDay",d=a+1-n,u=0;d<=a;d++,u++)o.appendChild(H(l,new Date(e,t-1,d),d,u));for(d=1;d<=i;d++,u++)o.appendChild(H("",new Date(e,t,d),d,u));for(var f=i+1;f<=42-n&&(1===w.config.showMonths||u%7!=0);f++,u++)o.appendChild(H(c,new Date(e,t+1,f%i),f,u));var m=s("div","dayContainer");return m.appendChild(o),m}function J(){if(void 0!==w.daysContainer){u(w.daysContainer),w.weekNumbers&&u(w.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t<w.config.showMonths;t++){var n=new Date(w.currentYear,w.currentMonth,1);n.setMonth(w.currentMonth+t),e.appendChild(B(n.getFullYear(),n.getMonth()))}w.daysContainer.appendChild(e),w.days=w.daysContainer.firstChild,"range"===w.config.mode&&1===w.selectedDates.length&&ae()}}function K(){if(!(w.config.showMonths>1||"dropdown"!==w.config.monthSelectorType)){var e=function(e){return!(void 0!==w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&e<w.config.minDate.getMonth())&&!(void 0!==w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()&&e>w.config.maxDate.getMonth())};w.monthsDropdownContainer.tabIndex=-1,w.monthsDropdownContainer.innerHTML="";for(var t=0;t<12;t++)if(e(t)){var n=s("option","flatpickr-monthDropdown-month");n.value=new Date(w.currentYear,t).getMonth().toString(),n.textContent=h(t,w.config.shorthandCurrentMonth,w.l10n),n.tabIndex=-1,w.currentMonth===t&&(n.selected=!0),w.monthsDropdownContainer.appendChild(n)}}}function U(){var e,t=s("div","flatpickr-month"),n=window.document.createDocumentFragment();w.config.showMonths>1||"static"===w.config.monthSelectorType?e=s("span","cur-month"):(w.monthsDropdownContainer=s("select","flatpickr-monthDropdown-months"),w.monthsDropdownContainer.setAttribute("aria-label",w.l10n.monthAriaLabel),A(w.monthsDropdownContainer,"change",(function(e){var t=g(e),n=parseInt(t.value,10);w.changeMonth(n-w.currentMonth),pe("onMonthChange")})),K(),e=w.monthsDropdownContainer);var a=m("cur-year",{tabindex:"-1"}),i=a.getElementsByTagName("input")[0];i.setAttribute("aria-label",w.l10n.yearAriaLabel),w.config.minDate&&i.setAttribute("min",w.config.minDate.getFullYear().toString()),w.config.maxDate&&(i.setAttribute("max",w.config.maxDate.getFullYear().toString()),i.disabled=!!w.config.minDate&&w.config.minDate.getFullYear()===w.config.maxDate.getFullYear());var o=s("div","flatpickr-current-month");return o.appendChild(e),o.appendChild(a),n.appendChild(o),t.appendChild(n),{container:t,yearElement:i,monthElement:e}}function q(){u(w.monthNav),w.monthNav.appendChild(w.prevMonthNav),w.config.showMonths&&(w.yearElements=[],w.monthElements=[]);for(var e=w.config.showMonths;e--;){var t=U();w.yearElements.push(t.yearElement),w.monthElements.push(t.monthElement),w.monthNav.appendChild(t.container)}w.monthNav.appendChild(w.nextMonthNav)}function $(){w.weekdayContainer?u(w.weekdayContainer):w.weekdayContainer=s("div","flatpickr-weekdays");for(var e=w.config.showMonths;e--;){var t=s("div","flatpickr-weekdaycontainer");w.weekdayContainer.appendChild(t)}return z(),w.weekdayContainer}function z(){if(w.weekdayContainer){var e=w.l10n.firstDayOfWeek,n=t(w.l10n.weekdays.shorthand);e>0&&e<n.length&&(n=t(n.splice(e,n.length),n.splice(0,e)));for(var a=w.config.showMonths;a--;)w.weekdayContainer.children[a].innerHTML="\n      <span class='flatpickr-weekday'>\n        "+n.join("</span><span class='flatpickr-weekday'>")+"\n      </span>\n      "}}function G(e,t){void 0===t&&(t=!0);var n=t?e:e-w.currentMonth;n<0&&!0===w._hidePrevMonthArrow||n>0&&!0===w._hideNextMonthArrow||(w.currentMonth+=n,(w.currentMonth<0||w.currentMonth>11)&&(w.currentYear+=w.currentMonth>11?1:-1,w.currentMonth=(w.currentMonth+12)%12,pe("onYearChange"),K()),J(),pe("onMonthChange"),De())}function V(e){return!(!w.config.appendTo||!w.config.appendTo.contains(e))||w.calendarContainer.contains(e)}function Z(e){if(w.isOpen&&!w.config.inline){var t=g(e),n=V(t),a=t===w.input||t===w.altInput||w.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(w.input)||~e.path.indexOf(w.altInput)),i="blur"===e.type?a&&e.relatedTarget&&!V(e.relatedTarget):!a&&!n&&!V(e.relatedTarget),o=!w.config.ignoredFocusElements.some((function(e){return e.contains(t)}));i&&o&&(void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement&&""!==w.input.value&&void 0!==w.input.value&&I(),w.close(),w.config&&"range"===w.config.mode&&1===w.selectedDates.length&&(w.clear(!1),w.redraw()))}}function Q(e){if(!(!e||w.config.minDate&&e<w.config.minDate.getFullYear()||w.config.maxDate&&e>w.config.maxDate.getFullYear())){var t=e,n=w.currentYear!==t;w.currentYear=t||w.currentYear,w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth=Math.min(w.config.maxDate.getMonth(),w.currentMonth):w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&(w.currentMonth=Math.max(w.config.minDate.getMonth(),w.currentMonth)),n&&(w.redraw(),pe("onYearChange"),K())}}function X(e,t){var n;void 0===t&&(t=!0);var a=w.parseDate(e,void 0,t);if(w.config.minDate&&a&&M(a,w.config.minDate,void 0!==t?t:!w.minDateHasTime)<0||w.config.maxDate&&a&&M(a,w.config.maxDate,void 0!==t?t:!w.maxDateHasTime)>0)return!1;if(!w.config.enable&&0===w.config.disable.length)return!0;if(void 0===a)return!1;for(var i=!!w.config.enable,o=null!==(n=w.config.enable)&&void 0!==n?n:w.config.disable,r=0,l=void 0;r<o.length;r++){if("function"==typeof(l=o[r])&&l(a))return i;if(l instanceof Date&&void 0!==a&&l.getTime()===a.getTime())return i;if("string"==typeof l){var c=w.parseDate(l,void 0,!0);return c&&c.getTime()===a.getTime()?i:!i}if("object"==typeof l&&void 0!==a&&l.from&&l.to&&a.getTime()>=l.from.getTime()&&a.getTime()<=l.to.getTime())return i}return!i}function ee(e){return void 0!==w.daysContainer&&(-1===e.className.indexOf("hidden")&&-1===e.className.indexOf("flatpickr-disabled")&&w.daysContainer.contains(e))}function te(e){!(e.target===w._input)||!(w.selectedDates.length>0||w._input.value.length>0)||e.relatedTarget&&V(e.relatedTarget)||w.setDate(w._input.value,!0,e.target===w.altInput?w.config.altFormat:w.config.dateFormat)}function ne(e){var t=g(e),n=w.config.wrap?p.contains(t):t===w._input,a=w.config.allowInput,i=w.isOpen&&(!a||!n),o=w.config.inline&&n&&!a;if(13===e.keyCode&&n){if(a)return w.setDate(w._input.value,!0,t===w.altInput?w.config.altFormat:w.config.dateFormat),t.blur();w.open()}else if(V(t)||i||o){var r=!!w.timeContainer&&w.timeContainer.contains(t);switch(e.keyCode){case 13:r?(e.preventDefault(),I(),se()):ue(e);break;case 27:e.preventDefault(),se();break;case 8:case 46:n&&!w.config.allowInput&&(e.preventDefault(),w.clear());break;case 37:case 39:if(r||n)w.hourElement&&w.hourElement.focus();else if(e.preventDefault(),void 0!==w.daysContainer&&(!1===a||document.activeElement&&ee(document.activeElement))){var l=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),G(l),R(W(1),0)):R(void 0,l)}break;case 38:case 40:e.preventDefault();var c=40===e.keyCode?1:-1;w.daysContainer&&void 0!==t.$i||t===w.input||t===w.altInput?e.ctrlKey?(e.stopPropagation(),Q(w.currentYear-c),R(W(1),0)):r||R(void 0,7*c):t===w.currentYearElement?Q(w.currentYear-c):w.config.enableTime&&(!r&&w.hourElement&&w.hourElement.focus(),I(e),w._debouncedChange());break;case 9:if(r){var d=[w.hourElement,w.minuteElement,w.secondElement,w.amPM].concat(w.pluginElements).filter((function(e){return e})),s=d.indexOf(t);if(-1!==s){var u=d[s+(e.shiftKey?-1:1)];e.preventDefault(),(u||w._input).focus()}}else!w.config.noCalendar&&w.daysContainer&&w.daysContainer.contains(t)&&e.shiftKey&&(e.preventDefault(),w._input.focus())}}if(void 0!==w.amPM&&t===w.amPM)switch(e.key){case w.l10n.amPM[0].charAt(0):case w.l10n.amPM[0].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[0],S(),be();break;case w.l10n.amPM[1].charAt(0):case w.l10n.amPM[1].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[1],S(),be()}(n||V(t))&&pe("onKeyDown",e)}function ae(e){if(1===w.selectedDates.length&&(!e||e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled"))){for(var t=e?e.dateObj.getTime():w.days.firstElementChild.dateObj.getTime(),n=w.parseDate(w.selectedDates[0],void 0,!0).getTime(),a=Math.min(t,w.selectedDates[0].getTime()),i=Math.max(t,w.selectedDates[0].getTime()),o=!1,r=0,l=0,c=a;c<i;c+=y)X(new Date(c),!0)||(o=o||c>a&&c<i,c<n&&(!r||c>r)?r=c:c>n&&(!l||c<l)&&(l=c));for(var d=0;d<w.config.showMonths;d++)for(var s=w.daysContainer.children[d],u=function(a,i){var c,d,u,f=s.children[a],m=f.dateObj.getTime(),g=r>0&&m<r||l>0&&m>l;return g?(f.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach((function(e){f.classList.remove(e)})),"continue"):o&&!g?"continue":(["startRange","inRange","endRange","notAllowed"].forEach((function(e){f.classList.remove(e)})),void(void 0!==e&&(e.classList.add(t<=w.selectedDates[0].getTime()?"startRange":"endRange"),n<t&&m===n?f.classList.add("startRange"):n>t&&m===n&&f.classList.add("endRange"),m>=r&&(0===l||m<=l)&&(d=n,u=t,(c=m)>Math.min(d,u)&&c<Math.max(d,u))&&f.classList.add("inRange"))))},f=0,m=s.children.length;f<m;f++)u(f)}}function ie(){!w.isOpen||w.config.static||w.config.inline||ce()}function oe(e){return function(t){var n=w.config["_"+e+"Date"]=w.parseDate(t,w.config.dateFormat),a=w.config["_"+("min"===e?"max":"min")+"Date"];void 0!==n&&(w["min"===e?"minDateHasTime":"maxDateHasTime"]=n.getHours()>0||n.getMinutes()>0||n.getSeconds()>0),w.selectedDates&&(w.selectedDates=w.selectedDates.filter((function(e){return X(e)})),w.selectedDates.length||"min"!==e||_(n),be()),w.daysContainer&&(de(),void 0!==n?w.currentYearElement[e]=n.getFullYear().toString():w.currentYearElement.removeAttribute(e),w.currentYearElement.disabled=!!a&&void 0!==n&&a.getFullYear()===n.getFullYear())}}function re(){return w.config.wrap?p.querySelector("[data-input]"):p}function le(){"object"!=typeof w.config.locale&&void 0===T.l10ns[w.config.locale]&&w.config.errorHandler(new Error("flatpickr: invalid locale "+w.config.locale)),w.l10n=e(e({},T.l10ns.default),"object"==typeof w.config.locale?w.config.locale:"default"!==w.config.locale?T.l10ns[w.config.locale]:void 0),D.K="("+w.l10n.amPM[0]+"|"+w.l10n.amPM[1]+"|"+w.l10n.amPM[0].toLowerCase()+"|"+w.l10n.amPM[1].toLowerCase()+")",void 0===e(e({},v),JSON.parse(JSON.stringify(p.dataset||{}))).time_24hr&&void 0===T.defaultConfig.time_24hr&&(w.config.time_24hr=w.l10n.time_24hr),w.formatDate=b(w),w.parseDate=C({config:w.config,l10n:w.l10n})}function ce(e){if("function"!=typeof w.config.position){if(void 0!==w.calendarContainer){pe("onPreCalendarPosition");var t=e||w._positionElement,n=Array.prototype.reduce.call(w.calendarContainer.children,(function(e,t){return e+t.offsetHeight}),0),a=w.calendarContainer.offsetWidth,i=w.config.position.split(" "),o=i[0],r=i.length>1?i[1]:null,l=t.getBoundingClientRect(),c=window.innerHeight-l.bottom,s="above"===o||"below"!==o&&c<n&&l.top>n,u=window.pageYOffset+l.top+(s?-n-2:t.offsetHeight+2);if(d(w.calendarContainer,"arrowTop",!s),d(w.calendarContainer,"arrowBottom",s),!w.config.inline){var f=window.pageXOffset+l.left,m=!1,g=!1;"center"===r?(f-=(a-l.width)/2,m=!0):"right"===r&&(f-=a-l.width,g=!0),d(w.calendarContainer,"arrowLeft",!m&&!g),d(w.calendarContainer,"arrowCenter",m),d(w.calendarContainer,"arrowRight",g);var p=window.document.body.offsetWidth-(window.pageXOffset+l.right),h=f+a>window.document.body.offsetWidth,v=p+a>window.document.body.offsetWidth;if(d(w.calendarContainer,"rightMost",h),!w.config.static)if(w.calendarContainer.style.top=u+"px",h)if(v){var D=function(){for(var e=null,t=0;t<document.styleSheets.length;t++){var n=document.styleSheets[t];try{n.cssRules}catch(e){continue}e=n;break}return null!=e?e:(a=document.createElement("style"),document.head.appendChild(a),a.sheet);var a}();if(void 0===D)return;var b=window.document.body.offsetWidth,C=Math.max(0,b/2-a/2),M=D.cssRules.length,y="{left:"+l.left+"px;right:auto;}";d(w.calendarContainer,"rightMost",!1),d(w.calendarContainer,"centerMost",!0),D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+y,M),w.calendarContainer.style.left=C+"px",w.calendarContainer.style.right="auto"}else w.calendarContainer.style.left="auto",w.calendarContainer.style.right=p+"px";else w.calendarContainer.style.left=f+"px",w.calendarContainer.style.right="auto"}}}else w.config.position(w,e)}function de(){w.config.noCalendar||w.isMobile||(K(),De(),J())}function se(){w._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(w.close,0):w.close()}function ue(e){e.preventDefault(),e.stopPropagation();var t=f(g(e),(function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")}));if(void 0!==t){var n=t,a=w.latestSelectedDateObj=new Date(n.dateObj.getTime()),i=(a.getMonth()<w.currentMonth||a.getMonth()>w.currentMonth+w.config.showMonths-1)&&"range"!==w.config.mode;if(w.selectedDateElem=n,"single"===w.config.mode)w.selectedDates=[a];else if("multiple"===w.config.mode){var o=ve(a);o?w.selectedDates.splice(parseInt(o),1):w.selectedDates.push(a)}else"range"===w.config.mode&&(2===w.selectedDates.length&&w.clear(!1,!1),w.latestSelectedDateObj=a,w.selectedDates.push(a),0!==M(a,w.selectedDates[0],!0)&&w.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()})));if(S(),i){var r=w.currentYear!==a.getFullYear();w.currentYear=a.getFullYear(),w.currentMonth=a.getMonth(),r&&(pe("onYearChange"),K()),pe("onMonthChange")}if(De(),J(),be(),i||"range"===w.config.mode||1!==w.config.showMonths?void 0!==w.selectedDateElem&&void 0===w.hourElement&&w.selectedDateElem&&w.selectedDateElem.focus():L(n),void 0!==w.hourElement&&void 0!==w.hourElement&&w.hourElement.focus(),w.config.closeOnSelect){var l="single"===w.config.mode&&!w.config.enableTime,c="range"===w.config.mode&&2===w.selectedDates.length&&!w.config.enableTime;(l||c)&&se()}N()}}w.parseDate=C({config:w.config,l10n:w.l10n}),w._handlers=[],w.pluginElements=[],w.loadedPlugins=[],w._bind=A,w._setHoursFromDate=_,w._positionCalendar=ce,w.changeMonth=G,w.changeYear=Q,w.clear=function(e,t){void 0===e&&(e=!0);void 0===t&&(t=!0);w.input.value="",void 0!==w.altInput&&(w.altInput.value="");void 0!==w.mobileInput&&(w.mobileInput.value="");w.selectedDates=[],w.latestSelectedDateObj=void 0,!0===t&&(w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth());if(!0===w.config.enableTime){var n=x(w.config),a=n.hours,i=n.minutes,o=n.seconds;O(a,i,o)}w.redraw(),e&&pe("onChange")},w.close=function(){w.isOpen=!1,w.isMobile||(void 0!==w.calendarContainer&&w.calendarContainer.classList.remove("open"),void 0!==w._input&&w._input.classList.remove("active"));pe("onClose")},w._createElement=s,w.destroy=function(){void 0!==w.config&&pe("onDestroy");for(var e=w._handlers.length;e--;)w._handlers[e].remove();if(w._handlers=[],w.mobileInput)w.mobileInput.parentNode&&w.mobileInput.parentNode.removeChild(w.mobileInput),w.mobileInput=void 0;else if(w.calendarContainer&&w.calendarContainer.parentNode)if(w.config.static&&w.calendarContainer.parentNode){var t=w.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else w.calendarContainer.parentNode.removeChild(w.calendarContainer);w.altInput&&(w.input.type="text",w.altInput.parentNode&&w.altInput.parentNode.removeChild(w.altInput),delete w.altInput);w.input&&(w.input.type=w.input._type,w.input.classList.remove("flatpickr-input"),w.input.removeAttribute("readonly"));["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach((function(e){try{delete w[e]}catch(e){}}))},w.isEnabled=X,w.jumpToDate=P,w.open=function(e,t){void 0===t&&(t=w._positionElement);if(!0===w.isMobile){if(e){e.preventDefault();var n=g(e);n&&n.blur()}return void 0!==w.mobileInput&&(w.mobileInput.focus(),w.mobileInput.click()),void pe("onOpen")}if(w._input.disabled||w.config.inline)return;var a=w.isOpen;w.isOpen=!0,a||(w.calendarContainer.classList.add("open"),w._input.classList.add("active"),pe("onOpen"),ce(t));!0===w.config.enableTime&&!0===w.config.noCalendar&&(!1!==w.config.allowInput||void 0!==e&&w.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return w.hourElement.select()}),50))},w.redraw=de,w.set=function(e,t){if(null!==e&&"object"==typeof e)for(var a in Object.assign(w.config,e),e)void 0!==fe[a]&&fe[a].forEach((function(e){return e()}));else w.config[e]=t,void 0!==fe[e]?fe[e].forEach((function(e){return e()})):n.indexOf(e)>-1&&(w.config[e]=c(t));w.redraw(),be(!0)},w.setDate=function(e,t,n){void 0===t&&(t=!1);void 0===n&&(n=w.config.dateFormat);if(0!==e&&!e||e instanceof Array&&0===e.length)return w.clear(t);me(e,n),w.latestSelectedDateObj=w.selectedDates[w.selectedDates.length-1],w.redraw(),P(void 0,t),_(),0===w.selectedDates.length&&w.clear(!1);be(t),t&&pe("onChange")},w.toggle=function(e){if(!0===w.isOpen)return w.close();w.open(e)};var fe={locale:[le,z],showMonths:[q,k,$],minDate:[P],maxDate:[P],clickOpens:[function(){!0===w.config.clickOpens?(A(w._input,"focus",w.open),A(w._input,"click",w.open)):(w._input.removeEventListener("focus",w.open),w._input.removeEventListener("click",w.open))}]};function me(e,t){var n=[];if(e instanceof Array)n=e.map((function(e){return w.parseDate(e,t)}));else if(e instanceof Date||"number"==typeof e)n=[w.parseDate(e,t)];else if("string"==typeof e)switch(w.config.mode){case"single":case"time":n=[w.parseDate(e,t)];break;case"multiple":n=e.split(w.config.conjunction).map((function(e){return w.parseDate(e,t)}));break;case"range":n=e.split(w.l10n.rangeSeparator).map((function(e){return w.parseDate(e,t)}))}else w.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));w.selectedDates=w.config.allowInvalidPreload?n:n.filter((function(e){return e instanceof Date&&X(e,!1)})),"range"===w.config.mode&&w.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()}))}function ge(e){return e.slice().map((function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?w.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:w.parseDate(e.from,void 0),to:w.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function pe(e,t){if(void 0!==w.config){var n=w.config[e];if(void 0!==n&&n.length>0)for(var a=0;n[a]&&a<n.length;a++)n[a](w.selectedDates,w.input.value,w,t);"onChange"===e&&(w.input.dispatchEvent(he("change")),w.input.dispatchEvent(he("input")))}}function he(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t}function ve(e){for(var t=0;t<w.selectedDates.length;t++)if(0===M(w.selectedDates[t],e))return""+t;return!1}function De(){w.config.noCalendar||w.isMobile||!w.monthNav||(w.yearElements.forEach((function(e,t){var n=new Date(w.currentYear,w.currentMonth,1);n.setMonth(w.currentMonth+t),w.config.showMonths>1||"static"===w.config.monthSelectorType?w.monthElements[t].textContent=h(n.getMonth(),w.config.shorthandCurrentMonth,w.l10n)+" ":w.monthsDropdownContainer.value=n.getMonth().toString(),e.value=n.getFullYear().toString()})),w._hidePrevMonthArrow=void 0!==w.config.minDate&&(w.currentYear===w.config.minDate.getFullYear()?w.currentMonth<=w.config.minDate.getMonth():w.currentYear<w.config.minDate.getFullYear()),w._hideNextMonthArrow=void 0!==w.config.maxDate&&(w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth+1>w.config.maxDate.getMonth():w.currentYear>w.config.maxDate.getFullYear()))}function we(e){return w.selectedDates.map((function(t){return w.formatDate(t,e)})).filter((function(e,t,n){return"range"!==w.config.mode||w.config.enableTime||n.indexOf(e)===t})).join("range"!==w.config.mode?w.config.conjunction:w.l10n.rangeSeparator)}function be(e){void 0===e&&(e=!0),void 0!==w.mobileInput&&w.mobileFormatStr&&(w.mobileInput.value=void 0!==w.latestSelectedDateObj?w.formatDate(w.latestSelectedDateObj,w.mobileFormatStr):""),w.input.value=we(w.config.dateFormat),void 0!==w.altInput&&(w.altInput.value=we(w.config.altFormat)),!1!==e&&pe("onValueUpdate")}function Ce(e){var t=g(e),n=w.prevMonthNav.contains(t),a=w.nextMonthNav.contains(t);n||a?G(n?-1:1):w.yearElements.indexOf(t)>=0?t.select():t.classList.contains("arrowUp")?w.changeYear(w.currentYear+1):t.classList.contains("arrowDown")&&w.changeYear(w.currentYear-1)}return function(){w.element=w.input=p,w.isOpen=!1,function(){var t=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],i=e(e({},JSON.parse(JSON.stringify(p.dataset||{}))),v),o={};w.config.parseDate=i.parseDate,w.config.formatDate=i.formatDate,Object.defineProperty(w.config,"enable",{get:function(){return w.config._enable},set:function(e){w.config._enable=ge(e)}}),Object.defineProperty(w.config,"disable",{get:function(){return w.config._disable},set:function(e){w.config._disable=ge(e)}});var r="time"===i.mode;if(!i.dateFormat&&(i.enableTime||r)){var l=T.defaultConfig.dateFormat||a.dateFormat;o.dateFormat=i.noCalendar||r?"H:i"+(i.enableSeconds?":S":""):l+" H:i"+(i.enableSeconds?":S":"")}if(i.altInput&&(i.enableTime||r)&&!i.altFormat){var d=T.defaultConfig.altFormat||a.altFormat;o.altFormat=i.noCalendar||r?"h:i"+(i.enableSeconds?":S K":" K"):d+" h:i"+(i.enableSeconds?":S":"")+" K"}Object.defineProperty(w.config,"minDate",{get:function(){return w.config._minDate},set:oe("min")}),Object.defineProperty(w.config,"maxDate",{get:function(){return w.config._maxDate},set:oe("max")});var s=function(e){return function(t){w.config["min"===e?"_minTime":"_maxTime"]=w.parseDate(t,"H:i:S")}};Object.defineProperty(w.config,"minTime",{get:function(){return w.config._minTime},set:s("min")}),Object.defineProperty(w.config,"maxTime",{get:function(){return w.config._maxTime},set:s("max")}),"time"===i.mode&&(w.config.noCalendar=!0,w.config.enableTime=!0);Object.assign(w.config,o,i);for(var u=0;u<t.length;u++)w.config[t[u]]=!0===w.config[t[u]]||"true"===w.config[t[u]];n.filter((function(e){return void 0!==w.config[e]})).forEach((function(e){w.config[e]=c(w.config[e]||[]).map(E)})),w.isMobile=!w.config.disableMobile&&!w.config.inline&&"single"===w.config.mode&&!w.config.disable.length&&!w.config.enable&&!w.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(u=0;u<w.config.plugins.length;u++){var f=w.config.plugins[u](w)||{};for(var m in f)n.indexOf(m)>-1?w.config[m]=c(f[m]).map(E).concat(w.config[m]):void 0===i[m]&&(w.config[m]=f[m])}i.altInputClass||(w.config.altInputClass=re().className+" "+w.config.altInputClass);pe("onParseConfig")}(),le(),function(){if(w.input=re(),!w.input)return void w.config.errorHandler(new Error("Invalid input element specified"));w.input._type=w.input.type,w.input.type="text",w.input.classList.add("flatpickr-input"),w._input=w.input,w.config.altInput&&(w.altInput=s(w.input.nodeName,w.config.altInputClass),w._input=w.altInput,w.altInput.placeholder=w.input.placeholder,w.altInput.disabled=w.input.disabled,w.altInput.required=w.input.required,w.altInput.tabIndex=w.input.tabIndex,w.altInput.type="text",w.input.setAttribute("type","hidden"),!w.config.static&&w.input.parentNode&&w.input.parentNode.insertBefore(w.altInput,w.input.nextSibling));w.config.allowInput||w._input.setAttribute("readonly","readonly");w._positionElement=w.config.positionElement||w._input}(),function(){w.selectedDates=[],w.now=w.parseDate(w.config.now)||new Date;var e=w.config.defaultDate||("INPUT"!==w.input.nodeName&&"TEXTAREA"!==w.input.nodeName||!w.input.placeholder||w.input.value!==w.input.placeholder?w.input.value:null);e&&me(e,w.config.dateFormat);w._initialDate=w.selectedDates.length>0?w.selectedDates[0]:w.config.minDate&&w.config.minDate.getTime()>w.now.getTime()?w.config.minDate:w.config.maxDate&&w.config.maxDate.getTime()<w.now.getTime()?w.config.maxDate:w.now,w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth(),w.selectedDates.length>0&&(w.latestSelectedDateObj=w.selectedDates[0]);void 0!==w.config.minTime&&(w.config.minTime=w.parseDate(w.config.minTime,"H:i"));void 0!==w.config.maxTime&&(w.config.maxTime=w.parseDate(w.config.maxTime,"H:i"));w.minDateHasTime=!!w.config.minDate&&(w.config.minDate.getHours()>0||w.config.minDate.getMinutes()>0||w.config.minDate.getSeconds()>0),w.maxDateHasTime=!!w.config.maxDate&&(w.config.maxDate.getHours()>0||w.config.maxDate.getMinutes()>0||w.config.maxDate.getSeconds()>0)}(),w.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=w.currentMonth),void 0===t&&(t=w.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:w.l10n.daysInMonth[e]}},w.isMobile||function(){var e=window.document.createDocumentFragment();if(w.calendarContainer=s("div","flatpickr-calendar"),w.calendarContainer.tabIndex=-1,!w.config.noCalendar){if(e.appendChild((w.monthNav=s("div","flatpickr-months"),w.yearElements=[],w.monthElements=[],w.prevMonthNav=s("span","flatpickr-prev-month"),w.prevMonthNav.innerHTML=w.config.prevArrow,w.nextMonthNav=s("span","flatpickr-next-month"),w.nextMonthNav.innerHTML=w.config.nextArrow,q(),Object.defineProperty(w,"_hidePrevMonthArrow",{get:function(){return w.__hidePrevMonthArrow},set:function(e){w.__hidePrevMonthArrow!==e&&(d(w.prevMonthNav,"flatpickr-disabled",e),w.__hidePrevMonthArrow=e)}}),Object.defineProperty(w,"_hideNextMonthArrow",{get:function(){return w.__hideNextMonthArrow},set:function(e){w.__hideNextMonthArrow!==e&&(d(w.nextMonthNav,"flatpickr-disabled",e),w.__hideNextMonthArrow=e)}}),w.currentYearElement=w.yearElements[0],De(),w.monthNav)),w.innerContainer=s("div","flatpickr-innerContainer"),w.config.weekNumbers){var t=function(){w.calendarContainer.classList.add("hasWeeks");var e=s("div","flatpickr-weekwrapper");e.appendChild(s("span","flatpickr-weekday",w.l10n.weekAbbreviation));var t=s("div","flatpickr-weeks");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),n=t.weekWrapper,a=t.weekNumbers;w.innerContainer.appendChild(n),w.weekNumbers=a,w.weekWrapper=n}w.rContainer=s("div","flatpickr-rContainer"),w.rContainer.appendChild($()),w.daysContainer||(w.daysContainer=s("div","flatpickr-days"),w.daysContainer.tabIndex=-1),J(),w.rContainer.appendChild(w.daysContainer),w.innerContainer.appendChild(w.rContainer),e.appendChild(w.innerContainer)}w.config.enableTime&&e.appendChild(function(){w.calendarContainer.classList.add("hasTime"),w.config.noCalendar&&w.calendarContainer.classList.add("noCalendar");var e=x(w.config);w.timeContainer=s("div","flatpickr-time"),w.timeContainer.tabIndex=-1;var t=s("span","flatpickr-time-separator",":"),n=m("flatpickr-hour",{"aria-label":w.l10n.hourAriaLabel});w.hourElement=n.getElementsByTagName("input")[0];var a=m("flatpickr-minute",{"aria-label":w.l10n.minuteAriaLabel});w.minuteElement=a.getElementsByTagName("input")[0],w.hourElement.tabIndex=w.minuteElement.tabIndex=-1,w.hourElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getHours():w.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),w.minuteElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getMinutes():e.minutes),w.hourElement.setAttribute("step",w.config.hourIncrement.toString()),w.minuteElement.setAttribute("step",w.config.minuteIncrement.toString()),w.hourElement.setAttribute("min",w.config.time_24hr?"0":"1"),w.hourElement.setAttribute("max",w.config.time_24hr?"23":"12"),w.hourElement.setAttribute("maxlength","2"),w.minuteElement.setAttribute("min","0"),w.minuteElement.setAttribute("max","59"),w.minuteElement.setAttribute("maxlength","2"),w.timeContainer.appendChild(n),w.timeContainer.appendChild(t),w.timeContainer.appendChild(a),w.config.time_24hr&&w.timeContainer.classList.add("time24hr");if(w.config.enableSeconds){w.timeContainer.classList.add("hasSeconds");var i=m("flatpickr-second");w.secondElement=i.getElementsByTagName("input")[0],w.secondElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getSeconds():e.seconds),w.secondElement.setAttribute("step",w.minuteElement.getAttribute("step")),w.secondElement.setAttribute("min","0"),w.secondElement.setAttribute("max","59"),w.secondElement.setAttribute("maxlength","2"),w.timeContainer.appendChild(s("span","flatpickr-time-separator",":")),w.timeContainer.appendChild(i)}w.config.time_24hr||(w.amPM=s("span","flatpickr-am-pm",w.l10n.amPM[r((w.latestSelectedDateObj?w.hourElement.value:w.config.defaultHour)>11)]),w.amPM.title=w.l10n.toggleTitle,w.amPM.tabIndex=-1,w.timeContainer.appendChild(w.amPM));return w.timeContainer}());d(w.calendarContainer,"rangeMode","range"===w.config.mode),d(w.calendarContainer,"animate",!0===w.config.animate),d(w.calendarContainer,"multiMonth",w.config.showMonths>1),w.calendarContainer.appendChild(e);var i=void 0!==w.config.appendTo&&void 0!==w.config.appendTo.nodeType;if((w.config.inline||w.config.static)&&(w.calendarContainer.classList.add(w.config.inline?"inline":"static"),w.config.inline&&(!i&&w.element.parentNode?w.element.parentNode.insertBefore(w.calendarContainer,w._input.nextSibling):void 0!==w.config.appendTo&&w.config.appendTo.appendChild(w.calendarContainer)),w.config.static)){var l=s("div","flatpickr-wrapper");w.element.parentNode&&w.element.parentNode.insertBefore(l,w.element),l.appendChild(w.element),w.altInput&&l.appendChild(w.altInput),l.appendChild(w.calendarContainer)}w.config.static||w.config.inline||(void 0!==w.config.appendTo?w.config.appendTo:window.document.body).appendChild(w.calendarContainer)}(),function(){w.config.wrap&&["open","close","toggle","clear"].forEach((function(e){Array.prototype.forEach.call(w.element.querySelectorAll("[data-"+e+"]"),(function(t){return A(t,"click",w[e])}))}));if(w.isMobile)return void function(){var e=w.config.enableTime?w.config.noCalendar?"time":"datetime-local":"date";w.mobileInput=s("input",w.input.className+" flatpickr-mobile"),w.mobileInput.tabIndex=1,w.mobileInput.type=e,w.mobileInput.disabled=w.input.disabled,w.mobileInput.required=w.input.required,w.mobileInput.placeholder=w.input.placeholder,w.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",w.selectedDates.length>0&&(w.mobileInput.defaultValue=w.mobileInput.value=w.formatDate(w.selectedDates[0],w.mobileFormatStr));w.config.minDate&&(w.mobileInput.min=w.formatDate(w.config.minDate,"Y-m-d"));w.config.maxDate&&(w.mobileInput.max=w.formatDate(w.config.maxDate,"Y-m-d"));w.input.getAttribute("step")&&(w.mobileInput.step=String(w.input.getAttribute("step")));w.input.type="hidden",void 0!==w.altInput&&(w.altInput.type="hidden");try{w.input.parentNode&&w.input.parentNode.insertBefore(w.mobileInput,w.input.nextSibling)}catch(e){}A(w.mobileInput,"change",(function(e){w.setDate(g(e).value,!1,w.mobileFormatStr),pe("onChange"),pe("onClose")}))}();var e=l(ie,50);w._debouncedChange=l(N,300),w.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&A(w.daysContainer,"mouseover",(function(e){"range"===w.config.mode&&ae(g(e))}));A(window.document.body,"keydown",ne),w.config.inline||w.config.static||A(window,"resize",e);void 0!==window.ontouchstart?A(window.document,"touchstart",Z):A(window.document,"mousedown",Z);A(window.document,"focus",Z,{capture:!0}),!0===w.config.clickOpens&&(A(w._input,"focus",w.open),A(w._input,"click",w.open));void 0!==w.daysContainer&&(A(w.monthNav,"click",Ce),A(w.monthNav,["keyup","increment"],F),A(w.daysContainer,"click",ue));if(void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement){var t=function(e){return g(e).select()};A(w.timeContainer,["increment"],I),A(w.timeContainer,"blur",I,{capture:!0}),A(w.timeContainer,"click",Y),A([w.hourElement,w.minuteElement],["focus","click"],t),void 0!==w.secondElement&&A(w.secondElement,"focus",(function(){return w.secondElement&&w.secondElement.select()})),void 0!==w.amPM&&A(w.amPM,"click",(function(e){I(e),N()}))}w.config.allowInput&&A(w._input,"blur",te)}(),(w.selectedDates.length||w.config.noCalendar)&&(w.config.enableTime&&_(w.config.noCalendar?w.latestSelectedDateObj:void 0),be(!1)),k();var t=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!w.isMobile&&t&&ce(),pe("onReady")}(),w}function k(e,t){for(var n=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;i<n.length;i++){var o=n[i];try{if(null!==o.getAttribute("data-fp-omit"))continue;void 0!==o._flatpickr&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=E(o,t||{}),a.push(o._flatpickr)}catch(e){console.error(e)}}return 1===a.length?a[0]:a}"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return k(this,e)},HTMLElement.prototype.flatpickr=function(e){return k([this],e)});var T=function(e,t){return"string"==typeof e?k(window.document.querySelectorAll(e),t):e instanceof Node?k([e],t):k(e,t)};return T.defaultConfig={},T.l10ns={en:e({},i),default:e({},i)},T.localize=function(t){T.l10ns.default=e(e({},T.l10ns.default),t)},T.setDefaults=function(t){T.defaultConfig=e(e({},T.defaultConfig),t)},T.parseDate=C({}),T.formatDate=b({}),T.compareDates=M,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return k(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=T),T}));
(-)a/koha-tmpl/intranet-tmpl/prog/css/src/_flatpickr.scss (+961 lines)
Line 0 Link Here
1
@import "vars";
2
3
@-webkit-keyframes fpFadeInDown {
4
    from {
5
        opacity: 0;
6
        transform: translate3d(0, -20px, 0);
7
    }
8
9
    to {
10
        opacity: 1;
11
        transform: translate3d(0, 0, 0);
12
    }
13
}
14
15
@-moz-keyframes fpFadeInDown {
16
    from {
17
        opacity: 0;
18
        transform: translate3d(0, -20px, 0);
19
    }
20
21
    to {
22
        opacity: 1;
23
        transform: translate3d(0, 0, 0);
24
    }
25
}
26
27
@-ms-keyframes fpFadeInDown {
28
    from {
29
        opacity: 0;
30
        transform: translate3d(0, -20px, 0);
31
    }
32
33
    to {
34
        opacity: 1;
35
        transform: translate3d(0, 0, 0);
36
    }
37
}
38
39
@-o-keyframes fpFadeInDown {
40
    from {
41
        opacity: 0;
42
        transform: translate3d(0, -20px, 0);
43
    }
44
45
    to {
46
        opacity: 1;
47
        transform: translate3d(0, 0, 0);
48
    }
49
}
50
51
@keyframes fpFadeInDown {
52
    from {
53
        opacity: 0;
54
        transform: translate3d(0, -20px, 0);
55
    }
56
57
    to {
58
        opacity: 1;
59
        transform: translate3d(0, 0, 0);
60
    }
61
}
62
63
.flatpickr-calendar {
64
    animation: none;
65
    background: transparent;
66
    border-radius: 5px;
67
    border: 0;
68
    box-sizing: border-box;
69
    direction: ltr;
70
    display: none;
71
    font-size: 14px;
72
    line-height: 24px;
73
    opacity: 0;
74
    padding: 0;
75
    position: absolute;
76
    text-align: center;
77
    touch-action: manipulation;
78
    visibility: hidden;
79
    width: $calendarWidth;
80
81
    @if variable-exists( "noCalendarBorder" ) {
82
        box-shadow: 0 3px 13px rgba(black, 0.08);
83
    }
84
85
    @else {
86
87
        background: $calendarBackground;
88
        box-shadow: 1px 1px 3px 0 #666;
89
    }
90
91
    &.open,
92
    &.inline {
93
        opacity: 1;
94
        max-height: 640px;
95
        visibility: visible;
96
    }
97
98
    &.open {
99
        display: inline-block;
100
        z-index: 99999;
101
    }
102
103
    &.animate.open {
104
        animation: fpFadeInDown 300ms $bezier;
105
    }
106
107
    &.inline {
108
        display: block;
109
        position: relative;
110
        top: 2px;
111
    }
112
113
    &.static {
114
        position: absolute;
115
        top: calc(100% + 2px);
116
117
        &.open {
118
            z-index: 999;
119
            display: block;
120
        }
121
    }
122
123
    &.multiMonth {
124
        .flatpickr-days .dayContainer:nth-child(n+1) {
125
            & .flatpickr-day.inRange:nth-child(7n+7) {
126
                box-shadow: none !important;
127
            }
128
        }
129
130
        .flatpickr-days .dayContainer:nth-child(n+2) {
131
            & .flatpickr-day.inRange:nth-child(7n+1) {
132
                box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
133
            }
134
        }
135
    }
136
137
    .hasWeeks,
138
    .hasTime {
139
        .dayContainer {
140
            border-bottom: 0;
141
            border-bottom-right-radius: 0;
142
            border-bottom-left-radius: 0;
143
        }
144
    }
145
146
    @if variable-exists( "noCalendarBorder" ) {
147
        .hasWeeks .dayContainer {
148
            border-left: 0;
149
        }
150
    }
151
152
    &.hasTime {
153
        .flatpickr-time {
154
            height: $timeHeight;
155
            border-top: 1px solid $calendarBorderColor;
156
        }
157
158
        @if variable-exists( "noCalendarBorder" ) {
159
            .flatpickr-innerContainer {
160
                border-bottom: 0;
161
            }
162
163
            .flatpickr-time {
164
                border: 1px solid $calendarBorderColor;
165
            }
166
        }
167
    }
168
169
    &.noCalendar.hasTime {
170
        .flatpickr-time {
171
            height: auto;
172
        }
173
    }
174
175
    &:before,
176
    &:after {
177
        position: absolute;
178
        display: block;
179
        pointer-events: none;
180
        border: solid transparent;
181
        content: '';
182
        height: 0;
183
        width: 0;
184
        left: 22px;
185
    }
186
187
    &.rightMost,
188
    &.arrowRight {
189
190
        &:before,
191
        &:after {
192
            left: auto;
193
            right: 22px;
194
        }
195
    }
196
197
    &.arrowCenter {
198
199
        &:before,
200
        &:after {
201
            left: 50%;
202
            right: 50%;
203
        }
204
    }
205
206
    &:before {
207
        border-width: 5px;
208
        margin: 0 -5px;
209
    }
210
211
    &:after {
212
        border-width: 4px;
213
        margin: 0 -4px;
214
    }
215
216
    &.arrowTop {
217
218
        &:before,
219
        &:after {
220
            bottom: 100%;
221
        }
222
223
        &:before {
224
            border-bottom-color: $calendarBorderColor;
225
        }
226
227
        &:after {
228
            @if variable-exists( "noCalendarBorder" ) {
229
                border-bottom-color: $monthBackground;
230
            }
231
232
            @else {
233
                border-bottom-color: $calendarBackground;
234
            }
235
        }
236
    }
237
238
    &.arrowBottom {
239
240
        &:before,
241
        &:after {
242
            top: 100%;
243
        }
244
245
        &:before {
246
            border-top-color: $calendarBorderColor;
247
        }
248
249
        &:after {
250
            @if variable-exists( "noCalendarBorder" ) {
251
                border-top-color: $monthBackground;
252
            }
253
254
            @else {
255
                border-top-color: $calendarBackground;
256
            }
257
        }
258
    }
259
260
    &:focus {
261
        outline: 0;
262
    }
263
}
264
265
.flatpickr-wrapper {
266
    position: relative;
267
    display: inline-block;
268
}
269
270
.flatpickr-months {
271
    display: flex;
272
273
    .flatpickr-month {
274
        @if variable-exists( "noCalendarBorder" ) {
275
            border-radius: 5px 5px 0 0;
276
        }
277
278
        background: $monthBackground;
279
        color: $monthForeground;
280
        fill: $monthForeground;
281
        height: $monthNavHeight;
282
        line-height: 1;
283
        text-align: center;
284
        position: relative;
285
        user-select: none;
286
        overflow: hidden;
287
        flex: 1;
288
    }
289
290
    .flatpickr-prev-month,
291
    .flatpickr-next-month {
292
        text-decoration: none;
293
        cursor: pointer;
294
        position: absolute;
295
        top: 0;
296
        height: $monthNavHeight;
297
        padding: 10px;
298
        z-index: 3;
299
        color: $monthForeground;
300
        fill: $monthForeground;
301
302
        &.flatpickr-disabled {
303
            display: none;
304
        }
305
306
        i {
307
            position: relative;
308
        }
309
310
        &.flatpickr-prev-month {
311
            /*!
312
      /*rtl:begin:ignore*/
313
            /*
314
      */
315
            left: 0;
316
            /*!
317
      /*rtl:end:ignore*/
318
            /*
319
      */
320
        }
321
322
        &.flatpickr-next-month {
323
            /*!
324
      /*rtl:begin:ignore*/
325
            /*
326
      */
327
            right: 0;
328
            /*!
329
      /*rtl:end:ignore*/
330
            /*
331
      */
332
        }
333
334
        &:hover {
335
            color: $todayColor;
336
337
            svg {
338
                @if variable-exists( "arrow_hover_color" ){
339
                    fill: $arrow_hover_color;
340
                }
341
342
                @else {
343
344
                    fill: $todayColor;
345
                }
346
            }
347
        }
348
349
        svg {
350
            width: 14px;
351
            height: 14px;
352
353
            path {
354
                transition: fill 0.1s;
355
                fill: inherit;
356
            }
357
        }
358
    }
359
}
360
361
.numInputWrapper {
362
    position: relative;
363
    height: auto;
364
365
    input,
366
    span {
367
        display: inline-block;
368
    }
369
370
    input {
371
        width: 100%;
372
373
        &::-ms-clear {
374
            display: none;
375
        }
376
377
        &::-webkit-outer-spin-button,
378
        &::-webkit-inner-spin-button {
379
            margin: 0;
380
            -webkit-appearance: none;
381
        }
382
    }
383
384
    span {
385
        position: absolute;
386
        right: 0;
387
        width: 14px;
388
        padding: 0 4px 0 2px;
389
        height: 50%;
390
        line-height: 50%;
391
        opacity: 0;
392
        cursor: pointer;
393
        border: 1px solid rgba($dayForeground, 0.15);
394
        box-sizing: border-box;
395
396
        &:hover {
397
            background: rgba($invertedBg, 0.1);
398
        }
399
400
        &:active {
401
            background: rgba($invertedBg, 0.2);
402
        }
403
404
        &:after {
405
            display: block;
406
            content: "";
407
            position: absolute;
408
        }
409
410
        &.arrowUp {
411
            top: 0;
412
            border-bottom: 0;
413
414
            &:after {
415
                border-left: 4px solid transparent;
416
                border-right: 4px solid transparent;
417
                border-bottom: 4px solid rgba($dayForeground, 0.6);
418
                top: 26%;
419
            }
420
        }
421
422
        &.arrowDown {
423
            top: 50%;
424
425
            &:after {
426
                border-left: 4px solid transparent;
427
                border-right: 4px solid transparent;
428
                border-top: 4px solid rgba($dayForeground, 0.6);
429
                top: 40%;
430
            }
431
        }
432
433
        svg {
434
            width: inherit;
435
            height: auto;
436
437
            path {
438
                fill: rgba($monthForeground, 0.5);
439
            }
440
        }
441
    }
442
443
    &:hover {
444
        background: rgba($invertedBg, 0.05);
445
446
        span {
447
            opacity: 1;
448
        }
449
    }
450
}
451
452
.flatpickr-current-month {
453
    font-size: 135%;
454
    line-height: inherit;
455
    font-weight: 300;
456
    color: inherit;
457
    position: absolute;
458
    width: 75%;
459
    left: 12.5%;
460
    padding: 0.22 * $monthNavHeight 0 0 0;
461
    line-height: 1;
462
    height: $monthNavHeight;
463
    display: inline-block;
464
    text-align: center;
465
    transform: translate3d(0px, 0px, 0px);
466
467
    span.cur-month {
468
        font-family: inherit;
469
        font-weight: 700;
470
        color: inherit;
471
        display: inline-block;
472
        margin-left: 0.5ch;
473
        padding: 0;
474
475
        &:hover {
476
            background: rgba($invertedBg, 0.05);
477
        }
478
    }
479
480
    .numInputWrapper {
481
        width: 6ch;
482
        width: unquote("7ch\0");
483
        display: inline-block;
484
485
        span.arrowUp:after {
486
            border-bottom-color: $monthForeground;
487
        }
488
489
        span.arrowDown:after {
490
            border-top-color: $monthForeground;
491
        }
492
    }
493
494
    input.cur-year {
495
        background: transparent;
496
        box-sizing: border-box;
497
        color: inherit;
498
        cursor: text;
499
        padding: 0 0 0 0.5ch;
500
        margin: 0;
501
        display: inline-block;
502
        font-size: inherit;
503
        font-family: inherit;
504
        font-weight: 300;
505
        line-height: inherit;
506
        height: auto;
507
        border: 0;
508
        border-radius: 0;
509
        vertical-align: initial;
510
        -webkit-appearance: textfield;
511
        -moz-appearance: textfield;
512
        appearance: textfield;
513
514
        &:focus {
515
            outline: 0;
516
        }
517
518
        &[disabled],
519
        &[disabled]:hover {
520
            font-size: 100%;
521
            color: rgba($monthForeground, 0.5);
522
            background: transparent;
523
            pointer-events: none;
524
        }
525
    }
526
527
    .flatpickr-monthDropdown-months {
528
        appearance: none;
529
        background-image: url('data:image/svg+xml;charset=utf8,%3csvg fill="%23000000" fill-opacity="0.54" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"%3e%3cpath d="M7 10l5 5 5-5z"/%3e%3cpath d="M0 0h24v24H0z" fill="none"/%3e%3c/svg%3e');
530
        background-position: 100% 50%;
531
        background-repeat: no-repeat;
532
        background-size: 24px 24px;
533
        border: none;
534
        border-radius: 0;
535
        box-sizing: border-box;
536
        color: inherit;
537
        cursor: pointer;
538
        font-size: 90%;
539
        font-family: inherit;
540
        font-weight: 300;
541
        height: auto;
542
        line-height: 120%;
543
        margin: -1px 0 0 0;
544
        outline: none;
545
        padding: 4px 28px 4px 4px;
546
        position: relative;
547
        vertical-align: initial;
548
        width: auto;
549
550
        &:focus,
551
        &:active {
552
            outline: none;
553
        }
554
555
        .flatpickr-monthDropdown-month {
556
            background-color: $monthBackground;
557
            outline: none;
558
            padding: 0;
559
        }
560
    }
561
}
562
563
.flatpickr-weekdays {
564
    background: $weekdaysBackground;
565
    text-align: center;
566
    overflow: hidden;
567
    width: 100%;
568
    display: flex;
569
    align-items: center;
570
    height: $weekdaysHeight;
571
572
    .flatpickr-weekdaycontainer {
573
        display: flex;
574
        flex: 1;
575
    }
576
}
577
578
579
580
span.flatpickr-weekday {
581
    cursor: default;
582
    font-size: 90%;
583
    background: $monthBackground;
584
    color: $weekdaysForeground;
585
    line-height: 1;
586
    margin: 0;
587
    text-align: center;
588
    display: block;
589
    flex: 1;
590
    font-weight: bolder;
591
}
592
593
.dayContainer,
594
.flatpickr-weeks {
595
    padding: 1px 0 0 0;
596
}
597
598
.flatpickr-days {
599
    position: relative;
600
    overflow: hidden;
601
    display: flex;
602
    align-items: flex-start;
603
    width: $daysWidth;
604
605
    &:focus {
606
        outline: 0;
607
    }
608
609
    @if variable-exists( "noCalendarBorder" ) {
610
        border-left: 1px solid $calendarBorderColor;
611
        border-right: 1px solid $calendarBorderColor;
612
    }
613
}
614
615
.dayContainer {
616
    padding: 0;
617
    outline: 0;
618
    text-align: left;
619
    width: $daysWidth;
620
    min-width: $daysWidth;
621
    max-width: $daysWidth;
622
    box-sizing: border-box;
623
    display: inline-block;
624
    display: -ms-flexbox;
625
    display: flex;
626
    flex-wrap: wrap;
627
    -ms-flex-wrap: wrap;
628
    -ms-flex-pack: justify;
629
    justify-content: space-around;
630
    transform: translate3d(0px, 0px, 0px);
631
    opacity: 1;
632
633
    &+.dayContainer {
634
        box-shadow: -1px 0 0 $calendarBorderColor;
635
    }
636
}
637
638
.flatpickr-day {
639
    background: none;
640
    border: 1px solid transparent;
641
    border-radius: 150px;
642
    box-sizing: border-box;
643
    color: $dayForeground;
644
    cursor: pointer;
645
646
    font-weight: 400;
647
    width: 14.2857143%;
648
    flex-basis: 14.2857143%;
649
    max-width: $daySize;
650
    height: $daySize;
651
    line-height: $daySize;
652
    margin: 0;
653
654
    display: inline-block;
655
    position: relative;
656
    justify-content: center;
657
    text-align: center;
658
659
    &,
660
    &.prevMonthDay,
661
    &.nextMonthDay {
662
663
        &.inRange,
664
        &.today.inRange,
665
        &:hover,
666
        &:focus {
667
            cursor: pointer;
668
            outline: 0;
669
            background: $dayHoverBackground;
670
            border-color: $dayHoverBackground;
671
        }
672
    }
673
674
    &.today {
675
        border-color: $todayColor;
676
677
        &:hover,
678
        &:focus {
679
            border-color: $todayColor;
680
            background: $todayColor;
681
682
            @if variable-exists( "today_fg_color" ){
683
                color: $today_fg_color;
684
            }
685
686
            @else {
687
                color: white;
688
            }
689
        }
690
    }
691
692
    &.selected,
693
    &.startRange,
694
    &.endRange {
695
696
        &,
697
        &.inRange,
698
        &:focus,
699
        &:hover,
700
        &.prevMonthDay,
701
        &.nextMonthDay {
702
            background: $selectedDayBackground;
703
            box-shadow: none;
704
705
            @if variable-exists( "selectedDayForeground" ){
706
                color: $selectedDayForeground;
707
            }
708
709
            @else {
710
                color: white;
711
            }
712
713
            border-color: $selectedDayBackground;
714
        }
715
716
        &.startRange {
717
            border-radius: 50px 0 0 50px;
718
        }
719
720
        &.endRange {
721
            border-radius: 0 50px 50px 0;
722
        }
723
724
        &.startRange+.endRange:not(:nth-child(7n+1)) {
725
            box-shadow: -5 * $dayMargin 0 0 $selectedDayBackground;
726
        }
727
728
        &.startRange.endRange {
729
            border-radius: 50px;
730
        }
731
    }
732
733
    &.inRange {
734
        border-radius: 0;
735
        box-shadow: -2.5 * $dayMargin 0 0 $dayHoverBackground, 2.5 * $dayMargin 0 0 $dayHoverBackground;
736
    }
737
738
    &.flatpickr-disabled,
739
    &.flatpickr-disabled:hover,
740
    &.prevMonthDay,
741
    &.nextMonthDay,
742
    &.notAllowed,
743
    &.notAllowed.prevMonthDay,
744
    &.notAllowed.nextMonthDay {
745
        color: rgba($dayForeground, 0.3);
746
        background: transparent;
747
748
        @if variable-exists( "disabled_border_color" ){
749
            border-color: $disabled_border_color;
750
        }
751
752
        @else {
753
754
            border-color: transparent;
755
        }
756
757
        cursor: default;
758
    }
759
760
    &.flatpickr-disabled,
761
    &.flatpickr-disabled:hover {
762
        cursor: not-allowed;
763
        color: rgba($dayForeground, 0.1);
764
    }
765
766
    &.week.selected {
767
        border-radius: 0;
768
        box-shadow: -2.5 * $dayMargin 0 0 $selectedDayBackground, 2.5 * $dayMargin 0 0 $selectedDayBackground;
769
    }
770
771
    &.hidden {
772
        visibility: hidden;
773
    }
774
}
775
776
.rangeMode .flatpickr-day {
777
    margin-top: 1px;
778
}
779
780
.flatpickr-weekwrapper {
781
    float: left;
782
783
    .flatpickr-weeks {
784
        padding: 0 12px;
785
786
        @if variable-exists( "noCalendarBorder" ) {
787
            border-left: 1px solid $calendarBorderColor;
788
        }
789
790
        @else {
791
            box-shadow: 1px 0 0 $calendarBorderColor;
792
        }
793
    }
794
795
    .flatpickr-weekday {
796
        float: none;
797
        width: 100%;
798
        line-height: $weekdaysHeight;
799
    }
800
801
    span.flatpickr-day {
802
803
        &,
804
        &:hover {
805
            display: block;
806
            width: 100%;
807
            max-width: none;
808
            color: rgba($dayForeground, 0.3);
809
            background: transparent;
810
            cursor: default;
811
            border: none;
812
        }
813
    }
814
}
815
816
.flatpickr-innerContainer {
817
    display: block;
818
    display: flex;
819
    box-sizing: border-box;
820
    overflow: hidden;
821
822
    @if variable-exists( "noCalendarBorder" ) {
823
        background: $calendarBackground;
824
        border-bottom: 1px solid $calendarBorderColor;
825
    }
826
}
827
828
.flatpickr-rContainer {
829
    display: inline-block;
830
    padding: 0;
831
    box-sizing: border-box;
832
}
833
834
.flatpickr-time {
835
    text-align: center;
836
    outline: 0;
837
    display: block;
838
    height: 0;
839
    line-height: $timeHeight;
840
    max-height: $timeHeight;
841
    box-sizing: border-box;
842
    overflow: hidden;
843
    display: flex;
844
845
    @if variable-exists( "noCalendarBorder" ) {
846
        background: $calendarBackground;
847
        border-radius: 0 0 5px 5px;
848
    }
849
850
    &:after {
851
        content: "";
852
        display: table;
853
        clear: both;
854
    }
855
856
    .numInputWrapper {
857
        flex: 1;
858
        width: 40%;
859
        height: $timeHeight;
860
        float: left;
861
862
        span.arrowUp:after {
863
            border-bottom-color: $dayForeground;
864
        }
865
866
        span.arrowDown:after {
867
            border-top-color: $dayForeground;
868
        }
869
    }
870
871
    &.hasSeconds .numInputWrapper {
872
        width: 26%;
873
    }
874
875
    &.time24hr .numInputWrapper {
876
        width: 49%;
877
    }
878
879
    input {
880
        background: transparent;
881
        box-shadow: none;
882
        border: 0;
883
        border-radius: 0;
884
        text-align: center;
885
        margin: 0;
886
        padding: 0;
887
        height: inherit;
888
        line-height: inherit;
889
        color: $dayForeground;
890
        font-size: 14px;
891
        position: relative;
892
        box-sizing: border-box;
893
        -webkit-appearance: textfield;
894
        -moz-appearance: textfield;
895
        appearance: textfield;
896
897
        &.flatpickr-hour {
898
            font-weight: bold;
899
        }
900
901
        &.flatpickr-minute,
902
        &.flatpickr-second {
903
            font-weight: 400;
904
        }
905
906
        &:focus {
907
            outline: 0;
908
            border: 0;
909
        }
910
    }
911
912
    .flatpickr-time-separator,
913
    .flatpickr-am-pm {
914
        height: inherit;
915
        float: left;
916
        line-height: inherit;
917
        color: $dayForeground;
918
        font-weight: bold;
919
        width: 2%;
920
        user-select: none;
921
        align-self: center;
922
    }
923
924
    .flatpickr-am-pm {
925
        outline: 0;
926
        width: 18%;
927
        cursor: pointer;
928
        text-align: center;
929
        font-weight: 400;
930
    }
931
932
    input,
933
    .flatpickr-am-pm {
934
935
        &:hover,
936
        &:focus {
937
            background: lighten($dayHoverBackground, 3);
938
        }
939
    }
940
}
941
942
.flatpickr-input {
943
    background-repeat: no-repeat;
944
    background-position: 3px;
945
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='#369' class='bi bi-calendar3'%3E%3Cg stroke-width='1.333'%3E%3Cpath d='M10.5 0h-9A1.5 1.5 0 0 0 0 1.5v9A1.5 1.5 0 0 0 1.5 12h9a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 10.5 0zM.75 2.893c0-.355.336-.643.75-.643h9c.414 0 .75.288.75.643v7.714c0 .355-.336.643-.75.643h-9c-.414 0-.75-.288-.75-.643z'/%3E%3Cpath d='M4.875 5.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zM2.625 7.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm-6.75 2.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm2.25 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z'/%3E%3C/g%3E%3C/svg%3E");
946
    border-style: inset;
947
    border-width: 1px;
948
    padding: 3px 3px 3px 20px;
949
950
    &:focus {
951
        border-radius: 0;
952
    }
953
954
    &[readonly] {
955
        cursor: pointer;
956
    }
957
}
958
959
.flatpickr-day {
960
    border-radius: 0;
961
}
(-)a/koha-tmpl/intranet-tmpl/prog/css/src/_vars.scss (+35 lines)
Line 0 Link Here
1
$bezier: cubic-bezier(0.23, 1, 0.32, 1);
2
$slideTime: 400ms;
3
4
5
$daySize: 39px;
6
$padding: $daySize / 16;
7
$dayMargin: 2px;
8
$daysWidth: $daySize * 7 + $dayMargin * 14 + $padding * 2 + 2;
9
$calendarWidth: $daysWidth;
10
11
$monthNavHeight: 34px !default;
12
$weekdaysHeight: 28px !default;
13
$timeHeight: 40px;
14
15
16
17
$calendarBackground: #ffffff !default;
18
$calendarBorderColor: #e6e6e6 !default;
19
20
$monthForeground: rgba(black, 0.9) !default;
21
$arrow_hover_color: #f64747 !default;
22
23
$monthBackground: transparent !default;
24
25
$weekdaysBackground: transparent !default;
26
$weekdaysForeground: rgba(black, 0.54) !default;
27
28
$dayForeground: #000 !default;
29
$dayHoverBackground: #e6e6e6 !default;
30
31
$todayColor: #538200 !default;
32
$selectedDayBackground: #FFF4C6 !default;
33
$selectedDayForeground: #000;
34
35
$invertedBg: invert($calendarBackground);
(-)a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss (+1 lines)
Lines 1-5 Link Here
1
@import "mixins";
1
@import "mixins";
2
@import "tables";
2
@import "tables";
3
@import "flatpickr";
3
4
4
::selection {
5
::selection {
5
    background: #538200;
6
    background: #538200;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc (+2 lines)
Lines 6-14 Link Here
6
    var debug    = "[% debug | html %]";
6
    var debug    = "[% debug | html %]";
7
    var dateformat_pref = "[% Koha.Preference('dateformat ') | html %]";
7
    var dateformat_pref = "[% Koha.Preference('dateformat ') | html %]";
8
    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 %];
8
    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 %];
9
    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 %];
9
    var sentmsg = 0;
10
    var sentmsg = 0;
10
    var bidi = [% IF(bidi) %] true[% ELSE %] false[% END %];
11
    var bidi = [% IF(bidi) %] true[% ELSE %] false[% END %];
11
    var calendarFirstDayOfWeek = '[% Koha.Preference('CalendarFirstDayOfWeek') | html %]';
12
    var calendarFirstDayOfWeek = '[% Koha.Preference('CalendarFirstDayOfWeek') | html %]';
13
    var flatpickr_timeformat_string = [% IF Koha.Preference('TimeFormat') == '12hr' %]"h:i K"[% ELSE %]"H:i"[% END %];
12
</script>
14
</script>
13
<!-- / calendar.inc -->
15
<!-- / calendar.inc -->
14
[% Asset.js("js/calendar.js") | $raw %]
16
[% Asset.js("js/calendar.js") | $raw %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/categories.tt (+1 lines)
Lines 683-688 Link Here
683
[% MACRO jsinclude BLOCK %]
683
[% MACRO jsinclude BLOCK %]
684
    [% Asset.js("js/admin-menu.js") | $raw %]
684
    [% Asset.js("js/admin-menu.js") | $raw %]
685
    [% Asset.js("js/messaging-preference-form.js") | $raw %]
685
    [% Asset.js("js/messaging-preference-form.js") | $raw %]
686
    [% Asset.js("lib/flatpickr/flatpickr.min.js") | $raw %]
686
    [% INCLUDE 'calendar.inc' %]
687
    [% INCLUDE 'calendar.inc' %]
687
    [% INCLUDE 'datatables.inc' %]
688
    [% INCLUDE 'datatables.inc' %]
688
    [% INCLUDE 'columns_settings.inc' %]
689
    [% INCLUDE 'columns_settings.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt (-22 / +40 lines)
Lines 245-252 Link Here
245
245
246
[% MACRO jsinclude BLOCK %]
246
[% MACRO jsinclude BLOCK %]
247
    [% INCLUDE 'calendar.inc' %]
247
    [% INCLUDE 'calendar.inc' %]
248
    [% Asset.js("lib/jquery/plugins/jquery-ui-timepicker-addon.min.js") | $raw %]
248
    [% Asset.js("lib/flatpickr/flatpickr.min.js") | $raw %]
249
    [% INCLUDE 'timepicker.inc' %]
249
    [% # INCLUDE 'timepicker.inc' %]
250
    [% IF error %]
250
    [% IF error %]
251
        <script>
251
        <script>
252
            $( document ).ready(function() {
252
            $( document ).ready(function() {
Lines 256-289 Link Here
256
    [% END %]
256
    [% END %]
257
    <script>
257
    <script>
258
        $( document ).ready(function() {
258
        $( document ).ready(function() {
259
            $("#renewonholdduedate").datetimepicker({
259
            // $("#renewonholdduedate").datetimepicker({
260
                onClose: function(dateText, inst) {
260
            //     onClose: function(dateText, inst) {
261
                    validate_date(dateText, inst);
261
            //         validate_date(dateText, inst);
262
                },
262
            //     },
263
                minDate: 1, // require that renewal date is after today
263
            //     minDate: 1, // require that renewal date is after today
264
                hour: 23,
264
            //     hour: 23,
265
                minute: 59
265
            //     minute: 59
266
            }).on('change', function(e) {
266
            // }).on('change', function(e) {
267
                if ( ! is_valid_date( $(this).val() ) ) {$(this).val('');}
267
            //     if ( ! is_valid_date( $(this).val() ) ) {$(this).val('');}
268
            });
268
            // });
269
269
270
            // [% IF Koha.Preference('SpecifyDueDate') %]
271
            //     $("#hard_due_date").datetimepicker({
272
            //         onClose: function(dateText, inst) {
273
            //             validate_date(dateText, inst);
274
            //         },
275
            //         hour: 23,
276
            //         minute: 59
277
            //     }).on("change", function(e, value) {
278
            //         if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
279
            //     });
280
            //     $("#cleardate").on("click",function(e){
281
            //         e.preventDefault();
282
            //         this.form.hard_due_date.value = '';
283
            //         this.form.barcode.focus();
284
            //     });
285
            // [% END %]
270
            [% IF Koha.Preference('SpecifyDueDate') %]
286
            [% IF Koha.Preference('SpecifyDueDate') %]
271
                $("#hard_due_date").datetimepicker({
287
                var datepicker = $("#hard_due_date").flatpickr({
272
                    onClose: function(dateText, inst) {
288
                    allowInput: true,
273
                        validate_date(dateText, inst);
289
                    enableTime: true,
290
                    dateFormat: flatpickr_dateformat_string + " " + flatpickr_timeformat_string,
291
                    defaultHour: 23,
292
                    defaultMinute: 59,
293
                    prevArrow: '<i class="fa fa-fw fa-arrow-left"></i>',
294
                    nextArrow: '<i class="fa fa-fw fa-arrow-right"></i>',
295
                    onClose: function( selectedDates, dateText, instance) {
296
                        validate_date( selectedDates, instance );
274
                    },
297
                    },
275
                    hour: 23,
276
                    minute: 59
277
                }).on("change", function(e, value) {
278
                    if ( ! is_valid_date( $(this).val() ) ) {$(this).val("");}
279
                });
298
                });
280
                $("#cleardate").on("click",function(e){
299
                $("#cleardate").on("click",function(e){
281
                    e.preventDefault();
300
                    e.preventDefault();
282
                    this.form.hard_due_date.value = '';
301
                    datepicker.clear();
283
                    this.form.barcode.focus();
302
                    this.form.barcode.focus();
284
                });
303
                });
285
            [% END %]
304
            [% END %]
286
287
        });
305
        });
288
    </script>
306
    </script>
289
[% END %]
307
[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/js/calendar.js (-3 / +2 lines)
Lines 8-14 if (debug > 1) { Link Here
8
function is_valid_date(date) {
8
function is_valid_date(date) {
9
    // An empty string is considered as a valid date for convenient reasons.
9
    // An empty string is considered as a valid date for convenient reasons.
10
    if (date === '') return 1;
10
    if (date === '') return 1;
11
12
    var dateformat = dateformat_string;
11
    var dateformat = dateformat_string;
13
    if (dateformat == 'us') {
12
    if (dateformat == 'us') {
14
        if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
13
        if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
Lines 24-30 function is_valid_date(date) { Link Here
24
        dateformat = 'dd.mm.yy';
23
        dateformat = 'dd.mm.yy';
25
    }
24
    }
26
    try {
25
    try {
27
        $.datepicker.parseDate(dateformat, date);
26
        flatpickr.parseDate(date, dateformat);
28
    } catch (e) {
27
    } catch (e) {
29
        return 0;
28
        return 0;
30
    }
29
    }
Lines 49-55 function validate_date(dateText, inst) { Link Here
49
    if (!is_valid_date(dateText)) {
48
    if (!is_valid_date(dateText)) {
50
        var dateformat_str = get_dateformat_str( dateformat_pref );
49
        var dateformat_str = get_dateformat_str( dateformat_pref );
51
        alert(MSG_PLEASE_ENTER_A_VALID_DATE.format(dateformat_str));
50
        alert(MSG_PLEASE_ENTER_A_VALID_DATE.format(dateformat_str));
52
        $('#' + inst.id).val('');
51
        inst.clear();
53
    }
52
    }
54
}
53
}
55
54
(-)a/koha-tmpl/intranet-tmpl/prog/js/categories.js (-4 / +7 lines)
Lines 21-26 jQuery.validator.addMethod( "enrollment_period", function(){ Link Here
21
    }, __("Please choose an enrollment period in months OR by date.")
21
    }, __("Please choose an enrollment period in months OR by date.")
22
);
22
);
23
23
24
flatpickr.l10ns.default.firstDayOfWeek = calendarFirstDayOfWeek;
24
25
25
$(document).ready(function() {
26
$(document).ready(function() {
26
    KohaTable("patron_categories", {
27
    KohaTable("patron_categories", {
Lines 39-47 $(document).ready(function() { Link Here
39
        "exportColumns": [0,1,2,3,4,5,6,7,8,9,10,11,12],
40
        "exportColumns": [0,1,2,3,4,5,6,7,8,9,10,11,12],
40
    }, columns_settings);
41
    }, columns_settings);
41
42
42
    $("#enrolmentperioddate").datepicker({
43
    $("#enrolmentperioddate").flatpickr({
43
        minDate: 1
44
        allowInput: true,
44
    }); // Require that "until date" be in the future
45
        dateFormat: flatpickr_dateformat_string,
46
        prevArrow: '<i class="fa fa-fw fa-arrow-left"></i>',
47
        nextArrow: '<i class="fa fa-fw fa-arrow-right"></i>'
48
    });
45
49
46
    if ($("#branches option:selected").length < 1) {
50
    if ($("#branches option:selected").length < 1) {
47
        $("#branches option:first").attr("selected", "selected");
51
        $("#branches option:first").attr("selected", "selected");
48
- 

Return to bug 28376