1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 | var _a;
|
17 | import * as Classes from "./classes";
|
18 | import { get12HourFrom24Hour, get24HourFrom12Hour } from "./dateUtils";
|
19 |
|
20 | export var TimeUnit;
|
21 | (function (TimeUnit) {
|
22 |
|
23 | TimeUnit["HOUR_24"] = "hour24";
|
24 | TimeUnit["HOUR_12"] = "hour12";
|
25 | TimeUnit["MINUTE"] = "minute";
|
26 | TimeUnit["SECOND"] = "second";
|
27 | TimeUnit["MS"] = "ms";
|
28 | })(TimeUnit || (TimeUnit = {}));
|
29 |
|
30 | export function getTimeUnit(unit, date) {
|
31 | switch (unit) {
|
32 | case TimeUnit.HOUR_24:
|
33 | return date.getHours();
|
34 | case TimeUnit.HOUR_12:
|
35 | return get12HourFrom24Hour(date.getHours());
|
36 | case TimeUnit.MINUTE:
|
37 | return date.getMinutes();
|
38 | case TimeUnit.SECOND:
|
39 | return date.getSeconds();
|
40 | case TimeUnit.MS:
|
41 | return date.getMilliseconds();
|
42 | default:
|
43 | throw Error("Invalid TimeUnit");
|
44 | }
|
45 | }
|
46 |
|
47 | export function setTimeUnit(unit, time, date, isPm) {
|
48 | switch (unit) {
|
49 | case TimeUnit.HOUR_24:
|
50 | date.setHours(time);
|
51 | break;
|
52 | case TimeUnit.HOUR_12:
|
53 | date.setHours(get24HourFrom12Hour(time, isPm));
|
54 | break;
|
55 | case TimeUnit.MINUTE:
|
56 | date.setMinutes(time);
|
57 | break;
|
58 | case TimeUnit.SECOND:
|
59 | date.setSeconds(time);
|
60 | break;
|
61 | case TimeUnit.MS:
|
62 | date.setMilliseconds(time);
|
63 | break;
|
64 | default:
|
65 | throw Error("Invalid TimeUnit");
|
66 | }
|
67 | return date;
|
68 | }
|
69 |
|
70 | export function isTimeUnitValid(unit, time) {
|
71 | return time != null && !isNaN(time) && getTimeUnitMin(unit) <= time && time <= getTimeUnitMax(unit);
|
72 | }
|
73 |
|
74 | export function wrapTimeAtUnit(unit, time) {
|
75 | var max = getTimeUnitMax(unit);
|
76 | var min = getTimeUnitMin(unit);
|
77 | if (time > max) {
|
78 | return min;
|
79 | }
|
80 | else if (time < min) {
|
81 | return max;
|
82 | }
|
83 | return time;
|
84 | }
|
85 | export function getTimeUnitClassName(unit) {
|
86 | return TimeUnitMetadata[unit].className;
|
87 | }
|
88 | export function getTimeUnitMax(unit) {
|
89 | return TimeUnitMetadata[unit].max;
|
90 | }
|
91 | export function getTimeUnitMin(unit) {
|
92 | return TimeUnitMetadata[unit].min;
|
93 | }
|
94 | export function getDefaultMinTime() {
|
95 | return new Date(0, 0, 0, DEFAULT_MIN_HOUR, DEFAULT_MIN_MINUTE, DEFAULT_MIN_SECOND, DEFAULT_MIN_MILLISECOND);
|
96 | }
|
97 | export function getDefaultMaxTime() {
|
98 | return new Date(0, 0, 0, DEFAULT_MAX_HOUR, DEFAULT_MAX_MINUTE, DEFAULT_MAX_SECOND, DEFAULT_MAX_MILLISECOND);
|
99 | }
|
100 | var DEFAULT_MIN_HOUR = 0;
|
101 | var MERIDIEM_MIN_HOUR = 1;
|
102 | var DEFAULT_MIN_MINUTE = 0;
|
103 | var DEFAULT_MIN_SECOND = 0;
|
104 | var DEFAULT_MIN_MILLISECOND = 0;
|
105 | var DEFAULT_MAX_HOUR = 23;
|
106 | var MERIDIEM_MAX_HOUR = 12;
|
107 | var DEFAULT_MAX_MINUTE = 59;
|
108 | var DEFAULT_MAX_SECOND = 59;
|
109 | var DEFAULT_MAX_MILLISECOND = 999;
|
110 |
|
111 |
|
112 |
|
113 |
|
114 | var TimeUnitMetadata = (_a = {},
|
115 | _a[TimeUnit.HOUR_24] = {
|
116 | className: Classes.TIMEPICKER_HOUR,
|
117 | max: DEFAULT_MAX_HOUR,
|
118 | min: DEFAULT_MIN_HOUR,
|
119 | },
|
120 | _a[TimeUnit.HOUR_12] = {
|
121 | className: Classes.TIMEPICKER_HOUR,
|
122 | max: MERIDIEM_MAX_HOUR,
|
123 | min: MERIDIEM_MIN_HOUR,
|
124 | },
|
125 | _a[TimeUnit.MINUTE] = {
|
126 | className: Classes.TIMEPICKER_MINUTE,
|
127 | max: DEFAULT_MAX_MINUTE,
|
128 | min: DEFAULT_MIN_MINUTE,
|
129 | },
|
130 | _a[TimeUnit.SECOND] = {
|
131 | className: Classes.TIMEPICKER_SECOND,
|
132 | max: DEFAULT_MAX_SECOND,
|
133 | min: DEFAULT_MIN_SECOND,
|
134 | },
|
135 | _a[TimeUnit.MS] = {
|
136 | className: Classes.TIMEPICKER_MILLISECOND,
|
137 | max: DEFAULT_MAX_MILLISECOND,
|
138 | min: DEFAULT_MIN_MILLISECOND,
|
139 | },
|
140 | _a);
|
141 |
|
\ | No newline at end of file |