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 getTimeUnitPrintStr(unit) {
|
31 | var _a;
|
32 | var timeUnitToPrintstr = (_a = {},
|
33 | _a[TimeUnit.HOUR_24] = "hours (24hr clock)",
|
34 | _a[TimeUnit.HOUR_12] = "hours (12hr clock)",
|
35 | _a[TimeUnit.MINUTE] = "minutes",
|
36 | _a[TimeUnit.SECOND] = "seconds",
|
37 | _a[TimeUnit.MS] = "milliseconds",
|
38 | _a);
|
39 | return timeUnitToPrintstr[unit];
|
40 | }
|
41 |
|
42 | export function getTimeUnit(unit, date) {
|
43 | switch (unit) {
|
44 | case TimeUnit.HOUR_24:
|
45 | return date.getHours();
|
46 | case TimeUnit.HOUR_12:
|
47 | return get12HourFrom24Hour(date.getHours());
|
48 | case TimeUnit.MINUTE:
|
49 | return date.getMinutes();
|
50 | case TimeUnit.SECOND:
|
51 | return date.getSeconds();
|
52 | case TimeUnit.MS:
|
53 | return date.getMilliseconds();
|
54 | default:
|
55 | throw Error("Invalid TimeUnit");
|
56 | }
|
57 | }
|
58 |
|
59 | export function setTimeUnit(unit, time, date, isPm) {
|
60 | switch (unit) {
|
61 | case TimeUnit.HOUR_24:
|
62 | date.setHours(time);
|
63 | break;
|
64 | case TimeUnit.HOUR_12:
|
65 | date.setHours(get24HourFrom12Hour(time, isPm));
|
66 | break;
|
67 | case TimeUnit.MINUTE:
|
68 | date.setMinutes(time);
|
69 | break;
|
70 | case TimeUnit.SECOND:
|
71 | date.setSeconds(time);
|
72 | break;
|
73 | case TimeUnit.MS:
|
74 | date.setMilliseconds(time);
|
75 | break;
|
76 | default:
|
77 | throw Error("Invalid TimeUnit");
|
78 | }
|
79 | return date;
|
80 | }
|
81 |
|
82 | export function isTimeUnitValid(unit, time) {
|
83 | return time != null && !isNaN(time) && getTimeUnitMin(unit) <= time && time <= getTimeUnitMax(unit);
|
84 | }
|
85 |
|
86 | export function wrapTimeAtUnit(unit, time) {
|
87 | var max = getTimeUnitMax(unit);
|
88 | var min = getTimeUnitMin(unit);
|
89 | if (time > max) {
|
90 | return min;
|
91 | }
|
92 | else if (time < min) {
|
93 | return max;
|
94 | }
|
95 | return time;
|
96 | }
|
97 | export function getTimeUnitClassName(unit) {
|
98 | return TimeUnitMetadata[unit].className;
|
99 | }
|
100 | export function getTimeUnitMax(unit) {
|
101 | return TimeUnitMetadata[unit].max;
|
102 | }
|
103 | export function getTimeUnitMin(unit) {
|
104 | return TimeUnitMetadata[unit].min;
|
105 | }
|
106 | export function getDefaultMinTime() {
|
107 | return new Date(0, 0, 0, DEFAULT_MIN_HOUR, DEFAULT_MIN_MINUTE, DEFAULT_MIN_SECOND, DEFAULT_MIN_MILLISECOND);
|
108 | }
|
109 | export function getDefaultMaxTime() {
|
110 | return new Date(0, 0, 0, DEFAULT_MAX_HOUR, DEFAULT_MAX_MINUTE, DEFAULT_MAX_SECOND, DEFAULT_MAX_MILLISECOND);
|
111 | }
|
112 | var DEFAULT_MIN_HOUR = 0;
|
113 | var MERIDIEM_MIN_HOUR = 1;
|
114 | var DEFAULT_MIN_MINUTE = 0;
|
115 | var DEFAULT_MIN_SECOND = 0;
|
116 | var DEFAULT_MIN_MILLISECOND = 0;
|
117 | var DEFAULT_MAX_HOUR = 23;
|
118 | var MERIDIEM_MAX_HOUR = 12;
|
119 | var DEFAULT_MAX_MINUTE = 59;
|
120 | var DEFAULT_MAX_SECOND = 59;
|
121 | var DEFAULT_MAX_MILLISECOND = 999;
|
122 |
|
123 |
|
124 |
|
125 |
|
126 | var TimeUnitMetadata = (_a = {},
|
127 | _a[TimeUnit.HOUR_24] = {
|
128 | className: Classes.TIMEPICKER_HOUR,
|
129 | max: DEFAULT_MAX_HOUR,
|
130 | min: DEFAULT_MIN_HOUR,
|
131 | },
|
132 | _a[TimeUnit.HOUR_12] = {
|
133 | className: Classes.TIMEPICKER_HOUR,
|
134 | max: MERIDIEM_MAX_HOUR,
|
135 | min: MERIDIEM_MIN_HOUR,
|
136 | },
|
137 | _a[TimeUnit.MINUTE] = {
|
138 | className: Classes.TIMEPICKER_MINUTE,
|
139 | max: DEFAULT_MAX_MINUTE,
|
140 | min: DEFAULT_MIN_MINUTE,
|
141 | },
|
142 | _a[TimeUnit.SECOND] = {
|
143 | className: Classes.TIMEPICKER_SECOND,
|
144 | max: DEFAULT_MAX_SECOND,
|
145 | min: DEFAULT_MIN_SECOND,
|
146 | },
|
147 | _a[TimeUnit.MS] = {
|
148 | className: Classes.TIMEPICKER_MILLISECOND,
|
149 | max: DEFAULT_MAX_MILLISECOND,
|
150 | min: DEFAULT_MIN_MILLISECOND,
|
151 | },
|
152 | _a);
|
153 |
|
\ | No newline at end of file |