flatpickr 2.3.5.0 → 2.3.6.0

Sign up to get free protection for your applications and to get access to all the features.
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