empower-container 0.1.25 → 0.1.26
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +378 -378
- package/dist/cjs/DatetimeFormatter.d.ts +3 -3
- package/dist/cjs/DatetimeFormatter.js +389 -389
- package/dist/cjs/Information.d.ts +10 -10
- package/dist/cjs/Information.js +63 -63
- package/dist/cjs/MenuBar.d.ts +24 -24
- package/dist/cjs/MenuBar.js +539 -539
- package/dist/cjs/Modal.d.ts +33 -33
- package/dist/cjs/Modal.js +44 -44
- package/dist/cjs/assets/Asset.d.ts +17 -17
- package/dist/cjs/assets/Asset.js +31 -31
- package/dist/cjs/constants/Constant.d.ts +15 -15
- package/dist/cjs/constants/Constant.js +35 -35
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +10 -10
- package/dist/cjs/inputs/Input.d.ts +25 -25
- package/dist/cjs/inputs/Input.js +106 -106
- package/dist/cjs/inputs/InputSelectionHandler.d.ts +3 -3
- package/dist/cjs/inputs/InputSelectionHandler.js +36 -36
- package/dist/cjs/inputs/Select.d.ts +28 -28
- package/dist/cjs/inputs/Select.js +403 -403
- package/dist/esm/DatetimeFormatter.d.ts +3 -3
- package/dist/esm/DatetimeFormatter.js +385 -385
- package/dist/esm/Information.d.ts +10 -10
- package/dist/esm/Information.js +38 -38
- package/dist/esm/MenuBar.d.ts +24 -24
- package/dist/esm/MenuBar.js +534 -534
- package/dist/esm/Modal.d.ts +33 -33
- package/dist/esm/Modal.js +39 -39
- package/dist/esm/assets/Asset.d.ts +17 -17
- package/dist/esm/assets/Asset.js +28 -28
- package/dist/esm/constants/Constant.d.ts +15 -15
- package/dist/esm/constants/Constant.js +32 -32
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +3 -3
- package/dist/esm/inputs/Input.d.ts +25 -25
- package/dist/esm/inputs/Input.js +104 -104
- package/dist/esm/inputs/InputSelectionHandler.d.ts +3 -3
- package/dist/esm/inputs/InputSelectionHandler.js +31 -31
- package/dist/esm/inputs/Select.d.ts +28 -28
- package/dist/esm/inputs/Select.js +399 -399
- package/dist/scss/components/_modal.scss +66 -66
- package/dist/scss/elements/_button.scss +132 -132
- package/dist/scss/elements/_index.scss +1 -1
- package/dist/scss/elements/_popover.scss +163 -8
- package/dist/scss/foundation/_colors.scss +59 -59
- package/dist/scss/foundation/_mixins.scss +40 -40
- package/dist/scss/foundation/_normalize.scss +203 -203
- package/dist/scss/foundation/_settings.scss +36 -36
- package/dist/scss/foundation/_typography.scss +94 -94
- package/dist/scss/library/_information.scss +72 -72
- package/dist/scss/library/_input.scss +37 -37
- package/dist/scss/library/_menubar.scss +244 -241
- package/dist/scss/library/_select.scss +254 -258
- package/dist/scss/style.scss +38 -38
- package/package.json +64 -63
- package/tscnofig.old +26 -26
@@ -1,389 +1,389 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getUTCFullTime = void 0;
|
4
|
-
/* eslint-disable no-useless-concat */
|
5
|
-
var daysWeekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
6
|
-
var daysWeekNamesFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sat'];
|
7
|
-
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
8
|
-
var monthNamesFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
9
|
-
var addZero = function (i) {
|
10
|
-
var num;
|
11
|
-
if (i < 10) {
|
12
|
-
num = "0" + i;
|
13
|
-
}
|
14
|
-
return num;
|
15
|
-
};
|
16
|
-
var getUTCFullTime = function (d) {
|
17
|
-
if (Object.prototype.toString.call(d) === '[object Date]') {
|
18
|
-
var h = addZero(d.getUTCHours());
|
19
|
-
var m = addZero(d.getUTCMinutes());
|
20
|
-
var s = addZero(d.getUTCSeconds());
|
21
|
-
return h + ":" + m + ":" + s;
|
22
|
-
}
|
23
|
-
else {
|
24
|
-
return '';
|
25
|
-
}
|
26
|
-
};
|
27
|
-
exports.getUTCFullTime = getUTCFullTime;
|
28
|
-
var datetimeFormatter = function (timestamp, format, todayServer, type, getServerTime, dateOnly) {
|
29
|
-
if (format === void 0) { format = "datetime"; }
|
30
|
-
if (todayServer === void 0) { todayServer = null; }
|
31
|
-
if (type === void 0) { type = null; }
|
32
|
-
if (getServerTime === void 0) { getServerTime = false; }
|
33
|
-
if (dateOnly === void 0) { dateOnly = false; }
|
34
|
-
try {
|
35
|
-
var iosDate = void 0;
|
36
|
-
if (timestamp && (timestamp.constructor === String || timestamp.constructor === Date || (timestamp.constructor === Object && timestamp.dateTimeStamp))) {
|
37
|
-
var date = null;
|
38
|
-
var arrayDate = [];
|
39
|
-
todayServer = todayServer && todayServer.constructor === String ? todayServer.replace('+00', '') : null;
|
40
|
-
if (type === 'time') {
|
41
|
-
timestamp = '2021-01-01 ' + timestamp; //add date when the passed timestamp is time only and the desired format is time (use to fix NaN return)
|
42
|
-
}
|
43
|
-
if (timestamp === "today") {
|
44
|
-
date = new Date();
|
45
|
-
}
|
46
|
-
else {
|
47
|
-
if (timestamp && timestamp.constructor === String) {
|
48
|
-
timestamp = timestamp.replace('+00', ''); //removing unnecessary gmt from backend as the time is already in ph
|
49
|
-
arrayDate = timestamp.split(/[- :.]/);
|
50
|
-
}
|
51
|
-
else if (timestamp.constructor === Object && timestamp.dateTimeStamp && timestamp.source && timestamp.source === "v3") {
|
52
|
-
// this will be used if the datetime from api is set to UTC already
|
53
|
-
timestamp = timestamp.dateTimeStamp; //removing unnecessary gmt from backend as the time is already in ph
|
54
|
-
arrayDate = timestamp.split(/[- :.]/);
|
55
|
-
}
|
56
|
-
if (arrayDate.length === 3) {
|
57
|
-
iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3]);
|
58
|
-
}
|
59
|
-
else if (arrayDate.length >= 5 && arrayDate.length <= 8) {
|
60
|
-
iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3], arrayDate[4], arrayDate[5]);
|
61
|
-
}
|
62
|
-
else if (arrayDate.length >= 9) {
|
63
|
-
// new implementation for safari and for the node datetime
|
64
|
-
iosDate = new Date(arrayDate[0] + " " + arrayDate[1] + " " + arrayDate[2] + " " + arrayDate[3] + " " + arrayDate[4] + ":" + arrayDate[5] + ":" + arrayDate[6] + " GMT");
|
65
|
-
}
|
66
|
-
else {
|
67
|
-
iosDate = new Date(timestamp);
|
68
|
-
}
|
69
|
-
//checking if the function used the getServerTime
|
70
|
-
if (getServerTime) {
|
71
|
-
date = new Date(timestamp);
|
72
|
-
}
|
73
|
-
else {
|
74
|
-
if (dateOnly) {
|
75
|
-
date = new Date(timestamp).toLocaleString('en-US', { timeZone: 'GMT' }); //making the date picked as the default gmt so that the new date wont adjust by timezone
|
76
|
-
date = new Date(date);
|
77
|
-
}
|
78
|
-
else {
|
79
|
-
var currentTz = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
80
|
-
date = new Date(timestamp).toLocaleString('en-US', { timeZone: currentTz }); //making the date picked as the default gmt so that the new date wont adjust by timezone
|
81
|
-
date = new Date(date);
|
82
|
-
}
|
83
|
-
}
|
84
|
-
// for firefox
|
85
|
-
if (date) {
|
86
|
-
var splitTimeStampBySpace = timestamp.split(' ');
|
87
|
-
if (splitTimeStampBySpace.length === 2) {
|
88
|
-
if (isNaN(parseInt(splitTimeStampBySpace[0])) && splitTimeStampBySpace[1]) {
|
89
|
-
date = new Date("".concat(splitTimeStampBySpace[0], " 01, ").concat(splitTimeStampBySpace[1]));
|
90
|
-
}
|
91
|
-
}
|
92
|
-
}
|
93
|
-
}
|
94
|
-
if ((date && date.toString() !== 'Invalid Date') || (iosDate && iosDate.toString() !== 'Invalid Date')) {
|
95
|
-
//get DATE
|
96
|
-
var dayName = daysWeekNames[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
|
97
|
-
var dayNameFull = daysWeekNamesFull[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
|
98
|
-
var dayDate = ("0" + (isNaN(date.getDate()) ? iosDate.getDate() : date.getDate())).slice(-2);
|
99
|
-
var monthName = monthNames[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
|
100
|
-
var monthNameFull = monthNamesFull[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
|
101
|
-
var year = isNaN(date.getFullYear()) ? iosDate.getFullYear() : date.getFullYear();
|
102
|
-
var MonthNumeric = ("0" + (isNaN(date.getMonth()) ? (iosDate.getMonth() + 1) : (date.getMonth() + 1))).slice(-2);
|
103
|
-
var firstDay = new Date(year, isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth(), 1);
|
104
|
-
var lastDay = new Date(year, (isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()) + 1, 0);
|
105
|
-
var monthFirstDay = ("0" + firstDay.getDate()).slice(-2);
|
106
|
-
var monthLastDay = ("0" + lastDay.getDate()).slice(-2);
|
107
|
-
//get TIME
|
108
|
-
var hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
|
109
|
-
var minutes = isNaN(date.getMinutes()) ? iosDate.getMinutes() : date.getMinutes();
|
110
|
-
var seconds = isNaN(date.getSeconds()) ? iosDate.getSeconds() : date.getSeconds();
|
111
|
-
var ampm = hours >= 12 ? 'PM' : 'AM';
|
112
|
-
hours = hours % 12;
|
113
|
-
hours = hours ? hours : 12; // the hour '0' should be '12'
|
114
|
-
minutes = minutes < 10 ? '0' + minutes : minutes;
|
115
|
-
seconds = seconds < 10 ? '0' + seconds : seconds;
|
116
|
-
var strTime = hours + ':' + minutes + ' ' + ampm;
|
117
|
-
var today = new Date();
|
118
|
-
if (todayServer !== null) {
|
119
|
-
today = new Date(todayServer);
|
120
|
-
}
|
121
|
-
var todayTS = Math.round((today).getTime() / 1000);
|
122
|
-
var dateTS = Math.round((date).getTime() / 1000);
|
123
|
-
var newFormat = null;
|
124
|
-
switch (format) {
|
125
|
-
case "datetime":
|
126
|
-
// Mon, 01 Jan 2020 at 12:00PM
|
127
|
-
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
|
128
|
-
break;
|
129
|
-
case "datetime-no-day":
|
130
|
-
// 01 Jan 2020 at 12:00PM
|
131
|
-
newFormat = dayDate + " " + monthName + " " + year + " at " + strTime;
|
132
|
-
break;
|
133
|
-
case "date":
|
134
|
-
// Mon, 01 Jan 2020
|
135
|
-
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year;
|
136
|
-
break;
|
137
|
-
case "momentsAgo":
|
138
|
-
var diff = 0;
|
139
|
-
var diffMinute = 0;
|
140
|
-
if (todayTS >= dateTS) {
|
141
|
-
//check if 24hours has been passed
|
142
|
-
if (todayTS >= (dateTS + 86400)) {
|
143
|
-
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
|
144
|
-
}
|
145
|
-
else {
|
146
|
-
//check if hour has been passed
|
147
|
-
if (todayTS >= dateTS + 3600) {
|
148
|
-
diff = todayTS - dateTS;
|
149
|
-
if (diff === 0) {
|
150
|
-
newFormat = "An hour ago";
|
151
|
-
}
|
152
|
-
var diffHour_1 = diff / 3600;
|
153
|
-
diffHour_1 = ~~diffHour_1;
|
154
|
-
newFormat = diffHour_1 === 1 ? "An hour ago" : diffHour_1 + " hours ago";
|
155
|
-
}
|
156
|
-
else {
|
157
|
-
//check if a minute has been passed
|
158
|
-
if (todayTS >= dateTS + 60) {
|
159
|
-
diff = todayTS - dateTS;
|
160
|
-
if (diff === 0) {
|
161
|
-
newFormat = "A minute ago";
|
162
|
-
}
|
163
|
-
diffMinute = diff / 60;
|
164
|
-
diffMinute = ~~diffMinute;
|
165
|
-
newFormat = diffMinute === 1 ? "A minute ago" : diffMinute + " minutes ago";
|
166
|
-
}
|
167
|
-
else {
|
168
|
-
var diff_1 = todayTS - dateTS;
|
169
|
-
if (diff_1 === 0 || diff_1 <= 10) {
|
170
|
-
newFormat = "Few seconds ago";
|
171
|
-
}
|
172
|
-
else {
|
173
|
-
newFormat = "Few seconds ago";
|
174
|
-
}
|
175
|
-
}
|
176
|
-
}
|
177
|
-
}
|
178
|
-
}
|
179
|
-
else {
|
180
|
-
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
|
181
|
-
}
|
182
|
-
break;
|
183
|
-
case "momentsAgoConvo":
|
184
|
-
var diffHour = 0;
|
185
|
-
if (todayTS >= dateTS) {
|
186
|
-
//check if 24hours has been passed
|
187
|
-
if (todayTS >= (dateTS + 86400)) {
|
188
|
-
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
|
189
|
-
}
|
190
|
-
else {
|
191
|
-
//check if hour has been passed
|
192
|
-
if (todayTS >= dateTS + 3600) {
|
193
|
-
var diff_2 = todayTS - dateTS;
|
194
|
-
if (diff_2 === 0) {
|
195
|
-
newFormat = "An hour ago";
|
196
|
-
}
|
197
|
-
diffHour = diff_2 / 3600;
|
198
|
-
diffHour = ~~diffHour;
|
199
|
-
newFormat = diffHour === 1 ? "An hour ago" : diffHour + " hours ago";
|
200
|
-
}
|
201
|
-
else {
|
202
|
-
//check if a minute has been passed
|
203
|
-
if (todayTS >= dateTS + 60) {
|
204
|
-
var diff_3 = todayTS - dateTS;
|
205
|
-
if (diff_3 === 0) {
|
206
|
-
newFormat = "A minute ago";
|
207
|
-
}
|
208
|
-
var diffMinute_1 = diff_3 / 60;
|
209
|
-
diffMinute_1 = ~~diffMinute_1;
|
210
|
-
newFormat = diffMinute_1 === 1 ? "A minute ago" : diffMinute_1 + " minutes ago";
|
211
|
-
}
|
212
|
-
else {
|
213
|
-
var diff_4 = todayTS - dateTS;
|
214
|
-
if (diff_4 === 0 || diff_4 <= 10) {
|
215
|
-
newFormat = "Few moments ago";
|
216
|
-
}
|
217
|
-
else {
|
218
|
-
newFormat = "Few seconds ago";
|
219
|
-
}
|
220
|
-
}
|
221
|
-
}
|
222
|
-
}
|
223
|
-
}
|
224
|
-
else {
|
225
|
-
//Mon, 01 Jan 2020 (PH)
|
226
|
-
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
|
227
|
-
}
|
228
|
-
break;
|
229
|
-
case "momentsAgoClimax":
|
230
|
-
if (todayTS >= dateTS) {
|
231
|
-
//check if 24hours has been passed
|
232
|
-
if (todayTS >= (dateTS + 86400)) {
|
233
|
-
var diff_5 = todayTS - dateTS;
|
234
|
-
if (diff_5 === 0) {
|
235
|
-
newFormat = "1 day";
|
236
|
-
}
|
237
|
-
var diffDay = diff_5 / 86400;
|
238
|
-
diffDay = ~~diffDay;
|
239
|
-
newFormat = diffDay === 1 ? "1 day" : diffDay + " days";
|
240
|
-
}
|
241
|
-
else {
|
242
|
-
newFormat = "0 day";
|
243
|
-
}
|
244
|
-
}
|
245
|
-
else {
|
246
|
-
newFormat = "0 day";
|
247
|
-
}
|
248
|
-
break;
|
249
|
-
case "inquiry-date-standard":
|
250
|
-
newFormat = dayDate + " " + monthName + " " + year;
|
251
|
-
//10 Feb 2021
|
252
|
-
break;
|
253
|
-
case "date-standard":
|
254
|
-
newFormat = year + "-" + MonthNumeric + "-" + dayDate;
|
255
|
-
//2021-02-10
|
256
|
-
break;
|
257
|
-
case "datetime-standard":
|
258
|
-
newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' ' + date.getHours() + ':' + date.getMinutes();
|
259
|
-
//2021-02-10 15:49
|
260
|
-
break;
|
261
|
-
case "start-of-Week":
|
262
|
-
//calculating the first day of the week
|
263
|
-
var startWeekD = new Date(date);
|
264
|
-
var startWeekDay = startWeekD.getDay(), startWeekDiff = startWeekD.getDate() - startWeekDay;
|
265
|
-
var startWeekDayNewDate = new Date(startWeekD.setDate(startWeekDiff));
|
266
|
-
var startWeekMonthName = monthNames[startWeekDayNewDate.getMonth()];
|
267
|
-
var startWeekDayDate = ("0" + startWeekDayNewDate.getDate()).slice(-2);
|
268
|
-
var startWeekYear = startWeekDayNewDate.getFullYear();
|
269
|
-
newFormat = startWeekMonthName + " " + startWeekDayDate + ", " + startWeekYear;
|
270
|
-
//Feb 07, 2021
|
271
|
-
break;
|
272
|
-
case "end-of-Week":
|
273
|
-
var endWeekD = new Date(date);
|
274
|
-
var endWeekDay = endWeekD.getDay(), endWeekDiff = endWeekD.getDate() - endWeekDay + 6;
|
275
|
-
var endWeekDayNewDate = new Date(endWeekD.setDate(endWeekDiff));
|
276
|
-
var endWeekMonthName = monthNames[endWeekDayNewDate.getMonth()];
|
277
|
-
var endWeekDayDate = ("0" + endWeekDayNewDate.getDate()).slice(-2);
|
278
|
-
var endWeekYear = endWeekDayNewDate.getFullYear();
|
279
|
-
newFormat = endWeekMonthName + " " + endWeekDayDate + ", " + endWeekYear;
|
280
|
-
//Feb 13, 2021
|
281
|
-
break;
|
282
|
-
case "full-year":
|
283
|
-
newFormat = year;
|
284
|
-
//2021
|
285
|
-
break;
|
286
|
-
case "full-month":
|
287
|
-
newFormat = monthNameFull;
|
288
|
-
//February
|
289
|
-
break;
|
290
|
-
case "month-year":
|
291
|
-
newFormat = monthName.substring(0, 3) + " " + year;
|
292
|
-
//Feb 2021
|
293
|
-
break;
|
294
|
-
case "full-month-year":
|
295
|
-
newFormat = monthNameFull + " " + year;
|
296
|
-
//February 2021
|
297
|
-
break;
|
298
|
-
case "datetime-format-forPosting":
|
299
|
-
var forPostingDay = String(date.getUTCDate());
|
300
|
-
if (forPostingDay.length === 1) {
|
301
|
-
forPostingDay = "0" + forPostingDay;
|
302
|
-
}
|
303
|
-
newFormat = date.getUTCFullYear() + '-' + addZero(date.getUTCMonth() + 1) + '-' + forPostingDay + 'T' + (0, exports.getUTCFullTime)(date) + 'Z';
|
304
|
-
//2021-02-10T07:57:05Z
|
305
|
-
break;
|
306
|
-
case "month-day-year":
|
307
|
-
newFormat = monthNameFull + " " + dayDate + ", " + year;
|
308
|
-
//February 10, 2021
|
309
|
-
break;
|
310
|
-
case "time":
|
311
|
-
newFormat = strTime;
|
312
|
-
//3:58 PM
|
313
|
-
break;
|
314
|
-
case "month-numeric":
|
315
|
-
newFormat = addZero(date.getUTCMonth() + 1);
|
316
|
-
//02
|
317
|
-
break;
|
318
|
-
case "month-shortName":
|
319
|
-
newFormat = monthName.substring(0, 3);
|
320
|
-
//Feb
|
321
|
-
break;
|
322
|
-
case "day-numeric":
|
323
|
-
newFormat = date.getUTCDate();
|
324
|
-
//10
|
325
|
-
break;
|
326
|
-
case "day-calendar":
|
327
|
-
newFormat = dayDate;
|
328
|
-
//10
|
329
|
-
break;
|
330
|
-
case "month-first-date":
|
331
|
-
newFormat = year + "-" + MonthNumeric + "-" + monthFirstDay;
|
332
|
-
break;
|
333
|
-
case "month-last-date":
|
334
|
-
newFormat = year + "-" + MonthNumeric + "-" + monthLastDay;
|
335
|
-
break;
|
336
|
-
case "day-name":
|
337
|
-
newFormat = dayName;
|
338
|
-
break;
|
339
|
-
case "day-name-full":
|
340
|
-
newFormat = dayNameFull;
|
341
|
-
break;
|
342
|
-
case 'month-day':
|
343
|
-
newFormat = MonthNumeric + '-' + dayDate;
|
344
|
-
break;
|
345
|
-
case 'date-without-year':
|
346
|
-
newFormat = dayName + ", " + monthName + " " + dayDate;
|
347
|
-
break;
|
348
|
-
case "time-standard":
|
349
|
-
var h = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
|
350
|
-
var hour = h < 10 ? '0' + h : h;
|
351
|
-
newFormat = hour + ':' + minutes;
|
352
|
-
// 15:30
|
353
|
-
break;
|
354
|
-
case 'notif-date':
|
355
|
-
// 01-Jan-2020
|
356
|
-
newFormat = dayDate + "-" + monthName + "-" + year;
|
357
|
-
break;
|
358
|
-
case 'year-month':
|
359
|
-
newFormat = year + "-" + MonthNumeric;
|
360
|
-
break;
|
361
|
-
case "datetime-utc":
|
362
|
-
newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' 00:00:00+00';
|
363
|
-
//2021-02-10 00:00:00+00
|
364
|
-
break;
|
365
|
-
case 'datetime-file-format':
|
366
|
-
hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
|
367
|
-
hours = hours < 10 ? '0' + hours : hours;
|
368
|
-
newFormat = year + "-" + "".concat(MonthNumeric) + "".concat(date.getUTCDate()) + "".concat(hours) + "".concat(minutes) + "".concat(seconds) + "".concat('1');
|
369
|
-
break;
|
370
|
-
default:
|
371
|
-
newFormat = "";
|
372
|
-
break;
|
373
|
-
}
|
374
|
-
return newFormat;
|
375
|
-
}
|
376
|
-
else {
|
377
|
-
return "";
|
378
|
-
}
|
379
|
-
}
|
380
|
-
else {
|
381
|
-
return "";
|
382
|
-
}
|
383
|
-
}
|
384
|
-
catch (error) {
|
385
|
-
console.error(error, 'Invalid input. Please check helpers (datetimeFormatter).');
|
386
|
-
return "";
|
387
|
-
}
|
388
|
-
};
|
389
|
-
exports.default = datetimeFormatter;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getUTCFullTime = void 0;
|
4
|
+
/* eslint-disable no-useless-concat */
|
5
|
+
var daysWeekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
6
|
+
var daysWeekNamesFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sat'];
|
7
|
+
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
8
|
+
var monthNamesFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
9
|
+
var addZero = function (i) {
|
10
|
+
var num;
|
11
|
+
if (i < 10) {
|
12
|
+
num = "0" + i;
|
13
|
+
}
|
14
|
+
return num;
|
15
|
+
};
|
16
|
+
var getUTCFullTime = function (d) {
|
17
|
+
if (Object.prototype.toString.call(d) === '[object Date]') {
|
18
|
+
var h = addZero(d.getUTCHours());
|
19
|
+
var m = addZero(d.getUTCMinutes());
|
20
|
+
var s = addZero(d.getUTCSeconds());
|
21
|
+
return h + ":" + m + ":" + s;
|
22
|
+
}
|
23
|
+
else {
|
24
|
+
return '';
|
25
|
+
}
|
26
|
+
};
|
27
|
+
exports.getUTCFullTime = getUTCFullTime;
|
28
|
+
var datetimeFormatter = function (timestamp, format, todayServer, type, getServerTime, dateOnly) {
|
29
|
+
if (format === void 0) { format = "datetime"; }
|
30
|
+
if (todayServer === void 0) { todayServer = null; }
|
31
|
+
if (type === void 0) { type = null; }
|
32
|
+
if (getServerTime === void 0) { getServerTime = false; }
|
33
|
+
if (dateOnly === void 0) { dateOnly = false; }
|
34
|
+
try {
|
35
|
+
var iosDate = void 0;
|
36
|
+
if (timestamp && (timestamp.constructor === String || timestamp.constructor === Date || (timestamp.constructor === Object && timestamp.dateTimeStamp))) {
|
37
|
+
var date = null;
|
38
|
+
var arrayDate = [];
|
39
|
+
todayServer = todayServer && todayServer.constructor === String ? todayServer.replace('+00', '') : null;
|
40
|
+
if (type === 'time') {
|
41
|
+
timestamp = '2021-01-01 ' + timestamp; //add date when the passed timestamp is time only and the desired format is time (use to fix NaN return)
|
42
|
+
}
|
43
|
+
if (timestamp === "today") {
|
44
|
+
date = new Date();
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
if (timestamp && timestamp.constructor === String) {
|
48
|
+
timestamp = timestamp.replace('+00', ''); //removing unnecessary gmt from backend as the time is already in ph
|
49
|
+
arrayDate = timestamp.split(/[- :.]/);
|
50
|
+
}
|
51
|
+
else if (timestamp.constructor === Object && timestamp.dateTimeStamp && timestamp.source && timestamp.source === "v3") {
|
52
|
+
// this will be used if the datetime from api is set to UTC already
|
53
|
+
timestamp = timestamp.dateTimeStamp; //removing unnecessary gmt from backend as the time is already in ph
|
54
|
+
arrayDate = timestamp.split(/[- :.]/);
|
55
|
+
}
|
56
|
+
if (arrayDate.length === 3) {
|
57
|
+
iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3]);
|
58
|
+
}
|
59
|
+
else if (arrayDate.length >= 5 && arrayDate.length <= 8) {
|
60
|
+
iosDate = new Date(arrayDate[0], arrayDate[1] - 1, arrayDate[2], arrayDate[3], arrayDate[4], arrayDate[5]);
|
61
|
+
}
|
62
|
+
else if (arrayDate.length >= 9) {
|
63
|
+
// new implementation for safari and for the node datetime
|
64
|
+
iosDate = new Date(arrayDate[0] + " " + arrayDate[1] + " " + arrayDate[2] + " " + arrayDate[3] + " " + arrayDate[4] + ":" + arrayDate[5] + ":" + arrayDate[6] + " GMT");
|
65
|
+
}
|
66
|
+
else {
|
67
|
+
iosDate = new Date(timestamp);
|
68
|
+
}
|
69
|
+
//checking if the function used the getServerTime
|
70
|
+
if (getServerTime) {
|
71
|
+
date = new Date(timestamp);
|
72
|
+
}
|
73
|
+
else {
|
74
|
+
if (dateOnly) {
|
75
|
+
date = new Date(timestamp).toLocaleString('en-US', { timeZone: 'GMT' }); //making the date picked as the default gmt so that the new date wont adjust by timezone
|
76
|
+
date = new Date(date);
|
77
|
+
}
|
78
|
+
else {
|
79
|
+
var currentTz = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
80
|
+
date = new Date(timestamp).toLocaleString('en-US', { timeZone: currentTz }); //making the date picked as the default gmt so that the new date wont adjust by timezone
|
81
|
+
date = new Date(date);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
// for firefox
|
85
|
+
if (date) {
|
86
|
+
var splitTimeStampBySpace = timestamp.split(' ');
|
87
|
+
if (splitTimeStampBySpace.length === 2) {
|
88
|
+
if (isNaN(parseInt(splitTimeStampBySpace[0])) && splitTimeStampBySpace[1]) {
|
89
|
+
date = new Date("".concat(splitTimeStampBySpace[0], " 01, ").concat(splitTimeStampBySpace[1]));
|
90
|
+
}
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
if ((date && date.toString() !== 'Invalid Date') || (iosDate && iosDate.toString() !== 'Invalid Date')) {
|
95
|
+
//get DATE
|
96
|
+
var dayName = daysWeekNames[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
|
97
|
+
var dayNameFull = daysWeekNamesFull[isNaN(date.getDay()) ? iosDate.getDay() : date.getDay()];
|
98
|
+
var dayDate = ("0" + (isNaN(date.getDate()) ? iosDate.getDate() : date.getDate())).slice(-2);
|
99
|
+
var monthName = monthNames[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
|
100
|
+
var monthNameFull = monthNamesFull[isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()];
|
101
|
+
var year = isNaN(date.getFullYear()) ? iosDate.getFullYear() : date.getFullYear();
|
102
|
+
var MonthNumeric = ("0" + (isNaN(date.getMonth()) ? (iosDate.getMonth() + 1) : (date.getMonth() + 1))).slice(-2);
|
103
|
+
var firstDay = new Date(year, isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth(), 1);
|
104
|
+
var lastDay = new Date(year, (isNaN(date.getMonth()) ? iosDate.getMonth() : date.getMonth()) + 1, 0);
|
105
|
+
var monthFirstDay = ("0" + firstDay.getDate()).slice(-2);
|
106
|
+
var monthLastDay = ("0" + lastDay.getDate()).slice(-2);
|
107
|
+
//get TIME
|
108
|
+
var hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
|
109
|
+
var minutes = isNaN(date.getMinutes()) ? iosDate.getMinutes() : date.getMinutes();
|
110
|
+
var seconds = isNaN(date.getSeconds()) ? iosDate.getSeconds() : date.getSeconds();
|
111
|
+
var ampm = hours >= 12 ? 'PM' : 'AM';
|
112
|
+
hours = hours % 12;
|
113
|
+
hours = hours ? hours : 12; // the hour '0' should be '12'
|
114
|
+
minutes = minutes < 10 ? '0' + minutes : minutes;
|
115
|
+
seconds = seconds < 10 ? '0' + seconds : seconds;
|
116
|
+
var strTime = hours + ':' + minutes + ' ' + ampm;
|
117
|
+
var today = new Date();
|
118
|
+
if (todayServer !== null) {
|
119
|
+
today = new Date(todayServer);
|
120
|
+
}
|
121
|
+
var todayTS = Math.round((today).getTime() / 1000);
|
122
|
+
var dateTS = Math.round((date).getTime() / 1000);
|
123
|
+
var newFormat = null;
|
124
|
+
switch (format) {
|
125
|
+
case "datetime":
|
126
|
+
// Mon, 01 Jan 2020 at 12:00PM
|
127
|
+
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
|
128
|
+
break;
|
129
|
+
case "datetime-no-day":
|
130
|
+
// 01 Jan 2020 at 12:00PM
|
131
|
+
newFormat = dayDate + " " + monthName + " " + year + " at " + strTime;
|
132
|
+
break;
|
133
|
+
case "date":
|
134
|
+
// Mon, 01 Jan 2020
|
135
|
+
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year;
|
136
|
+
break;
|
137
|
+
case "momentsAgo":
|
138
|
+
var diff = 0;
|
139
|
+
var diffMinute = 0;
|
140
|
+
if (todayTS >= dateTS) {
|
141
|
+
//check if 24hours has been passed
|
142
|
+
if (todayTS >= (dateTS + 86400)) {
|
143
|
+
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
|
144
|
+
}
|
145
|
+
else {
|
146
|
+
//check if hour has been passed
|
147
|
+
if (todayTS >= dateTS + 3600) {
|
148
|
+
diff = todayTS - dateTS;
|
149
|
+
if (diff === 0) {
|
150
|
+
newFormat = "An hour ago";
|
151
|
+
}
|
152
|
+
var diffHour_1 = diff / 3600;
|
153
|
+
diffHour_1 = ~~diffHour_1;
|
154
|
+
newFormat = diffHour_1 === 1 ? "An hour ago" : diffHour_1 + " hours ago";
|
155
|
+
}
|
156
|
+
else {
|
157
|
+
//check if a minute has been passed
|
158
|
+
if (todayTS >= dateTS + 60) {
|
159
|
+
diff = todayTS - dateTS;
|
160
|
+
if (diff === 0) {
|
161
|
+
newFormat = "A minute ago";
|
162
|
+
}
|
163
|
+
diffMinute = diff / 60;
|
164
|
+
diffMinute = ~~diffMinute;
|
165
|
+
newFormat = diffMinute === 1 ? "A minute ago" : diffMinute + " minutes ago";
|
166
|
+
}
|
167
|
+
else {
|
168
|
+
var diff_1 = todayTS - dateTS;
|
169
|
+
if (diff_1 === 0 || diff_1 <= 10) {
|
170
|
+
newFormat = "Few seconds ago";
|
171
|
+
}
|
172
|
+
else {
|
173
|
+
newFormat = "Few seconds ago";
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
}
|
178
|
+
}
|
179
|
+
else {
|
180
|
+
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime;
|
181
|
+
}
|
182
|
+
break;
|
183
|
+
case "momentsAgoConvo":
|
184
|
+
var diffHour = 0;
|
185
|
+
if (todayTS >= dateTS) {
|
186
|
+
//check if 24hours has been passed
|
187
|
+
if (todayTS >= (dateTS + 86400)) {
|
188
|
+
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
|
189
|
+
}
|
190
|
+
else {
|
191
|
+
//check if hour has been passed
|
192
|
+
if (todayTS >= dateTS + 3600) {
|
193
|
+
var diff_2 = todayTS - dateTS;
|
194
|
+
if (diff_2 === 0) {
|
195
|
+
newFormat = "An hour ago";
|
196
|
+
}
|
197
|
+
diffHour = diff_2 / 3600;
|
198
|
+
diffHour = ~~diffHour;
|
199
|
+
newFormat = diffHour === 1 ? "An hour ago" : diffHour + " hours ago";
|
200
|
+
}
|
201
|
+
else {
|
202
|
+
//check if a minute has been passed
|
203
|
+
if (todayTS >= dateTS + 60) {
|
204
|
+
var diff_3 = todayTS - dateTS;
|
205
|
+
if (diff_3 === 0) {
|
206
|
+
newFormat = "A minute ago";
|
207
|
+
}
|
208
|
+
var diffMinute_1 = diff_3 / 60;
|
209
|
+
diffMinute_1 = ~~diffMinute_1;
|
210
|
+
newFormat = diffMinute_1 === 1 ? "A minute ago" : diffMinute_1 + " minutes ago";
|
211
|
+
}
|
212
|
+
else {
|
213
|
+
var diff_4 = todayTS - dateTS;
|
214
|
+
if (diff_4 === 0 || diff_4 <= 10) {
|
215
|
+
newFormat = "Few moments ago";
|
216
|
+
}
|
217
|
+
else {
|
218
|
+
newFormat = "Few seconds ago";
|
219
|
+
}
|
220
|
+
}
|
221
|
+
}
|
222
|
+
}
|
223
|
+
}
|
224
|
+
else {
|
225
|
+
//Mon, 01 Jan 2020 (PH)
|
226
|
+
newFormat = dayName + ", " + dayDate + " " + monthName + " " + year + " at " + strTime + " (PH)";
|
227
|
+
}
|
228
|
+
break;
|
229
|
+
case "momentsAgoClimax":
|
230
|
+
if (todayTS >= dateTS) {
|
231
|
+
//check if 24hours has been passed
|
232
|
+
if (todayTS >= (dateTS + 86400)) {
|
233
|
+
var diff_5 = todayTS - dateTS;
|
234
|
+
if (diff_5 === 0) {
|
235
|
+
newFormat = "1 day";
|
236
|
+
}
|
237
|
+
var diffDay = diff_5 / 86400;
|
238
|
+
diffDay = ~~diffDay;
|
239
|
+
newFormat = diffDay === 1 ? "1 day" : diffDay + " days";
|
240
|
+
}
|
241
|
+
else {
|
242
|
+
newFormat = "0 day";
|
243
|
+
}
|
244
|
+
}
|
245
|
+
else {
|
246
|
+
newFormat = "0 day";
|
247
|
+
}
|
248
|
+
break;
|
249
|
+
case "inquiry-date-standard":
|
250
|
+
newFormat = dayDate + " " + monthName + " " + year;
|
251
|
+
//10 Feb 2021
|
252
|
+
break;
|
253
|
+
case "date-standard":
|
254
|
+
newFormat = year + "-" + MonthNumeric + "-" + dayDate;
|
255
|
+
//2021-02-10
|
256
|
+
break;
|
257
|
+
case "datetime-standard":
|
258
|
+
newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' ' + date.getHours() + ':' + date.getMinutes();
|
259
|
+
//2021-02-10 15:49
|
260
|
+
break;
|
261
|
+
case "start-of-Week":
|
262
|
+
//calculating the first day of the week
|
263
|
+
var startWeekD = new Date(date);
|
264
|
+
var startWeekDay = startWeekD.getDay(), startWeekDiff = startWeekD.getDate() - startWeekDay;
|
265
|
+
var startWeekDayNewDate = new Date(startWeekD.setDate(startWeekDiff));
|
266
|
+
var startWeekMonthName = monthNames[startWeekDayNewDate.getMonth()];
|
267
|
+
var startWeekDayDate = ("0" + startWeekDayNewDate.getDate()).slice(-2);
|
268
|
+
var startWeekYear = startWeekDayNewDate.getFullYear();
|
269
|
+
newFormat = startWeekMonthName + " " + startWeekDayDate + ", " + startWeekYear;
|
270
|
+
//Feb 07, 2021
|
271
|
+
break;
|
272
|
+
case "end-of-Week":
|
273
|
+
var endWeekD = new Date(date);
|
274
|
+
var endWeekDay = endWeekD.getDay(), endWeekDiff = endWeekD.getDate() - endWeekDay + 6;
|
275
|
+
var endWeekDayNewDate = new Date(endWeekD.setDate(endWeekDiff));
|
276
|
+
var endWeekMonthName = monthNames[endWeekDayNewDate.getMonth()];
|
277
|
+
var endWeekDayDate = ("0" + endWeekDayNewDate.getDate()).slice(-2);
|
278
|
+
var endWeekYear = endWeekDayNewDate.getFullYear();
|
279
|
+
newFormat = endWeekMonthName + " " + endWeekDayDate + ", " + endWeekYear;
|
280
|
+
//Feb 13, 2021
|
281
|
+
break;
|
282
|
+
case "full-year":
|
283
|
+
newFormat = year;
|
284
|
+
//2021
|
285
|
+
break;
|
286
|
+
case "full-month":
|
287
|
+
newFormat = monthNameFull;
|
288
|
+
//February
|
289
|
+
break;
|
290
|
+
case "month-year":
|
291
|
+
newFormat = monthName.substring(0, 3) + " " + year;
|
292
|
+
//Feb 2021
|
293
|
+
break;
|
294
|
+
case "full-month-year":
|
295
|
+
newFormat = monthNameFull + " " + year;
|
296
|
+
//February 2021
|
297
|
+
break;
|
298
|
+
case "datetime-format-forPosting":
|
299
|
+
var forPostingDay = String(date.getUTCDate());
|
300
|
+
if (forPostingDay.length === 1) {
|
301
|
+
forPostingDay = "0" + forPostingDay;
|
302
|
+
}
|
303
|
+
newFormat = date.getUTCFullYear() + '-' + addZero(date.getUTCMonth() + 1) + '-' + forPostingDay + 'T' + (0, exports.getUTCFullTime)(date) + 'Z';
|
304
|
+
//2021-02-10T07:57:05Z
|
305
|
+
break;
|
306
|
+
case "month-day-year":
|
307
|
+
newFormat = monthNameFull + " " + dayDate + ", " + year;
|
308
|
+
//February 10, 2021
|
309
|
+
break;
|
310
|
+
case "time":
|
311
|
+
newFormat = strTime;
|
312
|
+
//3:58 PM
|
313
|
+
break;
|
314
|
+
case "month-numeric":
|
315
|
+
newFormat = addZero(date.getUTCMonth() + 1);
|
316
|
+
//02
|
317
|
+
break;
|
318
|
+
case "month-shortName":
|
319
|
+
newFormat = monthName.substring(0, 3);
|
320
|
+
//Feb
|
321
|
+
break;
|
322
|
+
case "day-numeric":
|
323
|
+
newFormat = date.getUTCDate();
|
324
|
+
//10
|
325
|
+
break;
|
326
|
+
case "day-calendar":
|
327
|
+
newFormat = dayDate;
|
328
|
+
//10
|
329
|
+
break;
|
330
|
+
case "month-first-date":
|
331
|
+
newFormat = year + "-" + MonthNumeric + "-" + monthFirstDay;
|
332
|
+
break;
|
333
|
+
case "month-last-date":
|
334
|
+
newFormat = year + "-" + MonthNumeric + "-" + monthLastDay;
|
335
|
+
break;
|
336
|
+
case "day-name":
|
337
|
+
newFormat = dayName;
|
338
|
+
break;
|
339
|
+
case "day-name-full":
|
340
|
+
newFormat = dayNameFull;
|
341
|
+
break;
|
342
|
+
case 'month-day':
|
343
|
+
newFormat = MonthNumeric + '-' + dayDate;
|
344
|
+
break;
|
345
|
+
case 'date-without-year':
|
346
|
+
newFormat = dayName + ", " + monthName + " " + dayDate;
|
347
|
+
break;
|
348
|
+
case "time-standard":
|
349
|
+
var h = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
|
350
|
+
var hour = h < 10 ? '0' + h : h;
|
351
|
+
newFormat = hour + ':' + minutes;
|
352
|
+
// 15:30
|
353
|
+
break;
|
354
|
+
case 'notif-date':
|
355
|
+
// 01-Jan-2020
|
356
|
+
newFormat = dayDate + "-" + monthName + "-" + year;
|
357
|
+
break;
|
358
|
+
case 'year-month':
|
359
|
+
newFormat = year + "-" + MonthNumeric;
|
360
|
+
break;
|
361
|
+
case "datetime-utc":
|
362
|
+
newFormat = year + "-" + MonthNumeric + "-" + dayDate + ' 00:00:00+00';
|
363
|
+
//2021-02-10 00:00:00+00
|
364
|
+
break;
|
365
|
+
case 'datetime-file-format':
|
366
|
+
hours = isNaN(date.getHours()) ? iosDate.getHours() : date.getHours();
|
367
|
+
hours = hours < 10 ? '0' + hours : hours;
|
368
|
+
newFormat = year + "-" + "".concat(MonthNumeric) + "".concat(date.getUTCDate()) + "".concat(hours) + "".concat(minutes) + "".concat(seconds) + "".concat('1');
|
369
|
+
break;
|
370
|
+
default:
|
371
|
+
newFormat = "";
|
372
|
+
break;
|
373
|
+
}
|
374
|
+
return newFormat;
|
375
|
+
}
|
376
|
+
else {
|
377
|
+
return "";
|
378
|
+
}
|
379
|
+
}
|
380
|
+
else {
|
381
|
+
return "";
|
382
|
+
}
|
383
|
+
}
|
384
|
+
catch (error) {
|
385
|
+
console.error(error, 'Invalid input. Please check helpers (datetimeFormatter).');
|
386
|
+
return "";
|
387
|
+
}
|
388
|
+
};
|
389
|
+
exports.default = datetimeFormatter;
|