@seafile/seafile-calendar 0.0.29-gzc32 → 0.0.29-prop3.2
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/dist/rc-calendar.js +395 -458
- package/dist/rc-calendar.js.map +1 -1
- package/dist/rc-calendar.min.js +1 -1
- package/es/Calendar.js +3 -4
- package/es/Picker.js +0 -2
- package/es/calendar/CalendarRightPanel.js +2 -2
- package/es/date/DateInput.js +15 -58
- package/es/util/index.js +342 -366
- package/lib/Calendar.js +3 -4
- package/lib/Picker.js +0 -2
- package/lib/calendar/CalendarRightPanel.js +1 -1
- package/lib/date/DateInput.js +15 -57
- package/lib/util/index.js +349 -375
- package/package.json +1 -1
package/lib/util/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
exports.DATE_FORMATS = exports.currentTime = exports.stringCurrentMonth = exports.stringCurrentDate = exports.currentYear = exports.currentMonth = exports.currentDate = undefined;
|
4
|
+
exports.isLeapYear = exports.DATE_FORMATS = exports.currentTime = exports.stringCurrentMonth = exports.stringCurrentDate = exports.currentYear = exports.currentMonth = exports.currentDate = undefined;
|
5
5
|
|
6
6
|
var _extends2 = require('babel-runtime/helpers/extends');
|
7
7
|
|
@@ -17,17 +17,15 @@ exports.isTimeValidByConfig = isTimeValidByConfig;
|
|
17
17
|
exports.isTimeValid = isTimeValid;
|
18
18
|
exports.isAllowedDate = isAllowedDate;
|
19
19
|
exports.formatDate = formatDate;
|
20
|
-
exports.
|
20
|
+
exports.validateCalendarDay = validateCalendarDay;
|
21
|
+
exports.tokenizeFormattedDate = tokenizeFormattedDate;
|
21
22
|
exports.hasSpecialChar = hasSpecialChar;
|
22
|
-
exports.isValidMonth = isValidMonth;
|
23
|
-
exports.isValidDay = isValidDay;
|
24
|
-
exports.fullValidYear = fullValidYear;
|
25
|
-
exports.delimate = delimate;
|
26
|
-
exports.getDateFormatByStr = getDateFormatByStr;
|
27
|
-
exports.isCurrentYear = isCurrentYear;
|
28
23
|
exports.validateTime = validateTime;
|
29
|
-
exports.
|
30
|
-
exports.
|
24
|
+
exports.delimate = delimate;
|
25
|
+
exports.validateCalendarYear = validateCalendarYear;
|
26
|
+
exports.validateCalendarDayAndMonth = validateCalendarDayAndMonth;
|
27
|
+
exports.getDatePart = getDatePart;
|
28
|
+
exports.initializeStr = initializeStr;
|
31
29
|
|
32
30
|
var _dayjs = require('dayjs');
|
33
31
|
|
@@ -158,7 +156,28 @@ function formatDate(value, format) {
|
|
158
156
|
return value.format(format);
|
159
157
|
}
|
160
158
|
|
161
|
-
function
|
159
|
+
function validateCalendarDay(dayStr) {
|
160
|
+
if (!/^\d+$/.test(dayStr)) return false;
|
161
|
+
var day = Number(dayStr);
|
162
|
+
if ([1, 3, 5, 7, 8, 10, 12].includes(currentMonth)) {
|
163
|
+
return day >= 1 && day <= 31;
|
164
|
+
}
|
165
|
+
if ([4, 6, 9, 11].includes(currentMonth)) {
|
166
|
+
return day >= 1 && day <= 30;
|
167
|
+
}
|
168
|
+
if (currentMonth === 2) {
|
169
|
+
var _isLeapYear = function _isLeapYear(year) {
|
170
|
+
return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
171
|
+
};
|
172
|
+
var year = currentYear;
|
173
|
+
if (_isLeapYear(year)) {
|
174
|
+
return day >= 1 && day <= 29;
|
175
|
+
}
|
176
|
+
return day >= 1 && day <= 28;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
180
|
+
function tokenizeFormattedDate(formatStr, format) {
|
162
181
|
var str = formatStr || '';
|
163
182
|
var cleanStr = void 0;
|
164
183
|
switch (format) {
|
@@ -186,38 +205,37 @@ function hasSpecialChar(str) {
|
|
186
205
|
return matches ? matches.length : 0;
|
187
206
|
}
|
188
207
|
|
189
|
-
function
|
190
|
-
if (typeof
|
191
|
-
|
192
|
-
var month = Number(monthStr);
|
193
|
-
if (month >= 1 && month <= 12) {
|
194
|
-
return monthStr;
|
208
|
+
function validateTime(inputTime) {
|
209
|
+
if (!inputTime || typeof inputTime !== 'string') {
|
210
|
+
return currentTime;
|
195
211
|
}
|
196
|
-
|
197
|
-
}
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
var day = Number(dayStr);
|
202
|
-
if ([1, 3, 5, 7, 8, 10, 12].includes(currentMonth)) {
|
203
|
-
return day >= 1 && day <= 31;
|
212
|
+
var trimmed = inputTime.trim();
|
213
|
+
var timeRegex = /^(\d{2}):(\d{2})$/;
|
214
|
+
var match = trimmed.match(timeRegex);
|
215
|
+
if (!match) {
|
216
|
+
return currentTime;
|
204
217
|
}
|
205
|
-
|
206
|
-
|
218
|
+
var hour = Number(match[1]);
|
219
|
+
var minute = Number(match[2]);
|
220
|
+
if (hour > 23 || minute > 59) {
|
221
|
+
return currentTime;
|
207
222
|
}
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
223
|
+
return match[1] + ':' + match[2];
|
224
|
+
}
|
225
|
+
|
226
|
+
function delimate(format) {
|
227
|
+
var delimiter = void 0;
|
228
|
+
if (format === DATE_FORMATS.Germany_Russia_etc || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
229
|
+
delimiter = '.';
|
230
|
+
} else if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
231
|
+
delimiter = '-';
|
232
|
+
} else {
|
233
|
+
delimiter = '/';
|
217
234
|
}
|
235
|
+
return delimiter;
|
218
236
|
}
|
219
237
|
|
220
|
-
function
|
238
|
+
function validateCalendarYear(yearStr) {
|
221
239
|
var year = yearStr;
|
222
240
|
if (!year || isNaN(year)) return currentYear;
|
223
241
|
if (year.length === 2) {
|
@@ -233,95 +251,45 @@ function fullValidYear(yearStr) {
|
|
233
251
|
return year ? year.padStart(4, '0') : currentYear;
|
234
252
|
}
|
235
253
|
|
236
|
-
function
|
237
|
-
|
238
|
-
|
239
|
-
delimiter = '.';
|
240
|
-
} else if (formatPrefix === DATE_FORMATS.ISO || formatPrefix === DATE_FORMATS.ISOAndTime) {
|
241
|
-
delimiter = '-';
|
242
|
-
} else {
|
243
|
-
delimiter = '/';
|
244
|
-
}
|
245
|
-
return delimiter;
|
246
|
-
}
|
254
|
+
var isLeapYear = exports.isLeapYear = function isLeapYear(year) {
|
255
|
+
return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
256
|
+
};
|
247
257
|
|
248
|
-
function
|
249
|
-
var
|
250
|
-
var
|
251
|
-
var
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
if (
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
return DATE_FORMATS.USAndTime;
|
264
|
-
}
|
265
|
-
if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
|
266
|
-
var day = parts[0],
|
267
|
-
month = parts[1];
|
268
|
-
|
269
|
-
var dayLen = day.length;
|
270
|
-
var monthLen = month.length;
|
271
|
-
if (dayLen === 2 && monthLen === 2) {
|
272
|
-
return 'DD' + delimiter + 'MM' + delimiter + 'YYYY';
|
273
|
-
} else if (dayLen === 2 && monthLen === 1) {
|
274
|
-
return 'DD' + delimiter + 'M' + delimiter + 'YYYY';
|
275
|
-
} else if (dayLen === 1 && monthLen === 2) {
|
276
|
-
return 'D' + delimiter + 'MM' + delimiter + 'YYYY';
|
277
|
-
} else if (dayLen === 1 && monthLen === 1) {
|
278
|
-
return 'D' + delimiter + 'M' + delimiter + 'YYYY';
|
279
|
-
}
|
280
|
-
}
|
281
|
-
if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
282
|
-
var _day = parts[0],
|
283
|
-
_month = parts[1];
|
284
|
-
|
285
|
-
var _dayLen = _day.length;
|
286
|
-
var _monthLen = _month.length;
|
287
|
-
if (_dayLen === 2 && _monthLen === 2) {
|
288
|
-
return 'DD' + delimiter + 'MM' + delimiter + 'YYYY HH:mm';
|
289
|
-
} else if (_dayLen === 2 && _monthLen === 1) {
|
290
|
-
return 'DD' + delimiter + 'M' + delimiter + 'YYYY HH:mm';
|
291
|
-
} else if (_dayLen === 1 && _monthLen === 2) {
|
292
|
-
return 'D' + delimiter + 'MM' + delimiter + 'YYYY HH:mm';
|
293
|
-
} else if (_dayLen === 1 && _monthLen === 1) {
|
294
|
-
return 'D' + delimiter + 'M' + delimiter + 'YYYY HH:mm';
|
295
|
-
}
|
258
|
+
function validateCalendarDayAndMonth(dayStr, monthStr, yearStr) {
|
259
|
+
var day = Number(dayStr);
|
260
|
+
var month = Number(monthStr);
|
261
|
+
var year = yearStr;
|
262
|
+
var isInThirtyOneDaysMonths = [1, 3, 5, 7, 8, 10, 12].includes(month);
|
263
|
+
var isInThirtyDaysMonths = [4, 6, 9, 11].includes(month);
|
264
|
+
var isValidDayThirtyOne = day < 1 || day > 31;
|
265
|
+
var isValidDayThirty = day < 1 || day > 30;
|
266
|
+
var isValidDayTwentyNight = day < 1 || day > 29;
|
267
|
+
var isValidDayTwentyEight = day < 1 || day > 28;
|
268
|
+
|
269
|
+
if (month > 12 || month < 0 || !month) {
|
270
|
+
day = currentDate;
|
271
|
+
month = currentMonth;
|
272
|
+
year = currentYear;
|
296
273
|
}
|
297
|
-
return format;
|
298
|
-
}
|
299
|
-
|
300
|
-
function isCurrentYear(year, month, day) {
|
301
|
-
return Number(month) >= 1 && Number(month) <= 12 && Number(day) >= 1 && Number(day) <= 31 ? year : currentYear; // eslint-disable-line max-len
|
302
|
-
}
|
303
274
|
|
304
|
-
|
305
|
-
|
306
|
-
|
275
|
+
if (isInThirtyOneDaysMonths && isValidDayThirtyOne || isInThirtyDaysMonths && isValidDayThirty) {
|
276
|
+
day = currentDate;
|
277
|
+
month = currentMonth;
|
278
|
+
year = currentYear;
|
307
279
|
}
|
308
|
-
var trimmed = inputTime.trim();
|
309
|
-
var timeRegex = /^(\d{2}):(\d{2})$/;
|
310
|
-
var match = trimmed.match(timeRegex);
|
311
|
-
if (!match) {
|
312
|
-
return currentTime;
|
313
|
-
}
|
314
|
-
var hour = Number(match[1]);
|
315
|
-
var minute = Number(match[2]);
|
316
|
-
if (hour > 23 || minute > 59) {
|
317
|
-
return currentTime;
|
318
|
-
}
|
319
|
-
return match[1] + ':' + match[2];
|
320
|
-
}
|
321
280
|
|
322
|
-
|
323
|
-
|
324
|
-
|
281
|
+
if (month === 2) {
|
282
|
+
if (isLeapYear(year) && isValidDayTwentyNight) {
|
283
|
+
day = currentDate;
|
284
|
+
month = currentMonth;
|
285
|
+
year = currentYear;
|
286
|
+
} else if (isValidDayTwentyEight) {
|
287
|
+
day = currentDate;
|
288
|
+
month = currentMonth;
|
289
|
+
year = currentYear;
|
290
|
+
}
|
291
|
+
}
|
292
|
+
return { day: day, month: month, year: year };
|
325
293
|
}
|
326
294
|
|
327
295
|
function getDatePart(str) {
|
@@ -330,272 +298,278 @@ function getDatePart(str) {
|
|
330
298
|
return parts[0];
|
331
299
|
}
|
332
300
|
|
333
|
-
function
|
334
|
-
var
|
335
|
-
var
|
336
|
-
var year = void 0;
|
301
|
+
function initializeStr(str, format) {
|
302
|
+
var inputStr = str;
|
303
|
+
var inputStrLength = inputStr.length;
|
337
304
|
var time = currentTime;
|
338
|
-
var
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
305
|
+
var hasSpecial = hasSpecialChar(inputStr);
|
306
|
+
var formattedArray = tokenizeFormattedDate(inputStr, format, DATE_FORMATS);
|
307
|
+
var dateDelimater = delimate(format);
|
308
|
+
if (format === DATE_FORMATS.ISO) {
|
309
|
+
var numStr = inputStr.replace(/[^0-9]/g, '');
|
310
|
+
if (numStr.length === 7 || numStr.length === 8) {
|
311
|
+
var yearStr = numStr.slice(0, 4);
|
312
|
+
var monthStr = numStr.slice(4, 6) || '01';
|
313
|
+
var dateStr = numStr.slice(6, numStr.length) || '01';
|
314
|
+
var validateYear = validateCalendarYear(yearStr);
|
315
|
+
|
316
|
+
var _validateCalendarDayA = validateCalendarDayAndMonth(dateStr, monthStr, validateYear),
|
317
|
+
day = _validateCalendarDayA.day,
|
318
|
+
month = _validateCalendarDayA.month;
|
319
|
+
|
320
|
+
var _validateCalendarDayA2 = validateCalendarDayAndMonth(dateStr, monthStr, validateYear),
|
321
|
+
year = _validateCalendarDayA2.year;
|
322
|
+
|
323
|
+
day = String(day).padStart(2, 0);
|
324
|
+
month = String(month).padStart(2, 0);
|
325
|
+
return '' + year + dateDelimater + month + dateDelimater + day;
|
350
326
|
}
|
351
327
|
if (hasSpecial) {
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
}
|
385
|
-
return year + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0'); // eslint-disable-line max-len
|
386
|
-
}
|
387
|
-
if (str.length === 8) {
|
388
|
-
if (!isValidDay(day)) {
|
389
|
-
return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate; // eslint-disable-line max-len
|
390
|
-
}
|
391
|
-
return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0'); // eslint-disable-line max-len
|
392
|
-
}
|
393
|
-
if (Number(month) >= 1 && Number(month) <= 12 && isValidDay(day)) {
|
394
|
-
return year + '-' + month.padStart(2, '0') + '-' + String(day).padStart(2, '0');
|
395
|
-
}
|
396
|
-
return year + '-' + (month ? month.padStart(2, '0') : '01') + '-' + (day ? String(day).padStart(2, '0') : '01'); // eslint-disable-line max-len
|
328
|
+
var _validateYear = validateCalendarYear(formattedArray[0]);
|
329
|
+
|
330
|
+
var _validateCalendarDayA3 = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear),
|
331
|
+
_day = _validateCalendarDayA3.day,
|
332
|
+
_month = _validateCalendarDayA3.month; // eslint-disable-line max-len
|
333
|
+
|
334
|
+
|
335
|
+
var _validateCalendarDayA4 = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear),
|
336
|
+
_year = _validateCalendarDayA4.year; // eslint-disable-line max-len
|
337
|
+
|
338
|
+
|
339
|
+
_day = String(_day).padStart(2, 0);
|
340
|
+
_month = String(_month).padStart(2, 0);
|
341
|
+
return '' + _year + dateDelimater + _month + dateDelimater + _day;
|
342
|
+
} else if (inputStrLength >= 1 && inputStrLength <= 8) {
|
343
|
+
var _yearStr = inputStr.slice(0, 4);
|
344
|
+
var _monthStr = inputStr.slice(4, 6) || '01';
|
345
|
+
var _dateStr = inputStr.slice(6, 8) || '01';
|
346
|
+
var _validateYear2 = validateCalendarYear(_yearStr);
|
347
|
+
|
348
|
+
var _validateCalendarDayA5 = validateCalendarDayAndMonth(_dateStr, _monthStr, _validateYear2),
|
349
|
+
_day2 = _validateCalendarDayA5.day,
|
350
|
+
_month2 = _validateCalendarDayA5.month;
|
351
|
+
|
352
|
+
var _validateCalendarDayA6 = validateCalendarDayAndMonth(_dateStr, _monthStr, _validateYear2),
|
353
|
+
_year2 = _validateCalendarDayA6.year;
|
354
|
+
|
355
|
+
_day2 = String(_day2).padStart(2, 0);
|
356
|
+
_month2 = String(_month2).padStart(2, 0);
|
357
|
+
return '' + _year2 + dateDelimater + _month2 + dateDelimater + _day2;
|
358
|
+
} else if (inputStrLength > 8) {
|
359
|
+
return '' + currentYear + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0); // eslint-disable-line max-len
|
397
360
|
}
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
var
|
402
|
-
var
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
361
|
+
} else if (format === DATE_FORMATS.ISOAndTime) {
|
362
|
+
var datePart = getDatePart(inputStr);
|
363
|
+
var formattedDateArray = tokenizeFormattedDate(datePart, format);
|
364
|
+
var isDateSpecial = hasSpecialChar(datePart);
|
365
|
+
var _numStr = datePart.replace(/[^0-9]/g, '');
|
366
|
+
if (_numStr.length === 7 || _numStr.length === 8) {
|
367
|
+
var _yearStr2 = _numStr.slice(0, 4);
|
368
|
+
var _monthStr2 = _numStr.slice(4, 6) || '01';
|
369
|
+
var _dateStr2 = _numStr.slice(6, _numStr.length) || '01';
|
370
|
+
if (formattedArray.length === 3) {
|
371
|
+
time = validateTime(formattedArray[1] + ':' + formattedArray[2]);
|
372
|
+
}
|
373
|
+
if (formattedArray.length === 4) {
|
374
|
+
time = validateTime(formattedArray[2] + ':' + formattedArray[3]);
|
375
|
+
}
|
376
|
+
if (formattedArray.length === 5) {
|
377
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
378
|
+
}
|
379
|
+
var _validateYear3 = validateCalendarYear(_yearStr2);
|
380
|
+
|
381
|
+
var _validateCalendarDayA7 = validateCalendarDayAndMonth(_dateStr2, _monthStr2, _validateYear3),
|
382
|
+
_day3 = _validateCalendarDayA7.day,
|
383
|
+
_month3 = _validateCalendarDayA7.month;
|
384
|
+
|
385
|
+
var _validateCalendarDayA8 = validateCalendarDayAndMonth(_dateStr2, _monthStr2, _validateYear3),
|
386
|
+
_year3 = _validateCalendarDayA8.year;
|
387
|
+
|
388
|
+
_day3 = String(_day3).padStart(2, 0);
|
389
|
+
_month3 = String(_month3).padStart(2, 0);
|
390
|
+
return '' + _year3 + dateDelimater + _month3 + dateDelimater + _day3 + ' ' + time;
|
422
391
|
}
|
423
|
-
if (
|
424
|
-
if (
|
425
|
-
|
426
|
-
}
|
427
|
-
year = fullValidYear(parts[0]);
|
428
|
-
month = Number(parts[1]);
|
429
|
-
day = Number(parts[2]);
|
430
|
-
time = validateTime(parts[3] + ':' + parts[4]);
|
431
|
-
if (month >= 1 && month <= 12) {
|
432
|
-
if (isValidDay(day)) {
|
433
|
-
return year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
|
434
|
-
}
|
435
|
-
return year + '-' + String(month).padStart(2, '0') + '-01 ' + time;
|
392
|
+
if (isDateSpecial) {
|
393
|
+
if (formattedDateArray.length < 3) {
|
394
|
+
formattedArray.splice(2, 0, '01');
|
436
395
|
}
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
396
|
+
var _validateYear4 = validateCalendarYear(formattedArray[0]);
|
397
|
+
|
398
|
+
var _validateCalendarDayA9 = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear4),
|
399
|
+
_day4 = _validateCalendarDayA9.day,
|
400
|
+
_month4 = _validateCalendarDayA9.month; // eslint-disable-line max-len
|
401
|
+
|
402
|
+
|
403
|
+
var _validateCalendarDayA10 = validateCalendarDayAndMonth(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear4),
|
404
|
+
_year4 = _validateCalendarDayA10.year; // eslint-disable-line max-len
|
405
|
+
|
406
|
+
|
407
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
408
|
+
_day4 = String(_day4).padStart(2, 0);
|
409
|
+
_month4 = String(_month4).padStart(2, 0);
|
410
|
+
return '' + _year4 + dateDelimater + _month4 + dateDelimater + _day4 + ' ' + time;
|
411
|
+
} else if (datePart.length >= 1 && datePart.length <= 8) {
|
412
|
+
var _yearStr3 = datePart.slice(0, 4);
|
413
|
+
var _monthStr3 = datePart.slice(4, 6) || '01';
|
414
|
+
var _dateStr3 = datePart.slice(6, 8) || '01';
|
415
|
+
var timeParts = tokenizeFormattedDate(inputStr, format);
|
452
416
|
time = validateTime(timeParts[1] + ':' + timeParts[2]);
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + stringCurrentDate + ' ' + time; // eslint-disable-line max-len
|
468
|
-
}
|
469
|
-
return isCurrentYear(year, month, day) + '-' + String(isValidMonth(month)).padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time; // eslint-disable-line max-len
|
470
|
-
}
|
471
|
-
if (Number(month) >= 1 && Number(month) <= 12 && isValidDay(day)) {
|
472
|
-
return year + '-' + month.padStart(2, '0') + '-' + String(day).padStart(2, '0') + ' ' + time;
|
473
|
-
}
|
474
|
-
return year + '-' + (month ? month.padStart(2, '0') : '01') + '-' + (day ? String(day).padStart(2, '0') : '01') + ' ' + time; // eslint-disable-line max-len
|
475
|
-
}
|
476
|
-
return currentYear + '/' + stringCurrentMonth + '/' + stringCurrentDate + ' ' + time;
|
477
|
-
}
|
478
|
-
if (localeFormat === DATE_FORMATS.US) {
|
479
|
-
var _hasSpecial2 = hasSpecialChar(str);
|
480
|
-
if (_hasSpecial2) {
|
481
|
-
month = Number(parts[0]);
|
482
|
-
day = Number(parts[1]);
|
483
|
-
year = fullValidYear(parts[2]);
|
484
|
-
if (month >= 1 && month <= 12 && isValidDay(day)) {
|
485
|
-
return month + '/' + day + '/' + year;
|
486
|
-
}
|
487
|
-
return currentMonth + '/' + currentDate + '/' + currentYear;
|
488
|
-
}
|
489
|
-
if (str.length >= 1 && str.length <= 8) {
|
490
|
-
month = Number(str.slice(0, 2));
|
491
|
-
day = Number(str.slice(2, 4));
|
492
|
-
year = fullValidYear(str.slice(4, str.length));
|
493
|
-
if (month >= 1 && month <= 12) {
|
494
|
-
if (isValidDay(day)) {
|
495
|
-
return month + '/' + day + '/' + year;
|
496
|
-
}
|
497
|
-
if (!day) {
|
498
|
-
return month + '/1/' + year;
|
499
|
-
}
|
500
|
-
return currentMonth + '/' + currentDate + '/' + currentYear;
|
501
|
-
}
|
502
|
-
}
|
503
|
-
return currentMonth + '/' + currentDate + '/' + currentYear;
|
504
|
-
}
|
505
|
-
if (localeFormat === DATE_FORMATS.USAndTime) {
|
506
|
-
var _unNormalDate = getDatePart(str);
|
507
|
-
var _unNormalDateParts = formatDateLocal(_unNormalDate, localeFormat, DATE_FORMATS);
|
508
|
-
var _hasSpecial3 = hasSpecialChar(_unNormalDate);
|
509
|
-
if (_hasSpecial3) {
|
510
|
-
if (_unNormalDateParts.length < 3) {
|
511
|
-
parts.splice(2, 0, String(currentYear));
|
512
|
-
}
|
513
|
-
month = Number(parts[0]);
|
514
|
-
day = Number(parts[1]);
|
515
|
-
year = fullValidYear(parts[2]);
|
516
|
-
time = validateTime(parts[3] + ':' + parts[4]);
|
517
|
-
if (month >= 1 && month <= 12 && isValidDay(day)) {
|
518
|
-
return month + '/' + day + '/' + year + ' ' + time;
|
519
|
-
}
|
520
|
-
return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
|
521
|
-
}
|
522
|
-
if (_unNormalDate.length >= 1 && _unNormalDate.length <= 8) {
|
523
|
-
month = Number(_unNormalDate.slice(0, 2));
|
524
|
-
day = Number(_unNormalDate.slice(2, 4));
|
525
|
-
year = fullValidYear(_unNormalDate.slice(4, _unNormalDate.length));
|
526
|
-
var _timeParts = formatDateLocal(str, localeFormat, DATE_FORMATS);
|
527
|
-
time = validateTime(_timeParts[1] + ':' + _timeParts[2]);
|
528
|
-
if (month >= 1 && month <= 12) {
|
529
|
-
if (isValidDay(day)) {
|
530
|
-
return month + '/' + day + '/' + year + ' ' + time;
|
531
|
-
}
|
532
|
-
if (!day) {
|
533
|
-
return month + '/1/' + year + ' ' + time;
|
534
|
-
}
|
535
|
-
return currentMonth + '/' + currentDate + '/' + currentYear + ' ' + time;
|
536
|
-
}
|
417
|
+
var _validateYear5 = validateCalendarYear(_yearStr3);
|
418
|
+
|
419
|
+
var _validateCalendarDayA11 = validateCalendarDayAndMonth(_dateStr3, _monthStr3, _validateYear5),
|
420
|
+
_day5 = _validateCalendarDayA11.day,
|
421
|
+
_month5 = _validateCalendarDayA11.month;
|
422
|
+
|
423
|
+
var _validateCalendarDayA12 = validateCalendarDayAndMonth(_dateStr3, _monthStr3, _validateYear5),
|
424
|
+
_year5 = _validateCalendarDayA12.year;
|
425
|
+
|
426
|
+
_day5 = String(_day5).padStart(2, 0);
|
427
|
+
_month5 = String(_month5).padStart(2, 0);
|
428
|
+
return '' + _year5 + dateDelimater + _month5 + dateDelimater + _day5 + ' ' + time;
|
429
|
+
} else if (datePart.length > 8) {
|
430
|
+
return '' + currentYear + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0) + ' ' + currentTime; // eslint-disable-line max-len
|
537
431
|
}
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
432
|
+
} else if (format === DATE_FORMATS.US) {
|
433
|
+
if (hasSpecial) {
|
434
|
+
var _validateYear6 = validateCalendarYear(formattedArray[2]);
|
435
|
+
|
436
|
+
var _validateCalendarDayA13 = validateCalendarDayAndMonth(formattedArray[1] || '1', formattedArray[0], _validateYear6),
|
437
|
+
_day6 = _validateCalendarDayA13.day,
|
438
|
+
_month6 = _validateCalendarDayA13.month,
|
439
|
+
_year6 = _validateCalendarDayA13.year; // eslint-disable-line max-len
|
440
|
+
|
441
|
+
|
442
|
+
return '' + _month6 + dateDelimater + _day6 + dateDelimater + _year6;
|
443
|
+
} else if (inputStrLength >= 1 && inputStrLength <= 8) {
|
444
|
+
var _monthStr4 = inputStr.slice(0, 2);
|
445
|
+
var _dateStr4 = inputStr.slice(2, 4) || '1';
|
446
|
+
var _yearStr4 = inputStr.slice(4, inputStr.length);
|
447
|
+
var _validateYear7 = validateCalendarYear(_yearStr4);
|
448
|
+
|
449
|
+
var _validateCalendarDayA14 = validateCalendarDayAndMonth(_dateStr4, _monthStr4, _validateYear7),
|
450
|
+
_day7 = _validateCalendarDayA14.day,
|
451
|
+
_month7 = _validateCalendarDayA14.month,
|
452
|
+
_year7 = _validateCalendarDayA14.year;
|
453
|
+
|
454
|
+
return '' + _month7 + dateDelimater + _day7 + dateDelimater + _year7; // eslint-disable-line max-len
|
455
|
+
} else if (inputStrLength > 8) {
|
456
|
+
return '' + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0) + dateDelimater + currentYear; // eslint-disable-line max-len
|
550
457
|
}
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
458
|
+
} else if (format === DATE_FORMATS.USAndTime) {
|
459
|
+
var _datePart = getDatePart(inputStr);
|
460
|
+
var _formattedDateArray = tokenizeFormattedDate(_datePart, format);
|
461
|
+
var _isDateSpecial = hasSpecialChar(_datePart);
|
462
|
+
if (_isDateSpecial) {
|
463
|
+
if (_formattedDateArray.length < 3) {
|
464
|
+
formattedArray.splice(2, 0, String(currentYear));
|
465
|
+
}
|
466
|
+
var _validateYear8 = validateCalendarYear(formattedArray[2]);
|
467
|
+
|
468
|
+
var _validateCalendarDayA15 = validateCalendarDayAndMonth(formattedArray[1] || '1', formattedArray[0], _validateYear8),
|
469
|
+
_day8 = _validateCalendarDayA15.day,
|
470
|
+
_month8 = _validateCalendarDayA15.month,
|
471
|
+
_year8 = _validateCalendarDayA15.year; // eslint-disable-line max-len
|
472
|
+
|
473
|
+
|
474
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
475
|
+
return '' + _month8 + dateDelimater + _day8 + dateDelimater + _year8 + ' ' + time;
|
476
|
+
} else if (_datePart.length >= 1 && _datePart.length <= 8) {
|
477
|
+
var _monthStr5 = _datePart.slice(0, 2);
|
478
|
+
var _dateStr5 = _datePart.slice(2, 4) || '1';
|
479
|
+
var _yearStr5 = _datePart.slice(4, _datePart.length);
|
480
|
+
var _validateYear9 = validateCalendarYear(_yearStr5); // eslint-disable-line max-len
|
481
|
+
|
482
|
+
var _validateCalendarDayA16 = validateCalendarDayAndMonth(_dateStr5, _monthStr5, _validateYear9),
|
483
|
+
_day9 = _validateCalendarDayA16.day,
|
484
|
+
_month9 = _validateCalendarDayA16.month,
|
485
|
+
_year9 = _validateCalendarDayA16.year;
|
486
|
+
|
487
|
+
var _timeParts = tokenizeFormattedDate(inputStr, format);
|
488
|
+
time = validateTime(_timeParts[1] + ':' + _timeParts[2]) || currentTime;
|
489
|
+
return '' + _month9 + dateDelimater + _day9 + dateDelimater + _year9 + ' ' + time;
|
490
|
+
} else if (_datePart.length > 8) {
|
491
|
+
return '' + String(currentMonth).padStart(2, 0) + dateDelimater + String(currentDate).padStart(2, 0) + dateDelimater + currentYear + ' ' + currentTime; // eslint-disable-line max-len
|
564
492
|
}
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
493
|
+
} else if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
|
494
|
+
if (hasSpecial) {
|
495
|
+
var _validateYear10 = validateCalendarYear(formattedArray[2]);
|
496
|
+
|
497
|
+
var _validateCalendarDayA17 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear10),
|
498
|
+
_day10 = _validateCalendarDayA17.day,
|
499
|
+
_month10 = _validateCalendarDayA17.month; // eslint-disable-line max-len
|
500
|
+
|
501
|
+
|
502
|
+
var _validateCalendarDayA18 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear10),
|
503
|
+
_year10 = _validateCalendarDayA18.year; // eslint-disable-line max-len
|
504
|
+
|
505
|
+
|
506
|
+
_day10 = String(_day10).padStart(2, 0);
|
507
|
+
_month10 = String(_month10).padStart(2, 0);
|
508
|
+
return '' + _day10 + dateDelimater + _month10 + dateDelimater + _year10;
|
509
|
+
} else if (inputStrLength >= 1 && inputStrLength <= 8) {
|
510
|
+
var _dateStr6 = inputStr.slice(0, 2);
|
511
|
+
var _monthStr6 = inputStr.slice(2, 4);
|
512
|
+
var _yearStr6 = inputStr.slice(4, inputStr.length);
|
513
|
+
var _validateYear11 = validateCalendarYear(_yearStr6);
|
514
|
+
|
515
|
+
var _validateCalendarDayA19 = validateCalendarDayAndMonth(_dateStr6, _monthStr6, _validateYear11),
|
516
|
+
_year11 = _validateCalendarDayA19.year; // eslint-disable-line max-len
|
517
|
+
|
518
|
+
|
519
|
+
var _validateCalendarDayA20 = validateCalendarDayAndMonth(_dateStr6, _monthStr6, _validateYear11),
|
520
|
+
_day11 = _validateCalendarDayA20.day,
|
521
|
+
_month11 = _validateCalendarDayA20.month; // eslint-disable-line max-len
|
522
|
+
|
523
|
+
|
524
|
+
_day11 = String(_day11).padStart(2, 0);
|
525
|
+
_month11 = String(_month11).padStart(2, 0);
|
526
|
+
return '' + _day11 + dateDelimater + _month11 + dateDelimater + _year11;
|
527
|
+
} else if (inputStrLength > 8) {
|
528
|
+
return '' + String(currentDate).padStart(2, 0) + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + currentYear; // eslint-disable-line max-len
|
583
529
|
}
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
530
|
+
} else if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
531
|
+
var _datePart2 = getDatePart(inputStr);
|
532
|
+
var _formattedDateArray2 = tokenizeFormattedDate(_datePart2, format);
|
533
|
+
var _isDateSpecial2 = hasSpecialChar(_datePart2);
|
534
|
+
if (_isDateSpecial2) {
|
535
|
+
if (_formattedDateArray2.length < 3) {
|
536
|
+
formattedArray.splice(2, 0, String(currentYear));
|
537
|
+
}
|
538
|
+
var _validateYear12 = validateCalendarYear(formattedArray[2]);
|
539
|
+
|
540
|
+
var _validateCalendarDayA21 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear12),
|
541
|
+
_day12 = _validateCalendarDayA21.day,
|
542
|
+
_month12 = _validateCalendarDayA21.month; // eslint-disable-line max-len
|
543
|
+
|
544
|
+
|
545
|
+
var _validateCalendarDayA22 = validateCalendarDayAndMonth(formattedArray[0], formattedArray[1], _validateYear12),
|
546
|
+
_year12 = _validateCalendarDayA22.year; // eslint-disable-line max-len
|
547
|
+
|
548
|
+
|
549
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
550
|
+
_day12 = String(_day12).padStart(2, 0);
|
551
|
+
_month12 = String(_month12).padStart(2, 0);
|
552
|
+
return '' + _day12 + dateDelimater + _month12 + dateDelimater + _year12 + ' ' + time;
|
553
|
+
} else if (_datePart2.length >= 1 && _datePart2.length <= 8) {
|
554
|
+
var _dateStr7 = _datePart2.slice(0, 2);
|
555
|
+
var _monthStr7 = _datePart2.slice(2, 4);
|
556
|
+
var _yearStr7 = _datePart2.slice(4, _datePart2.length);
|
557
|
+
var _timeParts2 = tokenizeFormattedDate(inputStr, format);
|
591
558
|
time = validateTime(_timeParts2[1] + ':' + _timeParts2[2]);
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
559
|
+
var _validateYear13 = validateCalendarYear(_yearStr7);
|
560
|
+
|
561
|
+
var _validateCalendarDayA23 = validateCalendarDayAndMonth(_dateStr7, _monthStr7, _validateYear13),
|
562
|
+
_day13 = _validateCalendarDayA23.day,
|
563
|
+
_month13 = _validateCalendarDayA23.month;
|
564
|
+
|
565
|
+
var _validateCalendarDayA24 = validateCalendarDayAndMonth(_dateStr7, _monthStr7, _validateYear13),
|
566
|
+
_year13 = _validateCalendarDayA24.year;
|
567
|
+
|
568
|
+
_day13 = String(_day13).padStart(2, 0);
|
569
|
+
_month13 = String(_month13).padStart(2, 0);
|
570
|
+
return '' + _day13 + dateDelimater + _month13 + dateDelimater + _year13 + ' ' + time;
|
571
|
+
} else if (_datePart2.length > 8) {
|
572
|
+
return '' + String(currentDate).padStart(2, 0) + dateDelimater + String(currentMonth).padStart(2, 0) + dateDelimater + currentYear + ' ' + currentTime; // eslint-disable-line max-len
|
598
573
|
}
|
599
|
-
return '' + currentDate + delimiter + currentMonth + delimiter + currentYear + ' ' + time;
|
600
574
|
}
|
601
575
|
}
|