@seafile/seafile-calendar 0.0.28 → 0.0.29-alpha.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.
Files changed (168) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/assets/index.css +0 -1177
  4. package/dist/rc-calendar.css +0 -1179
  5. package/dist/rc-calendar.css.map +0 -1
  6. package/dist/rc-calendar.js +0 -7043
  7. package/dist/rc-calendar.js.map +0 -1
  8. package/dist/rc-calendar.min.css +0 -1179
  9. package/dist/rc-calendar.min.css.map +0 -1
  10. package/dist/rc-calendar.min.js +0 -1
  11. package/es/Calendar.js +0 -436
  12. package/es/FullCalendar.js +0 -182
  13. package/es/MonthCalendar.js +0 -135
  14. package/es/Picker.js +0 -245
  15. package/es/RangeCalendar.js +0 -876
  16. package/es/calendar/CalendarFooter.js +0 -93
  17. package/es/calendar/CalendarHeader.js +0 -257
  18. package/es/calendar/CalendarRightPanel.js +0 -121
  19. package/es/calendar/OkButton.js +0 -22
  20. package/es/calendar/TimePickerButton.js +0 -28
  21. package/es/calendar/TodayButton.js +0 -28
  22. package/es/date/DateConstants.js +0 -4
  23. package/es/date/DateInput.js +0 -233
  24. package/es/date/DateTBody.js +0 -275
  25. package/es/date/DateTHead.js +0 -78
  26. package/es/date/DateTable.js +0 -32
  27. package/es/decade/DecadePanel.js +0 -181
  28. package/es/full-calendar/CalendarHeader.js +0 -180
  29. package/es/index.js +0 -3
  30. package/es/locale/ar_EG.js +0 -27
  31. package/es/locale/bg_BG.js +0 -27
  32. package/es/locale/ca_ES.js +0 -27
  33. package/es/locale/cs_CZ.js +0 -27
  34. package/es/locale/da_DK.js +0 -27
  35. package/es/locale/de_DE.js +0 -27
  36. package/es/locale/el_GR.js +0 -27
  37. package/es/locale/en_GB.js +0 -27
  38. package/es/locale/en_US.js +0 -28
  39. package/es/locale/es_ES.js +0 -27
  40. package/es/locale/et_EE.js +0 -27
  41. package/es/locale/fa_IR.js +0 -27
  42. package/es/locale/fi_FI.js +0 -27
  43. package/es/locale/fr_BE.js +0 -27
  44. package/es/locale/fr_FR.js +0 -27
  45. package/es/locale/he_IL.js +0 -28
  46. package/es/locale/hi_IN.js +0 -28
  47. package/es/locale/hr_HR.js +0 -28
  48. package/es/locale/hu_HU.js +0 -27
  49. package/es/locale/id_ID.js +0 -28
  50. package/es/locale/is_IS.js +0 -27
  51. package/es/locale/it_IT.js +0 -27
  52. package/es/locale/ja_JP.js +0 -26
  53. package/es/locale/kn_IN.js +0 -28
  54. package/es/locale/ko_KR.js +0 -27
  55. package/es/locale/ku_IQ.js +0 -27
  56. package/es/locale/lv_LV.js +0 -27
  57. package/es/locale/mm_MM.js +0 -28
  58. package/es/locale/mn_MN.js +0 -28
  59. package/es/locale/ms_MY.js +0 -27
  60. package/es/locale/nb_NO.js +0 -27
  61. package/es/locale/nl_BE.js +0 -27
  62. package/es/locale/nl_NL.js +0 -27
  63. package/es/locale/pl_PL.js +0 -27
  64. package/es/locale/pt_BR.js +0 -27
  65. package/es/locale/pt_PT.js +0 -27
  66. package/es/locale/ro_RO.js +0 -28
  67. package/es/locale/ru_RU.js +0 -27
  68. package/es/locale/sk_SK.js +0 -27
  69. package/es/locale/sl_SI.js +0 -27
  70. package/es/locale/sr_RS.js +0 -27
  71. package/es/locale/sv_SE.js +0 -27
  72. package/es/locale/ta_IN.js +0 -28
  73. package/es/locale/th_TH.js +0 -27
  74. package/es/locale/tr_TR.js +0 -27
  75. package/es/locale/ug_CN.js +0 -26
  76. package/es/locale/uk_UA.js +0 -27
  77. package/es/locale/vi_VN.js +0 -28
  78. package/es/locale/zh_CN.js +0 -27
  79. package/es/locale/zh_TW.js +0 -26
  80. package/es/mixin/CalendarMixin.js +0 -123
  81. package/es/mixin/CommonMixin.js +0 -85
  82. package/es/month/MonthPanel.js +0 -154
  83. package/es/month/MonthTable.js +0 -156
  84. package/es/picker/placements.js +0 -35
  85. package/es/range-calendar/CalendarPart.js +0 -151
  86. package/es/util/dayjs.js +0 -17
  87. package/es/util/index.js +0 -105
  88. package/es/util/toTime.js +0 -21
  89. package/es/year/YearPanel.js +0 -194
  90. package/lib/Calendar.js +0 -499
  91. package/lib/FullCalendar.js +0 -221
  92. package/lib/MonthCalendar.js +0 -172
  93. package/lib/Picker.js +0 -282
  94. package/lib/RangeCalendar.js +0 -925
  95. package/lib/calendar/CalendarFooter.js +0 -134
  96. package/lib/calendar/CalendarHeader.js +0 -290
  97. package/lib/calendar/CalendarRightPanel.js +0 -145
  98. package/lib/calendar/OkButton.js +0 -32
  99. package/lib/calendar/TimePickerButton.js +0 -41
  100. package/lib/calendar/TodayButton.js +0 -39
  101. package/lib/date/DateConstants.js +0 -8
  102. package/lib/date/DateInput.js +0 -265
  103. package/lib/date/DateTBody.js +0 -302
  104. package/lib/date/DateTHead.js +0 -95
  105. package/lib/date/DateTable.js +0 -54
  106. package/lib/decade/DecadePanel.js +0 -207
  107. package/lib/full-calendar/CalendarHeader.js +0 -201
  108. package/lib/index.js +0 -12
  109. package/lib/locale/ar_EG.js +0 -31
  110. package/lib/locale/bg_BG.js +0 -31
  111. package/lib/locale/ca_ES.js +0 -31
  112. package/lib/locale/cs_CZ.js +0 -31
  113. package/lib/locale/da_DK.js +0 -31
  114. package/lib/locale/de_DE.js +0 -31
  115. package/lib/locale/el_GR.js +0 -31
  116. package/lib/locale/en_GB.js +0 -31
  117. package/lib/locale/en_US.js +0 -32
  118. package/lib/locale/es_ES.js +0 -31
  119. package/lib/locale/et_EE.js +0 -31
  120. package/lib/locale/fa_IR.js +0 -31
  121. package/lib/locale/fi_FI.js +0 -31
  122. package/lib/locale/fr_BE.js +0 -31
  123. package/lib/locale/fr_FR.js +0 -31
  124. package/lib/locale/he_IL.js +0 -32
  125. package/lib/locale/hi_IN.js +0 -32
  126. package/lib/locale/hr_HR.js +0 -32
  127. package/lib/locale/hu_HU.js +0 -31
  128. package/lib/locale/id_ID.js +0 -32
  129. package/lib/locale/is_IS.js +0 -31
  130. package/lib/locale/it_IT.js +0 -31
  131. package/lib/locale/ja_JP.js +0 -30
  132. package/lib/locale/kn_IN.js +0 -32
  133. package/lib/locale/ko_KR.js +0 -31
  134. package/lib/locale/ku_IQ.js +0 -31
  135. package/lib/locale/lv_LV.js +0 -31
  136. package/lib/locale/mm_MM.js +0 -32
  137. package/lib/locale/mn_MN.js +0 -32
  138. package/lib/locale/ms_MY.js +0 -31
  139. package/lib/locale/nb_NO.js +0 -31
  140. package/lib/locale/nl_BE.js +0 -31
  141. package/lib/locale/nl_NL.js +0 -31
  142. package/lib/locale/pl_PL.js +0 -31
  143. package/lib/locale/pt_BR.js +0 -31
  144. package/lib/locale/pt_PT.js +0 -31
  145. package/lib/locale/ro_RO.js +0 -32
  146. package/lib/locale/ru_RU.js +0 -31
  147. package/lib/locale/sk_SK.js +0 -31
  148. package/lib/locale/sl_SI.js +0 -31
  149. package/lib/locale/sr_RS.js +0 -31
  150. package/lib/locale/sv_SE.js +0 -31
  151. package/lib/locale/ta_IN.js +0 -32
  152. package/lib/locale/th_TH.js +0 -31
  153. package/lib/locale/tr_TR.js +0 -31
  154. package/lib/locale/ug_CN.js +0 -30
  155. package/lib/locale/uk_UA.js +0 -31
  156. package/lib/locale/vi_VN.js +0 -32
  157. package/lib/locale/zh_CN.js +0 -31
  158. package/lib/locale/zh_TW.js +0 -30
  159. package/lib/mixin/CalendarMixin.js +0 -153
  160. package/lib/mixin/CommonMixin.js +0 -106
  161. package/lib/month/MonthPanel.js +0 -179
  162. package/lib/month/MonthTable.js +0 -181
  163. package/lib/picker/placements.js +0 -39
  164. package/lib/range-calendar/CalendarPart.js +0 -184
  165. package/lib/util/dayjs.js +0 -46
  166. package/lib/util/index.js +0 -130
  167. package/lib/util/toTime.js +0 -28
  168. package/lib/year/YearPanel.js +0 -219
package/es/Calendar.js DELETED
@@ -1,436 +0,0 @@
1
- import _extends from 'babel-runtime/helpers/extends';
2
- import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
3
- import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
4
- import _inherits from 'babel-runtime/helpers/inherits';
5
- import React from 'react';
6
- import ReactDOM from 'react-dom';
7
- import PropTypes from 'prop-types';
8
- import KeyCode from 'rc-util/es/KeyCode';
9
- import { polyfill } from 'react-lifecycles-compat';
10
- import dayjs from 'dayjs';
11
- import DateTable from './date/DateTable';
12
- import CalendarHeader from './calendar/CalendarHeader';
13
- import CalendarFooter from './calendar/CalendarFooter';
14
- import CalendarRightPanel from './calendar/CalendarRightPanel';
15
- import { calendarMixinWrapper, calendarMixinPropTypes, calendarMixinDefaultProps, getNowByCurrentStateValue } from './mixin/CalendarMixin';
16
- import { commonMixinWrapper, propType, defaultProp } from './mixin/CommonMixin';
17
- import DateInput from './date/DateInput';
18
- import { getTimeConfig, getTodayTime, syncTime } from './util';
19
- import { goStartMonth, goEndMonth, goTime } from './util/toTime';
20
- import localeData from 'dayjs/plugin/localeData';
21
- import utc from 'dayjs/plugin/utc';
22
- import weekOfYear from 'dayjs/plugin/weekOfYear';
23
- dayjs.extend(utc);
24
- dayjs.extend(localeData);
25
- dayjs.extend(weekOfYear);
26
-
27
- function noop() {}
28
-
29
- var getMomentObjectIfValid = function getMomentObjectIfValid(date) {
30
- if (dayjs.isDayjs(date) && date.isValid()) {
31
- return date;
32
- }
33
- return false;
34
- };
35
-
36
- var Calendar = function (_React$Component) {
37
- _inherits(Calendar, _React$Component);
38
-
39
- function Calendar(props) {
40
- _classCallCheck(this, Calendar);
41
-
42
- var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
43
-
44
- _initialiseProps.call(_this);
45
-
46
- _this.state = {
47
- mode: _this.props.mode || 'date',
48
- value: getMomentObjectIfValid(props.value) || getMomentObjectIfValid(props.defaultValue) || dayjs(),
49
- selectedValue: props.selectedValue || props.defaultSelectedValue
50
- };
51
- return _this;
52
- }
53
-
54
- Calendar.prototype.componentDidMount = function componentDidMount() {
55
- if (this.props.showDateInput) {
56
- this.saveFocusElement(DateInput.getInstance());
57
- }
58
- };
59
-
60
- Calendar.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, state) {
61
- var value = nextProps.value,
62
- selectedValue = nextProps.selectedValue;
63
-
64
- var newState = {};
65
-
66
- if ('mode' in nextProps && state.mode !== nextProps.mode) {
67
- newState = { mode: nextProps.mode };
68
- }
69
- if ('value' in nextProps) {
70
- newState.value = getMomentObjectIfValid(value) || getMomentObjectIfValid(nextProps.defaultValue) || getNowByCurrentStateValue(state.value);
71
- }
72
- if ('selectedValue' in nextProps) {
73
- newState.selectedValue = selectedValue;
74
- }
75
-
76
- return newState;
77
- };
78
-
79
- Calendar.prototype.render = function render() {
80
- var props = this.props,
81
- state = this.state;
82
- var locale = props.locale,
83
- prefixCls = props.prefixCls,
84
- disabledDate = props.disabledDate,
85
- dateInputPlaceholder = props.dateInputPlaceholder,
86
- timePicker = props.timePicker,
87
- onClickRightPanelTime = props.onClickRightPanelTime,
88
- disabledTime = props.disabledTime,
89
- clearIcon = props.clearIcon,
90
- renderFooter = props.renderFooter,
91
- inputMode = props.inputMode,
92
- showHourAndMinute = props.showHourAndMinute;
93
- var value = state.value,
94
- selectedValue = state.selectedValue,
95
- mode = state.mode;
96
-
97
- var showTimePicker = mode === 'time';
98
- var disabledTimeConfig = showTimePicker && disabledTime && timePicker ? getTimeConfig(selectedValue, disabledTime) : null;
99
-
100
- var timePickerEle = null;
101
-
102
- if (timePicker && showTimePicker) {
103
- var timePickerProps = _extends({
104
- showHour: true,
105
- showSecond: true,
106
- showMinute: true
107
- }, timePicker.props, disabledTimeConfig, {
108
- onChange: this.onDateInputChange,
109
- value: selectedValue,
110
- disabledTime: disabledTime
111
- });
112
-
113
- if (timePicker.props.defaultValue !== undefined) {
114
- timePickerProps.defaultOpenValue = timePicker.props.defaultValue;
115
- }
116
-
117
- timePickerEle = React.cloneElement(timePicker, timePickerProps);
118
- }
119
-
120
- var dateInputElement = props.showDateInput ? React.createElement(DateInput, {
121
- format: this.getFormat(),
122
- key: 'date-input',
123
- value: value,
124
- locale: locale,
125
- placeholder: dateInputPlaceholder,
126
- showClear: true,
127
- disabledTime: disabledTime,
128
- disabledDate: disabledDate,
129
- onClear: this.onClear,
130
- prefixCls: prefixCls,
131
- selectedValue: selectedValue,
132
- onChange: this.onDateInputChange,
133
- onSelect: this.onDateInputSelect,
134
- clearIcon: clearIcon,
135
- inputMode: inputMode
136
- }) : null;
137
-
138
- var children = [];
139
- if (props.renderSidebar) {
140
- children.push(props.renderSidebar());
141
- }
142
- children.push(React.createElement(
143
- 'div',
144
- { className: prefixCls + '-panel', key: 'panel' },
145
- dateInputElement,
146
- React.createElement(
147
- 'div',
148
- { className: prefixCls + '-date-panel-container' },
149
- React.createElement(
150
- 'div',
151
- {
152
- tabIndex: this.props.focusablePanel ? 0 : undefined,
153
- className: prefixCls + '-date-panel'
154
- },
155
- React.createElement(CalendarHeader, {
156
- locale: locale,
157
- mode: mode,
158
- value: value,
159
- onValueChange: this.setValue,
160
- onPanelChange: this.onPanelChange,
161
- renderFooter: renderFooter,
162
- showTimePicker: showTimePicker,
163
- prefixCls: prefixCls
164
- }),
165
- timePicker && showTimePicker ? React.createElement(
166
- 'div',
167
- { className: prefixCls + '-time-picker' },
168
- React.createElement(
169
- 'div',
170
- { className: prefixCls + '-time-picker-panel' },
171
- timePickerEle
172
- )
173
- ) : null,
174
- React.createElement(
175
- 'div',
176
- { className: prefixCls + '-body' },
177
- React.createElement(DateTable, {
178
- locale: locale,
179
- value: value,
180
- selectedValue: selectedValue,
181
- prefixCls: prefixCls,
182
- dateRender: props.dateRender,
183
- onSelect: this.onDateTableSelect,
184
- disabledDate: disabledDate,
185
- showWeekNumber: props.showWeekNumber
186
- })
187
- ),
188
- React.createElement(CalendarFooter, {
189
- showOk: props.showOk,
190
- mode: mode,
191
- renderFooter: props.renderFooter,
192
- locale: locale,
193
- prefixCls: prefixCls,
194
- showToday: props.showToday,
195
- disabledTime: disabledTime,
196
- showTimePicker: showTimePicker,
197
- showDateInput: props.showDateInput,
198
- timePicker: timePicker,
199
- selectedValue: selectedValue,
200
- value: value,
201
- disabledDate: disabledDate,
202
- okDisabled: props.showOk !== false && (!selectedValue || !this.isAllowedDate(selectedValue)),
203
- onOk: this.onOk,
204
- onSelect: this.onSelect,
205
- onToday: this.onToday,
206
- onOpenTimePicker: this.openTimePicker,
207
- onCloseTimePicker: this.closeTimePicker
208
- })
209
- ),
210
- showHourAndMinute && React.createElement(CalendarRightPanel, {
211
- prefixCls: prefixCls,
212
- value: value,
213
- locale: locale,
214
- onSelect: this.onDateTableSelect,
215
- onClickRightPanelTime: onClickRightPanelTime,
216
- defaultMinutesTime: this.props.defaultMinutesTime
217
- })
218
- )
219
- ));
220
-
221
- return this.renderRoot({
222
- children: children,
223
- className: props.showWeekNumber ? prefixCls + '-week-number' : ''
224
- });
225
- };
226
-
227
- return Calendar;
228
- }(React.Component);
229
-
230
- Calendar.propTypes = _extends({}, calendarMixinPropTypes, propType, {
231
- prefixCls: PropTypes.string,
232
- className: PropTypes.string,
233
- style: PropTypes.object,
234
- defaultValue: PropTypes.object,
235
- value: PropTypes.object,
236
- selectedValue: PropTypes.object,
237
- defaultSelectedValue: PropTypes.object,
238
- mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade']),
239
- locale: PropTypes.object,
240
- showDateInput: PropTypes.bool,
241
- showWeekNumber: PropTypes.bool,
242
- showToday: PropTypes.bool,
243
- showOk: PropTypes.bool,
244
- showHourAndMinute: PropTypes.bool,
245
- defaultMinutesTime: PropTypes.string,
246
- onSelect: PropTypes.func,
247
- onOk: PropTypes.func,
248
- onKeyDown: PropTypes.func,
249
- timePicker: PropTypes.element,
250
- dateInputPlaceholder: PropTypes.any,
251
- onClear: PropTypes.func,
252
- onChange: PropTypes.func,
253
- onPanelChange: PropTypes.func,
254
- disabledDate: PropTypes.func,
255
- disabledTime: PropTypes.any,
256
- dateRender: PropTypes.func,
257
- renderFooter: PropTypes.func,
258
- renderSidebar: PropTypes.func,
259
- clearIcon: PropTypes.node,
260
- focusablePanel: PropTypes.bool,
261
- inputMode: PropTypes.string,
262
- onBlur: PropTypes.func,
263
- onClickRightPanelTime: PropTypes.func
264
- });
265
- Calendar.defaultProps = _extends({}, calendarMixinDefaultProps, defaultProp, {
266
- showToday: true,
267
- showDateInput: true,
268
- showHourAndMinute: false,
269
- timePicker: null,
270
- onOk: noop,
271
- onPanelChange: noop,
272
- onClickRightPanelTime: noop,
273
- focusablePanel: true
274
- });
275
-
276
- var _initialiseProps = function _initialiseProps() {
277
- var _this2 = this;
278
-
279
- this.onPanelChange = function (value, mode) {
280
- var props = _this2.props,
281
- state = _this2.state;
282
-
283
- if (!('mode' in props)) {
284
- _this2.setState({ mode: mode });
285
- }
286
- props.onPanelChange(value || state.value, mode);
287
- };
288
-
289
- this.onKeyDown = function (event) {
290
- if (event.target.nodeName.toLowerCase() === 'input') {
291
- return undefined;
292
- }
293
- var keyCode = event.keyCode;
294
- // mac
295
- var ctrlKey = event.ctrlKey || event.metaKey;
296
- var disabledDate = _this2.props.disabledDate;
297
- var value = _this2.state.value;
298
-
299
- switch (keyCode) {
300
- case KeyCode.DOWN:
301
- _this2.goTime(1, 'weeks');
302
- event.preventDefault();
303
- return 1;
304
- case KeyCode.UP:
305
- _this2.goTime(-1, 'weeks');
306
- event.preventDefault();
307
- return 1;
308
- case KeyCode.LEFT:
309
- if (ctrlKey) {
310
- _this2.goTime(-1, 'years');
311
- } else {
312
- _this2.goTime(-1, 'days');
313
- }
314
- event.preventDefault();
315
- return 1;
316
- case KeyCode.RIGHT:
317
- if (ctrlKey) {
318
- _this2.goTime(1, 'years');
319
- } else {
320
- _this2.goTime(1, 'days');
321
- }
322
- event.preventDefault();
323
- return 1;
324
- case KeyCode.HOME:
325
- _this2.setValue(goStartMonth(_this2.state.value));
326
- event.preventDefault();
327
- return 1;
328
- case KeyCode.END:
329
- _this2.setValue(goEndMonth(_this2.state.value));
330
- event.preventDefault();
331
- return 1;
332
- case KeyCode.PAGE_DOWN:
333
- _this2.goTime(1, 'month');
334
- event.preventDefault();
335
- return 1;
336
- case KeyCode.PAGE_UP:
337
- _this2.goTime(-1, 'month');
338
- event.preventDefault();
339
- return 1;
340
- case KeyCode.ENTER:
341
- if (!disabledDate || !disabledDate(value)) {
342
- _this2.onSelect(value, {
343
- source: 'keyboard'
344
- });
345
- }
346
- event.preventDefault();
347
- return 1;
348
- default:
349
- _this2.props.onKeyDown(event);
350
- return 1;
351
- }
352
- };
353
-
354
- this.onClear = function () {
355
- _this2.onSelect(null);
356
- _this2.props.onClear();
357
- };
358
-
359
- this.onOk = function () {
360
- var selectedValue = _this2.state.selectedValue;
361
-
362
- if (_this2.isAllowedDate(selectedValue)) {
363
- _this2.props.onOk(selectedValue);
364
- }
365
- };
366
-
367
- this.onDateInputChange = function (value) {
368
- _this2.onSelect(value, {
369
- source: 'dateInput'
370
- });
371
- };
372
-
373
- this.onDateInputSelect = function (value) {
374
- _this2.onSelect(value, {
375
- source: 'dateInputSelect'
376
- });
377
- };
378
-
379
- this.onDateTableSelect = function (value) {
380
- var timePicker = _this2.props.timePicker;
381
- var selectedValue = _this2.state.selectedValue;
382
-
383
- if (!selectedValue && timePicker) {
384
- var timePickerDefaultValue = timePicker.props.defaultValue;
385
- if (timePickerDefaultValue) {
386
- syncTime(timePickerDefaultValue, value);
387
- }
388
- }
389
- _this2.onSelect(value);
390
- };
391
-
392
- this.onToday = function () {
393
- var value = _this2.state.value;
394
-
395
- var now = getTodayTime(value);
396
- _this2.onSelect(now, {
397
- source: 'todayButton'
398
- });
399
- };
400
-
401
- this.onBlur = function (event) {
402
- setTimeout(function () {
403
- var dateInput = DateInput.getInstance();
404
- var rootInstance = _this2.rootInstance;
405
-
406
- if (!rootInstance || rootInstance.contains(document.activeElement) || dateInput && dateInput.contains(document.activeElement)) {
407
- // focused element is still part of Calendar
408
- return;
409
- }
410
-
411
- if (_this2.props.onBlur) {
412
- _this2.props.onBlur(event);
413
- }
414
- }, 0);
415
- };
416
-
417
- this.getRootDOMNode = function () {
418
- return ReactDOM.findDOMNode(_this2);
419
- };
420
-
421
- this.openTimePicker = function () {
422
- _this2.onPanelChange(null, 'time');
423
- };
424
-
425
- this.closeTimePicker = function () {
426
- _this2.onPanelChange(null, 'date');
427
- };
428
-
429
- this.goTime = function (direction, unit) {
430
- _this2.setValue(goTime(_this2.state.value, direction, unit));
431
- };
432
- };
433
-
434
- polyfill(Calendar);
435
-
436
- export default calendarMixinWrapper(commonMixinWrapper(Calendar));
@@ -1,182 +0,0 @@
1
- import _extends from 'babel-runtime/helpers/extends';
2
- import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
3
- import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
4
- import _inherits from 'babel-runtime/helpers/inherits';
5
- import React from 'react';
6
- import PropTypes from 'prop-types';
7
- import { polyfill } from 'react-lifecycles-compat';
8
- import DateTable from './date/DateTable';
9
- import MonthTable from './month/MonthTable';
10
- import { calendarMixinWrapper, calendarMixinPropTypes, calendarMixinDefaultProps, getNowByCurrentStateValue } from './mixin/CalendarMixin';
11
- import { commonMixinWrapper, propType, defaultProp } from './mixin/CommonMixin';
12
- import CalendarHeader from './full-calendar/CalendarHeader';
13
- import dayjs from './util/dayjs';
14
-
15
- var FullCalendar = function (_React$Component) {
16
- _inherits(FullCalendar, _React$Component);
17
-
18
- function FullCalendar(props) {
19
- _classCallCheck(this, FullCalendar);
20
-
21
- var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
22
-
23
- _initialiseProps.call(_this);
24
-
25
- var type = void 0;
26
- if ('type' in props) {
27
- type = props.type;
28
- } else {
29
- type = props.defaultType;
30
- }
31
-
32
- _this.state = {
33
- type: type,
34
- value: props.value || props.defaultValue || dayjs(),
35
- selectedValue: props.selectedValue || props.defaultSelectedValue
36
- };
37
- return _this;
38
- }
39
-
40
- FullCalendar.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, state) {
41
- var newState = {};
42
- var value = nextProps.value,
43
- selectedValue = nextProps.selectedValue;
44
-
45
-
46
- if ('type' in nextProps) {
47
- newState = {
48
- type: nextProps.type
49
- };
50
- }
51
- if ('value' in nextProps) {
52
- newState.value = value || nextProps.defaultValue || getNowByCurrentStateValue(state.value);
53
- }
54
- if ('selectedValue' in nextProps) {
55
- newState.selectedValue = selectedValue;
56
- }
57
-
58
- return newState;
59
- };
60
-
61
- FullCalendar.prototype.render = function render() {
62
- var props = this.props;
63
- var locale = props.locale,
64
- prefixCls = props.prefixCls,
65
- fullscreen = props.fullscreen,
66
- showHeader = props.showHeader,
67
- headerComponent = props.headerComponent,
68
- headerRender = props.headerRender,
69
- disabledDate = props.disabledDate;
70
- var _state = this.state,
71
- value = _state.value,
72
- type = _state.type;
73
-
74
-
75
- var header = null;
76
- if (showHeader) {
77
- if (headerRender) {
78
- header = headerRender(value, type, locale);
79
- } else {
80
- var TheHeader = headerComponent || CalendarHeader;
81
- header = React.createElement(TheHeader, _extends({
82
- key: 'calendar-header'
83
- }, props, {
84
- prefixCls: prefixCls + '-full',
85
- type: type,
86
- value: value,
87
- onTypeChange: this.setType,
88
- onValueChange: this.setValue
89
- }));
90
- }
91
- }
92
-
93
- var table = type === 'date' ? React.createElement(DateTable, {
94
- dateRender: props.dateCellRender,
95
- contentRender: props.dateCellContentRender,
96
- locale: locale,
97
- prefixCls: prefixCls,
98
- onSelect: this.onSelect,
99
- value: value,
100
- disabledDate: disabledDate
101
- }) : React.createElement(MonthTable, {
102
- cellRender: props.monthCellRender,
103
- contentRender: props.monthCellContentRender,
104
- locale: locale,
105
- onSelect: this.onMonthSelect,
106
- prefixCls: prefixCls + '-month-panel',
107
- value: value,
108
- disabledDate: disabledDate
109
- });
110
-
111
- var children = [header, React.createElement(
112
- 'div',
113
- { key: 'calendar-body', className: prefixCls + '-calendar-body' },
114
- table
115
- )];
116
-
117
- var className = [prefixCls + '-full'];
118
-
119
- if (fullscreen) {
120
- className.push(prefixCls + '-fullscreen');
121
- }
122
-
123
- return this.renderRoot({
124
- children: children,
125
- className: className.join(' ')
126
- });
127
- };
128
-
129
- return FullCalendar;
130
- }(React.Component);
131
-
132
- FullCalendar.propTypes = _extends({}, calendarMixinPropTypes, propType, {
133
- defaultType: PropTypes.string,
134
- type: PropTypes.string,
135
- prefixCls: PropTypes.string,
136
- locale: PropTypes.object,
137
- onTypeChange: PropTypes.func,
138
- fullscreen: PropTypes.bool,
139
- monthCellRender: PropTypes.func,
140
- dateCellRender: PropTypes.func,
141
- showTypeSwitch: PropTypes.bool,
142
- Select: PropTypes.func.isRequired,
143
- headerComponents: PropTypes.array,
144
- headerComponent: PropTypes.object, // The whole header component
145
- headerRender: PropTypes.func,
146
- showHeader: PropTypes.bool,
147
- disabledDate: PropTypes.func,
148
- value: PropTypes.object,
149
- defaultValue: PropTypes.object,
150
- selectedValue: PropTypes.object,
151
- defaultSelectedValue: PropTypes.object
152
- });
153
- FullCalendar.defaultProps = _extends({}, calendarMixinDefaultProps, defaultProp, {
154
- defaultType: 'date',
155
- fullscreen: false,
156
- showTypeSwitch: true,
157
- showHeader: true,
158
- onTypeChange: function onTypeChange() {}
159
- });
160
-
161
- var _initialiseProps = function _initialiseProps() {
162
- var _this2 = this;
163
-
164
- this.onMonthSelect = function (value) {
165
- _this2.onSelect(value, {
166
- target: 'month'
167
- });
168
- };
169
-
170
- this.setType = function (type) {
171
- if (!('type' in _this2.props)) {
172
- _this2.setState({
173
- type: type
174
- });
175
- }
176
- _this2.props.onTypeChange(type);
177
- };
178
- };
179
-
180
- polyfill(FullCalendar);
181
-
182
- export default calendarMixinWrapper(commonMixinWrapper(FullCalendar));