flatpickr 2.3.4.0 → 2.3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/flatpickr/version.rb +1 -1
- data/vendor/assets/javascripts/flatpickr.js +131 -71
- data/vendor/assets/javascripts/flatpickr/l10n/de.js +1 -0
- data/vendor/assets/javascripts/flatpickr/l10n/lt.js +2 -2
- data/vendor/assets/javascripts/flatpickr/l10n/pt.js +3 -0
- data/vendor/assets/stylesheets/flatpickr.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/flatpickr.min.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/airbnb.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/base16_flat.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/confetti.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/dark.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/material_blue.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/material_green.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/material_orange.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/rtl/themes/material_red.rtl.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/airbnb.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/base16_flat.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/confetti.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/dark.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/material_blue.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/material_green.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/material_orange.css +1 -1
- data/vendor/assets/stylesheets/flatpickr/themes/material_red.css +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dcc3bd43088a41be83303f84ca9dce418ee90cbf
|
4
|
+
data.tar.gz: 0c8b9851169670c1043799ccad990a880da085c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bf06c49a517d3ad90533cbf40d15f5975ddcc334087947440764a39175be5471ad9855f48671d15ddc8dfa3cd9f58d50a7d09cdc6178af3b9ff785624b4c95a
|
7
|
+
data.tar.gz: 1ce3fb691861a4fa504011030c2613f08a917471c04543c3e92690081d6195f68af995193a4ac7f5073b45045dafd12b68f0cfddd342c1c07caec04f9e860341
|
data/lib/flatpickr/version.rb
CHANGED
@@ -2,7 +2,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
|
|
2
2
|
|
3
3
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
4
4
|
|
5
|
-
/*! flatpickr v2.3.
|
5
|
+
/*! flatpickr v2.3.5, @license MIT */
|
6
6
|
function Flatpickr(element, config) {
|
7
7
|
var self = this;
|
8
8
|
|
@@ -44,8 +44,7 @@ function Flatpickr(element, config) {
|
|
44
44
|
if (!self.isMobile) {
|
45
45
|
Object.defineProperty(self, "dateIsPicked", {
|
46
46
|
set: function set(bool) {
|
47
|
-
|
48
|
-
self.calendarContainer.classList.remove("dateIsPicked");
|
47
|
+
toggleClass(self.calendarContainer, "dateIsPicked", bool);
|
49
48
|
}
|
50
49
|
});
|
51
50
|
}
|
@@ -135,6 +134,11 @@ function Flatpickr(element, config) {
|
|
135
134
|
}
|
136
135
|
}
|
137
136
|
|
137
|
+
function onMonthScroll(e) {
|
138
|
+
e.preventDefault();
|
139
|
+
self.changeMonth(Math.max(-1, Math.min(1, e.wheelDelta || -e.deltaY)));
|
140
|
+
}
|
141
|
+
|
138
142
|
function bind() {
|
139
143
|
if (self.config.wrap) {
|
140
144
|
["open", "close", "toggle", "clear"].forEach(function (el) {
|
@@ -180,6 +184,9 @@ function Flatpickr(element, config) {
|
|
180
184
|
return changeMonth(1);
|
181
185
|
});
|
182
186
|
|
187
|
+
self.currentMonthElement.addEventListener("wheel", function (e) {
|
188
|
+
return debounce(onMonthScroll(e), 50);
|
189
|
+
});
|
183
190
|
self.currentYearElement.addEventListener("wheel", function (e) {
|
184
191
|
return debounce(yearScroll(e), 50);
|
185
192
|
});
|
@@ -234,7 +241,9 @@ function Flatpickr(element, config) {
|
|
234
241
|
self.currentYear = jumpDate.getFullYear();
|
235
242
|
self.currentMonth = jumpDate.getMonth();
|
236
243
|
} catch (e) {
|
244
|
+
/* istanbul ignore next */
|
237
245
|
console.error(e.stack);
|
246
|
+
/* istanbul ignore next */
|
238
247
|
console.warn("Invalid date supplied: " + jumpDate);
|
239
248
|
}
|
240
249
|
|
@@ -298,14 +307,26 @@ function Flatpickr(element, config) {
|
|
298
307
|
|
299
308
|
self.calendarContainer.appendChild(fragment);
|
300
309
|
|
310
|
+
var customAppend = self.config.appendTo && self.config.appendTo.nodeType;
|
311
|
+
|
301
312
|
if (self.config.inline || self.config.static) {
|
302
313
|
self.calendarContainer.classList.add(self.config.inline ? "inline" : "static");
|
303
314
|
positionCalendar();
|
304
315
|
|
305
|
-
if (self.config.
|
306
|
-
self.element.parentNode.insertBefore(self.calendarContainer, (self.altInput || self.input).nextSibling);
|
316
|
+
if (self.config.inline && !customAppend) {
|
317
|
+
return self.element.parentNode.insertBefore(self.calendarContainer, (self.altInput || self.input).nextSibling);
|
318
|
+
}
|
319
|
+
|
320
|
+
if (self.config.static) {
|
321
|
+
var wrapper = createElement("div", "flatpickr-wrapper");
|
322
|
+
self.element.parentNode.insertBefore(wrapper, self.element);
|
323
|
+
wrapper.appendChild(self.element);
|
324
|
+
wrapper.appendChild(self.calendarContainer);
|
325
|
+
return;
|
307
326
|
}
|
308
|
-
}
|
327
|
+
}
|
328
|
+
|
329
|
+
(customAppend ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer);
|
309
330
|
}
|
310
331
|
|
311
332
|
function createDay(className, date, dayNumber) {
|
@@ -398,6 +419,7 @@ function Flatpickr(element, config) {
|
|
398
419
|
self.prevMonthNav.innerHTML = self.config.prevArrow;
|
399
420
|
|
400
421
|
self.currentMonthElement = createElement("span", "cur-month");
|
422
|
+
self.currentMonthElement.title = self.l10n.scrollTitle;
|
401
423
|
|
402
424
|
var yearInput = createNumberInput("cur-year");
|
403
425
|
self.currentYearElement = yearInput.childNodes[0];
|
@@ -599,7 +621,9 @@ function Flatpickr(element, config) {
|
|
599
621
|
}
|
600
622
|
|
601
623
|
function documentClick(e) {
|
602
|
-
var isInput = self.element.contains(e.target) || e.target === self.input || e.target === self.altInput ||
|
624
|
+
var isInput = self.element.contains(e.target) || e.target === self.input || e.target === self.altInput ||
|
625
|
+
// web components
|
626
|
+
e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput));
|
603
627
|
|
604
628
|
if (self.isOpen && !self.config.inline && !isCalendarElem(e.target) && !isInput) {
|
605
629
|
e.preventDefault();
|
@@ -623,7 +647,7 @@ function Flatpickr(element, config) {
|
|
623
647
|
|
624
648
|
function handleYearChange(newYear) {
|
625
649
|
if (self.currentMonth < 0 || self.currentMonth > 11) {
|
626
|
-
self.currentYear += self.currentMonth
|
650
|
+
self.currentYear += self.currentMonth > 11 ? 1 : -1;
|
627
651
|
self.currentMonth = (self.currentMonth + 12) % 12;
|
628
652
|
|
629
653
|
triggerEvent("YearChange");
|
@@ -679,8 +703,6 @@ function Flatpickr(element, config) {
|
|
679
703
|
|
680
704
|
case 27:
|
681
705
|
// escape
|
682
|
-
self.clear();
|
683
|
-
self.redraw();
|
684
706
|
self.close();
|
685
707
|
break;
|
686
708
|
|
@@ -690,11 +712,8 @@ function Flatpickr(element, config) {
|
|
690
712
|
|
691
713
|
case 38:
|
692
714
|
e.preventDefault();
|
693
|
-
|
694
|
-
|
695
|
-
self.currentYear++;
|
696
|
-
self.redraw();
|
697
|
-
}
|
715
|
+
self.currentYear++;
|
716
|
+
self.redraw();
|
698
717
|
|
699
718
|
break;
|
700
719
|
|
@@ -704,10 +723,8 @@ function Flatpickr(element, config) {
|
|
704
723
|
|
705
724
|
case 40:
|
706
725
|
e.preventDefault();
|
707
|
-
|
708
|
-
|
709
|
-
self.redraw();
|
710
|
-
}
|
726
|
+
self.currentYear--;
|
727
|
+
self.redraw();
|
711
728
|
|
712
729
|
break;
|
713
730
|
|
@@ -733,16 +750,20 @@ function Flatpickr(element, config) {
|
|
733
750
|
}
|
734
751
|
}
|
735
752
|
|
736
|
-
|
753
|
+
var _loop = function _loop(timestamp, i) {
|
737
754
|
var outOfRange = timestamp < self.minRangeDate.getTime() || timestamp > self.maxRangeDate.getTime();
|
738
755
|
|
739
756
|
if (outOfRange) {
|
740
757
|
self.days.childNodes[i].classList.add("notAllowed");
|
741
|
-
|
742
|
-
|
743
|
-
|
758
|
+
["inRange", "startRange", "endRange"].forEach(function (c) {
|
759
|
+
self.days.childNodes[i].classList.remove(c);
|
760
|
+
});
|
761
|
+
return "continue";
|
762
|
+
} else if (containsDisabled && !outOfRange) return "continue";
|
744
763
|
|
745
|
-
|
764
|
+
["startRange", "inRange", "endRange", "notAllowed"].forEach(function (c) {
|
765
|
+
self.days.childNodes[i].classList.remove(c);
|
766
|
+
});
|
746
767
|
|
747
768
|
var minRangeDate = Math.max(self.minRangeDate.getTime(), rangeStartDate),
|
748
769
|
maxRangeDate = Math.min(self.maxRangeDate.getTime(), rangeEndDate);
|
@@ -750,6 +771,12 @@ function Flatpickr(element, config) {
|
|
750
771
|
e.target.classList.add(hoverDate < self.selectedDates[0] ? "startRange" : "endRange");
|
751
772
|
|
752
773
|
if (initialDate > hoverDate && timestamp === initialDate.getTime()) self.days.childNodes[i].classList.add("endRange");else if (initialDate < hoverDate && timestamp === initialDate.getTime()) self.days.childNodes[i].classList.add("startRange");else if (timestamp > minRangeDate && timestamp < maxRangeDate) self.days.childNodes[i].classList.add("inRange");
|
774
|
+
};
|
775
|
+
|
776
|
+
for (var timestamp = self.days.childNodes[0].dateObj.getTime(), i = 0; i < 42; i++, timestamp += self.utils.duration.DAY) {
|
777
|
+
var _ret = _loop(timestamp, i);
|
778
|
+
|
779
|
+
if (_ret === "continue") continue;
|
753
780
|
}
|
754
781
|
}
|
755
782
|
|
@@ -813,6 +840,9 @@ function Flatpickr(element, config) {
|
|
813
840
|
|
814
841
|
function parseConfig() {
|
815
842
|
var boolOpts = ["utc", "wrap", "weekNumbers", "allowInput", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile"];
|
843
|
+
|
844
|
+
var hooks = ["onChange", "onClose", "onDayCreate", "onOpen", "onReady", "onValueUpdate"];
|
845
|
+
|
816
846
|
self.config = Object.create(Flatpickr.defaultConfig);
|
817
847
|
|
818
848
|
Object.defineProperty(self.config, "minDate", {
|
@@ -835,6 +865,8 @@ function Flatpickr(element, config) {
|
|
835
865
|
|
836
866
|
for (var i = 0; i < boolOpts.length; i++) {
|
837
867
|
self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === "true";
|
868
|
+
}for (var _i = 0; _i < hooks.length; _i++) {
|
869
|
+
self.config[hooks[_i]] = arrayify(self.config[hooks[_i]]);
|
838
870
|
}if (!userConfig.dateFormat && userConfig.enableTime) {
|
839
871
|
self.config.dateFormat = self.config.noCalendar ? "H:i" + (self.config.enableSeconds ? ":S" : "") : Flatpickr.defaultConfig.dateFormat + " H:i" + (self.config.enableSeconds ? ":S" : "");
|
840
872
|
}
|
@@ -842,6 +874,13 @@ function Flatpickr(element, config) {
|
|
842
874
|
if (userConfig.altInput && userConfig.enableTime && !userConfig.altFormat) {
|
843
875
|
self.config.altFormat = self.config.noCalendar ? "h:i" + (self.config.enableSeconds ? ":S K" : " K") : Flatpickr.defaultConfig.altFormat + (" h:i" + (self.config.enableSeconds ? ":S" : "") + " K");
|
844
876
|
}
|
877
|
+
|
878
|
+
for (var _i2 = 0; _i2 < self.config.plugins.length; _i2++) {
|
879
|
+
var pluginConf = self.config.plugins[_i2](self) || {};
|
880
|
+
for (var key in pluginConf) {
|
881
|
+
if (Array.isArray(self.config[key])) self.config[key] = arrayify(pluginConf[key]).concat(self.config[key]);else if (userConfig[key] !== undefined) self.config[key] = pluginConf[key];
|
882
|
+
}
|
883
|
+
}
|
845
884
|
}
|
846
885
|
|
847
886
|
function setupLocale() {
|
@@ -857,37 +896,32 @@ function Flatpickr(element, config) {
|
|
857
896
|
calendarWidth = self.calendarContainer.offsetWidth,
|
858
897
|
input = self.altInput || self.input,
|
859
898
|
inputBounds = input.getBoundingClientRect(),
|
860
|
-
distanceFromBottom = window.innerHeight - inputBounds.bottom + input.offsetHeight
|
899
|
+
distanceFromBottom = window.innerHeight - inputBounds.bottom + input.offsetHeight,
|
900
|
+
bottomCalendar = distanceFromBottom < calendarHeight + 60;
|
861
901
|
|
862
|
-
var top =
|
902
|
+
var top = window.pageYOffset + inputBounds.top + (!bottomCalendar ? input.offsetHeight + 2 : -calendarHeight - 2);
|
863
903
|
|
864
|
-
|
865
|
-
|
866
|
-
self.calendarContainer.classList.remove("arrowTop");
|
867
|
-
self.calendarContainer.classList.add("arrowBottom");
|
868
|
-
} else {
|
869
|
-
top = window.pageYOffset + input.offsetHeight + inputBounds.top + 2;
|
870
|
-
self.calendarContainer.classList.remove("arrowBottom");
|
871
|
-
self.calendarContainer.classList.add("arrowTop");
|
872
|
-
}
|
904
|
+
toggleClass(self.calendarContainer, "arrowTop", !bottomCalendar);
|
905
|
+
toggleClass(self.calendarContainer, "arrowBottom", bottomCalendar);
|
873
906
|
|
874
|
-
if (
|
875
|
-
self.calendarContainer.style.top = top + "px";
|
907
|
+
if (self.config.inline) return;
|
876
908
|
|
877
|
-
|
878
|
-
|
909
|
+
var left = window.pageXOffset + inputBounds.left;
|
910
|
+
var right = window.document.body.offsetWidth - inputBounds.right;
|
911
|
+
var rightMost = left + calendarWidth > window.document.body.offsetWidth;
|
879
912
|
|
880
|
-
|
881
|
-
self.calendarContainer.style.left = left + "px";
|
882
|
-
self.calendarContainer.style.right = "auto";
|
913
|
+
toggleClass(self.calendarContainer, "rightMost", rightMost);
|
883
914
|
|
884
|
-
|
885
|
-
} else {
|
886
|
-
self.calendarContainer.style.left = "auto";
|
887
|
-
self.calendarContainer.style.right = right + "px";
|
915
|
+
if (self.config.static) return;
|
888
916
|
|
889
|
-
|
890
|
-
|
917
|
+
self.calendarContainer.style.top = top + "px";
|
918
|
+
|
919
|
+
if (!rightMost) {
|
920
|
+
self.calendarContainer.style.left = left + "px";
|
921
|
+
self.calendarContainer.style.right = "auto";
|
922
|
+
} else {
|
923
|
+
self.calendarContainer.style.left = "auto";
|
924
|
+
self.calendarContainer.style.right = right + "px";
|
891
925
|
}
|
892
926
|
}
|
893
927
|
|
@@ -939,7 +973,19 @@ function Flatpickr(element, config) {
|
|
939
973
|
return self.dateIsPicked = true;
|
940
974
|
}, 50);
|
941
975
|
|
942
|
-
if (self.config.mode === "range"
|
976
|
+
if (self.config.mode === "range") {
|
977
|
+
if (self.selectedDates.length === 1) {
|
978
|
+
onMouseOver(e);
|
979
|
+
|
980
|
+
if (self.maxRangeDate < self.days.childNodes[41].dateObj) self.nextMonthNav.style.display = "none";
|
981
|
+
|
982
|
+
if (self.minRangeDate > self.days.childNodes[0].dateObj) self.prevMonthNav.style.display = "none";
|
983
|
+
} else {
|
984
|
+
self.nextMonthNav.style.display = "block";
|
985
|
+
self.prevMonthNav.style.display = "block";
|
986
|
+
updateNavigationCurrentMonth();
|
987
|
+
}
|
988
|
+
}
|
943
989
|
|
944
990
|
if (self.config.mode === "single" && !self.config.enableTime) self.close();
|
945
991
|
|
@@ -953,7 +999,7 @@ function Flatpickr(element, config) {
|
|
953
999
|
}
|
954
1000
|
|
955
1001
|
function setSelectedDate(inputDate) {
|
956
|
-
if (Array.isArray(inputDate)) self.selectedDates = inputDate.map(self.parseDate);else if (inputDate) {
|
1002
|
+
if (Array.isArray(inputDate)) self.selectedDates = inputDate.map(self.parseDate);else if (inputDate instanceof Date || !isNaN(inputDate)) self.selectedDates = [self.parseDate(inputDate)];else if (inputDate && inputDate.substring) {
|
957
1003
|
switch (self.config.mode) {
|
958
1004
|
case "single":
|
959
1005
|
self.selectedDates = [self.parseDate(inputDate)];
|
@@ -965,6 +1011,7 @@ function Flatpickr(element, config) {
|
|
965
1011
|
|
966
1012
|
case "range":
|
967
1013
|
self.selectedDates = inputDate.split(self.l10n.rangeSeparator).map(self.parseDate);
|
1014
|
+
|
968
1015
|
break;
|
969
1016
|
|
970
1017
|
default:
|
@@ -1169,6 +1216,7 @@ function Flatpickr(element, config) {
|
|
1169
1216
|
function setupInputs() {
|
1170
1217
|
self.input = self.config.wrap ? self.element.querySelector("[data-input]") : self.element;
|
1171
1218
|
|
1219
|
+
/* istanbul ignore next */
|
1172
1220
|
if (!self.input) return console.warn("Error: invalid input element specified", self.input);
|
1173
1221
|
|
1174
1222
|
self.input._type = self.input.type;
|
@@ -1229,9 +1277,9 @@ function Flatpickr(element, config) {
|
|
1229
1277
|
}
|
1230
1278
|
|
1231
1279
|
function triggerEvent(event, data) {
|
1232
|
-
|
1233
|
-
var hooks = Array.isArray(self.config["on" + event]) ? self.config["on" + event] : [self.config["on" + event]];
|
1280
|
+
var hooks = self.config["on" + event];
|
1234
1281
|
|
1282
|
+
if (hooks) {
|
1235
1283
|
for (var i = 0; i < hooks.length; i++) {
|
1236
1284
|
hooks[i](self.selectedDates, self.input.value, self, data);
|
1237
1285
|
}
|
@@ -1243,11 +1291,14 @@ function Flatpickr(element, config) {
|
|
1243
1291
|
|
1244
1292
|
// many front-end frameworks bind to the input event
|
1245
1293
|
self.input.dispatchEvent(new Event("input", { "bubbles": true }));
|
1246
|
-
} else {
|
1247
|
-
if (window.document.createEvent !== undefined) return self.input.dispatchEvent(self.changeEvent);
|
1248
|
-
|
1249
|
-
self.input.fireEvent("onchange");
|
1250
1294
|
}
|
1295
|
+
|
1296
|
+
/* istanbul ignore next */
|
1297
|
+
else {
|
1298
|
+
if (window.document.createEvent !== undefined) return self.input.dispatchEvent(self.changeEvent);
|
1299
|
+
|
1300
|
+
self.input.fireEvent("onchange");
|
1301
|
+
}
|
1251
1302
|
}
|
1252
1303
|
}
|
1253
1304
|
|
@@ -1327,6 +1378,16 @@ function Flatpickr(element, config) {
|
|
1327
1378
|
return e;
|
1328
1379
|
}
|
1329
1380
|
|
1381
|
+
function arrayify(obj) {
|
1382
|
+
if (Array.isArray(obj)) return obj;
|
1383
|
+
return [obj];
|
1384
|
+
}
|
1385
|
+
|
1386
|
+
function toggleClass(elem, className, bool) {
|
1387
|
+
if (bool) return elem.classList.add(className);
|
1388
|
+
elem.classList.remove(className);
|
1389
|
+
}
|
1390
|
+
|
1330
1391
|
/* istanbul ignore next */
|
1331
1392
|
function debounce(func, wait, immediate) {
|
1332
1393
|
var timeout = void 0;
|
@@ -1373,15 +1434,7 @@ function Flatpickr(element, config) {
|
|
1373
1434
|
|
1374
1435
|
var newValue = Number(curValue);
|
1375
1436
|
|
1376
|
-
|
1377
|
-
case "wheel":
|
1378
|
-
newValue = curValue + step * delta;
|
1379
|
-
break;
|
1380
|
-
|
1381
|
-
case "keydown":
|
1382
|
-
newValue = curValue + step * (e.which === 38 ? 1 : -1);
|
1383
|
-
break;
|
1384
|
-
}
|
1437
|
+
if (e.type === "wheel") newValue = curValue + step * delta;
|
1385
1438
|
|
1386
1439
|
if (e.type !== "input" || e.target.value.length === 2) {
|
1387
1440
|
if (newValue < min) {
|
@@ -1516,21 +1569,23 @@ Flatpickr.defaultConfig = {
|
|
1516
1569
|
// default locale
|
1517
1570
|
locale: "default",
|
1518
1571
|
|
1572
|
+
plugins: [],
|
1573
|
+
|
1519
1574
|
// onChange callback when user selects a date or time
|
1520
|
-
onChange:
|
1575
|
+
onChange: [], // function (dateObj, dateStr) {}
|
1521
1576
|
|
1522
1577
|
// called every time calendar is opened
|
1523
|
-
onOpen:
|
1578
|
+
onOpen: [], // function (dateObj, dateStr) {}
|
1524
1579
|
|
1525
1580
|
// called every time calendar is closed
|
1526
|
-
onClose:
|
1581
|
+
onClose: [], // function (dateObj, dateStr) {}
|
1527
1582
|
|
1528
1583
|
// called after calendar is ready
|
1529
|
-
onReady:
|
1584
|
+
onReady: [], // function (dateObj, dateStr) {}
|
1530
1585
|
|
1531
|
-
onValueUpdate:
|
1586
|
+
onValueUpdate: [],
|
1532
1587
|
|
1533
|
-
onDayCreate:
|
1588
|
+
onDayCreate: []
|
1534
1589
|
};
|
1535
1590
|
|
1536
1591
|
/* istanbul ignore next */
|
@@ -1610,6 +1665,7 @@ Flatpickr.prototype = {
|
|
1610
1665
|
date = new Date(date);
|
1611
1666
|
} else if (date instanceof Date) date = new Date(date.getTime()); // create a copy
|
1612
1667
|
|
1668
|
+
/* istanbul ignore next */
|
1613
1669
|
if (!(date instanceof Date)) {
|
1614
1670
|
console.warn("flatpickr: invalid date " + date_orig);
|
1615
1671
|
console.info(this.element);
|
@@ -1624,6 +1680,7 @@ Flatpickr.prototype = {
|
|
1624
1680
|
}
|
1625
1681
|
};
|
1626
1682
|
|
1683
|
+
/* istanbul ignore next */
|
1627
1684
|
function _flatpickr(nodeList, config) {
|
1628
1685
|
var nodes = Array.prototype.slice.call(nodeList); // static list
|
1629
1686
|
var instances = [];
|
@@ -1639,6 +1696,7 @@ function _flatpickr(nodeList, config) {
|
|
1639
1696
|
return instances.length === 1 ? instances[0] : instances;
|
1640
1697
|
}
|
1641
1698
|
|
1699
|
+
/* istanbul ignore next */
|
1642
1700
|
if (typeof HTMLElement !== "undefined") {
|
1643
1701
|
// browser env
|
1644
1702
|
HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {
|
@@ -1650,10 +1708,12 @@ if (typeof HTMLElement !== "undefined") {
|
|
1650
1708
|
};
|
1651
1709
|
}
|
1652
1710
|
|
1711
|
+
/* istanbul ignore next */
|
1653
1712
|
function flatpickr(selector, config) {
|
1654
1713
|
return _flatpickr(window.document.querySelectorAll(selector), config);
|
1655
1714
|
}
|
1656
1715
|
|
1716
|
+
/* istanbul ignore next */
|
1657
1717
|
if (typeof jQuery !== "undefined") {
|
1658
1718
|
jQuery.fn.flatpickr = function (config) {
|
1659
1719
|
return _flatpickr(this, config);
|