flatpickr 2.3.5.0 → 2.3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dcc3bd43088a41be83303f84ca9dce418ee90cbf
4
- data.tar.gz: 0c8b9851169670c1043799ccad990a880da085c5
3
+ metadata.gz: 2ec5c513e3b203ac4cb6deb7218de1b935f0b147
4
+ data.tar.gz: 83e591cb2c2fa3dc96dc71ded71655392119a9ec
5
5
  SHA512:
6
- metadata.gz: 2bf06c49a517d3ad90533cbf40d15f5975ddcc334087947440764a39175be5471ad9855f48671d15ddc8dfa3cd9f58d50a7d09cdc6178af3b9ff785624b4c95a
7
- data.tar.gz: 1ce3fb691861a4fa504011030c2613f08a917471c04543c3e92690081d6195f68af995193a4ac7f5073b45045dafd12b68f0cfddd342c1c07caec04f9e860341
6
+ metadata.gz: 413a34ee587f20c3cd1a3c62bf2af2c9f60d2dd63f4c83b79874fff1f043710c9c0549a948dd37b88067d788ec25d70aebd1aa9f1cc19a07fe52c0a1251467a5
7
+ data.tar.gz: 5af4ecd770a05b38693b4f53434f557040d5f962a2aa6da8d3671ccf36024c084bb14c139b702c16facc9fe29f61afc6cc395443fde3a03adccc5cf953f6e824
@@ -1,3 +1,3 @@
1
1
  module Flatpickr
2
- VERSION = '2.3.5.0'
2
+ VERSION = '2.3.6.0'
3
3
  end
@@ -6,6 +6,20 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
6
6
  function Flatpickr(element, config) {
7
7
  var self = this;
8
8
 
9
+ self.changeMonth = changeMonth;
10
+ self.changeYear = changeYear;
11
+ self.clear = clear;
12
+ self.close = close;
13
+ self._createElement = createElement;
14
+ self.destroy = destroy;
15
+ self.formatDate = formatDate;
16
+ self.jumpToDate = jumpToDate;
17
+ self.open = open;
18
+ self.redraw = redraw;
19
+ self.set = set;
20
+ self.setDate = setDate;
21
+ self.toggle = toggle;
22
+
9
23
  function init() {
10
24
  if (element._flatpickr) destroy(element._flatpickr);
11
25
 
@@ -23,17 +37,6 @@ function Flatpickr(element, config) {
23
37
  setupHelperFunctions();
24
38
 
25
39
  self.isOpen = self.config.inline;
26
- self.changeMonth = changeMonth;
27
- self.clear = clear;
28
- self.close = close;
29
- self.destroy = destroy;
30
- self.formatDate = formatDate;
31
- self.jumpToDate = jumpToDate;
32
- self.open = open;
33
- self.redraw = redraw;
34
- self.set = set;
35
- self.setDate = setDate;
36
- self.toggle = toggle;
37
40
 
38
41
  self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === "single" && !self.config.disable.length && !self.config.enable.length && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
39
42
 
@@ -129,14 +132,16 @@ function Flatpickr(element, config) {
129
132
  function onYearInput(event) {
130
133
  if (event.target.value.length === 4) {
131
134
  self.currentYearElement.blur();
132
- handleYearChange(event.target.value);
135
+ changeYear(event.target.value);
133
136
  event.target.value = self.currentYear;
134
137
  }
135
138
  }
136
139
 
137
140
  function onMonthScroll(e) {
138
141
  e.preventDefault();
139
- self.changeMonth(Math.max(-1, Math.min(1, e.wheelDelta || -e.deltaY)));
142
+ var delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.deltaY));
143
+
144
+ if (delta < 0 && !self._hidePrevMonthArrow || delta > 0 && !self._hideNextMonthArrow) self.changeMonth(delta);
140
145
  }
141
146
 
142
147
  function bind() {
@@ -296,7 +301,15 @@ function Flatpickr(element, config) {
296
301
 
297
302
  self.rContainer = createElement("div", "flatpickr-rContainer");
298
303
  self.rContainer.appendChild(buildWeekdays());
299
- self.rContainer.appendChild(buildDays());
304
+
305
+ if (!self.days) {
306
+ self.days = createElement("div", "flatpickr-days");
307
+ self.days.tabIndex = -1;
308
+ }
309
+
310
+ buildDays();
311
+ self.rContainer.appendChild(self.days);
312
+
300
313
  self.innerContainer.appendChild(self.rContainer);
301
314
  fragment.appendChild(self.innerContainer);
302
315
  }
@@ -367,27 +380,22 @@ function Flatpickr(element, config) {
367
380
  return dayElement;
368
381
  }
369
382
 
370
- function buildDays() {
371
- if (!self.days) {
372
- self.days = createElement("div", "flatpickr-days");
373
- self.days.tabIndex = -1;
374
- }
375
-
376
- self.firstOfMonth = (new Date(self.currentYear, self.currentMonth, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;
383
+ function buildDays(year, month) {
384
+ var firstOfMonth = (new Date(self.currentYear, self.currentMonth, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;
377
385
 
378
386
  self.prevMonthDays = self.utils.getDaysinMonth((self.currentMonth - 1 + 12) % 12);
379
387
 
380
388
  var daysInMonth = self.utils.getDaysinMonth(),
381
389
  days = window.document.createDocumentFragment();
382
390
 
383
- var dayNumber = self.prevMonthDays + 1 - self.firstOfMonth;
391
+ var dayNumber = self.prevMonthDays + 1 - firstOfMonth;
384
392
 
385
393
  if (self.config.weekNumbers && self.weekNumbers.firstChild) self.weekNumbers.textContent = "";
386
394
 
387
395
  if (self.config.mode === "range") {
388
396
  // const dateLimits = self.config.enable.length || self.config.disable.length || self.config.mixDate || self.config.maxDate;
389
397
  self.minRangeDate = new Date(self.currentYear, self.currentMonth - 1, dayNumber);
390
- self.maxRangeDate = new Date(self.currentYear, self.currentMonth + 1, (42 - self.firstOfMonth) % daysInMonth);
398
+ self.maxRangeDate = new Date(self.currentYear, self.currentMonth + 1, (42 - firstOfMonth) % daysInMonth);
391
399
  }
392
400
 
393
401
  if (self.days.firstChild) self.days.textContent = "";
@@ -403,7 +411,7 @@ function Flatpickr(element, config) {
403
411
  }
404
412
 
405
413
  // append days from the next month
406
- for (var dayNum = daysInMonth + 1; dayNum <= 42 - self.firstOfMonth; dayNum++) {
414
+ for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth; dayNum++) {
407
415
  days.appendChild(createDay("nextMonthDay", new Date(self.currentYear, self.currentMonth + 1, dayNum % daysInMonth), dayNum));
408
416
  }
409
417
 
@@ -445,6 +453,26 @@ function Flatpickr(element, config) {
445
453
  monthNavFragment.appendChild(self.nextMonthNav);
446
454
  self.monthNav.appendChild(monthNavFragment);
447
455
 
456
+ Object.defineProperty(self, "_hidePrevMonthArrow", {
457
+ get: function get() {
458
+ return this.__hidePrevMonthArrow;
459
+ },
460
+ set: function set(bool) {
461
+ if (this.__hidePrevMonthArrow !== bool) self.prevMonthNav.style.display = bool ? "none" : "block";
462
+ this.__hidePrevMonthArrow = bool;
463
+ }
464
+ });
465
+
466
+ Object.defineProperty(self, "_hideNextMonthArrow", {
467
+ get: function get() {
468
+ return this.__hideNextMonthArrow;
469
+ },
470
+ set: function set(bool) {
471
+ if (this.__hideNextMonthArrow !== bool) self.nextMonthNav.style.display = bool ? "none" : "block";
472
+ this.__hideNextMonthArrow = bool;
473
+ }
474
+ });
475
+
448
476
  updateNavigationCurrentMonth();
449
477
 
450
478
  return self.monthNav;
@@ -544,7 +572,13 @@ function Flatpickr(element, config) {
544
572
  function changeMonth(value, is_offset) {
545
573
  self.currentMonth = typeof is_offset === "undefined" || is_offset ? self.currentMonth + value : value;
546
574
 
547
- handleYearChange();
575
+ if (self.currentMonth < 0 || self.currentMonth > 11) {
576
+ self.currentYear += self.currentMonth > 11 ? 1 : -1;
577
+ self.currentMonth = (self.currentMonth + 12) % 12;
578
+
579
+ triggerEvent("YearChange");
580
+ }
581
+
548
582
  updateNavigationCurrentMonth();
549
583
  buildDays();
550
584
 
@@ -645,24 +679,19 @@ function Flatpickr(element, config) {
645
679
  }).join("");
646
680
  }
647
681
 
648
- function handleYearChange(newYear) {
649
- if (self.currentMonth < 0 || self.currentMonth > 11) {
650
- self.currentYear += self.currentMonth > 11 ? 1 : -1;
651
- self.currentMonth = (self.currentMonth + 12) % 12;
682
+ function changeYear(newYear) {
683
+ if (!newYear || self.currentYearElement.min && newYear < self.currentYearElement.min || self.currentYearElement.max && newYear > self.currentYearElement.max) return;
652
684
 
653
- triggerEvent("YearChange");
654
- } else if (newYear && (!self.currentYearElement.min || newYear >= self.currentYearElement.min) && (!self.currentYearElement.max || newYear <= self.currentYearElement.max)) {
655
- self.currentYear = parseInt(newYear, 10) || self.currentYear;
656
-
657
- if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) {
658
- self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);
659
- } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) {
660
- self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);
661
- }
685
+ self.currentYear = parseInt(newYear, 10) || self.currentYear;
662
686
 
663
- self.redraw();
664
- triggerEvent("YearChange");
687
+ if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) {
688
+ self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);
689
+ } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) {
690
+ self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);
665
691
  }
692
+
693
+ self.redraw();
694
+ triggerEvent("YearChange");
666
695
  }
667
696
 
668
697
  function isEnabled(date, timeless) {
@@ -826,15 +855,15 @@ function Flatpickr(element, config) {
826
855
 
827
856
  if (self.days) redraw();
828
857
 
829
- if (!self.currentYearElement) return;
830
-
831
858
  if (date && dateObj instanceof Date) {
832
859
  self[type + "DateHasTime"] = dateObj.getHours() || dateObj.getMinutes() || dateObj.getSeconds();
860
+ }
833
861
 
834
- self.currentYearElement[type] = dateObj.getFullYear();
835
- } else self.currentYearElement.removeAttribute(type);
862
+ if (self.currentYearElement) {
863
+ if (self[type + "DateHasTime"]) self.currentYearElement[type] = dateObj.getFullYear();else self.currentYearElement.removeAttribute(type);
836
864
 
837
- self.currentYearElement.disabled = inverseDateObj && dateObj && inverseDateObj.getFullYear() === dateObj.getFullYear();
865
+ self.currentYearElement.disabled = inverseDateObj && dateObj && inverseDateObj.getFullYear() === dateObj.getFullYear();
866
+ }
838
867
  };
839
868
  }
840
869
 
@@ -977,14 +1006,10 @@ function Flatpickr(element, config) {
977
1006
  if (self.selectedDates.length === 1) {
978
1007
  onMouseOver(e);
979
1008
 
980
- if (self.maxRangeDate < self.days.childNodes[41].dateObj) self.nextMonthNav.style.display = "none";
1009
+ self._hidePrevMonthArrow = self._hidePrevMonthArrow || self.minRangeDate > self.days.childNodes[0].dateObj;
981
1010
 
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
- }
1011
+ self._hideNextMonthArrow = self._hideNextMonthArrow || self.maxRangeDate < self.days.childNodes[41].dateObj;
1012
+ } else updateNavigationCurrentMonth();
988
1013
  }
989
1014
 
990
1015
  if (self.config.mode === "single" && !self.config.enableTime) self.close();
@@ -1321,17 +1346,9 @@ function Flatpickr(element, config) {
1321
1346
  self.currentMonthElement.textContent = self.utils.monthToStr(self.currentMonth) + " ";
1322
1347
  self.currentYearElement.value = self.currentYear;
1323
1348
 
1324
- if (self.config.minDate) {
1325
- var hidePrevMonthArrow = self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear();
1349
+ self._hidePrevMonthArrow = self.config.minDate && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear());
1326
1350
 
1327
- self.prevMonthNav.style.display = hidePrevMonthArrow ? "none" : "block";
1328
- } else self.prevMonthNav.style.display = "block";
1329
-
1330
- if (self.config.maxDate) {
1331
- var hideNextMonthArrow = self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear();
1332
-
1333
- self.nextMonthNav.style.display = hideNextMonthArrow ? "none" : "block";
1334
- } else self.nextMonthNav.style.display = "block";
1351
+ self._hideNextMonthArrow = self.config.maxDate && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear());
1335
1352
  }
1336
1353
 
1337
1354
  function updateValue() {
@@ -1362,7 +1379,7 @@ function Flatpickr(element, config) {
1362
1379
  var delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.deltaY)),
1363
1380
  newYear = parseInt(e.target.value, 10) + delta;
1364
1381
 
1365
- handleYearChange(newYear);
1382
+ changeYear(newYear);
1366
1383
  e.target.value = self.currentYear;
1367
1384
  }
1368
1385
 
@@ -1644,7 +1661,7 @@ Flatpickr.prototype = {
1644
1661
 
1645
1662
  if (date.toFixed || timestamp.test(date)) // timestamp
1646
1663
  date = new Date(date);else if (typeof date === "string") {
1647
- date = date.trim();
1664
+ date = date.trim().toLowerCase();
1648
1665
 
1649
1666
  if (date === "today") {
1650
1667
  date = new Date();
@@ -1659,8 +1676,13 @@ Flatpickr.prototype = {
1659
1676
  date.setHours(hours, m[2] || 0, m[3] || 0);
1660
1677
  } else if (/Z$/.test(date) || /GMT$/.test(date)) // datestrings w/ timezone
1661
1678
  date = new Date(date);else if (dateTimeRegex.test(date) && /^[0-9]/.test(date)) {
1662
- var d = date.match(dateTimeRegex);
1679
+ var d = date.match(dateTimeRegex),
1680
+ isAM = /(am)$/.test(date),
1681
+ isPM = /(pm)$/.test(date);
1682
+
1663
1683
  date = new Date(d[0] + "/" + (d[1] || 1) + "/" + (d[2] || 1) + " " + (d[3] || 0) + ":" + (d[4] || 0) + ":" + (d[5] || 0));
1684
+
1685
+ if (isAM || isPM) date.setHours(date.getHours() % 12 + 12 * isPM);
1664
1686
  } else // fallback
1665
1687
  date = new Date(date);
1666
1688
  } else if (date instanceof Date) date = new Date(date.getTime()); // create a copy
@@ -0,0 +1,21 @@
1
+ /* Macedonian locals for flatpickr */
2
+ var Flatpickr = Flatpickr || { l10ns: {} };
3
+ Flatpickr.l10ns.mk = {};
4
+
5
+ Flatpickr.l10ns.mk.weekdays = {
6
+ shorthand: ['Не', 'По', 'Вт', 'Ср', 'Че', 'Пе', 'Са', 'Не'],
7
+ longhand: ['Недела', 'Понеделник', 'Вторник', 'Среда', 'Четврток', 'Петок', 'Сабота', 'Недела']
8
+ };
9
+
10
+ Flatpickr.l10ns.mk.months = {
11
+ shorthand: ['Јан', 'Фев', 'Мар', 'Апр', 'Мај', 'Јун', 'Јул', 'Авг', 'Сеп', 'Окт', 'Ное', 'Дек'],
12
+ longhand: ['Јануари', 'Февруари', 'Март', 'Април', 'Мај', 'Јуни', 'Јули', 'Август', 'Септември', 'Октомври', 'Ноември', 'Декември']
13
+ };
14
+
15
+ Flatpickr.l10ns.mk.firstDayOfWeek = 1;
16
+ Flatpickr.l10ns.mk.weekAbbreviation = 'Нед.';
17
+ Flatpickr.l10ns.mk.rangeSeparator = ' до ';
18
+
19
+ if (typeof module !== "undefined") {
20
+ module.exports = Flatpickr.l10ns;
21
+ }
@@ -0,0 +1,21 @@
1
+ /* Serbian locals for flatpickr */
2
+ var Flatpickr = Flatpickr || { l10ns: {} };
3
+ Flatpickr.l10ns.sr = {};
4
+
5
+ Flatpickr.l10ns.sr.weekdays = {
6
+ shorthand: ['Ned', 'Pon', 'Uto', 'Sre', 'Čet', 'Pet', 'Sub', 'Ned'],
7
+ longhand: ['Nedelja', 'Ponedeljak', 'Utorak', 'Sreda', 'Četvrtak', 'Petak', 'Subota', 'Nedelja']
8
+ };
9
+
10
+ Flatpickr.l10ns.sr.months = {
11
+ shorthand: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec'],
12
+ longhand: ['Januar', 'Februar', 'Mart', 'April', 'Maj', 'Jun', 'Jul', 'Avgust', 'Septembar', 'Oktobar', 'Novembar', 'Decembar']
13
+ };
14
+
15
+ Flatpickr.l10ns.sr.firstDayOfWeek = 1;
16
+ Flatpickr.l10ns.sr.weekAbbreviation = 'Ned.';
17
+ Flatpickr.l10ns.sr.rangeSeparator = ' do ';
18
+
19
+ if (typeof module !== "undefined") {
20
+ module.exports = Flatpickr.l10ns;
21
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flatpickr
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.5.0
4
+ version: 2.3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zoran
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-05 00:00:00.000000000 Z
11
+ date: 2017-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -95,6 +95,7 @@ files:
95
95
  - vendor/assets/javascripts/flatpickr/l10n/ja.js
96
96
  - vendor/assets/javascripts/flatpickr/l10n/ko.js
97
97
  - vendor/assets/javascripts/flatpickr/l10n/lt.js
98
+ - vendor/assets/javascripts/flatpickr/l10n/mk.js
98
99
  - vendor/assets/javascripts/flatpickr/l10n/ms.js
99
100
  - vendor/assets/javascripts/flatpickr/l10n/my.js
100
101
  - vendor/assets/javascripts/flatpickr/l10n/nl.js
@@ -106,6 +107,7 @@ files:
106
107
  - vendor/assets/javascripts/flatpickr/l10n/ru.js
107
108
  - vendor/assets/javascripts/flatpickr/l10n/si.js
108
109
  - vendor/assets/javascripts/flatpickr/l10n/sq.js
110
+ - vendor/assets/javascripts/flatpickr/l10n/sr.js
109
111
  - vendor/assets/javascripts/flatpickr/l10n/sv.js
110
112
  - vendor/assets/javascripts/flatpickr/l10n/th.js
111
113
  - vendor/assets/javascripts/flatpickr/l10n/tr.js