@seafile/seafile-calendar 0.0.2 → 0.0.3-Apoi0.1
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/README.md +15 -0
- package/assets/index.css +44 -43
- package/dist/rc-calendar.css +44 -43
- package/dist/rc-calendar.css.map +1 -1
- package/dist/rc-calendar.js +1170 -5266
- package/dist/rc-calendar.js.map +1 -1
- package/dist/rc-calendar.min.css +44 -43
- package/dist/rc-calendar.min.css.map +1 -1
- package/dist/rc-calendar.min.js +1 -1
- package/es/Calendar.js +32 -10
- package/es/FullCalendar.js +2 -2
- package/es/MonthCalendar.js +8 -8
- package/es/RangeCalendar.js +4 -4
- package/es/calendar/CalendarHeader.js +2 -2
- package/es/calendar/CalendarRightPanel.js +47 -27
- package/es/date/DateConstants.js +16 -1
- package/es/date/DateInput.js +19 -42
- package/es/date/DateTBody.js +19 -11
- package/es/date/DateTHead.js +15 -8
- package/es/decade/DecadePanel.js +3 -3
- package/es/full-calendar/CalendarHeader.js +3 -3
- package/es/mixin/CalendarMixin.js +2 -2
- package/es/month/MonthTable.js +5 -5
- package/es/util/dayjs.js +17 -0
- package/es/util/index.js +451 -8
- package/es/year/YearPanel.js +5 -13
- package/index.d.ts +12 -11
- package/lib/Calendar.js +43 -11
- package/lib/FullCalendar.js +3 -3
- package/lib/MonthCalendar.js +9 -9
- package/lib/RangeCalendar.js +7 -7
- package/lib/calendar/CalendarHeader.js +2 -2
- package/lib/calendar/CalendarRightPanel.js +50 -29
- package/lib/date/DateConstants.js +16 -1
- package/lib/date/DateInput.js +20 -42
- package/lib/date/DateTBody.js +19 -11
- package/lib/date/DateTHead.js +15 -11
- package/lib/decade/DecadePanel.js +3 -3
- package/lib/full-calendar/CalendarHeader.js +3 -3
- package/lib/mixin/CalendarMixin.js +3 -3
- package/lib/month/MonthTable.js +5 -5
- package/lib/util/dayjs.js +46 -0
- package/lib/util/index.js +465 -9
- package/lib/year/YearPanel.js +5 -13
- package/package.json +7 -3
- package/HISTORY.md +0 -263
package/lib/util/index.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
+
exports.isLeapYear = exports.DATE_FORMATS = exports.getCurrentTime = exports.getCurrentYear = exports.getCurrentMonth = exports.getCurrentDate = undefined;
|
4
5
|
|
5
6
|
var _extends2 = require('babel-runtime/helpers/extends');
|
6
7
|
|
@@ -16,13 +17,51 @@ exports.isTimeValidByConfig = isTimeValidByConfig;
|
|
16
17
|
exports.isTimeValid = isTimeValid;
|
17
18
|
exports.isAllowedDate = isAllowedDate;
|
18
19
|
exports.formatDate = formatDate;
|
20
|
+
exports.validateCalendarDay = validateCalendarDay;
|
21
|
+
exports.tokenizeFormattedDate = tokenizeFormattedDate;
|
22
|
+
exports.hasSpecialChar = hasSpecialChar;
|
23
|
+
exports.validateTime = validateTime;
|
24
|
+
exports.delimate = delimate;
|
25
|
+
exports.validateCalendarYear = validateCalendarYear;
|
26
|
+
exports.validateAndNormalizeDate = validateAndNormalizeDate;
|
27
|
+
exports.getDatePart = getDatePart;
|
28
|
+
exports.initializeStr = initializeStr;
|
19
29
|
|
20
|
-
var
|
30
|
+
var _dayjs = require('dayjs');
|
21
31
|
|
22
|
-
var
|
32
|
+
var _dayjs2 = _interopRequireDefault(_dayjs);
|
33
|
+
|
34
|
+
var _utc = require('dayjs/plugin/utc');
|
35
|
+
|
36
|
+
var _utc2 = _interopRequireDefault(_utc);
|
23
37
|
|
24
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
25
39
|
|
40
|
+
_dayjs2['default'].extend(_utc2['default']);
|
41
|
+
var getCurrentDate = exports.getCurrentDate = function getCurrentDate() {
|
42
|
+
return (0, _dayjs2['default'])().date();
|
43
|
+
};
|
44
|
+
var getCurrentMonth = exports.getCurrentMonth = function getCurrentMonth() {
|
45
|
+
return (0, _dayjs2['default'])().month() + 1;
|
46
|
+
};
|
47
|
+
var getCurrentYear = exports.getCurrentYear = function getCurrentYear() {
|
48
|
+
return (0, _dayjs2['default'])().year();
|
49
|
+
};
|
50
|
+
var getCurrentTime = exports.getCurrentTime = function getCurrentTime() {
|
51
|
+
return (0, _dayjs2['default'])().format('HH:mm');
|
52
|
+
};
|
53
|
+
|
54
|
+
var DATE_FORMATS = exports.DATE_FORMATS = {
|
55
|
+
ISO: 'YYYY-MM-DD',
|
56
|
+
ISOAndTime: 'YYYY-MM-DD HH:mm',
|
57
|
+
US: 'M/D/YYYY',
|
58
|
+
USAndTime: 'M/D/YYYY HH:mm',
|
59
|
+
European: 'DD/MM/YYYY',
|
60
|
+
EuropeanAndTime: 'DD/MM/YYYY HH:mm',
|
61
|
+
Germany_Russia_etc: 'DD.MM.YYYY',
|
62
|
+
Germany_Russia_etcAndTime: 'DD.MM.YYYY HH:mm'
|
63
|
+
};
|
64
|
+
|
26
65
|
var defaultDisabledTime = {
|
27
66
|
disabledHours: function disabledHours() {
|
28
67
|
return [];
|
@@ -36,8 +75,8 @@ var defaultDisabledTime = {
|
|
36
75
|
};
|
37
76
|
|
38
77
|
function getTodayTime(value) {
|
39
|
-
var today = (0,
|
40
|
-
today.locale(value.locale()).utcOffset(value.utcOffset());
|
78
|
+
var today = (0, _dayjs2['default'])();
|
79
|
+
today = today.locale(value.locale()).utcOffset(value.utcOffset());
|
41
80
|
return today;
|
42
81
|
}
|
43
82
|
|
@@ -57,11 +96,11 @@ function getMonthName(month) {
|
|
57
96
|
}
|
58
97
|
|
59
98
|
function syncTime(from, to) {
|
60
|
-
if (!
|
61
|
-
to.hour(from.hour());
|
62
|
-
to.minute(from.minute());
|
63
|
-
to.second(from.second());
|
64
|
-
to.millisecond(from.millisecond());
|
99
|
+
if (!_dayjs2['default'].isDayjs(from) || !_dayjs2['default'].isDayjs(to)) return;
|
100
|
+
to = to.hour(from.hour());
|
101
|
+
to = to.minute(from.minute());
|
102
|
+
to = to.second(from.second());
|
103
|
+
to = to.millisecond(from.millisecond());
|
65
104
|
}
|
66
105
|
|
67
106
|
function getTimeConfig(value, disabledTime) {
|
@@ -121,4 +160,421 @@ function formatDate(value, format) {
|
|
121
160
|
}
|
122
161
|
|
123
162
|
return value.format(format);
|
163
|
+
}
|
164
|
+
|
165
|
+
var isLeapYear = exports.isLeapYear = function isLeapYear(year) {
|
166
|
+
return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
167
|
+
};
|
168
|
+
|
169
|
+
function validateCalendarDay(dayStr) {
|
170
|
+
if (!/^\d+$/.test(dayStr)) return false;
|
171
|
+
var day = Number(dayStr);
|
172
|
+
var MONTHS_WITH_31_DAYS = [1, 3, 5, 7, 8, 10, 12];
|
173
|
+
var MONTHS_WITH_30_DAYS = [4, 6, 9, 11];
|
174
|
+
if (MONTHS_WITH_31_DAYS.includes(getCurrentMonth())) {
|
175
|
+
return day >= 1 && day <= 31;
|
176
|
+
}
|
177
|
+
if (MONTHS_WITH_30_DAYS.includes(getCurrentMonth())) {
|
178
|
+
return day >= 1 && day <= 30;
|
179
|
+
}
|
180
|
+
if (getCurrentMonth() === 2) {
|
181
|
+
var year = getCurrentYear();
|
182
|
+
if (isLeapYear(year)) {
|
183
|
+
return day >= 1 && day <= 29;
|
184
|
+
}
|
185
|
+
return day >= 1 && day <= 28;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
function tokenizeFormattedDate(formatStr, format) {
|
190
|
+
var str = formatStr || '';
|
191
|
+
var cleanStr = void 0;
|
192
|
+
switch (format) {
|
193
|
+
case DATE_FORMATS.ISO:
|
194
|
+
case DATE_FORMATS.ISOAndTime:
|
195
|
+
cleanStr = str.replace(/[^0-9]+/g, '-');
|
196
|
+
return cleanStr.split('-').filter(Boolean).map(String);
|
197
|
+
case DATE_FORMATS.US:
|
198
|
+
case DATE_FORMATS.USAndTime:
|
199
|
+
case DATE_FORMATS.European:
|
200
|
+
case DATE_FORMATS.EuropeanAndTime:
|
201
|
+
cleanStr = str.replace(/[^0-9]+/g, '/');
|
202
|
+
return cleanStr.split('/').filter(Boolean).map(String);
|
203
|
+
case DATE_FORMATS.Germany_Russia_etc:
|
204
|
+
case DATE_FORMATS.Germany_Russia_etcAndTime:
|
205
|
+
cleanStr = str.replace(/[^0-9]+/g, '.');
|
206
|
+
return cleanStr.split('.').filter(Boolean).map(String);
|
207
|
+
default:
|
208
|
+
return [];
|
209
|
+
}
|
210
|
+
}
|
211
|
+
|
212
|
+
function hasSpecialChar(str) {
|
213
|
+
var matches = str.match(/[^0-9]/g);
|
214
|
+
return matches ? matches.length : 0;
|
215
|
+
}
|
216
|
+
|
217
|
+
function validateTime(inputTime) {
|
218
|
+
if (!inputTime || typeof inputTime !== 'string') {
|
219
|
+
return getCurrentTime();
|
220
|
+
}
|
221
|
+
var trimmed = inputTime.trim();
|
222
|
+
var timeRegex = /^(\d{2}):(\d{2})$/;
|
223
|
+
var match = trimmed.match(timeRegex);
|
224
|
+
if (!match) {
|
225
|
+
return getCurrentTime();
|
226
|
+
}
|
227
|
+
var hour = Number(match[1]);
|
228
|
+
var minute = Number(match[2]);
|
229
|
+
if (hour > 23 || minute > 59) {
|
230
|
+
return getCurrentTime();
|
231
|
+
}
|
232
|
+
return match[1] + ':' + match[2];
|
233
|
+
}
|
234
|
+
|
235
|
+
function delimate(format) {
|
236
|
+
var delimiter = void 0;
|
237
|
+
if (format === DATE_FORMATS.Germany_Russia_etc || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
238
|
+
delimiter = '.';
|
239
|
+
} else if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
|
240
|
+
delimiter = '-';
|
241
|
+
} else {
|
242
|
+
delimiter = '/';
|
243
|
+
}
|
244
|
+
return delimiter;
|
245
|
+
}
|
246
|
+
|
247
|
+
function validateCalendarYear(yearStr) {
|
248
|
+
var year = yearStr;
|
249
|
+
if (!year || isNaN(year)) return getCurrentYear();
|
250
|
+
if (year.length === 2) {
|
251
|
+
if (Number(year) >= 0 && Number(year) < 69) {
|
252
|
+
return year ? '20' + year : getCurrentYear();
|
253
|
+
} else if (Number(year) >= 69 && Number(year) < 100) {
|
254
|
+
return year ? '19' + year : getCurrentYear();
|
255
|
+
}
|
256
|
+
}
|
257
|
+
if (year.length === 4) {
|
258
|
+
return year;
|
259
|
+
}
|
260
|
+
return year ? year.padStart(4, '0') : getCurrentYear();
|
261
|
+
}
|
262
|
+
|
263
|
+
function validateAndNormalizeDate(dayStr, monthStr, yearStr) {
|
264
|
+
var day = Number(dayStr);
|
265
|
+
var month = Number(monthStr);
|
266
|
+
var year = yearStr;
|
267
|
+
var isInThirtyOneDaysMonths = [1, 3, 5, 7, 8, 10, 12].includes(month);
|
268
|
+
var isInThirtyDaysMonths = [4, 6, 9, 11].includes(month);
|
269
|
+
var isValidDayThirtyOne = day < 1 || day > 31;
|
270
|
+
var isValidDayThirty = day < 1 || day > 30;
|
271
|
+
var isValidDayTwentyNight = day < 1 || day > 29;
|
272
|
+
var isValidDayTwentyEight = day < 1 || day > 28;
|
273
|
+
|
274
|
+
if (month > 12 || month < 0 || !month) {
|
275
|
+
day = getCurrentDate();
|
276
|
+
month = getCurrentMonth();
|
277
|
+
year = getCurrentYear();
|
278
|
+
}
|
279
|
+
|
280
|
+
if (isInThirtyOneDaysMonths && isValidDayThirtyOne || isInThirtyDaysMonths && isValidDayThirty) {
|
281
|
+
day = getCurrentDate();
|
282
|
+
month = getCurrentMonth();
|
283
|
+
year = getCurrentYear();
|
284
|
+
}
|
285
|
+
|
286
|
+
if (month === 2) {
|
287
|
+
if (isLeapYear(year) && isValidDayTwentyNight) {
|
288
|
+
day = getCurrentDate();
|
289
|
+
month = getCurrentMonth();
|
290
|
+
year = getCurrentYear();
|
291
|
+
} else if (isValidDayTwentyEight) {
|
292
|
+
day = getCurrentDate();
|
293
|
+
month = getCurrentMonth();
|
294
|
+
year = getCurrentYear();
|
295
|
+
}
|
296
|
+
}
|
297
|
+
return { day: day, month: month, year: year };
|
298
|
+
}
|
299
|
+
|
300
|
+
function getDatePart(str) {
|
301
|
+
if (typeof str !== 'string') return '';
|
302
|
+
var parts = str.trim().split(/\s+/);
|
303
|
+
return parts[0];
|
304
|
+
}
|
305
|
+
|
306
|
+
function initializeStr(str, format) {
|
307
|
+
var inputStr = str;
|
308
|
+
var inputStrLength = inputStr.length;
|
309
|
+
var time = getCurrentTime();
|
310
|
+
var hasSpecial = hasSpecialChar(inputStr);
|
311
|
+
var formattedArray = tokenizeFormattedDate(inputStr, format);
|
312
|
+
var dateDelimater = delimate(format);
|
313
|
+
if (format === DATE_FORMATS.ISO) {
|
314
|
+
var numStr = inputStr.replace(/[^0-9]/g, '');
|
315
|
+
if (numStr.length === 7 || numStr.length === 8) {
|
316
|
+
var yearStr = numStr.slice(0, 4);
|
317
|
+
var monthStr = numStr.slice(4, 6) || '01';
|
318
|
+
var dateStr = numStr.slice(6, numStr.length) || '01';
|
319
|
+
var validateYear = validateCalendarYear(yearStr);
|
320
|
+
|
321
|
+
var _validateAndNormalize = validateAndNormalizeDate(dateStr, monthStr, validateYear),
|
322
|
+
day = _validateAndNormalize.day,
|
323
|
+
month = _validateAndNormalize.month;
|
324
|
+
|
325
|
+
var _validateAndNormalize2 = validateAndNormalizeDate(dateStr, monthStr, validateYear),
|
326
|
+
year = _validateAndNormalize2.year;
|
327
|
+
|
328
|
+
day = String(day).padStart(2, 0);
|
329
|
+
month = String(month).padStart(2, 0);
|
330
|
+
return '' + year + dateDelimater + month + dateDelimater + day;
|
331
|
+
}
|
332
|
+
if (hasSpecial) {
|
333
|
+
var _validateYear = validateCalendarYear(formattedArray[0]);
|
334
|
+
|
335
|
+
var _validateAndNormalize3 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear),
|
336
|
+
_day = _validateAndNormalize3.day,
|
337
|
+
_month = _validateAndNormalize3.month; // eslint-disable-line max-len
|
338
|
+
|
339
|
+
|
340
|
+
var _validateAndNormalize4 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear),
|
341
|
+
_year = _validateAndNormalize4.year; // eslint-disable-line max-len
|
342
|
+
|
343
|
+
|
344
|
+
_day = String(_day).padStart(2, 0);
|
345
|
+
_month = String(_month).padStart(2, 0);
|
346
|
+
return '' + _year + dateDelimater + _month + dateDelimater + _day;
|
347
|
+
} else if (inputStrLength >= 1 && inputStrLength <= 8) {
|
348
|
+
var _yearStr = inputStr.slice(0, 4);
|
349
|
+
var _monthStr = inputStr.slice(4, 6) || '01';
|
350
|
+
var _dateStr = inputStr.slice(6, 8) || '01';
|
351
|
+
var _validateYear2 = validateCalendarYear(_yearStr);
|
352
|
+
|
353
|
+
var _validateAndNormalize5 = validateAndNormalizeDate(_dateStr, _monthStr, _validateYear2),
|
354
|
+
_day2 = _validateAndNormalize5.day,
|
355
|
+
_month2 = _validateAndNormalize5.month;
|
356
|
+
|
357
|
+
var _validateAndNormalize6 = validateAndNormalizeDate(_dateStr, _monthStr, _validateYear2),
|
358
|
+
_year2 = _validateAndNormalize6.year;
|
359
|
+
|
360
|
+
_day2 = String(_day2).padStart(2, 0);
|
361
|
+
_month2 = String(_month2).padStart(2, 0);
|
362
|
+
return '' + _year2 + dateDelimater + _month2 + dateDelimater + _day2;
|
363
|
+
} else if (inputStrLength > 8) {
|
364
|
+
return '' + getCurrentYear() + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0); // eslint-disable-line max-len
|
365
|
+
}
|
366
|
+
} else if (format === DATE_FORMATS.ISOAndTime) {
|
367
|
+
var datePart = getDatePart(inputStr);
|
368
|
+
var formattedDateArray = tokenizeFormattedDate(datePart, format);
|
369
|
+
var isDateSpecial = hasSpecialChar(datePart);
|
370
|
+
var _numStr = datePart.replace(/[^0-9]/g, '');
|
371
|
+
if (_numStr.length === 7 || _numStr.length === 8) {
|
372
|
+
var _yearStr2 = _numStr.slice(0, 4);
|
373
|
+
var _monthStr2 = _numStr.slice(4, 6) || '01';
|
374
|
+
var _dateStr2 = _numStr.slice(6, _numStr.length) || '01';
|
375
|
+
if (formattedArray.length === 3) {
|
376
|
+
time = validateTime(formattedArray[1] + ':' + formattedArray[2]);
|
377
|
+
}
|
378
|
+
if (formattedArray.length === 4) {
|
379
|
+
time = validateTime(formattedArray[2] + ':' + formattedArray[3]);
|
380
|
+
}
|
381
|
+
if (formattedArray.length === 5) {
|
382
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
383
|
+
}
|
384
|
+
var _validateYear3 = validateCalendarYear(_yearStr2);
|
385
|
+
|
386
|
+
var _validateAndNormalize7 = validateAndNormalizeDate(_dateStr2, _monthStr2, _validateYear3),
|
387
|
+
_day3 = _validateAndNormalize7.day,
|
388
|
+
_month3 = _validateAndNormalize7.month;
|
389
|
+
|
390
|
+
var _validateAndNormalize8 = validateAndNormalizeDate(_dateStr2, _monthStr2, _validateYear3),
|
391
|
+
_year3 = _validateAndNormalize8.year;
|
392
|
+
|
393
|
+
_day3 = String(_day3).padStart(2, 0);
|
394
|
+
_month3 = String(_month3).padStart(2, 0);
|
395
|
+
return '' + _year3 + dateDelimater + _month3 + dateDelimater + _day3 + ' ' + time;
|
396
|
+
}
|
397
|
+
if (isDateSpecial) {
|
398
|
+
if (formattedDateArray.length < 3) {
|
399
|
+
formattedArray.splice(2, 0, '01');
|
400
|
+
}
|
401
|
+
var _validateYear4 = validateCalendarYear(formattedArray[0]);
|
402
|
+
|
403
|
+
var _validateAndNormalize9 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear4),
|
404
|
+
_day4 = _validateAndNormalize9.day,
|
405
|
+
_month4 = _validateAndNormalize9.month; // eslint-disable-line max-len
|
406
|
+
|
407
|
+
|
408
|
+
var _validateAndNormalize10 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear4),
|
409
|
+
_year4 = _validateAndNormalize10.year; // eslint-disable-line max-len
|
410
|
+
|
411
|
+
|
412
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
413
|
+
_day4 = String(_day4).padStart(2, 0);
|
414
|
+
_month4 = String(_month4).padStart(2, 0);
|
415
|
+
return '' + _year4 + dateDelimater + _month4 + dateDelimater + _day4 + ' ' + time;
|
416
|
+
} else if (datePart.length >= 1 && datePart.length <= 8) {
|
417
|
+
var _yearStr3 = datePart.slice(0, 4);
|
418
|
+
var _monthStr3 = datePart.slice(4, 6) || '01';
|
419
|
+
var _dateStr3 = datePart.slice(6, 8) || '01';
|
420
|
+
var timeParts = tokenizeFormattedDate(inputStr, format);
|
421
|
+
time = validateTime(timeParts[1] + ':' + timeParts[2]);
|
422
|
+
var _validateYear5 = validateCalendarYear(_yearStr3);
|
423
|
+
|
424
|
+
var _validateAndNormalize11 = validateAndNormalizeDate(_dateStr3, _monthStr3, _validateYear5),
|
425
|
+
_day5 = _validateAndNormalize11.day,
|
426
|
+
_month5 = _validateAndNormalize11.month;
|
427
|
+
|
428
|
+
var _validateAndNormalize12 = validateAndNormalizeDate(_dateStr3, _monthStr3, _validateYear5),
|
429
|
+
_year5 = _validateAndNormalize12.year;
|
430
|
+
|
431
|
+
_day5 = String(_day5).padStart(2, 0);
|
432
|
+
_month5 = String(_month5).padStart(2, 0);
|
433
|
+
return '' + _year5 + dateDelimater + _month5 + dateDelimater + _day5 + ' ' + time;
|
434
|
+
} else if (datePart.length > 8) {
|
435
|
+
return '' + getCurrentYear() + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0) + ' ' + getCurrentTime(); // eslint-disable-line max-len
|
436
|
+
}
|
437
|
+
} else if (format === DATE_FORMATS.US) {
|
438
|
+
if (hasSpecial) {
|
439
|
+
var _validateYear6 = validateCalendarYear(formattedArray[2]);
|
440
|
+
|
441
|
+
var _validateAndNormalize13 = validateAndNormalizeDate(formattedArray[1] || '1', formattedArray[0], _validateYear6),
|
442
|
+
_day6 = _validateAndNormalize13.day,
|
443
|
+
_month6 = _validateAndNormalize13.month,
|
444
|
+
_year6 = _validateAndNormalize13.year; // eslint-disable-line max-len
|
445
|
+
|
446
|
+
|
447
|
+
return '' + _month6 + dateDelimater + _day6 + dateDelimater + _year6;
|
448
|
+
} else if (inputStrLength >= 1 && inputStrLength <= 8) {
|
449
|
+
var _monthStr4 = inputStr.slice(0, 2);
|
450
|
+
var _dateStr4 = inputStr.slice(2, 4) || '1';
|
451
|
+
var _yearStr4 = inputStr.slice(4, inputStr.length);
|
452
|
+
var _validateYear7 = validateCalendarYear(_yearStr4);
|
453
|
+
|
454
|
+
var _validateAndNormalize14 = validateAndNormalizeDate(_dateStr4, _monthStr4, _validateYear7),
|
455
|
+
_day7 = _validateAndNormalize14.day,
|
456
|
+
_month7 = _validateAndNormalize14.month,
|
457
|
+
_year7 = _validateAndNormalize14.year;
|
458
|
+
|
459
|
+
return '' + _month7 + dateDelimater + _day7 + dateDelimater + _year7; // eslint-disable-line max-len
|
460
|
+
} else if (inputStrLength > 8) {
|
461
|
+
return '' + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0) + dateDelimater + getCurrentYear(); // eslint-disable-line max-len
|
462
|
+
}
|
463
|
+
} else if (format === DATE_FORMATS.USAndTime) {
|
464
|
+
var _datePart = getDatePart(inputStr);
|
465
|
+
var _formattedDateArray = tokenizeFormattedDate(_datePart, format);
|
466
|
+
var _isDateSpecial = hasSpecialChar(_datePart);
|
467
|
+
if (_isDateSpecial) {
|
468
|
+
if (_formattedDateArray.length < 3) {
|
469
|
+
formattedArray.splice(2, 0, String(getCurrentYear()));
|
470
|
+
}
|
471
|
+
var _validateYear8 = validateCalendarYear(formattedArray[2]);
|
472
|
+
|
473
|
+
var _validateAndNormalize15 = validateAndNormalizeDate(formattedArray[1] || '1', formattedArray[0], _validateYear8),
|
474
|
+
_day8 = _validateAndNormalize15.day,
|
475
|
+
_month8 = _validateAndNormalize15.month,
|
476
|
+
_year8 = _validateAndNormalize15.year; // eslint-disable-line max-len
|
477
|
+
|
478
|
+
|
479
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
480
|
+
return '' + _month8 + dateDelimater + _day8 + dateDelimater + _year8 + ' ' + time;
|
481
|
+
} else if (_datePart.length >= 1 && _datePart.length <= 8) {
|
482
|
+
var _monthStr5 = _datePart.slice(0, 2);
|
483
|
+
var _dateStr5 = _datePart.slice(2, 4) || '1';
|
484
|
+
var _yearStr5 = _datePart.slice(4, _datePart.length);
|
485
|
+
var _validateYear9 = validateCalendarYear(_yearStr5); // eslint-disable-line max-len
|
486
|
+
|
487
|
+
var _validateAndNormalize16 = validateAndNormalizeDate(_dateStr5, _monthStr5, _validateYear9),
|
488
|
+
_day9 = _validateAndNormalize16.day,
|
489
|
+
_month9 = _validateAndNormalize16.month,
|
490
|
+
_year9 = _validateAndNormalize16.year;
|
491
|
+
|
492
|
+
var _timeParts = tokenizeFormattedDate(inputStr, format);
|
493
|
+
time = validateTime(_timeParts[1] + ':' + _timeParts[2]) || getCurrentTime();
|
494
|
+
return '' + _month9 + dateDelimater + _day9 + dateDelimater + _year9 + ' ' + time;
|
495
|
+
} else if (_datePart.length > 8) {
|
496
|
+
return '' + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0) + dateDelimater + getCurrentYear() + ' ' + getCurrentTime(); // eslint-disable-line max-len
|
497
|
+
}
|
498
|
+
} else if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
|
499
|
+
if (hasSpecial) {
|
500
|
+
var _validateYear10 = validateCalendarYear(formattedArray[2]);
|
501
|
+
|
502
|
+
var _validateAndNormalize17 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear10),
|
503
|
+
_day10 = _validateAndNormalize17.day,
|
504
|
+
_month10 = _validateAndNormalize17.month; // eslint-disable-line max-len
|
505
|
+
|
506
|
+
|
507
|
+
var _validateAndNormalize18 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear10),
|
508
|
+
_year10 = _validateAndNormalize18.year; // eslint-disable-line max-len
|
509
|
+
|
510
|
+
|
511
|
+
_day10 = String(_day10).padStart(2, 0);
|
512
|
+
_month10 = String(_month10).padStart(2, 0);
|
513
|
+
return '' + _day10 + dateDelimater + _month10 + dateDelimater + _year10;
|
514
|
+
} else if (inputStrLength >= 1 && inputStrLength <= 8) {
|
515
|
+
var _dateStr6 = inputStr.slice(0, 2);
|
516
|
+
var _monthStr6 = inputStr.slice(2, 4) || getCurrentMonth();
|
517
|
+
var _yearStr6 = inputStr.slice(4, inputStr.length);
|
518
|
+
var _validateYear11 = validateCalendarYear(_yearStr6);
|
519
|
+
|
520
|
+
var _validateAndNormalize19 = validateAndNormalizeDate(_dateStr6, _monthStr6, _validateYear11),
|
521
|
+
_year11 = _validateAndNormalize19.year; // eslint-disable-line max-len
|
522
|
+
|
523
|
+
|
524
|
+
var _validateAndNormalize20 = validateAndNormalizeDate(_dateStr6, _monthStr6, _validateYear11),
|
525
|
+
_day11 = _validateAndNormalize20.day,
|
526
|
+
_month11 = _validateAndNormalize20.month; // eslint-disable-line max-len
|
527
|
+
|
528
|
+
|
529
|
+
_day11 = String(_day11).padStart(2, 0);
|
530
|
+
_month11 = String(_month11).padStart(2, 0);
|
531
|
+
return '' + _day11 + dateDelimater + _month11 + dateDelimater + _year11;
|
532
|
+
} else if (inputStrLength > 8) {
|
533
|
+
return '' + String(getCurrentDate()).padStart(2, 0) + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + getCurrentYear(); // eslint-disable-line max-len
|
534
|
+
}
|
535
|
+
} else if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
|
536
|
+
var _datePart2 = getDatePart(inputStr);
|
537
|
+
var _formattedDateArray2 = tokenizeFormattedDate(_datePart2, format);
|
538
|
+
var _isDateSpecial2 = hasSpecialChar(_datePart2);
|
539
|
+
if (_isDateSpecial2) {
|
540
|
+
if (_formattedDateArray2.length < 3) {
|
541
|
+
formattedArray.splice(2, 0, String(getCurrentYear()));
|
542
|
+
}
|
543
|
+
var _validateYear12 = validateCalendarYear(formattedArray[2]);
|
544
|
+
|
545
|
+
var _validateAndNormalize21 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear12),
|
546
|
+
_day12 = _validateAndNormalize21.day,
|
547
|
+
_month12 = _validateAndNormalize21.month; // eslint-disable-line max-len
|
548
|
+
|
549
|
+
|
550
|
+
var _validateAndNormalize22 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear12),
|
551
|
+
_year12 = _validateAndNormalize22.year; // eslint-disable-line max-len
|
552
|
+
|
553
|
+
|
554
|
+
time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
|
555
|
+
_day12 = String(_day12).padStart(2, 0);
|
556
|
+
_month12 = String(_month12).padStart(2, 0);
|
557
|
+
return '' + _day12 + dateDelimater + _month12 + dateDelimater + _year12 + ' ' + time;
|
558
|
+
} else if (_datePart2.length >= 1 && _datePart2.length <= 8) {
|
559
|
+
var _dateStr7 = _datePart2.slice(0, 2);
|
560
|
+
var _monthStr7 = _datePart2.slice(2, 4) || getCurrentMonth();
|
561
|
+
var _yearStr7 = _datePart2.slice(4, _datePart2.length);
|
562
|
+
var _timeParts2 = tokenizeFormattedDate(inputStr, format);
|
563
|
+
time = validateTime(_timeParts2[1] + ':' + _timeParts2[2]);
|
564
|
+
var _validateYear13 = validateCalendarYear(_yearStr7);
|
565
|
+
|
566
|
+
var _validateAndNormalize23 = validateAndNormalizeDate(_dateStr7, _monthStr7, _validateYear13),
|
567
|
+
_day13 = _validateAndNormalize23.day,
|
568
|
+
_month13 = _validateAndNormalize23.month;
|
569
|
+
|
570
|
+
var _validateAndNormalize24 = validateAndNormalizeDate(_dateStr7, _monthStr7, _validateYear13),
|
571
|
+
_year13 = _validateAndNormalize24.year;
|
572
|
+
|
573
|
+
_day13 = String(_day13).padStart(2, 0);
|
574
|
+
_month13 = String(_month13).padStart(2, 0);
|
575
|
+
return '' + _day13 + dateDelimater + _month13 + dateDelimater + _year13 + ' ' + time;
|
576
|
+
} else if (_datePart2.length > 8) {
|
577
|
+
return '' + String(getCurrentDate()).padStart(2, 0) + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + getCurrentYear() + ' ' + getCurrentTime(); // eslint-disable-line max-len
|
578
|
+
}
|
579
|
+
}
|
124
580
|
}
|
package/lib/year/YearPanel.js
CHANGED
@@ -33,7 +33,7 @@ var COL = 3;
|
|
33
33
|
|
34
34
|
function goYear(direction) {
|
35
35
|
var value = this.state.value.clone();
|
36
|
-
value.add(direction, 'year');
|
36
|
+
value = value.add(direction, 'year');
|
37
37
|
this.setState({
|
38
38
|
value: value
|
39
39
|
});
|
@@ -41,8 +41,8 @@ function goYear(direction) {
|
|
41
41
|
|
42
42
|
function chooseYear(year) {
|
43
43
|
var value = this.state.value.clone();
|
44
|
-
value.year(year);
|
45
|
-
value.month(this.state.value.month());
|
44
|
+
value = value.year(year);
|
45
|
+
value = value.month(this.state.value.month());
|
46
46
|
this.setState({
|
47
47
|
value: value
|
48
48
|
});
|
@@ -107,22 +107,14 @@ var YearPanel = function (_React$Component) {
|
|
107
107
|
var tds = row.map(function (yearData) {
|
108
108
|
var _classNameMap;
|
109
109
|
|
110
|
-
var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap
|
111
|
-
var clickHandler = void 0;
|
112
|
-
if (yearData.year < startYear) {
|
113
|
-
clickHandler = _this2.previousDecade;
|
114
|
-
} else if (yearData.year > endYear) {
|
115
|
-
clickHandler = _this2.nextDecade;
|
116
|
-
} else {
|
117
|
-
clickHandler = chooseYear.bind(_this2, yearData.year);
|
118
|
-
}
|
110
|
+
var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap);
|
119
111
|
return _react2['default'].createElement(
|
120
112
|
'td',
|
121
113
|
{
|
122
114
|
role: 'gridcell',
|
123
115
|
title: yearData.title,
|
124
116
|
key: yearData.content,
|
125
|
-
onClick:
|
117
|
+
onClick: chooseYear.bind(_this2, yearData.year),
|
126
118
|
className: (0, _classnames2['default'])(classNameMap)
|
127
119
|
},
|
128
120
|
_react2['default'].createElement(
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@seafile/seafile-calendar",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.3Apoi0.1",
|
4
4
|
"description": "React Calendar",
|
5
5
|
"keywords": [
|
6
6
|
"react",
|
@@ -68,6 +68,7 @@
|
|
68
68
|
"devDependencies": {
|
69
69
|
"@types/react": "^16.3.13",
|
70
70
|
"async": "~3.1.0",
|
71
|
+
"chokidar": "^4.0.3",
|
71
72
|
"dtslint": "^0.9.0",
|
72
73
|
"enzyme": "^3.3.0",
|
73
74
|
"enzyme-adapter-react-16": "^1.1.1",
|
@@ -91,11 +92,14 @@
|
|
91
92
|
"dependencies": {
|
92
93
|
"babel-runtime": "6.x",
|
93
94
|
"classnames": "2.x",
|
94
|
-
"
|
95
|
+
"dayjs": "1.10.7",
|
95
96
|
"prop-types": "^15.5.8",
|
96
97
|
"rc-trigger": "^2.2.0",
|
97
98
|
"rc-util": "^4.1.1",
|
98
99
|
"react-lifecycles-compat": "^3.0.4"
|
99
100
|
},
|
100
|
-
"types": "index.d.ts"
|
101
|
+
"types": "index.d.ts",
|
102
|
+
"overrides": {
|
103
|
+
"graceful-fs": "^4.2.11"
|
104
|
+
}
|
101
105
|
}
|