timepicker 1.13.17 → 1.13.19
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.
- package/LICENSE +7 -0
- package/README.md +4 -4
- package/jquery.timepicker.css +3 -8
- package/jquery.timepicker.js +369 -214
- package/jquery.timepicker.min.css +3 -8
- package/jquery.timepicker.min.js +1 -1
- package/package.json +1 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright © 2021 Jon Thornton
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
+
|
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ Disable the onscreen keyboard for touch devices. There can be instances where Fi
|
|
|
55
55
|
*default: false*
|
|
56
56
|
|
|
57
57
|
- **durationTime**
|
|
58
|
-
The time against which ```showDuration``` will compute relative times.
|
|
58
|
+
The time against which ```showDuration``` will compute relative times. Accepts a time string, Date object, integer seconds from midnight, or a function that returns one of those types.
|
|
59
59
|
*default: minTime*
|
|
60
60
|
|
|
61
61
|
- **forceRoundTime**
|
|
@@ -80,11 +80,11 @@ Set this to override CSS styling and set the list width to match the input eleme
|
|
|
80
80
|
*default: null (CSS styling)*
|
|
81
81
|
|
|
82
82
|
- **maxTime**
|
|
83
|
-
The time that should appear last in the dropdown list. Can be used to limit the range of time options.
|
|
83
|
+
The time that should appear last in the dropdown list. Can be used to limit the range of time options. Accepts a time string, Date object, integer seconds from midnight, or a function that returns one of those types.
|
|
84
84
|
*default: 24 hours after minTime*
|
|
85
85
|
|
|
86
86
|
- **minTime**
|
|
87
|
-
The time that should appear first in the dropdown list.
|
|
87
|
+
The time that should appear first in the dropdown list. Accepts a time string, Date object, integer seconds from midnight, or a function that returns one of those types.
|
|
88
88
|
*default: 12:00am*
|
|
89
89
|
|
|
90
90
|
- **noneOption**
|
|
@@ -104,7 +104,7 @@ Function used to compute rounded times. The function will receive time in second
|
|
|
104
104
|
*default: round to nearest step*
|
|
105
105
|
|
|
106
106
|
- **scrollDefault**
|
|
107
|
-
If no time value is selected, set the dropdown scroll position to show the time provided, e.g. "09:00".
|
|
107
|
+
If no time value is selected, set the dropdown scroll position to show the time provided, e.g. "09:00". Accepts a time string, Date object, integer seconds from midnight, or a function that returns one of those types.
|
|
108
108
|
*default: null*
|
|
109
109
|
|
|
110
110
|
- **selectOnBlur**
|
package/jquery.timepicker.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.ui-timepicker-wrapper {
|
|
2
2
|
overflow-y: auto;
|
|
3
3
|
max-height: 150px;
|
|
4
|
-
width:
|
|
4
|
+
width: auto;
|
|
5
5
|
background: #fff;
|
|
6
6
|
border: 1px solid #ddd;
|
|
7
7
|
-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);
|
|
@@ -12,13 +12,8 @@
|
|
|
12
12
|
margin: 0;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
.ui-timepicker-wrapper.ui-timepicker-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,
|
|
20
|
-
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-60 {
|
|
21
|
-
width: 11em;
|
|
15
|
+
.ui-timepicker-wrapper .ui-timepicker-list li {
|
|
16
|
+
padding-right: 20px;
|
|
22
17
|
}
|
|
23
18
|
|
|
24
19
|
.ui-timepicker-list {
|
package/jquery.timepicker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* jquery-timepicker v1.13.
|
|
2
|
+
* jquery-timepicker v1.13.19 - A jQuery timepicker plugin inspired by Google Calendar. It supports both mouse and keyboard navigation.
|
|
3
3
|
* Copyright (c) 2021 Jon Thornton - https://www.jonthornton.com/jquery-timepicker/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -172,29 +172,26 @@
|
|
|
172
172
|
var roundingFunction = function roundingFunction(seconds, settings) {
|
|
173
173
|
if (seconds === null) {
|
|
174
174
|
return null;
|
|
175
|
-
}
|
|
176
|
-
// TODO: nearest fit irregular steps
|
|
177
|
-
return seconds;
|
|
178
|
-
} else {
|
|
179
|
-
var offset = seconds % (settings.step * 60); // step is in minutes
|
|
175
|
+
}
|
|
180
176
|
|
|
181
|
-
|
|
177
|
+
var i = 0;
|
|
178
|
+
var nextVal = 0;
|
|
182
179
|
|
|
183
|
-
|
|
180
|
+
while (nextVal < seconds) {
|
|
181
|
+
i++;
|
|
182
|
+
nextVal += settings.step(i) * 60;
|
|
183
|
+
}
|
|
184
184
|
|
|
185
|
-
|
|
186
|
-
// if offset is larger than a half step, round up
|
|
187
|
-
seconds += settings.step * 60 - offset;
|
|
188
|
-
} else {
|
|
189
|
-
// round down
|
|
190
|
-
seconds -= offset;
|
|
191
|
-
}
|
|
185
|
+
var prevVal = nextVal - settings.step(i - 1) * 60;
|
|
192
186
|
|
|
193
|
-
|
|
187
|
+
if (seconds - prevVal < nextVal - seconds) {
|
|
188
|
+
return moduloSeconds(prevVal, settings);
|
|
189
|
+
} else {
|
|
190
|
+
return moduloSeconds(nextVal, settings);
|
|
194
191
|
}
|
|
195
192
|
};
|
|
196
193
|
|
|
197
|
-
function
|
|
194
|
+
function moduloSeconds(seconds, settings) {
|
|
198
195
|
if (seconds == ONE_DAY && settings.show2400) {
|
|
199
196
|
return seconds;
|
|
200
197
|
}
|
|
@@ -326,7 +323,7 @@
|
|
|
326
323
|
var settings = tp.settings;
|
|
327
324
|
|
|
328
325
|
if (settings.useSelect && source != "select" && tp.list) {
|
|
329
|
-
tp.list.val(tp._roundAndFormatTime(tp.
|
|
326
|
+
tp.list.val(tp._roundAndFormatTime(tp.anytime2int(value)));
|
|
330
327
|
}
|
|
331
328
|
}
|
|
332
329
|
|
|
@@ -402,13 +399,30 @@
|
|
|
402
399
|
|
|
403
400
|
return true;
|
|
404
401
|
}
|
|
402
|
+
}, {
|
|
403
|
+
key: "anytime2int",
|
|
404
|
+
value: function anytime2int(input) {
|
|
405
|
+
if (typeof input === 'number') {
|
|
406
|
+
return input;
|
|
407
|
+
} else if (typeof input === 'string') {
|
|
408
|
+
return this.time2int(input);
|
|
409
|
+
} else if (_typeof(input) === 'object' && input instanceof Date) {
|
|
410
|
+
return input.getHours() * 3600 + input.getMinutes() * 60 + input.getSeconds();
|
|
411
|
+
} else if (typeof input == 'function') {
|
|
412
|
+
return input();
|
|
413
|
+
} else {
|
|
414
|
+
return null;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
405
417
|
}, {
|
|
406
418
|
key: "time2int",
|
|
407
419
|
value: function time2int(timeString) {
|
|
408
|
-
if (timeString === "" || timeString === null || timeString === undefined)
|
|
420
|
+
if (timeString === "" || timeString === null || timeString === undefined) {
|
|
421
|
+
return null;
|
|
422
|
+
}
|
|
409
423
|
|
|
410
|
-
if (timeString
|
|
411
|
-
return
|
|
424
|
+
if (timeString === 'now') {
|
|
425
|
+
return this.anytime2int(new Date());
|
|
412
426
|
}
|
|
413
427
|
|
|
414
428
|
if (typeof timeString != "string") {
|
|
@@ -436,8 +450,7 @@
|
|
|
436
450
|
|
|
437
451
|
var hour = parseInt(time[3] * 1, 10);
|
|
438
452
|
var ampm = time[2] || time[9];
|
|
439
|
-
var
|
|
440
|
-
var minutes = time[5] * 1 || 0;
|
|
453
|
+
var minutes = this.parseMinuteString(time[5]);
|
|
441
454
|
var seconds = time[7] * 1 || 0;
|
|
442
455
|
|
|
443
456
|
if (!ampm && time[3].length == 2 && time[3][0] == "0") {
|
|
@@ -445,6 +458,14 @@
|
|
|
445
458
|
ampm = "am";
|
|
446
459
|
}
|
|
447
460
|
|
|
461
|
+
if (hour > 24 && !minutes) {
|
|
462
|
+
// if someone types in something like "83", turn it into "8h 30m"
|
|
463
|
+
hour = time[3][0] * 1;
|
|
464
|
+
minutes = this.parseMinuteString(time[3][1]);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
var hours = hour;
|
|
468
|
+
|
|
448
469
|
if (hour <= 12 && ampm) {
|
|
449
470
|
ampm = ampm.trim();
|
|
450
471
|
var isPm = ampm == this.settings.lang.pm || ampm == this.settings.lang.PM;
|
|
@@ -468,7 +489,7 @@
|
|
|
468
489
|
|
|
469
490
|
var timeInt = hours * 3600 + minutes * 60 + seconds; // if no am/pm provided, intelligently guess based on the scrollDefault
|
|
470
491
|
|
|
471
|
-
if (hour < 12 && !ampm && this.settings._twelveHourTime && this.settings.scrollDefault) {
|
|
492
|
+
if (hour < 12 && !ampm && this.settings._twelveHourTime && this.settings.scrollDefault()) {
|
|
472
493
|
var delta = timeInt - this.settings.scrollDefault();
|
|
473
494
|
|
|
474
495
|
if (delta < 0 && delta >= ONE_DAY / -2) {
|
|
@@ -479,45 +500,59 @@
|
|
|
479
500
|
return timeInt;
|
|
480
501
|
}
|
|
481
502
|
}, {
|
|
482
|
-
key: "
|
|
483
|
-
value: function
|
|
503
|
+
key: "parseMinuteString",
|
|
504
|
+
value: function parseMinuteString(minutesString) {
|
|
505
|
+
if (!minutesString) {
|
|
506
|
+
minutesString = 0;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
var multiplier = 1;
|
|
510
|
+
|
|
511
|
+
if (minutesString.length == 1) {
|
|
512
|
+
multiplier = 10;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
return parseInt(minutesString) * multiplier || 0;
|
|
516
|
+
}
|
|
517
|
+
}, {
|
|
518
|
+
key: "intStringDateOrFunc2func",
|
|
519
|
+
value: function intStringDateOrFunc2func(input) {
|
|
484
520
|
var _this = this;
|
|
485
521
|
|
|
522
|
+
if (input === null || input === undefined) {
|
|
523
|
+
return function () {
|
|
524
|
+
return null;
|
|
525
|
+
};
|
|
526
|
+
} else if (typeof input === 'function') {
|
|
527
|
+
return function () {
|
|
528
|
+
return _this.anytime2int(input());
|
|
529
|
+
};
|
|
530
|
+
} else {
|
|
531
|
+
return function () {
|
|
532
|
+
return _this.anytime2int(input);
|
|
533
|
+
};
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}, {
|
|
537
|
+
key: "parseSettings",
|
|
538
|
+
value: function parseSettings(settings) {
|
|
486
539
|
settings.lang = _objectSpread2(_objectSpread2({}, DEFAULT_LANG), settings.lang); // lang is used by other functions the rest of this depends on
|
|
487
540
|
// todo: unwind circular dependency on lang
|
|
488
541
|
|
|
489
542
|
this.settings = settings;
|
|
490
543
|
|
|
491
|
-
if (settings.minTime) {
|
|
492
|
-
settings.minTime = this.time2int(settings.minTime);
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
if (settings.maxTime) {
|
|
496
|
-
settings.maxTime = this.time2int(settings.maxTime);
|
|
497
|
-
}
|
|
498
|
-
|
|
499
544
|
if (settings.listWidth) {
|
|
500
|
-
settings.listWidth = this.
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
if (settings.durationTime && typeof settings.durationTime !== "function") {
|
|
504
|
-
settings.durationTime = this.time2int(settings.durationTime);
|
|
545
|
+
settings.listWidth = this.anytime2int(settings.listWidth);
|
|
505
546
|
}
|
|
506
547
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
};
|
|
511
|
-
} else if (settings.scrollDefault && typeof settings.scrollDefault != "function") {
|
|
512
|
-
var val = settings.scrollDefault;
|
|
548
|
+
settings.minTime = this.intStringDateOrFunc2func(settings.minTime);
|
|
549
|
+
settings.maxTime = this.intStringDateOrFunc2func(settings.maxTime);
|
|
550
|
+
settings.durationTime = this.intStringDateOrFunc2func(settings.durationTime);
|
|
513
551
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
settings.scrollDefault = function () {
|
|
519
|
-
return settings.roundingFunction(settings.minTime, settings);
|
|
520
|
-
};
|
|
552
|
+
if (settings.scrollDefault) {
|
|
553
|
+
settings.scrollDefault = this.intStringDateOrFunc2func(settings.scrollDefault);
|
|
554
|
+
} else {
|
|
555
|
+
settings.scrollDefault = settings.minTime;
|
|
521
556
|
}
|
|
522
557
|
|
|
523
558
|
if (typeof settings.timeFormat === "string" && settings.timeFormat.match(/[gh]/)) {
|
|
@@ -528,30 +563,42 @@
|
|
|
528
563
|
settings.showOn.splice(settings.showOn.indexOf("focus"), 1);
|
|
529
564
|
}
|
|
530
565
|
|
|
531
|
-
if (
|
|
532
|
-
|
|
566
|
+
if (typeof settings.step != 'function') {
|
|
567
|
+
var curryStep = settings.step;
|
|
568
|
+
|
|
569
|
+
settings.step = function () {
|
|
570
|
+
return curryStep;
|
|
571
|
+
};
|
|
533
572
|
}
|
|
534
573
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
574
|
+
settings.disableTimeRanges = this._parseDisableTimeRanges(settings.disableTimeRanges);
|
|
575
|
+
return settings;
|
|
576
|
+
}
|
|
577
|
+
}, {
|
|
578
|
+
key: "_parseDisableTimeRanges",
|
|
579
|
+
value: function _parseDisableTimeRanges(disableTimeRanges) {
|
|
580
|
+
if (!disableTimeRanges || disableTimeRanges.length == 0) {
|
|
581
|
+
return [];
|
|
582
|
+
} // convert string times to integers
|
|
540
583
|
|
|
541
584
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
585
|
+
for (var i in disableTimeRanges) {
|
|
586
|
+
disableTimeRanges[i] = [this.anytime2int(disableTimeRanges[i][0]), this.anytime2int(disableTimeRanges[i][1])];
|
|
587
|
+
} // sort by starting time
|
|
545
588
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
589
|
+
|
|
590
|
+
disableTimeRanges = disableTimeRanges.sort(function (a, b) {
|
|
591
|
+
return a[0] - b[0];
|
|
592
|
+
}); // merge any overlapping ranges
|
|
593
|
+
|
|
594
|
+
for (var i = disableTimeRanges.length - 1; i > 0; i--) {
|
|
595
|
+
if (disableTimeRanges[i][0] <= disableTimeRanges[i - 1][1]) {
|
|
596
|
+
disableTimeRanges[i - 1] = [Math.min(disableTimeRanges[i][0], disableTimeRanges[i - 1][0]), Math.max(disableTimeRanges[i][1], disableTimeRanges[i - 1][1])];
|
|
597
|
+
disableTimeRanges.splice(i, 1);
|
|
551
598
|
}
|
|
552
599
|
}
|
|
553
600
|
|
|
554
|
-
return
|
|
601
|
+
return disableTimeRanges;
|
|
555
602
|
}
|
|
556
603
|
/*
|
|
557
604
|
* Filter freeform input
|
|
@@ -606,6 +653,7 @@
|
|
|
606
653
|
}, {
|
|
607
654
|
key: "_roundAndFormatTime",
|
|
608
655
|
value: function _roundAndFormatTime(seconds) {
|
|
656
|
+
// console.log('_roundAndFormatTime')
|
|
609
657
|
seconds = this.settings.roundingFunction(seconds, this.settings);
|
|
610
658
|
|
|
611
659
|
if (seconds !== null) {
|
|
@@ -702,7 +750,7 @@
|
|
|
702
750
|
value: function _setSelected() {
|
|
703
751
|
var list = this.list;
|
|
704
752
|
list.find("li").removeClass("ui-timepicker-selected");
|
|
705
|
-
var timeValue = this.
|
|
753
|
+
var timeValue = this.anytime2int(this._getTimeValue());
|
|
706
754
|
|
|
707
755
|
if (timeValue === null) {
|
|
708
756
|
return;
|
|
@@ -756,7 +804,7 @@
|
|
|
756
804
|
}
|
|
757
805
|
|
|
758
806
|
var settings = this.settings;
|
|
759
|
-
var seconds = this.
|
|
807
|
+
var seconds = this.anytime2int(this.targetEl.value);
|
|
760
808
|
|
|
761
809
|
if (seconds === null) {
|
|
762
810
|
var timeFormatErrorEvent = new CustomEvent('timeFormatError', EVENT_DEFAULTS);
|
|
@@ -766,7 +814,7 @@
|
|
|
766
814
|
|
|
767
815
|
var rangeError = false; // check that the time in within bounds
|
|
768
816
|
|
|
769
|
-
if (settings.minTime !== null && settings.maxTime !== null && (seconds < settings.minTime || seconds > settings.maxTime)) {
|
|
817
|
+
if (settings.minTime !== null && settings.maxTime !== null && (seconds < settings.minTime() || seconds > settings.maxTime())) {
|
|
770
818
|
rangeError = true;
|
|
771
819
|
} // check that time isn't within disabled time ranges
|
|
772
820
|
|
|
@@ -983,6 +1031,241 @@
|
|
|
983
1031
|
window.CustomEvent = CustomEvent;
|
|
984
1032
|
})();
|
|
985
1033
|
|
|
1034
|
+
function _getNoneOptionItems(settings) {
|
|
1035
|
+
if (!settings.noneOption) {
|
|
1036
|
+
return [];
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
var noneOptions = _getNoneOptionItemsHelper(settings.noneOption);
|
|
1040
|
+
|
|
1041
|
+
if (Array.isArray(settings.noneOption)) {
|
|
1042
|
+
return noneOptions;
|
|
1043
|
+
} else {
|
|
1044
|
+
return [noneOptions];
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
function _getNoneOptionItemsHelper(noneOption) {
|
|
1049
|
+
if (Array.isArray(noneOption)) {
|
|
1050
|
+
return noneOption.map(_getNoneOptionItemsHelper);
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
if (noneOption === true) {
|
|
1054
|
+
return {
|
|
1055
|
+
'label': 'None',
|
|
1056
|
+
'value': ''
|
|
1057
|
+
};
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
if (_typeof(noneOption) === 'object') {
|
|
1061
|
+
return noneOption;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
return {
|
|
1065
|
+
'label': noneOption,
|
|
1066
|
+
'value': ''
|
|
1067
|
+
};
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
function _getDropdownTimes(tp) {
|
|
1071
|
+
var _settings$minTime, _settings$maxTime;
|
|
1072
|
+
|
|
1073
|
+
var settings = tp.settings;
|
|
1074
|
+
var start = (_settings$minTime = settings.minTime()) !== null && _settings$minTime !== void 0 ? _settings$minTime : 0;
|
|
1075
|
+
var end = (_settings$maxTime = settings.maxTime()) !== null && _settings$maxTime !== void 0 ? _settings$maxTime : start + ONE_DAY - 1;
|
|
1076
|
+
|
|
1077
|
+
if (end < start) {
|
|
1078
|
+
// make sure the end time is greater than start time, otherwise there will be no list to show
|
|
1079
|
+
end += ONE_DAY;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
if (end === ONE_DAY - 1 && typeof settings.timeFormat === 'string' && settings.show2400) {
|
|
1083
|
+
// show a 24:00 option when using military time
|
|
1084
|
+
end = ONE_DAY;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
var output = [];
|
|
1088
|
+
|
|
1089
|
+
for (var i = start, j = 0; i <= end; j++, i += settings.step(j) * 60) {
|
|
1090
|
+
var timeInt = i;
|
|
1091
|
+
|
|
1092
|
+
var timeString = tp._int2time(timeInt);
|
|
1093
|
+
|
|
1094
|
+
var className = timeInt % ONE_DAY < ONE_DAY / 2 ? 'ui-timepicker-am' : 'ui-timepicker-pm';
|
|
1095
|
+
var item = {
|
|
1096
|
+
'label': timeString,
|
|
1097
|
+
'value': moduloSeconds(timeInt, settings),
|
|
1098
|
+
'className': className
|
|
1099
|
+
};
|
|
1100
|
+
|
|
1101
|
+
if ((settings.minTime() !== null || settings.durationTime() !== null) && settings.showDuration) {
|
|
1102
|
+
var _settings$durationTim;
|
|
1103
|
+
|
|
1104
|
+
var durStart = (_settings$durationTim = settings.durationTime()) !== null && _settings$durationTim !== void 0 ? _settings$durationTim : settings.minTime();
|
|
1105
|
+
|
|
1106
|
+
var durationString = tp._int2duration(i - durStart, settings.step());
|
|
1107
|
+
|
|
1108
|
+
item.duration = durationString;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
var _iterator = _createForOfIteratorHelper(settings.disableTimeRanges),
|
|
1112
|
+
_step;
|
|
1113
|
+
|
|
1114
|
+
try {
|
|
1115
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1116
|
+
var range = _step.value;
|
|
1117
|
+
|
|
1118
|
+
if (timeInt % ONE_DAY >= range[0] && timeInt % ONE_DAY < range[1]) {
|
|
1119
|
+
item.disabled = true;
|
|
1120
|
+
break;
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
} catch (err) {
|
|
1124
|
+
_iterator.e(err);
|
|
1125
|
+
} finally {
|
|
1126
|
+
_iterator.f();
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
output.push(item);
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
return output;
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
function _renderSelectItem(item) {
|
|
1136
|
+
var el = document.createElement('option');
|
|
1137
|
+
el.value = item.label;
|
|
1138
|
+
|
|
1139
|
+
if (item.duration) {
|
|
1140
|
+
el.appendChild(document.createTextNode(item.label + ' (' + item.duration + ')'));
|
|
1141
|
+
} else {
|
|
1142
|
+
el.appendChild(document.createTextNode(item.label));
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
if (item.disabled) {
|
|
1146
|
+
el.disabled = true;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
return el;
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
function _renderStandardItem(item) {
|
|
1153
|
+
var el = document.createElement('li');
|
|
1154
|
+
el.dataset['time'] = item.value;
|
|
1155
|
+
|
|
1156
|
+
if (item.className) {
|
|
1157
|
+
el.classList.add(item.className);
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
el.className = item.className;
|
|
1161
|
+
el.appendChild(document.createTextNode(item.label));
|
|
1162
|
+
|
|
1163
|
+
if (item.duration) {
|
|
1164
|
+
var durationEl = document.createElement('span');
|
|
1165
|
+
durationEl.appendChild(document.createTextNode('(' + item.duration + ')'));
|
|
1166
|
+
durationEl.classList.add('ui-timepicker-duration');
|
|
1167
|
+
el.appendChild(durationEl);
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
if (item.disabled) {
|
|
1171
|
+
el.classList.add('ui-timepicker-disabled');
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
return el;
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
function _renderStandardList(items) {
|
|
1178
|
+
var list = document.createElement('ul');
|
|
1179
|
+
list.classList.add('ui-timepicker-list');
|
|
1180
|
+
|
|
1181
|
+
var _iterator2 = _createForOfIteratorHelper(items),
|
|
1182
|
+
_step2;
|
|
1183
|
+
|
|
1184
|
+
try {
|
|
1185
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1186
|
+
var item = _step2.value;
|
|
1187
|
+
|
|
1188
|
+
var itemEl = _renderStandardItem(item);
|
|
1189
|
+
|
|
1190
|
+
list.appendChild(itemEl);
|
|
1191
|
+
}
|
|
1192
|
+
} catch (err) {
|
|
1193
|
+
_iterator2.e(err);
|
|
1194
|
+
} finally {
|
|
1195
|
+
_iterator2.f();
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
var wrapper = document.createElement('div');
|
|
1199
|
+
wrapper.classList.add('ui-timepicker-wrapper');
|
|
1200
|
+
wrapper.tabIndex = -1;
|
|
1201
|
+
wrapper.style.display = 'none';
|
|
1202
|
+
wrapper.style.position = 'absolute';
|
|
1203
|
+
wrapper.appendChild(list);
|
|
1204
|
+
return wrapper;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
function _renderSelectList(items, targetName) {
|
|
1208
|
+
var el = document.createElement('select');
|
|
1209
|
+
el.classList.add('ui-timepicker-select');
|
|
1210
|
+
|
|
1211
|
+
if (targetName) {
|
|
1212
|
+
el.name = 'ui-timepicker-' + targetName;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
var _iterator3 = _createForOfIteratorHelper(items),
|
|
1216
|
+
_step3;
|
|
1217
|
+
|
|
1218
|
+
try {
|
|
1219
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
1220
|
+
var item = _step3.value;
|
|
1221
|
+
|
|
1222
|
+
var itemEl = _renderSelectItem(item);
|
|
1223
|
+
|
|
1224
|
+
el.appendChild(itemEl);
|
|
1225
|
+
}
|
|
1226
|
+
} catch (err) {
|
|
1227
|
+
_iterator3.e(err);
|
|
1228
|
+
} finally {
|
|
1229
|
+
_iterator3.f();
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
return el;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
function renderHtml(tp) {
|
|
1236
|
+
var items = [].concat(_getNoneOptionItems(tp.settings), _getDropdownTimes(tp));
|
|
1237
|
+
var el;
|
|
1238
|
+
|
|
1239
|
+
if (tp.settings.useSelect) {
|
|
1240
|
+
el = _renderSelectList(items, tp.targetEl.name);
|
|
1241
|
+
} else {
|
|
1242
|
+
el = _renderStandardList(items);
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
if (tp.settings.className) {
|
|
1246
|
+
var _iterator4 = _createForOfIteratorHelper(tp.settings.className.split(' ')),
|
|
1247
|
+
_step4;
|
|
1248
|
+
|
|
1249
|
+
try {
|
|
1250
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
1251
|
+
var token = _step4.value;
|
|
1252
|
+
el.classList.add(token);
|
|
1253
|
+
}
|
|
1254
|
+
} catch (err) {
|
|
1255
|
+
_iterator4.e(err);
|
|
1256
|
+
} finally {
|
|
1257
|
+
_iterator4.f();
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
if (tp.settings.showDuration && (tp.settings.minTime !== null || tp.settings.durationTime !== null)) {
|
|
1262
|
+
el.classList.add("ui-timepicker-with-duration");
|
|
1263
|
+
el.classList.add("ui-timepicker-step-" + tp.settings.step());
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
return el;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
986
1269
|
(function (factory) {
|
|
987
1270
|
if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && exports && (typeof module === "undefined" ? "undefined" : _typeof(module)) === "object" && module && module.exports === exports) {
|
|
988
1271
|
// Browserify. Attach to jQuery module.
|
|
@@ -1057,11 +1340,9 @@
|
|
|
1057
1340
|
} // check if list needs to be rendered
|
|
1058
1341
|
|
|
1059
1342
|
|
|
1060
|
-
|
|
1061
|
-
_render(self);
|
|
1343
|
+
_render(self);
|
|
1062
1344
|
|
|
1063
|
-
|
|
1064
|
-
}
|
|
1345
|
+
list = tp.list;
|
|
1065
1346
|
|
|
1066
1347
|
if (Timepicker.isVisible(list)) {
|
|
1067
1348
|
return;
|
|
@@ -1122,11 +1403,11 @@
|
|
|
1122
1403
|
var selected = list.find(".ui-timepicker-selected");
|
|
1123
1404
|
|
|
1124
1405
|
if (!selected.length) {
|
|
1125
|
-
var timeInt = tp.
|
|
1406
|
+
var timeInt = tp.anytime2int(tp._getTimeValue());
|
|
1126
1407
|
|
|
1127
1408
|
if (timeInt !== null) {
|
|
1128
1409
|
selected = $(tp._findRow(timeInt));
|
|
1129
|
-
} else if (settings.scrollDefault) {
|
|
1410
|
+
} else if (settings.scrollDefault()) {
|
|
1130
1411
|
selected = $(tp._findRow(settings.scrollDefault()));
|
|
1131
1412
|
}
|
|
1132
1413
|
} // if not found or disabled, intelligently find first selectable element
|
|
@@ -1210,7 +1491,7 @@
|
|
|
1210
1491
|
},
|
|
1211
1492
|
getSecondsFromMidnight: function getSecondsFromMidnight() {
|
|
1212
1493
|
var tp = this[0].timepickerObj;
|
|
1213
|
-
return tp.
|
|
1494
|
+
return tp.anytime2int(tp._getTimeValue());
|
|
1214
1495
|
},
|
|
1215
1496
|
getTime: function getTime(relative_date) {
|
|
1216
1497
|
var tp = this[0].timepickerObj;
|
|
@@ -1221,7 +1502,7 @@
|
|
|
1221
1502
|
return null;
|
|
1222
1503
|
}
|
|
1223
1504
|
|
|
1224
|
-
var offset = tp.
|
|
1505
|
+
var offset = tp.anytime2int(time_string);
|
|
1225
1506
|
|
|
1226
1507
|
if (offset === null) {
|
|
1227
1508
|
return null;
|
|
@@ -1248,9 +1529,9 @@
|
|
|
1248
1529
|
var settings = tp.settings;
|
|
1249
1530
|
|
|
1250
1531
|
if (settings.forceRoundTime) {
|
|
1251
|
-
var prettyTime = tp._roundAndFormatTime(tp.
|
|
1532
|
+
var prettyTime = tp._roundAndFormatTime(tp.anytime2int(value));
|
|
1252
1533
|
} else {
|
|
1253
|
-
var prettyTime = tp._int2time(tp.
|
|
1534
|
+
var prettyTime = tp._int2time(tp.anytime2int(value));
|
|
1254
1535
|
}
|
|
1255
1536
|
|
|
1256
1537
|
if (value && prettyTime === null && settings.noneOption) {
|
|
@@ -1306,138 +1587,12 @@
|
|
|
1306
1587
|
tp.list = null;
|
|
1307
1588
|
}
|
|
1308
1589
|
|
|
1309
|
-
|
|
1310
|
-
list = $("<select></select>", {
|
|
1311
|
-
"class": "ui-timepicker-select"
|
|
1312
|
-
});
|
|
1313
|
-
|
|
1314
|
-
if (self.attr("name")) {
|
|
1315
|
-
list.attr("name", "ui-timepicker-" + self.attr("name"));
|
|
1316
|
-
}
|
|
1590
|
+
var wrapped_list = $(renderHtml(tp));
|
|
1317
1591
|
|
|
1318
|
-
|
|
1592
|
+
if (settings.useSelect) {
|
|
1593
|
+
list = wrapped_list;
|
|
1319
1594
|
} else {
|
|
1320
|
-
list =
|
|
1321
|
-
"class": "ui-timepicker-list"
|
|
1322
|
-
});
|
|
1323
|
-
var wrapped_list = $("<div></div>", {
|
|
1324
|
-
"class": "ui-timepicker-wrapper",
|
|
1325
|
-
tabindex: -1
|
|
1326
|
-
});
|
|
1327
|
-
wrapped_list.css({
|
|
1328
|
-
display: "none",
|
|
1329
|
-
position: "absolute"
|
|
1330
|
-
}).append(list);
|
|
1331
|
-
}
|
|
1332
|
-
|
|
1333
|
-
if (settings.noneOption) {
|
|
1334
|
-
if (settings.noneOption === true) {
|
|
1335
|
-
settings.noneOption = settings.useSelect ? "Time..." : "None";
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
if ($.isArray(settings.noneOption)) {
|
|
1339
|
-
for (var i in settings.noneOption) {
|
|
1340
|
-
if (parseInt(i, 10) == i) {
|
|
1341
|
-
var noneElement = tp._generateNoneElement(settings.noneOption[i], settings.useSelect);
|
|
1342
|
-
|
|
1343
|
-
list.append(noneElement);
|
|
1344
|
-
}
|
|
1345
|
-
}
|
|
1346
|
-
} else {
|
|
1347
|
-
var noneElement = tp._generateNoneElement(settings.noneOption, settings.useSelect);
|
|
1348
|
-
|
|
1349
|
-
list.append(noneElement);
|
|
1350
|
-
}
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
if (settings.className) {
|
|
1354
|
-
wrapped_list.addClass(settings.className);
|
|
1355
|
-
}
|
|
1356
|
-
|
|
1357
|
-
if ((settings.minTime !== null || settings.durationTime !== null) && settings.showDuration) {
|
|
1358
|
-
typeof settings.step == "function" ? "function" : settings.step;
|
|
1359
|
-
wrapped_list.addClass("ui-timepicker-with-duration");
|
|
1360
|
-
wrapped_list.addClass("ui-timepicker-step-" + settings.step);
|
|
1361
|
-
}
|
|
1362
|
-
|
|
1363
|
-
var durStart = settings.minTime;
|
|
1364
|
-
|
|
1365
|
-
if (typeof settings.durationTime === "function") {
|
|
1366
|
-
durStart = tp.time2int(settings.durationTime());
|
|
1367
|
-
} else if (settings.durationTime !== null) {
|
|
1368
|
-
durStart = settings.durationTime;
|
|
1369
|
-
}
|
|
1370
|
-
|
|
1371
|
-
var start = settings.minTime !== null ? settings.minTime : 0;
|
|
1372
|
-
var end = settings.maxTime !== null ? settings.maxTime : start + ONE_DAY - 1;
|
|
1373
|
-
|
|
1374
|
-
if (end < start) {
|
|
1375
|
-
// make sure the end time is greater than start time, otherwise there will be no list to show
|
|
1376
|
-
end += ONE_DAY;
|
|
1377
|
-
}
|
|
1378
|
-
|
|
1379
|
-
if (end === ONE_DAY - 1 && $.type(settings.timeFormat) === "string" && settings.show2400) {
|
|
1380
|
-
// show a 24:00 option when using military time
|
|
1381
|
-
end = ONE_DAY;
|
|
1382
|
-
}
|
|
1383
|
-
|
|
1384
|
-
var dr = settings.disableTimeRanges;
|
|
1385
|
-
var drCur = 0;
|
|
1386
|
-
var drLen = dr.length;
|
|
1387
|
-
var stepFunc = settings.step;
|
|
1388
|
-
|
|
1389
|
-
if (typeof stepFunc != "function") {
|
|
1390
|
-
stepFunc = function stepFunc() {
|
|
1391
|
-
return settings.step;
|
|
1392
|
-
};
|
|
1393
|
-
}
|
|
1394
|
-
|
|
1395
|
-
for (var i = start, j = 0; i <= end; j++, i += stepFunc(j) * 60) {
|
|
1396
|
-
var timeInt = i;
|
|
1397
|
-
|
|
1398
|
-
var timeString = tp._int2time(timeInt);
|
|
1399
|
-
|
|
1400
|
-
if (settings.useSelect) {
|
|
1401
|
-
var row = $("<option></option>", {
|
|
1402
|
-
value: timeString
|
|
1403
|
-
});
|
|
1404
|
-
row.text(timeString);
|
|
1405
|
-
} else {
|
|
1406
|
-
var row = $("<li></li>");
|
|
1407
|
-
row.addClass(timeInt % ONE_DAY < ONE_DAY / 2 ? "ui-timepicker-am" : "ui-timepicker-pm");
|
|
1408
|
-
row.attr("data-time", roundingFunction(timeInt, settings));
|
|
1409
|
-
row.text(timeString);
|
|
1410
|
-
}
|
|
1411
|
-
|
|
1412
|
-
if ((settings.minTime !== null || settings.durationTime !== null) && settings.showDuration) {
|
|
1413
|
-
var durationString = tp._int2duration(i - durStart, settings.step);
|
|
1414
|
-
|
|
1415
|
-
if (settings.useSelect) {
|
|
1416
|
-
row.text(row.text() + " (" + durationString + ")");
|
|
1417
|
-
} else {
|
|
1418
|
-
var duration = $("<span></span>", {
|
|
1419
|
-
"class": "ui-timepicker-duration"
|
|
1420
|
-
});
|
|
1421
|
-
duration.text(" (" + durationString + ")");
|
|
1422
|
-
row.append(duration);
|
|
1423
|
-
}
|
|
1424
|
-
}
|
|
1425
|
-
|
|
1426
|
-
if (drCur < drLen) {
|
|
1427
|
-
if (timeInt >= dr[drCur][1]) {
|
|
1428
|
-
drCur += 1;
|
|
1429
|
-
}
|
|
1430
|
-
|
|
1431
|
-
if (dr[drCur] && timeInt >= dr[drCur][0] && timeInt < dr[drCur][1]) {
|
|
1432
|
-
if (settings.useSelect) {
|
|
1433
|
-
row.prop("disabled", true);
|
|
1434
|
-
} else {
|
|
1435
|
-
row.addClass("ui-timepicker-disabled");
|
|
1436
|
-
}
|
|
1437
|
-
}
|
|
1438
|
-
}
|
|
1439
|
-
|
|
1440
|
-
list.append(row);
|
|
1595
|
+
list = wrapped_list.children('ul');
|
|
1441
1596
|
}
|
|
1442
1597
|
|
|
1443
1598
|
wrapped_list.data("timepicker-input", self);
|
|
@@ -1445,7 +1600,7 @@
|
|
|
1445
1600
|
|
|
1446
1601
|
if (settings.useSelect) {
|
|
1447
1602
|
if (self.val()) {
|
|
1448
|
-
list.val(tp._roundAndFormatTime(tp.
|
|
1603
|
+
list.val(tp._roundAndFormatTime(tp.anytime2int(self.val())));
|
|
1449
1604
|
}
|
|
1450
1605
|
|
|
1451
1606
|
list.on("focus", function () {
|
|
@@ -1518,8 +1673,8 @@
|
|
|
1518
1673
|
}
|
|
1519
1674
|
|
|
1520
1675
|
Timepicker.hideAll();
|
|
1521
|
-
$(document).
|
|
1522
|
-
$(window).
|
|
1676
|
+
$(document).off(".ui-timepicker");
|
|
1677
|
+
$(window).off(".ui-timepicker");
|
|
1523
1678
|
}
|
|
1524
1679
|
/*
|
|
1525
1680
|
* Keyboard navigation via arrow keys
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.ui-timepicker-wrapper {
|
|
2
2
|
overflow-y: auto;
|
|
3
3
|
max-height: 150px;
|
|
4
|
-
width:
|
|
4
|
+
width: auto;
|
|
5
5
|
background: #fff;
|
|
6
6
|
border: 1px solid #ddd;
|
|
7
7
|
-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);
|
|
@@ -12,13 +12,8 @@
|
|
|
12
12
|
margin: 0;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
.ui-timepicker-wrapper.ui-timepicker-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,
|
|
20
|
-
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-60 {
|
|
21
|
-
width: 11em;
|
|
15
|
+
.ui-timepicker-wrapper .ui-timepicker-list li {
|
|
16
|
+
padding-right: 20px;
|
|
22
17
|
}
|
|
23
18
|
|
|
24
19
|
.ui-timepicker-list {
|
package/jquery.timepicker.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function s(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?s(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):s(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function o(e,t){var i;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(i=function(e,t){if(e){if("string"==typeof e)return a(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?a(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,s=function(){};return{s:s,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return o=e.done,e},e:function(e){l=!0,r=e},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw r}}}}var l=86400,u=function(e,t){if(null===e)return null;if("number"!=typeof t.step)return e;var i=e%(60*t.step);return(i-=(t.minTime||0)%(60*t.step))>=30*t.step?e+=60*t.step-i:e-=i,function(e,t){if(e==l&&t.show2400)return e;return e%l}(e,t)};var c,m={appendTo:"body",className:null,closeOnWindowScroll:!1,disableTextInput:!1,disableTimeRanges:[],disableTouchKeyboard:!1,durationTime:null,forceRoundTime:!1,lang:{},listWidth:null,maxTime:null,minTime:null,noneOption:!1,orientation:"l",roundingFunction:u,scrollDefault:null,selectOnBlur:!1,show2400:!1,showDuration:!1,showOn:["click","focus"],showOnFocus:!0,step:30,stopScrollPropagation:!1,timeFormat:"g:ia",typeaheadHighlight:!0,useSelect:!1,wrapHours:!0},p={am:"am",pm:"pm",AM:"AM",PM:"PM",decimal:".",mins:"mins",hr:"hr",hrs:"hrs"},f={bubbles:!0,cancelable:!1,detail:null},d=function(){function n(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(this,n),this._handleFormatValue=this._handleFormatValue.bind(this),this._handleKeyUp=this._handleKeyUp.bind(this),this.targetEl=e;var s=n.extractAttrOptions(e,Object.keys(m));this.settings=this.parseSettings(r(r(r({},m),i),s))}var s,a,u;return s=n,u=[{key:"extractAttrOptions",value:function(e,t){var i,n={},s=o(t);try{for(s.s();!(i=s.n()).done;){var r=i.value;r in e.dataset&&(n[r]=e.dataset[r])}}catch(e){s.e(e)}finally{s.f()}return n}},{key:"isVisible",value:function(e){var t=e[0];return t.offsetWidth>0&&t.offsetHeight>0}},{key:"hideAll",value:function(){var e,t=o(document.getElementsByClassName("ui-timepicker-input"));try{for(t.s();!(e=t.n()).done;){var i=e.value.timepickerObj;i&&i.hideMe()}}catch(e){t.e(e)}finally{t.f()}}}],(a=[{key:"hideMe",value:function(){if(this.settings.useSelect)this.targetEl.blur();else if(this.list&&n.isVisible(this.list)){this.settings.selectOnBlur&&this._selectValue(),this.list.hide();var e=new CustomEvent("hideTimepicker",f);this.targetEl.dispatchEvent(e)}}},{key:"_findRow",value:function(e){if(!e&&0!==e)return!1;var t=!1;return e=this.settings.roundingFunction(e,this.settings),!!this.list&&(this.list.find("li").each((function(i,n){var s=parseInt(n.dataset.time);if(!isNaN(s))return s==e?(t=n,!1):void 0})),t)}},{key:"_hideKeyboard",value:function(){return(window.navigator.msMaxTouchPoints||"ontouchstart"in document)&&this.settings.disableTouchKeyboard}},{key:"_setTimeValue",value:function(e,t){if("INPUT"===this.targetEl.nodeName){null===e&&""==this.targetEl.value||(this.targetEl.value=e);var i=this;i.settings.useSelect&&"select"!=t&&i.list&&i.list.val(i._roundAndFormatTime(i.time2int(e)))}var n=new CustomEvent("selectTime",f);if(this.selectedValue!=e){this.selectedValue=e;var s=new CustomEvent("changeTime",f),r=new CustomEvent("change",Object.assign(f,{detail:"timepicker"}));return"select"==t?(this.targetEl.dispatchEvent(n),this.targetEl.dispatchEvent(s),this.targetEl.dispatchEvent(r)):-1==["error","initial"].indexOf(t)&&this.targetEl.dispatchEvent(s),!0}return-1==["error","initial"].indexOf(t)&&this.targetEl.dispatchEvent(n),!1}},{key:"_getTimeValue",value:function(){return"INPUT"===this.targetEl.nodeName?this.targetEl.value:this.selectedValue}},{key:"_selectValue",value:function(){var e=this;e.settings;var t=e.list.find(".ui-timepicker-selected");if(t.hasClass("ui-timepicker-disabled"))return!1;if(!t.length)return!0;var i=t.get(0).dataset.time;if(i){var n=parseInt(i);isNaN(n)||(i=n)}return null!==i&&("string"!=typeof i&&(i=e._int2time(i)),e._setTimeValue(i,"select")),!0}},{key:"time2int",value:function(e){if(""===e||null==e)return null;if(e instanceof Date)return 3600*e.getHours()+60*e.getMinutes()+e.getSeconds();if("string"!=typeof e)return e;"a"!=(e=e.toLowerCase().replace(/[\s\.]/g,"")).slice(-1)&&"p"!=e.slice(-1)||(e+="m");var t=/^(([^0-9]*))?([0-9]?[0-9])(([0-5][0-9]))?(([0-5][0-9]))?(([^0-9]*))$/;e.match(/\W/)&&(t=/^(([^0-9]*))?([0-9]?[0-9])(\W+([0-5][0-9]?))?(\W+([0-5][0-9]))?(([^0-9]*))$/);var i=e.match(t);if(!i)return null;var n=parseInt(1*i[3],10),s=i[2]||i[9],r=n,a=1*i[5]||0,o=1*i[7]||0;if(s||2!=i[3].length||"0"!=i[3][0]||(s="am"),n<=12&&s){var u=(s=s.trim())==this.settings.lang.pm||s==this.settings.lang.PM;r=12==n?u?12:0:n+(u?12:0)}else if(3600*n+60*a+o>=l+(this.settings.show2400?1:0)){if(!1===this.settings.wrapHours)return null;r=n%24}var c=3600*r+60*a+o;if(n<12&&!s&&this.settings._twelveHourTime&&this.settings.scrollDefault){var m=c-this.settings.scrollDefault();m<0&&m>=-43200&&(c=(c+43200)%l)}return c}},{key:"parseSettings",value:function(e){var t=this;if(e.lang=r(r({},p),e.lang),this.settings=e,e.minTime&&(e.minTime=this.time2int(e.minTime)),e.maxTime&&(e.maxTime=this.time2int(e.maxTime)),e.listWidth&&(e.listWidth=this.time2int(e.listWidth)),e.durationTime&&"function"!=typeof e.durationTime&&(e.durationTime=this.time2int(e.durationTime)),"now"==e.scrollDefault)e.scrollDefault=function(){return e.roundingFunction(t.time2int(new Date),e)};else if(e.scrollDefault&&"function"!=typeof e.scrollDefault){var i=e.scrollDefault;e.scrollDefault=function(){return e.roundingFunction(t.time2int(i),e)}}else e.minTime&&(e.scrollDefault=function(){return e.roundingFunction(e.minTime,e)});if("string"==typeof e.timeFormat&&e.timeFormat.match(/[gh]/)&&(e._twelveHourTime=!0),!1===e.showOnFocus&&-1!=e.showOn.indexOf("focus")&&e.showOn.splice(e.showOn.indexOf("focus"),1),e.disableTimeRanges||(e.disableTimeRanges=[]),e.disableTimeRanges.length>0){for(var n in e.disableTimeRanges)e.disableTimeRanges[n]=[this.time2int(e.disableTimeRanges[n][0]),this.time2int(e.disableTimeRanges[n][1])];for(e.disableTimeRanges=e.disableTimeRanges.sort((function(e,t){return e[0]-t[0]})),n=e.disableTimeRanges.length-1;n>0;n--)e.disableTimeRanges[n][0]<=e.disableTimeRanges[n-1][1]&&(e.disableTimeRanges[n-1]=[Math.min(e.disableTimeRanges[n][0],e.disableTimeRanges[n-1][0]),Math.max(e.disableTimeRanges[n][1],e.disableTimeRanges[n-1][1])],e.disableTimeRanges.splice(n,1))}return e}},{key:"_disableTextInputHandler",value:function(e){switch(e.keyCode){case 13:case 9:return;default:e.preventDefault()}}},{key:"_int2duration",value:function(e,t){e=Math.abs(e);var i,n,s=Math.round(e/60),r=[];return s<60?r=[s,this.settings.lang.mins]:(i=Math.floor(s/60),n=s%60,30==t&&30==n&&(i+=this.settings.lang.decimal+5),r.push(i),r.push(1==i?this.settings.lang.hr:this.settings.lang.hrs),30!=t&&n&&(r.push(n),r.push(this.settings.lang.mins))),r.join(" ")}},{key:"_roundAndFormatTime",value:function(e){if(null!==(e=this.settings.roundingFunction(e,this.settings)))return this._int2time(e)}},{key:"_int2time",value:function(e){if("number"!=typeof e)return null;var t=parseInt(e%60),i=parseInt(e/60%60),n=parseInt(e/3600%24),s=new Date(1970,0,2,n,i,t,0);if(isNaN(s.getTime()))return null;if("function"==typeof this.settings.timeFormat)return this.settings.timeFormat(s);for(var r,a,o="",u=0;u<this.settings.timeFormat.length;u++)switch(a=this.settings.timeFormat.charAt(u)){case"a":o+=s.getHours()>11?this.settings.lang.pm:this.settings.lang.am;break;case"A":o+=s.getHours()>11?this.settings.lang.PM:this.settings.lang.AM;break;case"g":o+=0==(r=s.getHours()%12)?"12":r;break;case"G":r=s.getHours(),e===l&&(r=this.settings.show2400?24:0),o+=r;break;case"h":0!=(r=s.getHours()%12)&&r<10&&(r="0"+r),o+=0===r?"12":r;break;case"H":r=s.getHours(),e===l&&(r=this.settings.show2400?24:0),o+=r>9?r:"0"+r;break;case"i":o+=(i=s.getMinutes())>9?i:"0"+i;break;case"s":o+=(t=s.getSeconds())>9?t:"0"+t;break;case"\\":u++,o+=this.settings.timeFormat.charAt(u);break;default:o+=a}return o}},{key:"_setSelected",value:function(){var e=this.list;e.find("li").removeClass("ui-timepicker-selected");var t=this.time2int(this._getTimeValue());if(null!==t){var i=this._findRow(t);if(i){var n=i.getBoundingClientRect(),s=e.get(0).getBoundingClientRect(),r=n.top-s.top;if(r+n.height>s.height||r<0){var a=e.scrollTop()+(n.top-s.top)-n.height;e.scrollTop(a)}var o=parseInt(i.dataset.time);(this.settings.forceRoundTime||o===t)&&i.classList.add("ui-timepicker-selected")}}}},{key:"_isFocused",value:function(e){return e===document.activeElement}},{key:"_handleFormatValue",value:function(e){e&&"timepicker"==e.detail||this._formatValue(e)}},{key:"_formatValue",value:function(e,t){if(""!==this.targetEl.value){if(!this._isFocused(this.targetEl)||e&&"change"==e.type){var i=this.settings,n=this.time2int(this.targetEl.value);if(null!==n){var s=!1;null!==i.minTime&&null!==i.maxTime&&(n<i.minTime||n>i.maxTime)&&(s=!0);var r,a=o(i.disableTimeRanges);try{for(a.s();!(r=a.n()).done;){var l=r.value;if(n>=l[0]&&n<l[1]){s=!0;break}}}catch(e){a.e(e)}finally{a.f()}if(i.forceRoundTime){var u=i.roundingFunction(n,i);u!=n&&(n=u,t=null)}var c=this._int2time(n);if(s){this._setTimeValue(c);var m=new CustomEvent("timeRangeError",f);this.targetEl.dispatchEvent(m)}else this._setTimeValue(c,t)}else{var p=new CustomEvent("timeFormatError",f);this.targetEl.dispatchEvent(p)}}}else this._setTimeValue(null,t)}},{key:"_generateNoneElement",value:function(t,i){var n,s,r,a;return"object"==e(t)?(n=t.label,s=t.className,r=t.value):"string"==typeof t?(n=t,r=""):$.error("Invalid noneOption value"),i?(a=document.createElement("option")).value=r:(a=document.createElement("li")).dataset.time=String(r),a.innerText=n,a.classList.add(s),a}},{key:"_handleKeyUp",value:function(e){var t=this;if(!this.list||!n.isVisible(this.list)||this.settings.disableTextInput)return!0;if("paste"!==e.type&&"cut"!==e.type)switch(e.keyCode){case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 65:case 77:case 80:case 186:case 8:case 46:this.settings.typeaheadHighlight?this._setSelected():this.list.hide()}else setTimeout((function(){t.settings.typeaheadHighlight?t._setSelected():t.list.hide()}),0)}}])&&i(s.prototype,a),u&&i(s,u),n}();!function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(e,t){t||(t={}),t=Object.assign(f,t);var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),i}}(),c=function(t){var i={init:function(e){return this.each((function(){var s=t(this),a=new d(this,e),o=a.settings;if(o.lang,this.timepickerObj=a,s.addClass("ui-timepicker-input"),o.useSelect)n(s);else{if(s.prop("autocomplete","off"),o.showOn)for(var l in o.showOn)s.on(o.showOn[l]+".timepicker",i.show);s.on("change.timepicker",a._handleFormatValue),s.on("keydown.timepicker",r),s.on("keyup.timepicker",a._handleKeyUp),o.disableTextInput&&s.on("keydown.timepicker",a._disableTextInputHandler),s.on("cut.timepicker",a._handleKeyUp),s.on("paste.timepicker",a._handleKeyUp),a._formatValue(null,"initial")}}))},show:function(e){var i=t(this),r=i[0].timepickerObj,a=r.settings;if(e&&e.preventDefault(),a.useSelect)r.list.trigger("focus");else{r._hideKeyboard()&&i.trigger("blur");var o=r.list;if(!i.prop("readonly")&&(o&&0!==o.length&&"function"!=typeof a.durationTime||(n(i),o=r.list),!d.isVisible(o))){i.is("input")&&(r.selectedValue=i.val()),r._setSelected(),d.hideAll(),"number"==typeof a.listWidth&&o.width(i.outerWidth()*a.listWidth),o.show();var l={};a.orientation.match(/r/)?l.left=i.offset().left+i.outerWidth()-o.outerWidth()+parseInt(o.css("marginLeft").replace("px",""),10):a.orientation.match(/l/)?l.left=i.offset().left+parseInt(o.css("marginLeft").replace("px",""),10):a.orientation.match(/c/)&&(l.left=i.offset().left+(i.outerWidth()-o.outerWidth())/2+parseInt(o.css("marginLeft").replace("px",""),10)),"t"==(a.orientation.match(/t/)?"t":a.orientation.match(/b/)?"b":i.offset().top+i.outerHeight(!0)+o.outerHeight()>t(window).height()+t(window).scrollTop()?"t":"b")?(o.addClass("ui-timepicker-positioned-top"),l.top=i.offset().top-o.outerHeight()+parseInt(o.css("marginTop").replace("px",""),10)):(o.removeClass("ui-timepicker-positioned-top"),l.top=i.offset().top+i.outerHeight()+parseInt(o.css("marginTop").replace("px",""),10)),o.offset(l);var u=o.find(".ui-timepicker-selected");if(!u.length){var c=r.time2int(r._getTimeValue());null!==c?u=t(r._findRow(c)):a.scrollDefault&&(u=t(r._findRow(a.scrollDefault())))}if(u.length&&!u.hasClass("ui-timepicker-disabled")||(u=o.find("li:not(.ui-timepicker-disabled):first")),u&&u.length){var m=o.scrollTop()+u.position().top-u.outerHeight();o.scrollTop(m)}else o.scrollTop(0);return a.stopScrollPropagation&&t(document).on("wheel.ui-timepicker",".ui-timepicker-wrapper",(function(e){e.preventDefault();var i=t(this).scrollTop();t(this).scrollTop(i+e.originalEvent.deltaY)})),t(document).on("mousedown.ui-timepicker",s),window.addEventListener("resize",s),a.closeOnWindowScroll&&t(document).on("scroll.ui-timepicker",s),i.trigger("showTimepicker"),this}}},hide:function(e){var t=this[0].timepickerObj;return t&&t.hideMe(),d.hideAll(),this},option:function(i,s){return"string"==typeof i&&void 0===s?this[0].timepickerObj.settings[i]:this.each((function(){var r=t(this),a=r[0].timepickerObj,o=a.settings,l=a.list;"object"==e(i)?o=t.extend(o,i):"string"==typeof i&&(o[i]=s),o=a.parseSettings(o),a.settings=o,a._formatValue({type:"change"},"initial"),l&&(l.remove(),a.list=null),o.useSelect&&n(r)}))},getSecondsFromMidnight:function(){var e=this[0].timepickerObj;return e.time2int(e._getTimeValue())},getTime:function(e){var t=this[0].timepickerObj,i=t._getTimeValue();if(!i)return null;var n=t.time2int(i);if(null===n)return null;e||(e=new Date);var s=new Date(e);return s.setHours(n/3600),s.setMinutes(n%3600/60),s.setSeconds(n%60),s.setMilliseconds(0),s},isVisible:function(){var e=this[0].timepickerObj;return!!(e&&e.list&&d.isVisible(e.list))},setTime:function(e){var t=this[0].timepickerObj,i=t.settings;if(i.forceRoundTime)var n=t._roundAndFormatTime(t.time2int(e));else n=t._int2time(t.time2int(e));return e&&null===n&&i.noneOption&&(n=e),t._setTimeValue(n,"initial"),t._formatValue({type:"change"},"initial"),t&&t.list&&t._setSelected(),this},remove:function(){var e=this;if(e.hasClass("ui-timepicker-input")){var t=e[0].timepickerObj,i=t.settings;return e.removeAttr("autocomplete","off"),e.removeClass("ui-timepicker-input"),e.removeData("timepicker-obj"),e.off(".timepicker"),t.list&&t.list.remove(),i.useSelect&&e.show(),t.list=null,this}}};function n(e){var n=e[0].timepickerObj,s=n.list,r=n.settings;if(s&&s.length&&(s.remove(),n.list=null),r.useSelect){s=t("<select></select>",{class:"ui-timepicker-select"}),e.attr("name")&&s.attr("name","ui-timepicker-"+e.attr("name"));var a=s}else s=t("<ul></ul>",{class:"ui-timepicker-list"}),(a=t("<div></div>",{class:"ui-timepicker-wrapper",tabindex:-1})).css({display:"none",position:"absolute"}).append(s);if(r.noneOption)if(!0===r.noneOption&&(r.noneOption=r.useSelect?"Time...":"None"),t.isArray(r.noneOption)){for(var o in r.noneOption)if(parseInt(o,10)==o){var c=n._generateNoneElement(r.noneOption[o],r.useSelect);s.append(c)}}else c=n._generateNoneElement(r.noneOption,r.useSelect),s.append(c);r.className&&a.addClass(r.className),null===r.minTime&&null===r.durationTime||!r.showDuration||("function"==typeof r.step||r.step,a.addClass("ui-timepicker-with-duration"),a.addClass("ui-timepicker-step-"+r.step));var m=r.minTime;"function"==typeof r.durationTime?m=n.time2int(r.durationTime()):null!==r.durationTime&&(m=r.durationTime);var p=null!==r.minTime?r.minTime:0,f=null!==r.maxTime?r.maxTime:p+l-1;f<p&&(f+=l),86399===f&&"string"===t.type(r.timeFormat)&&r.show2400&&(f=l);var d=r.disableTimeRanges,h=0,g=d.length,v=r.step;"function"!=typeof v&&(v=function(){return r.step}),o=p;for(var b=0;o<=f;o+=60*v(++b)){var y,k=o,T=n._int2time(k);if(r.useSelect?(y=t("<option></option>",{value:T})).text(T):((y=t("<li></li>")).addClass(k%l<43200?"ui-timepicker-am":"ui-timepicker-pm"),y.attr("data-time",u(k,r)),y.text(T)),(null!==r.minTime||null!==r.durationTime)&&r.showDuration){var w=n._int2duration(o-m,r.step);if(r.useSelect)y.text(y.text()+" ("+w+")");else{var _=t("<span></span>",{class:"ui-timepicker-duration"});_.text(" ("+w+")"),y.append(_)}}h<g&&(k>=d[h][1]&&(h+=1),d[h]&&k>=d[h][0]&&k<d[h][1]&&(r.useSelect?y.prop("disabled",!0):y.addClass("ui-timepicker-disabled"))),s.append(y)}if(a.data("timepicker-input",e),n.list=a,r.useSelect)e.val()&&s.val(n._roundAndFormatTime(n.time2int(e.val()))),s.on("focus",(function(){t(this).data("timepicker-input").trigger("showTimepicker")})),s.on("blur",(function(){t(this).data("timepicker-input").trigger("hideTimepicker")})),s.on("change",(function(){n._setTimeValue(t(this).val(),"select")})),n._setTimeValue(s.val(),"initial"),e.hide().after(s);else{var O=r.appendTo;"string"==typeof O?O=t(O):"function"==typeof O&&(O=O(e)),O.append(a),n._setSelected(),s.on("mousedown click","li",(function(r){e.off("focus.timepicker"),e.on("focus.timepicker-ie-hack",(function(){e.off("focus.timepicker-ie-hack"),e.on("focus.timepicker",i.show)})),n._hideKeyboard()||e[0].focus(),s.find("li").removeClass("ui-timepicker-selected"),t(this).addClass("ui-timepicker-selected"),n._selectValue()&&(e.trigger("hideTimepicker"),s.on("mouseup.timepicker click.timepicker","li",(function(e){s.off("mouseup.timepicker click.timepicker"),a.hide()})))}))}}function s(e){if("focus"!=e.type||e.target!=window){var i=t(e.target);i.closest(".ui-timepicker-input").length||i.closest(".ui-timepicker-wrapper").length||(d.hideAll(),t(document).unbind(".ui-timepicker"),t(window).unbind(".ui-timepicker"))}}function r(e){var n=t(this),s=n[0].timepickerObj,r=s.list;if(!r||!d.isVisible(r)){if(40!=e.keyCode)return!0;i.show.call(n.get(0)),r=s.list,s._hideKeyboard()||n.trigger("focus")}switch(e.keyCode){case 13:return s._selectValue()&&(s._formatValue({type:"change"}),s.hideMe()),e.preventDefault(),!1;case 38:var a=r.find(".ui-timepicker-selected");return a.length?a.is(":first-child")||(a.removeClass("ui-timepicker-selected"),a.prev().addClass("ui-timepicker-selected"),a.prev().position().top<a.outerHeight()&&r.scrollTop(r.scrollTop()-a.outerHeight())):(r.find("li").each((function(e,i){if(t(i).position().top>0)return a=t(i),!1})),a.addClass("ui-timepicker-selected")),!1;case 40:return 0===(a=r.find(".ui-timepicker-selected")).length?(r.find("li").each((function(e,i){if(t(i).position().top>0)return a=t(i),!1})),a.addClass("ui-timepicker-selected")):a.is(":last-child")||(a.removeClass("ui-timepicker-selected"),a.next().addClass("ui-timepicker-selected"),a.next().position().top+2*a.outerHeight()>r.outerHeight()&&r.scrollTop(r.scrollTop()+a.outerHeight())),!1;case 27:r.find("li").removeClass("ui-timepicker-selected"),s.hideMe();break;case 9:s.hideMe();break;default:return!0}}t.fn.timepicker=function(n){return this.length?i[n]?this.hasClass("ui-timepicker-input")?i[n].apply(this,Array.prototype.slice.call(arguments,1)):this:"object"!==e(n)&&n?void t.error("Method "+n+" does not exist on jQuery.timepicker"):i.init.apply(this,arguments):this},t.fn.timepicker.defaults=m},"object"===("undefined"==typeof exports?"undefined":e(exports))&&exports&&"object"===("undefined"==typeof module?"undefined":e(module))&&module&&module.exports===exports?c(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],c):c(jQuery)}();
|
|
1
|
+
!function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function l(e,t){var i;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(i=function(e,t){if(e){if("string"==typeof e)return a(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?a(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,l=!0,o=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return l=e.done,e},e:function(e){o=!0,s=e},f:function(){try{l||null==i.return||i.return()}finally{if(o)throw s}}}}var o=86400;function u(e,t){return e==o&&t.show2400?e:e%o}var c,m={appendTo:"body",className:null,closeOnWindowScroll:!1,disableTextInput:!1,disableTimeRanges:[],disableTouchKeyboard:!1,durationTime:null,forceRoundTime:!1,lang:{},listWidth:null,maxTime:null,minTime:null,noneOption:!1,orientation:"l",roundingFunction:function(e,t){if(null===e)return null;for(var i=0,n=0;n<e;)i++,n+=60*t.step(i);var r=n-60*t.step(i-1);return u(e-r<n-e?r:n,t)},scrollDefault:null,selectOnBlur:!1,show2400:!1,showDuration:!1,showOn:["click","focus"],showOnFocus:!0,step:30,stopScrollPropagation:!1,timeFormat:"g:ia",typeaheadHighlight:!0,useSelect:!1,wrapHours:!0},d={am:"am",pm:"pm",AM:"AM",PM:"PM",decimal:".",mins:"mins",hr:"hr",hrs:"hrs"},f={bubbles:!0,cancelable:!1,detail:null},p=function(){function n(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t(this,n),this._handleFormatValue=this._handleFormatValue.bind(this),this._handleKeyUp=this._handleKeyUp.bind(this),this.targetEl=e;var r=n.extractAttrOptions(e,Object.keys(m));this.settings=this.parseSettings(s(s(s({},m),i),r))}var r,a,u;return r=n,u=[{key:"extractAttrOptions",value:function(e,t){var i,n={},r=l(t);try{for(r.s();!(i=r.n()).done;){var s=i.value;s in e.dataset&&(n[s]=e.dataset[s])}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"isVisible",value:function(e){var t=e[0];return t.offsetWidth>0&&t.offsetHeight>0}},{key:"hideAll",value:function(){var e,t=l(document.getElementsByClassName("ui-timepicker-input"));try{for(t.s();!(e=t.n()).done;){var i=e.value.timepickerObj;i&&i.hideMe()}}catch(e){t.e(e)}finally{t.f()}}}],(a=[{key:"hideMe",value:function(){if(this.settings.useSelect)this.targetEl.blur();else if(this.list&&n.isVisible(this.list)){this.settings.selectOnBlur&&this._selectValue(),this.list.hide();var e=new CustomEvent("hideTimepicker",f);this.targetEl.dispatchEvent(e)}}},{key:"_findRow",value:function(e){if(!e&&0!==e)return!1;var t=!1;return e=this.settings.roundingFunction(e,this.settings),!!this.list&&(this.list.find("li").each((function(i,n){var r=parseInt(n.dataset.time);if(!isNaN(r))return r==e?(t=n,!1):void 0})),t)}},{key:"_hideKeyboard",value:function(){return(window.navigator.msMaxTouchPoints||"ontouchstart"in document)&&this.settings.disableTouchKeyboard}},{key:"_setTimeValue",value:function(e,t){if("INPUT"===this.targetEl.nodeName){null===e&&""==this.targetEl.value||(this.targetEl.value=e);var i=this;i.settings.useSelect&&"select"!=t&&i.list&&i.list.val(i._roundAndFormatTime(i.anytime2int(e)))}var n=new CustomEvent("selectTime",f);if(this.selectedValue!=e){this.selectedValue=e;var r=new CustomEvent("changeTime",f),s=new CustomEvent("change",Object.assign(f,{detail:"timepicker"}));return"select"==t?(this.targetEl.dispatchEvent(n),this.targetEl.dispatchEvent(r),this.targetEl.dispatchEvent(s)):-1==["error","initial"].indexOf(t)&&this.targetEl.dispatchEvent(r),!0}return-1==["error","initial"].indexOf(t)&&this.targetEl.dispatchEvent(n),!1}},{key:"_getTimeValue",value:function(){return"INPUT"===this.targetEl.nodeName?this.targetEl.value:this.selectedValue}},{key:"_selectValue",value:function(){var e=this;e.settings;var t=e.list.find(".ui-timepicker-selected");if(t.hasClass("ui-timepicker-disabled"))return!1;if(!t.length)return!0;var i=t.get(0).dataset.time;if(i){var n=parseInt(i);isNaN(n)||(i=n)}return null!==i&&("string"!=typeof i&&(i=e._int2time(i)),e._setTimeValue(i,"select")),!0}},{key:"anytime2int",value:function(t){return"number"==typeof t?t:"string"==typeof t?this.time2int(t):"object"===e(t)&&t instanceof Date?3600*t.getHours()+60*t.getMinutes()+t.getSeconds():"function"==typeof t?t():null}},{key:"time2int",value:function(e){if(""===e||null==e)return null;if("now"===e)return this.anytime2int(new Date);if("string"!=typeof e)return e;"a"!=(e=e.toLowerCase().replace(/[\s\.]/g,"")).slice(-1)&&"p"!=e.slice(-1)||(e+="m");var t=/^(([^0-9]*))?([0-9]?[0-9])(([0-5][0-9]))?(([0-5][0-9]))?(([^0-9]*))$/;e.match(/\W/)&&(t=/^(([^0-9]*))?([0-9]?[0-9])(\W+([0-5][0-9]?))?(\W+([0-5][0-9]))?(([^0-9]*))$/);var i=e.match(t);if(!i)return null;var n=parseInt(1*i[3],10),r=i[2]||i[9],s=this.parseMinuteString(i[5]),a=1*i[7]||0;r||2!=i[3].length||"0"!=i[3][0]||(r="am"),n>24&&!s&&(n=1*i[3][0],s=this.parseMinuteString(i[3][1]));var l=n;if(n<=12&&r){var u=(r=r.trim())==this.settings.lang.pm||r==this.settings.lang.PM;l=12==n?u?12:0:n+(u?12:0)}else if(3600*n+60*s+a>=o+(this.settings.show2400?1:0)){if(!1===this.settings.wrapHours)return null;l=n%24}var c=3600*l+60*s+a;if(n<12&&!r&&this.settings._twelveHourTime&&this.settings.scrollDefault()){var m=c-this.settings.scrollDefault();m<0&&m>=-43200&&(c=(c+43200)%o)}return c}},{key:"parseMinuteString",value:function(e){e||(e=0);var t=1;return 1==e.length&&(t=10),parseInt(e)*t||0}},{key:"intStringDateOrFunc2func",value:function(e){var t=this;return null==e?function(){return null}:"function"==typeof e?function(){return t.anytime2int(e())}:function(){return t.anytime2int(e)}}},{key:"parseSettings",value:function(e){if(e.lang=s(s({},d),e.lang),this.settings=e,e.listWidth&&(e.listWidth=this.anytime2int(e.listWidth)),e.minTime=this.intStringDateOrFunc2func(e.minTime),e.maxTime=this.intStringDateOrFunc2func(e.maxTime),e.durationTime=this.intStringDateOrFunc2func(e.durationTime),e.scrollDefault?e.scrollDefault=this.intStringDateOrFunc2func(e.scrollDefault):e.scrollDefault=e.minTime,"string"==typeof e.timeFormat&&e.timeFormat.match(/[gh]/)&&(e._twelveHourTime=!0),!1===e.showOnFocus&&-1!=e.showOn.indexOf("focus")&&e.showOn.splice(e.showOn.indexOf("focus"),1),"function"!=typeof e.step){var t=e.step;e.step=function(){return t}}return e.disableTimeRanges=this._parseDisableTimeRanges(e.disableTimeRanges),e}},{key:"_parseDisableTimeRanges",value:function(e){if(!e||0==e.length)return[];for(var t in e)e[t]=[this.anytime2int(e[t][0]),this.anytime2int(e[t][1])];for(t=(e=e.sort((function(e,t){return e[0]-t[0]}))).length-1;t>0;t--)e[t][0]<=e[t-1][1]&&(e[t-1]=[Math.min(e[t][0],e[t-1][0]),Math.max(e[t][1],e[t-1][1])],e.splice(t,1));return e}},{key:"_disableTextInputHandler",value:function(e){switch(e.keyCode){case 13:case 9:return;default:e.preventDefault()}}},{key:"_int2duration",value:function(e,t){e=Math.abs(e);var i,n,r=Math.round(e/60),s=[];return r<60?s=[r,this.settings.lang.mins]:(i=Math.floor(r/60),n=r%60,30==t&&30==n&&(i+=this.settings.lang.decimal+5),s.push(i),s.push(1==i?this.settings.lang.hr:this.settings.lang.hrs),30!=t&&n&&(s.push(n),s.push(this.settings.lang.mins))),s.join(" ")}},{key:"_roundAndFormatTime",value:function(e){if(null!==(e=this.settings.roundingFunction(e,this.settings)))return this._int2time(e)}},{key:"_int2time",value:function(e){if("number"!=typeof e)return null;var t=parseInt(e%60),i=parseInt(e/60%60),n=parseInt(e/3600%24),r=new Date(1970,0,2,n,i,t,0);if(isNaN(r.getTime()))return null;if("function"==typeof this.settings.timeFormat)return this.settings.timeFormat(r);for(var s,a,l="",u=0;u<this.settings.timeFormat.length;u++)switch(a=this.settings.timeFormat.charAt(u)){case"a":l+=r.getHours()>11?this.settings.lang.pm:this.settings.lang.am;break;case"A":l+=r.getHours()>11?this.settings.lang.PM:this.settings.lang.AM;break;case"g":l+=0==(s=r.getHours()%12)?"12":s;break;case"G":s=r.getHours(),e===o&&(s=this.settings.show2400?24:0),l+=s;break;case"h":0!=(s=r.getHours()%12)&&s<10&&(s="0"+s),l+=0===s?"12":s;break;case"H":s=r.getHours(),e===o&&(s=this.settings.show2400?24:0),l+=s>9?s:"0"+s;break;case"i":l+=(i=r.getMinutes())>9?i:"0"+i;break;case"s":l+=(t=r.getSeconds())>9?t:"0"+t;break;case"\\":u++,l+=this.settings.timeFormat.charAt(u);break;default:l+=a}return l}},{key:"_setSelected",value:function(){var e=this.list;e.find("li").removeClass("ui-timepicker-selected");var t=this.anytime2int(this._getTimeValue());if(null!==t){var i=this._findRow(t);if(i){var n=i.getBoundingClientRect(),r=e.get(0).getBoundingClientRect(),s=n.top-r.top;if(s+n.height>r.height||s<0){var a=e.scrollTop()+(n.top-r.top)-n.height;e.scrollTop(a)}var l=parseInt(i.dataset.time);(this.settings.forceRoundTime||l===t)&&i.classList.add("ui-timepicker-selected")}}}},{key:"_isFocused",value:function(e){return e===document.activeElement}},{key:"_handleFormatValue",value:function(e){e&&"timepicker"==e.detail||this._formatValue(e)}},{key:"_formatValue",value:function(e,t){if(""!==this.targetEl.value){if(!this._isFocused(this.targetEl)||e&&"change"==e.type){var i=this.settings,n=this.anytime2int(this.targetEl.value);if(null!==n){var r=!1;null!==i.minTime&&null!==i.maxTime&&(n<i.minTime()||n>i.maxTime())&&(r=!0);var s,a=l(i.disableTimeRanges);try{for(a.s();!(s=a.n()).done;){var o=s.value;if(n>=o[0]&&n<o[1]){r=!0;break}}}catch(e){a.e(e)}finally{a.f()}if(i.forceRoundTime){var u=i.roundingFunction(n,i);u!=n&&(n=u,t=null)}var c=this._int2time(n);if(r){this._setTimeValue(c);var m=new CustomEvent("timeRangeError",f);this.targetEl.dispatchEvent(m)}else this._setTimeValue(c,t)}else{var d=new CustomEvent("timeFormatError",f);this.targetEl.dispatchEvent(d)}}}else this._setTimeValue(null,t)}},{key:"_generateNoneElement",value:function(t,i){var n,r,s,a;return"object"==e(t)?(n=t.label,r=t.className,s=t.value):"string"==typeof t?(n=t,s=""):$.error("Invalid noneOption value"),i?(a=document.createElement("option")).value=s:(a=document.createElement("li")).dataset.time=String(s),a.innerText=n,a.classList.add(r),a}},{key:"_handleKeyUp",value:function(e){var t=this;if(!this.list||!n.isVisible(this.list)||this.settings.disableTextInput)return!0;if("paste"!==e.type&&"cut"!==e.type)switch(e.keyCode){case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 65:case 77:case 80:case 186:case 8:case 46:this.settings.typeaheadHighlight?this._setSelected():this.list.hide()}else setTimeout((function(){t.settings.typeaheadHighlight?t._setSelected():t.list.hide()}),0)}}])&&i(r.prototype,a),u&&i(r,u),n}();function h(t){return Array.isArray(t)?t.map(h):!0===t?{label:"None",value:""}:"object"===e(t)?t:{label:t,value:""}}function g(e){var t=document.createElement("option");return t.value=e.label,e.duration?t.appendChild(document.createTextNode(e.label+" ("+e.duration+")")):t.appendChild(document.createTextNode(e.label)),e.disabled&&(t.disabled=!0),t}function v(e){var t=document.createElement("li");if(t.dataset.time=e.value,e.className&&t.classList.add(e.className),t.className=e.className,t.appendChild(document.createTextNode(e.label)),e.duration){var i=document.createElement("span");i.appendChild(document.createTextNode("("+e.duration+")")),i.classList.add("ui-timepicker-duration"),t.appendChild(i)}return e.disabled&&t.classList.add("ui-timepicker-disabled"),t}function y(e){var t,i=[].concat(function(e){if(!e.noneOption)return[];var t=h(e.noneOption);return Array.isArray(e.noneOption)?t:[t]}(e.settings),function(e){var t,i,n=e.settings,r=null!==(t=n.minTime())&&void 0!==t?t:0,s=null!==(i=n.maxTime())&&void 0!==i?i:r+o-1;s<r&&(s+=o),86399===s&&"string"==typeof n.timeFormat&&n.show2400&&(s=o);for(var a=[],c=r,m=0;c<=s;m++,c+=60*n.step(m)){var d=c,f=e._int2time(d),p=d%o<43200?"ui-timepicker-am":"ui-timepicker-pm",h={label:f,value:u(d,n),className:p};if((null!==n.minTime()||null!==n.durationTime())&&n.showDuration){var g,v=null!==(g=n.durationTime())&&void 0!==g?g:n.minTime(),y=e._int2duration(c-v,n.step());h.duration=y}var b,k=l(n.disableTimeRanges);try{for(k.s();!(b=k.n()).done;){var T=b.value;if(d%o>=T[0]&&d%o<T[1]){h.disabled=!0;break}}}catch(e){k.e(e)}finally{k.f()}a.push(h)}return a}(e));if(t=e.settings.useSelect?function(e,t){var i=document.createElement("select");i.classList.add("ui-timepicker-select"),t&&(i.name="ui-timepicker-"+t);var n,r=l(e);try{for(r.s();!(n=r.n()).done;){var s=g(n.value);i.appendChild(s)}}catch(e){r.e(e)}finally{r.f()}return i}(i,e.targetEl.name):function(e){var t=document.createElement("ul");t.classList.add("ui-timepicker-list");var i,n=l(e);try{for(n.s();!(i=n.n()).done;){var r=v(i.value);t.appendChild(r)}}catch(e){n.e(e)}finally{n.f()}var s=document.createElement("div");return s.classList.add("ui-timepicker-wrapper"),s.tabIndex=-1,s.style.display="none",s.style.position="absolute",s.appendChild(t),s}(i),e.settings.className){var n,r=l(e.settings.className.split(" "));try{for(r.s();!(n=r.n()).done;){var s=n.value;t.classList.add(s)}}catch(e){r.e(e)}finally{r.f()}}return!e.settings.showDuration||null===e.settings.minTime&&null===e.settings.durationTime||(t.classList.add("ui-timepicker-with-duration"),t.classList.add("ui-timepicker-step-"+e.settings.step())),t}!function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(e,t){t||(t={}),t=Object.assign(f,t);var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),i}}(),c=function(t){var i={init:function(e){return this.each((function(){var r=t(this),a=new p(this,e),l=a.settings;if(l.lang,this.timepickerObj=a,r.addClass("ui-timepicker-input"),l.useSelect)n(r);else{if(r.prop("autocomplete","off"),l.showOn)for(var o in l.showOn)r.on(l.showOn[o]+".timepicker",i.show);r.on("change.timepicker",a._handleFormatValue),r.on("keydown.timepicker",s),r.on("keyup.timepicker",a._handleKeyUp),l.disableTextInput&&r.on("keydown.timepicker",a._disableTextInputHandler),r.on("cut.timepicker",a._handleKeyUp),r.on("paste.timepicker",a._handleKeyUp),a._formatValue(null,"initial")}}))},show:function(e){var i=t(this),s=i[0].timepickerObj,a=s.settings;if(e&&e.preventDefault(),a.useSelect)s.list.trigger("focus");else{s._hideKeyboard()&&i.trigger("blur");var l=s.list;if(!i.prop("readonly")&&(n(i),l=s.list,!p.isVisible(l))){i.is("input")&&(s.selectedValue=i.val()),s._setSelected(),p.hideAll(),"number"==typeof a.listWidth&&l.width(i.outerWidth()*a.listWidth),l.show();var o={};a.orientation.match(/r/)?o.left=i.offset().left+i.outerWidth()-l.outerWidth()+parseInt(l.css("marginLeft").replace("px",""),10):a.orientation.match(/l/)?o.left=i.offset().left+parseInt(l.css("marginLeft").replace("px",""),10):a.orientation.match(/c/)&&(o.left=i.offset().left+(i.outerWidth()-l.outerWidth())/2+parseInt(l.css("marginLeft").replace("px",""),10)),"t"==(a.orientation.match(/t/)?"t":a.orientation.match(/b/)?"b":i.offset().top+i.outerHeight(!0)+l.outerHeight()>t(window).height()+t(window).scrollTop()?"t":"b")?(l.addClass("ui-timepicker-positioned-top"),o.top=i.offset().top-l.outerHeight()+parseInt(l.css("marginTop").replace("px",""),10)):(l.removeClass("ui-timepicker-positioned-top"),o.top=i.offset().top+i.outerHeight()+parseInt(l.css("marginTop").replace("px",""),10)),l.offset(o);var u=l.find(".ui-timepicker-selected");if(!u.length){var c=s.anytime2int(s._getTimeValue());null!==c?u=t(s._findRow(c)):a.scrollDefault()&&(u=t(s._findRow(a.scrollDefault())))}if(u.length&&!u.hasClass("ui-timepicker-disabled")||(u=l.find("li:not(.ui-timepicker-disabled):first")),u&&u.length){var m=l.scrollTop()+u.position().top-u.outerHeight();l.scrollTop(m)}else l.scrollTop(0);return a.stopScrollPropagation&&t(document).on("wheel.ui-timepicker",".ui-timepicker-wrapper",(function(e){e.preventDefault();var i=t(this).scrollTop();t(this).scrollTop(i+e.originalEvent.deltaY)})),t(document).on("mousedown.ui-timepicker",r),window.addEventListener("resize",r),a.closeOnWindowScroll&&t(document).on("scroll.ui-timepicker",r),i.trigger("showTimepicker"),this}}},hide:function(e){var t=this[0].timepickerObj;return t&&t.hideMe(),p.hideAll(),this},option:function(i,r){return"string"==typeof i&&void 0===r?this[0].timepickerObj.settings[i]:this.each((function(){var s=t(this),a=s[0].timepickerObj,l=a.settings,o=a.list;"object"==e(i)?l=t.extend(l,i):"string"==typeof i&&(l[i]=r),l=a.parseSettings(l),a.settings=l,a._formatValue({type:"change"},"initial"),o&&(o.remove(),a.list=null),l.useSelect&&n(s)}))},getSecondsFromMidnight:function(){var e=this[0].timepickerObj;return e.anytime2int(e._getTimeValue())},getTime:function(e){var t=this[0].timepickerObj,i=t._getTimeValue();if(!i)return null;var n=t.anytime2int(i);if(null===n)return null;e||(e=new Date);var r=new Date(e);return r.setHours(n/3600),r.setMinutes(n%3600/60),r.setSeconds(n%60),r.setMilliseconds(0),r},isVisible:function(){var e=this[0].timepickerObj;return!!(e&&e.list&&p.isVisible(e.list))},setTime:function(e){var t=this[0].timepickerObj,i=t.settings;if(i.forceRoundTime)var n=t._roundAndFormatTime(t.anytime2int(e));else n=t._int2time(t.anytime2int(e));return e&&null===n&&i.noneOption&&(n=e),t._setTimeValue(n,"initial"),t._formatValue({type:"change"},"initial"),t&&t.list&&t._setSelected(),this},remove:function(){var e=this;if(e.hasClass("ui-timepicker-input")){var t=e[0].timepickerObj,i=t.settings;return e.removeAttr("autocomplete","off"),e.removeClass("ui-timepicker-input"),e.removeData("timepicker-obj"),e.off(".timepicker"),t.list&&t.list.remove(),i.useSelect&&e.show(),t.list=null,this}}};function n(e){var n=e[0].timepickerObj,r=n.list,s=n.settings;r&&r.length&&(r.remove(),n.list=null);var a=t(y(n));if(r=s.useSelect?a:a.children("ul"),a.data("timepicker-input",e),n.list=a,s.useSelect)e.val()&&r.val(n._roundAndFormatTime(n.anytime2int(e.val()))),r.on("focus",(function(){t(this).data("timepicker-input").trigger("showTimepicker")})),r.on("blur",(function(){t(this).data("timepicker-input").trigger("hideTimepicker")})),r.on("change",(function(){n._setTimeValue(t(this).val(),"select")})),n._setTimeValue(r.val(),"initial"),e.hide().after(r);else{var l=s.appendTo;"string"==typeof l?l=t(l):"function"==typeof l&&(l=l(e)),l.append(a),n._setSelected(),r.on("mousedown click","li",(function(s){e.off("focus.timepicker"),e.on("focus.timepicker-ie-hack",(function(){e.off("focus.timepicker-ie-hack"),e.on("focus.timepicker",i.show)})),n._hideKeyboard()||e[0].focus(),r.find("li").removeClass("ui-timepicker-selected"),t(this).addClass("ui-timepicker-selected"),n._selectValue()&&(e.trigger("hideTimepicker"),r.on("mouseup.timepicker click.timepicker","li",(function(e){r.off("mouseup.timepicker click.timepicker"),a.hide()})))}))}}function r(e){if("focus"!=e.type||e.target!=window){var i=t(e.target);i.closest(".ui-timepicker-input").length||i.closest(".ui-timepicker-wrapper").length||(p.hideAll(),t(document).off(".ui-timepicker"),t(window).off(".ui-timepicker"))}}function s(e){var n=t(this),r=n[0].timepickerObj,s=r.list;if(!s||!p.isVisible(s)){if(40!=e.keyCode)return!0;i.show.call(n.get(0)),s=r.list,r._hideKeyboard()||n.trigger("focus")}switch(e.keyCode){case 13:return r._selectValue()&&(r._formatValue({type:"change"}),r.hideMe()),e.preventDefault(),!1;case 38:var a=s.find(".ui-timepicker-selected");return a.length?a.is(":first-child")||(a.removeClass("ui-timepicker-selected"),a.prev().addClass("ui-timepicker-selected"),a.prev().position().top<a.outerHeight()&&s.scrollTop(s.scrollTop()-a.outerHeight())):(s.find("li").each((function(e,i){if(t(i).position().top>0)return a=t(i),!1})),a.addClass("ui-timepicker-selected")),!1;case 40:return 0===(a=s.find(".ui-timepicker-selected")).length?(s.find("li").each((function(e,i){if(t(i).position().top>0)return a=t(i),!1})),a.addClass("ui-timepicker-selected")):a.is(":last-child")||(a.removeClass("ui-timepicker-selected"),a.next().addClass("ui-timepicker-selected"),a.next().position().top+2*a.outerHeight()>s.outerHeight()&&s.scrollTop(s.scrollTop()+a.outerHeight())),!1;case 27:s.find("li").removeClass("ui-timepicker-selected"),r.hideMe();break;case 9:r.hideMe();break;default:return!0}}t.fn.timepicker=function(n){return this.length?i[n]?this.hasClass("ui-timepicker-input")?i[n].apply(this,Array.prototype.slice.call(arguments,1)):this:"object"!==e(n)&&n?void t.error("Method "+n+" does not exist on jQuery.timepicker"):i.init.apply(this,arguments):this},t.fn.timepicker.defaults=m},"object"===("undefined"==typeof exports?"undefined":e(exports))&&exports&&"object"===("undefined"==typeof module?"undefined":e(module))&&module&&module.exports===exports?c(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],c):c(jQuery)}();
|