@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.
Files changed (46) hide show
  1. package/README.md +15 -0
  2. package/assets/index.css +44 -43
  3. package/dist/rc-calendar.css +44 -43
  4. package/dist/rc-calendar.css.map +1 -1
  5. package/dist/rc-calendar.js +1170 -5266
  6. package/dist/rc-calendar.js.map +1 -1
  7. package/dist/rc-calendar.min.css +44 -43
  8. package/dist/rc-calendar.min.css.map +1 -1
  9. package/dist/rc-calendar.min.js +1 -1
  10. package/es/Calendar.js +32 -10
  11. package/es/FullCalendar.js +2 -2
  12. package/es/MonthCalendar.js +8 -8
  13. package/es/RangeCalendar.js +4 -4
  14. package/es/calendar/CalendarHeader.js +2 -2
  15. package/es/calendar/CalendarRightPanel.js +47 -27
  16. package/es/date/DateConstants.js +16 -1
  17. package/es/date/DateInput.js +19 -42
  18. package/es/date/DateTBody.js +19 -11
  19. package/es/date/DateTHead.js +15 -8
  20. package/es/decade/DecadePanel.js +3 -3
  21. package/es/full-calendar/CalendarHeader.js +3 -3
  22. package/es/mixin/CalendarMixin.js +2 -2
  23. package/es/month/MonthTable.js +5 -5
  24. package/es/util/dayjs.js +17 -0
  25. package/es/util/index.js +451 -8
  26. package/es/year/YearPanel.js +5 -13
  27. package/index.d.ts +12 -11
  28. package/lib/Calendar.js +43 -11
  29. package/lib/FullCalendar.js +3 -3
  30. package/lib/MonthCalendar.js +9 -9
  31. package/lib/RangeCalendar.js +7 -7
  32. package/lib/calendar/CalendarHeader.js +2 -2
  33. package/lib/calendar/CalendarRightPanel.js +50 -29
  34. package/lib/date/DateConstants.js +16 -1
  35. package/lib/date/DateInput.js +20 -42
  36. package/lib/date/DateTBody.js +19 -11
  37. package/lib/date/DateTHead.js +15 -11
  38. package/lib/decade/DecadePanel.js +3 -3
  39. package/lib/full-calendar/CalendarHeader.js +3 -3
  40. package/lib/mixin/CalendarMixin.js +3 -3
  41. package/lib/month/MonthTable.js +5 -5
  42. package/lib/util/dayjs.js +46 -0
  43. package/lib/util/index.js +465 -9
  44. package/lib/year/YearPanel.js +5 -13
  45. package/package.json +7 -3
  46. package/HISTORY.md +0 -263
@@ -9,7 +9,7 @@ import classnames from 'classnames';
9
9
 
10
10
  function goYear(direction) {
11
11
  var next = this.state.value.clone();
12
- next.add(direction, 'years');
12
+ next = next.add(direction, 'years');
13
13
  this.setState({
14
14
  value: next
15
15
  });
@@ -17,8 +17,8 @@ function goYear(direction) {
17
17
 
18
18
  function chooseDecade(year, event) {
19
19
  var next = this.state.value.clone();
20
- next.year(year);
21
- next.month(this.state.value.month());
20
+ next = next.year(year);
21
+ next = next.month(this.state.value.month());
22
22
  this.props.onSelect(next);
23
23
  event.preventDefault();
24
24
  }
@@ -18,13 +18,13 @@ var CalendarHeader = function (_Component) {
18
18
 
19
19
  CalendarHeader.prototype.onYearChange = function onYearChange(year) {
20
20
  var newValue = this.props.value.clone();
21
- newValue.year(parseInt(year, 10));
21
+ newValue = newValue.year(parseInt(year, 10));
22
22
  this.props.onValueChange(newValue);
23
23
  };
24
24
 
25
25
  CalendarHeader.prototype.onMonthChange = function onMonthChange(month) {
26
26
  var newValue = this.props.value.clone();
27
- newValue.month(parseInt(month, 10));
27
+ newValue = newValue.month(parseInt(month, 10));
28
28
  this.props.onValueChange(newValue);
29
29
  };
30
30
 
@@ -70,7 +70,7 @@ var CalendarHeader = function (_Component) {
70
70
  var Select = props.Select;
71
71
 
72
72
  for (var index = 0; index < 12; index++) {
73
- t.month(index);
73
+ t = t.month(index);
74
74
  options.push(React.createElement(
75
75
  Select.Option,
76
76
  { key: '' + index },
@@ -4,7 +4,7 @@ import _inherits from 'babel-runtime/helpers/inherits';
4
4
  import React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import classnames from 'classnames';
7
- import moment from 'moment';
7
+ import dayjs from 'dayjs';
8
8
  import { isAllowedDate, getTodayTime } from '../util/index';
9
9
 
10
10
  function noop() {}
@@ -14,7 +14,7 @@ export function getNowByCurrentStateValue(value) {
14
14
  if (value) {
15
15
  ret = getTodayTime(value);
16
16
  } else {
17
- ret = moment();
17
+ ret = dayjs();
18
18
  }
19
19
  return ret;
20
20
  }
@@ -11,7 +11,7 @@ var COL = 3;
11
11
 
12
12
  function chooseMonth(month) {
13
13
  var next = this.state.value.clone();
14
- next.month(month);
14
+ next = next.month(month);
15
15
  this.setAndSelectValue(next);
16
16
  }
17
17
 
@@ -54,7 +54,7 @@ var MonthTable = function (_Component) {
54
54
  for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
55
55
  months[rowIndex] = [];
56
56
  for (var colIndex = 0; colIndex < COL; colIndex++) {
57
- current.month(index);
57
+ current = current.month(index);
58
58
  var content = getMonthName(current);
59
59
  months[rowIndex][colIndex] = {
60
60
  value: index,
@@ -87,20 +87,20 @@ var MonthTable = function (_Component) {
87
87
  var disabled = false;
88
88
  if (props.disabledDate) {
89
89
  var testValue = value.clone();
90
- testValue.month(monthData.value);
90
+ testValue = testValue.month(monthData.value);
91
91
  disabled = props.disabledDate(testValue);
92
92
  }
93
93
  var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-cell-disabled'] = disabled, _classNameMap[prefixCls + '-selected-cell'] = monthData.value === currentMonth, _classNameMap[prefixCls + '-current-cell'] = today.year() === value.year() && monthData.value === today.month(), _classNameMap);
94
94
  var cellEl = void 0;
95
95
  if (cellRender) {
96
96
  var currentValue = value.clone();
97
- currentValue.month(monthData.value);
97
+ currentValue = currentValue.month(monthData.value);
98
98
  cellEl = cellRender(currentValue, locale);
99
99
  } else {
100
100
  var content = void 0;
101
101
  if (contentRender) {
102
102
  var _currentValue = value.clone();
103
- _currentValue.month(monthData.value);
103
+ _currentValue = _currentValue.month(monthData.value);
104
104
  content = contentRender(_currentValue, locale);
105
105
  } else {
106
106
  content = monthData.content;
@@ -0,0 +1,17 @@
1
+ import dayjs from 'dayjs';
2
+ import localeData from 'dayjs/plugin/localeData';
3
+ import weekOfYear from 'dayjs/plugin/weekOfYear';
4
+ import utc from 'dayjs/plugin/utc';
5
+ import advancedFormat from 'dayjs/plugin/advancedFormat';
6
+ import customParseFormat from 'dayjs/plugin/customParseFormat';
7
+ import badMutable from 'dayjs/plugin/badMutable';
8
+ import 'dayjs/locale/zh-cn';
9
+ import 'dayjs/locale/en-gb';
10
+
11
+ dayjs.extend(localeData);
12
+ dayjs.extend(weekOfYear);
13
+ dayjs.extend(utc);
14
+ dayjs.extend(advancedFormat);
15
+ dayjs.extend(customParseFormat);
16
+ dayjs.extend(badMutable);
17
+ export default dayjs;
package/es/util/index.js CHANGED
@@ -1,5 +1,31 @@
1
1
  import _extends from 'babel-runtime/helpers/extends';
2
- import moment from 'moment';
2
+ import dayjs from 'dayjs';
3
+ import utc from 'dayjs/plugin/utc';
4
+
5
+ dayjs.extend(utc);
6
+ export var getCurrentDate = function getCurrentDate() {
7
+ return dayjs().date();
8
+ };
9
+ export var getCurrentMonth = function getCurrentMonth() {
10
+ return dayjs().month() + 1;
11
+ };
12
+ export var getCurrentYear = function getCurrentYear() {
13
+ return dayjs().year();
14
+ };
15
+ export var getCurrentTime = function getCurrentTime() {
16
+ return dayjs().format('HH:mm');
17
+ };
18
+
19
+ export var DATE_FORMATS = {
20
+ ISO: 'YYYY-MM-DD',
21
+ ISOAndTime: 'YYYY-MM-DD HH:mm',
22
+ US: 'M/D/YYYY',
23
+ USAndTime: 'M/D/YYYY HH:mm',
24
+ European: 'DD/MM/YYYY',
25
+ EuropeanAndTime: 'DD/MM/YYYY HH:mm',
26
+ Germany_Russia_etc: 'DD.MM.YYYY',
27
+ Germany_Russia_etcAndTime: 'DD.MM.YYYY HH:mm'
28
+ };
3
29
 
4
30
  var defaultDisabledTime = {
5
31
  disabledHours: function disabledHours() {
@@ -14,8 +40,8 @@ var defaultDisabledTime = {
14
40
  };
15
41
 
16
42
  export function getTodayTime(value) {
17
- var today = moment();
18
- today.locale(value.locale()).utcOffset(value.utcOffset());
43
+ var today = dayjs();
44
+ today = today.locale(value.locale()).utcOffset(value.utcOffset());
19
45
  return today;
20
46
  }
21
47
 
@@ -35,11 +61,11 @@ export function getMonthName(month) {
35
61
  }
36
62
 
37
63
  export function syncTime(from, to) {
38
- if (!moment.isMoment(from) || !moment.isMoment(to)) return;
39
- to.hour(from.hour());
40
- to.minute(from.minute());
41
- to.second(from.second());
42
- to.millisecond(from.millisecond());
64
+ if (!dayjs.isDayjs(from) || !dayjs.isDayjs(to)) return;
65
+ to = to.hour(from.hour());
66
+ to = to.minute(from.minute());
67
+ to = to.second(from.second());
68
+ to = to.millisecond(from.millisecond());
43
69
  }
44
70
 
45
71
  export function getTimeConfig(value, disabledTime) {
@@ -99,4 +125,421 @@ export function formatDate(value, format) {
99
125
  }
100
126
 
101
127
  return value.format(format);
128
+ }
129
+
130
+ export var isLeapYear = function isLeapYear(year) {
131
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
132
+ };
133
+
134
+ export function validateCalendarDay(dayStr) {
135
+ if (!/^\d+$/.test(dayStr)) return false;
136
+ var day = Number(dayStr);
137
+ var MONTHS_WITH_31_DAYS = [1, 3, 5, 7, 8, 10, 12];
138
+ var MONTHS_WITH_30_DAYS = [4, 6, 9, 11];
139
+ if (MONTHS_WITH_31_DAYS.includes(getCurrentMonth())) {
140
+ return day >= 1 && day <= 31;
141
+ }
142
+ if (MONTHS_WITH_30_DAYS.includes(getCurrentMonth())) {
143
+ return day >= 1 && day <= 30;
144
+ }
145
+ if (getCurrentMonth() === 2) {
146
+ var year = getCurrentYear();
147
+ if (isLeapYear(year)) {
148
+ return day >= 1 && day <= 29;
149
+ }
150
+ return day >= 1 && day <= 28;
151
+ }
152
+ }
153
+
154
+ export function tokenizeFormattedDate(formatStr, format) {
155
+ var str = formatStr || '';
156
+ var cleanStr = void 0;
157
+ switch (format) {
158
+ case DATE_FORMATS.ISO:
159
+ case DATE_FORMATS.ISOAndTime:
160
+ cleanStr = str.replace(/[^0-9]+/g, '-');
161
+ return cleanStr.split('-').filter(Boolean).map(String);
162
+ case DATE_FORMATS.US:
163
+ case DATE_FORMATS.USAndTime:
164
+ case DATE_FORMATS.European:
165
+ case DATE_FORMATS.EuropeanAndTime:
166
+ cleanStr = str.replace(/[^0-9]+/g, '/');
167
+ return cleanStr.split('/').filter(Boolean).map(String);
168
+ case DATE_FORMATS.Germany_Russia_etc:
169
+ case DATE_FORMATS.Germany_Russia_etcAndTime:
170
+ cleanStr = str.replace(/[^0-9]+/g, '.');
171
+ return cleanStr.split('.').filter(Boolean).map(String);
172
+ default:
173
+ return [];
174
+ }
175
+ }
176
+
177
+ export function hasSpecialChar(str) {
178
+ var matches = str.match(/[^0-9]/g);
179
+ return matches ? matches.length : 0;
180
+ }
181
+
182
+ export function validateTime(inputTime) {
183
+ if (!inputTime || typeof inputTime !== 'string') {
184
+ return getCurrentTime();
185
+ }
186
+ var trimmed = inputTime.trim();
187
+ var timeRegex = /^(\d{2}):(\d{2})$/;
188
+ var match = trimmed.match(timeRegex);
189
+ if (!match) {
190
+ return getCurrentTime();
191
+ }
192
+ var hour = Number(match[1]);
193
+ var minute = Number(match[2]);
194
+ if (hour > 23 || minute > 59) {
195
+ return getCurrentTime();
196
+ }
197
+ return match[1] + ':' + match[2];
198
+ }
199
+
200
+ export function delimate(format) {
201
+ var delimiter = void 0;
202
+ if (format === DATE_FORMATS.Germany_Russia_etc || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
203
+ delimiter = '.';
204
+ } else if (format === DATE_FORMATS.ISO || format === DATE_FORMATS.ISOAndTime) {
205
+ delimiter = '-';
206
+ } else {
207
+ delimiter = '/';
208
+ }
209
+ return delimiter;
210
+ }
211
+
212
+ export function validateCalendarYear(yearStr) {
213
+ var year = yearStr;
214
+ if (!year || isNaN(year)) return getCurrentYear();
215
+ if (year.length === 2) {
216
+ if (Number(year) >= 0 && Number(year) < 69) {
217
+ return year ? '20' + year : getCurrentYear();
218
+ } else if (Number(year) >= 69 && Number(year) < 100) {
219
+ return year ? '19' + year : getCurrentYear();
220
+ }
221
+ }
222
+ if (year.length === 4) {
223
+ return year;
224
+ }
225
+ return year ? year.padStart(4, '0') : getCurrentYear();
226
+ }
227
+
228
+ export function validateAndNormalizeDate(dayStr, monthStr, yearStr) {
229
+ var day = Number(dayStr);
230
+ var month = Number(monthStr);
231
+ var year = yearStr;
232
+ var isInThirtyOneDaysMonths = [1, 3, 5, 7, 8, 10, 12].includes(month);
233
+ var isInThirtyDaysMonths = [4, 6, 9, 11].includes(month);
234
+ var isValidDayThirtyOne = day < 1 || day > 31;
235
+ var isValidDayThirty = day < 1 || day > 30;
236
+ var isValidDayTwentyNight = day < 1 || day > 29;
237
+ var isValidDayTwentyEight = day < 1 || day > 28;
238
+
239
+ if (month > 12 || month < 0 || !month) {
240
+ day = getCurrentDate();
241
+ month = getCurrentMonth();
242
+ year = getCurrentYear();
243
+ }
244
+
245
+ if (isInThirtyOneDaysMonths && isValidDayThirtyOne || isInThirtyDaysMonths && isValidDayThirty) {
246
+ day = getCurrentDate();
247
+ month = getCurrentMonth();
248
+ year = getCurrentYear();
249
+ }
250
+
251
+ if (month === 2) {
252
+ if (isLeapYear(year) && isValidDayTwentyNight) {
253
+ day = getCurrentDate();
254
+ month = getCurrentMonth();
255
+ year = getCurrentYear();
256
+ } else if (isValidDayTwentyEight) {
257
+ day = getCurrentDate();
258
+ month = getCurrentMonth();
259
+ year = getCurrentYear();
260
+ }
261
+ }
262
+ return { day: day, month: month, year: year };
263
+ }
264
+
265
+ export function getDatePart(str) {
266
+ if (typeof str !== 'string') return '';
267
+ var parts = str.trim().split(/\s+/);
268
+ return parts[0];
269
+ }
270
+
271
+ export function initializeStr(str, format) {
272
+ var inputStr = str;
273
+ var inputStrLength = inputStr.length;
274
+ var time = getCurrentTime();
275
+ var hasSpecial = hasSpecialChar(inputStr);
276
+ var formattedArray = tokenizeFormattedDate(inputStr, format);
277
+ var dateDelimater = delimate(format);
278
+ if (format === DATE_FORMATS.ISO) {
279
+ var numStr = inputStr.replace(/[^0-9]/g, '');
280
+ if (numStr.length === 7 || numStr.length === 8) {
281
+ var yearStr = numStr.slice(0, 4);
282
+ var monthStr = numStr.slice(4, 6) || '01';
283
+ var dateStr = numStr.slice(6, numStr.length) || '01';
284
+ var validateYear = validateCalendarYear(yearStr);
285
+
286
+ var _validateAndNormalize = validateAndNormalizeDate(dateStr, monthStr, validateYear),
287
+ day = _validateAndNormalize.day,
288
+ month = _validateAndNormalize.month;
289
+
290
+ var _validateAndNormalize2 = validateAndNormalizeDate(dateStr, monthStr, validateYear),
291
+ year = _validateAndNormalize2.year;
292
+
293
+ day = String(day).padStart(2, 0);
294
+ month = String(month).padStart(2, 0);
295
+ return '' + year + dateDelimater + month + dateDelimater + day;
296
+ }
297
+ if (hasSpecial) {
298
+ var _validateYear = validateCalendarYear(formattedArray[0]);
299
+
300
+ var _validateAndNormalize3 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear),
301
+ _day = _validateAndNormalize3.day,
302
+ _month = _validateAndNormalize3.month; // eslint-disable-line max-len
303
+
304
+
305
+ var _validateAndNormalize4 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear),
306
+ _year = _validateAndNormalize4.year; // eslint-disable-line max-len
307
+
308
+
309
+ _day = String(_day).padStart(2, 0);
310
+ _month = String(_month).padStart(2, 0);
311
+ return '' + _year + dateDelimater + _month + dateDelimater + _day;
312
+ } else if (inputStrLength >= 1 && inputStrLength <= 8) {
313
+ var _yearStr = inputStr.slice(0, 4);
314
+ var _monthStr = inputStr.slice(4, 6) || '01';
315
+ var _dateStr = inputStr.slice(6, 8) || '01';
316
+ var _validateYear2 = validateCalendarYear(_yearStr);
317
+
318
+ var _validateAndNormalize5 = validateAndNormalizeDate(_dateStr, _monthStr, _validateYear2),
319
+ _day2 = _validateAndNormalize5.day,
320
+ _month2 = _validateAndNormalize5.month;
321
+
322
+ var _validateAndNormalize6 = validateAndNormalizeDate(_dateStr, _monthStr, _validateYear2),
323
+ _year2 = _validateAndNormalize6.year;
324
+
325
+ _day2 = String(_day2).padStart(2, 0);
326
+ _month2 = String(_month2).padStart(2, 0);
327
+ return '' + _year2 + dateDelimater + _month2 + dateDelimater + _day2;
328
+ } else if (inputStrLength > 8) {
329
+ return '' + getCurrentYear() + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0); // eslint-disable-line max-len
330
+ }
331
+ } else if (format === DATE_FORMATS.ISOAndTime) {
332
+ var datePart = getDatePart(inputStr);
333
+ var formattedDateArray = tokenizeFormattedDate(datePart, format);
334
+ var isDateSpecial = hasSpecialChar(datePart);
335
+ var _numStr = datePart.replace(/[^0-9]/g, '');
336
+ if (_numStr.length === 7 || _numStr.length === 8) {
337
+ var _yearStr2 = _numStr.slice(0, 4);
338
+ var _monthStr2 = _numStr.slice(4, 6) || '01';
339
+ var _dateStr2 = _numStr.slice(6, _numStr.length) || '01';
340
+ if (formattedArray.length === 3) {
341
+ time = validateTime(formattedArray[1] + ':' + formattedArray[2]);
342
+ }
343
+ if (formattedArray.length === 4) {
344
+ time = validateTime(formattedArray[2] + ':' + formattedArray[3]);
345
+ }
346
+ if (formattedArray.length === 5) {
347
+ time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
348
+ }
349
+ var _validateYear3 = validateCalendarYear(_yearStr2);
350
+
351
+ var _validateAndNormalize7 = validateAndNormalizeDate(_dateStr2, _monthStr2, _validateYear3),
352
+ _day3 = _validateAndNormalize7.day,
353
+ _month3 = _validateAndNormalize7.month;
354
+
355
+ var _validateAndNormalize8 = validateAndNormalizeDate(_dateStr2, _monthStr2, _validateYear3),
356
+ _year3 = _validateAndNormalize8.year;
357
+
358
+ _day3 = String(_day3).padStart(2, 0);
359
+ _month3 = String(_month3).padStart(2, 0);
360
+ return '' + _year3 + dateDelimater + _month3 + dateDelimater + _day3 + ' ' + time;
361
+ }
362
+ if (isDateSpecial) {
363
+ if (formattedDateArray.length < 3) {
364
+ formattedArray.splice(2, 0, '01');
365
+ }
366
+ var _validateYear4 = validateCalendarYear(formattedArray[0]);
367
+
368
+ var _validateAndNormalize9 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear4),
369
+ _day4 = _validateAndNormalize9.day,
370
+ _month4 = _validateAndNormalize9.month; // eslint-disable-line max-len
371
+
372
+
373
+ var _validateAndNormalize10 = validateAndNormalizeDate(formattedArray[2] || '01', formattedArray[1] || '01', _validateYear4),
374
+ _year4 = _validateAndNormalize10.year; // eslint-disable-line max-len
375
+
376
+
377
+ time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
378
+ _day4 = String(_day4).padStart(2, 0);
379
+ _month4 = String(_month4).padStart(2, 0);
380
+ return '' + _year4 + dateDelimater + _month4 + dateDelimater + _day4 + ' ' + time;
381
+ } else if (datePart.length >= 1 && datePart.length <= 8) {
382
+ var _yearStr3 = datePart.slice(0, 4);
383
+ var _monthStr3 = datePart.slice(4, 6) || '01';
384
+ var _dateStr3 = datePart.slice(6, 8) || '01';
385
+ var timeParts = tokenizeFormattedDate(inputStr, format);
386
+ time = validateTime(timeParts[1] + ':' + timeParts[2]);
387
+ var _validateYear5 = validateCalendarYear(_yearStr3);
388
+
389
+ var _validateAndNormalize11 = validateAndNormalizeDate(_dateStr3, _monthStr3, _validateYear5),
390
+ _day5 = _validateAndNormalize11.day,
391
+ _month5 = _validateAndNormalize11.month;
392
+
393
+ var _validateAndNormalize12 = validateAndNormalizeDate(_dateStr3, _monthStr3, _validateYear5),
394
+ _year5 = _validateAndNormalize12.year;
395
+
396
+ _day5 = String(_day5).padStart(2, 0);
397
+ _month5 = String(_month5).padStart(2, 0);
398
+ return '' + _year5 + dateDelimater + _month5 + dateDelimater + _day5 + ' ' + time;
399
+ } else if (datePart.length > 8) {
400
+ return '' + getCurrentYear() + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0) + ' ' + getCurrentTime(); // eslint-disable-line max-len
401
+ }
402
+ } else if (format === DATE_FORMATS.US) {
403
+ if (hasSpecial) {
404
+ var _validateYear6 = validateCalendarYear(formattedArray[2]);
405
+
406
+ var _validateAndNormalize13 = validateAndNormalizeDate(formattedArray[1] || '1', formattedArray[0], _validateYear6),
407
+ _day6 = _validateAndNormalize13.day,
408
+ _month6 = _validateAndNormalize13.month,
409
+ _year6 = _validateAndNormalize13.year; // eslint-disable-line max-len
410
+
411
+
412
+ return '' + _month6 + dateDelimater + _day6 + dateDelimater + _year6;
413
+ } else if (inputStrLength >= 1 && inputStrLength <= 8) {
414
+ var _monthStr4 = inputStr.slice(0, 2);
415
+ var _dateStr4 = inputStr.slice(2, 4) || '1';
416
+ var _yearStr4 = inputStr.slice(4, inputStr.length);
417
+ var _validateYear7 = validateCalendarYear(_yearStr4);
418
+
419
+ var _validateAndNormalize14 = validateAndNormalizeDate(_dateStr4, _monthStr4, _validateYear7),
420
+ _day7 = _validateAndNormalize14.day,
421
+ _month7 = _validateAndNormalize14.month,
422
+ _year7 = _validateAndNormalize14.year;
423
+
424
+ return '' + _month7 + dateDelimater + _day7 + dateDelimater + _year7; // eslint-disable-line max-len
425
+ } else if (inputStrLength > 8) {
426
+ return '' + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0) + dateDelimater + getCurrentYear(); // eslint-disable-line max-len
427
+ }
428
+ } else if (format === DATE_FORMATS.USAndTime) {
429
+ var _datePart = getDatePart(inputStr);
430
+ var _formattedDateArray = tokenizeFormattedDate(_datePart, format);
431
+ var _isDateSpecial = hasSpecialChar(_datePart);
432
+ if (_isDateSpecial) {
433
+ if (_formattedDateArray.length < 3) {
434
+ formattedArray.splice(2, 0, String(getCurrentYear()));
435
+ }
436
+ var _validateYear8 = validateCalendarYear(formattedArray[2]);
437
+
438
+ var _validateAndNormalize15 = validateAndNormalizeDate(formattedArray[1] || '1', formattedArray[0], _validateYear8),
439
+ _day8 = _validateAndNormalize15.day,
440
+ _month8 = _validateAndNormalize15.month,
441
+ _year8 = _validateAndNormalize15.year; // eslint-disable-line max-len
442
+
443
+
444
+ time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
445
+ return '' + _month8 + dateDelimater + _day8 + dateDelimater + _year8 + ' ' + time;
446
+ } else if (_datePart.length >= 1 && _datePart.length <= 8) {
447
+ var _monthStr5 = _datePart.slice(0, 2);
448
+ var _dateStr5 = _datePart.slice(2, 4) || '1';
449
+ var _yearStr5 = _datePart.slice(4, _datePart.length);
450
+ var _validateYear9 = validateCalendarYear(_yearStr5); // eslint-disable-line max-len
451
+
452
+ var _validateAndNormalize16 = validateAndNormalizeDate(_dateStr5, _monthStr5, _validateYear9),
453
+ _day9 = _validateAndNormalize16.day,
454
+ _month9 = _validateAndNormalize16.month,
455
+ _year9 = _validateAndNormalize16.year;
456
+
457
+ var _timeParts = tokenizeFormattedDate(inputStr, format);
458
+ time = validateTime(_timeParts[1] + ':' + _timeParts[2]) || getCurrentTime();
459
+ return '' + _month9 + dateDelimater + _day9 + dateDelimater + _year9 + ' ' + time;
460
+ } else if (_datePart.length > 8) {
461
+ return '' + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + String(getCurrentDate()).padStart(2, 0) + dateDelimater + getCurrentYear() + ' ' + getCurrentTime(); // eslint-disable-line max-len
462
+ }
463
+ } else if (format === DATE_FORMATS.European || format === DATE_FORMATS.Germany_Russia_etc) {
464
+ if (hasSpecial) {
465
+ var _validateYear10 = validateCalendarYear(formattedArray[2]);
466
+
467
+ var _validateAndNormalize17 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear10),
468
+ _day10 = _validateAndNormalize17.day,
469
+ _month10 = _validateAndNormalize17.month; // eslint-disable-line max-len
470
+
471
+
472
+ var _validateAndNormalize18 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear10),
473
+ _year10 = _validateAndNormalize18.year; // eslint-disable-line max-len
474
+
475
+
476
+ _day10 = String(_day10).padStart(2, 0);
477
+ _month10 = String(_month10).padStart(2, 0);
478
+ return '' + _day10 + dateDelimater + _month10 + dateDelimater + _year10;
479
+ } else if (inputStrLength >= 1 && inputStrLength <= 8) {
480
+ var _dateStr6 = inputStr.slice(0, 2);
481
+ var _monthStr6 = inputStr.slice(2, 4) || getCurrentMonth();
482
+ var _yearStr6 = inputStr.slice(4, inputStr.length);
483
+ var _validateYear11 = validateCalendarYear(_yearStr6);
484
+
485
+ var _validateAndNormalize19 = validateAndNormalizeDate(_dateStr6, _monthStr6, _validateYear11),
486
+ _year11 = _validateAndNormalize19.year; // eslint-disable-line max-len
487
+
488
+
489
+ var _validateAndNormalize20 = validateAndNormalizeDate(_dateStr6, _monthStr6, _validateYear11),
490
+ _day11 = _validateAndNormalize20.day,
491
+ _month11 = _validateAndNormalize20.month; // eslint-disable-line max-len
492
+
493
+
494
+ _day11 = String(_day11).padStart(2, 0);
495
+ _month11 = String(_month11).padStart(2, 0);
496
+ return '' + _day11 + dateDelimater + _month11 + dateDelimater + _year11;
497
+ } else if (inputStrLength > 8) {
498
+ return '' + String(getCurrentDate()).padStart(2, 0) + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + getCurrentYear(); // eslint-disable-line max-len
499
+ }
500
+ } else if (format === DATE_FORMATS.EuropeanAndTime || format === DATE_FORMATS.Germany_Russia_etcAndTime) {
501
+ var _datePart2 = getDatePart(inputStr);
502
+ var _formattedDateArray2 = tokenizeFormattedDate(_datePart2, format);
503
+ var _isDateSpecial2 = hasSpecialChar(_datePart2);
504
+ if (_isDateSpecial2) {
505
+ if (_formattedDateArray2.length < 3) {
506
+ formattedArray.splice(2, 0, String(getCurrentYear()));
507
+ }
508
+ var _validateYear12 = validateCalendarYear(formattedArray[2]);
509
+
510
+ var _validateAndNormalize21 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear12),
511
+ _day12 = _validateAndNormalize21.day,
512
+ _month12 = _validateAndNormalize21.month; // eslint-disable-line max-len
513
+
514
+
515
+ var _validateAndNormalize22 = validateAndNormalizeDate(formattedArray[0], formattedArray[1], _validateYear12),
516
+ _year12 = _validateAndNormalize22.year; // eslint-disable-line max-len
517
+
518
+
519
+ time = validateTime(formattedArray[3] + ':' + formattedArray[4]);
520
+ _day12 = String(_day12).padStart(2, 0);
521
+ _month12 = String(_month12).padStart(2, 0);
522
+ return '' + _day12 + dateDelimater + _month12 + dateDelimater + _year12 + ' ' + time;
523
+ } else if (_datePart2.length >= 1 && _datePart2.length <= 8) {
524
+ var _dateStr7 = _datePart2.slice(0, 2);
525
+ var _monthStr7 = _datePart2.slice(2, 4) || getCurrentMonth();
526
+ var _yearStr7 = _datePart2.slice(4, _datePart2.length);
527
+ var _timeParts2 = tokenizeFormattedDate(inputStr, format);
528
+ time = validateTime(_timeParts2[1] + ':' + _timeParts2[2]);
529
+ var _validateYear13 = validateCalendarYear(_yearStr7);
530
+
531
+ var _validateAndNormalize23 = validateAndNormalizeDate(_dateStr7, _monthStr7, _validateYear13),
532
+ _day13 = _validateAndNormalize23.day,
533
+ _month13 = _validateAndNormalize23.month;
534
+
535
+ var _validateAndNormalize24 = validateAndNormalizeDate(_dateStr7, _monthStr7, _validateYear13),
536
+ _year13 = _validateAndNormalize24.year;
537
+
538
+ _day13 = String(_day13).padStart(2, 0);
539
+ _month13 = String(_month13).padStart(2, 0);
540
+ return '' + _day13 + dateDelimater + _month13 + dateDelimater + _year13 + ' ' + time;
541
+ } else if (_datePart2.length > 8) {
542
+ return '' + String(getCurrentDate()).padStart(2, 0) + dateDelimater + String(getCurrentMonth()).padStart(2, 0) + dateDelimater + getCurrentYear() + ' ' + getCurrentTime(); // eslint-disable-line max-len
543
+ }
544
+ }
102
545
  }
@@ -9,7 +9,7 @@ var COL = 3;
9
9
 
10
10
  function goYear(direction) {
11
11
  var value = this.state.value.clone();
12
- value.add(direction, 'year');
12
+ value = value.add(direction, 'year');
13
13
  this.setState({
14
14
  value: value
15
15
  });
@@ -17,8 +17,8 @@ function goYear(direction) {
17
17
 
18
18
  function chooseYear(year) {
19
19
  var value = this.state.value.clone();
20
- value.year(year);
21
- value.month(this.state.value.month());
20
+ value = value.year(year);
21
+ value = value.month(this.state.value.month());
22
22
  this.setState({
23
23
  value: value
24
24
  });
@@ -83,22 +83,14 @@ var YearPanel = function (_React$Component) {
83
83
  var tds = row.map(function (yearData) {
84
84
  var _classNameMap;
85
85
 
86
- var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap[prefixCls + '-last-decade-cell'] = yearData.year < startYear, _classNameMap[prefixCls + '-next-decade-cell'] = yearData.year > endYear, _classNameMap);
87
- var clickHandler = void 0;
88
- if (yearData.year < startYear) {
89
- clickHandler = _this2.previousDecade;
90
- } else if (yearData.year > endYear) {
91
- clickHandler = _this2.nextDecade;
92
- } else {
93
- clickHandler = chooseYear.bind(_this2, yearData.year);
94
- }
86
+ var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap);
95
87
  return React.createElement(
96
88
  'td',
97
89
  {
98
90
  role: 'gridcell',
99
91
  title: yearData.title,
100
92
  key: yearData.content,
101
- onClick: clickHandler,
93
+ onClick: chooseYear.bind(_this2, yearData.year),
102
94
  className: classnames(classNameMap)
103
95
  },
104
96
  React.createElement(