@seafile/seafile-calendar 0.0.28 → 0.0.29-alpha.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 (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
@@ -1,194 +0,0 @@
1
- import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
2
- import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
3
- import _inherits from 'babel-runtime/helpers/inherits';
4
- import React from 'react';
5
- import PropTypes from 'prop-types';
6
- import classnames from 'classnames';
7
- var ROW = 4;
8
- var COL = 3;
9
-
10
- function goYear(direction) {
11
- var value = this.state.value.clone();
12
- value = value.add(direction, 'year');
13
- this.setState({
14
- value: value
15
- });
16
- }
17
-
18
- function chooseYear(year) {
19
- var value = this.state.value.clone();
20
- value = value.year(year);
21
- value = value.month(this.state.value.month());
22
- this.setState({
23
- value: value
24
- });
25
- this.props.onSelect(value);
26
- }
27
-
28
- var YearPanel = function (_React$Component) {
29
- _inherits(YearPanel, _React$Component);
30
-
31
- function YearPanel(props) {
32
- _classCallCheck(this, YearPanel);
33
-
34
- var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
35
-
36
- _this.prefixCls = props.rootPrefixCls + '-year-panel';
37
- _this.state = {
38
- value: props.value || props.defaultValue
39
- };
40
- _this.nextDecade = goYear.bind(_this, 10);
41
- _this.previousDecade = goYear.bind(_this, -10);
42
- return _this;
43
- }
44
-
45
- YearPanel.prototype.years = function years() {
46
- var value = this.state.value;
47
- var currentYear = value.year();
48
- var startYear = parseInt(currentYear / 10, 10) * 10;
49
- var previousYear = startYear - 1;
50
- var years = [];
51
- var index = 0;
52
- for (var rowIndex = 0; rowIndex < ROW; rowIndex++) {
53
- years[rowIndex] = [];
54
- for (var colIndex = 0; colIndex < COL; colIndex++) {
55
- var year = previousYear + index;
56
- var content = String(year);
57
- years[rowIndex][colIndex] = {
58
- content: content,
59
- year: year,
60
- title: content
61
- };
62
- index++;
63
- }
64
- }
65
- return years;
66
- };
67
-
68
- YearPanel.prototype.render = function render() {
69
- var _this2 = this;
70
-
71
- var props = this.props;
72
- var value = this.state.value;
73
- var locale = props.locale,
74
- renderFooter = props.renderFooter;
75
-
76
- var years = this.years();
77
- var currentYear = value.year();
78
- var startYear = parseInt(currentYear / 10, 10) * 10;
79
- var endYear = startYear + 9;
80
- var prefixCls = this.prefixCls;
81
-
82
- var yeasEls = years.map(function (row, index) {
83
- var tds = row.map(function (yearData) {
84
- var _classNameMap;
85
-
86
- var classNameMap = (_classNameMap = {}, _classNameMap[prefixCls + '-cell'] = 1, _classNameMap[prefixCls + '-selected-cell'] = yearData.year === currentYear, _classNameMap);
87
- return React.createElement(
88
- 'td',
89
- {
90
- role: 'gridcell',
91
- title: yearData.title,
92
- key: yearData.content,
93
- onClick: chooseYear.bind(_this2, yearData.year),
94
- className: classnames(classNameMap)
95
- },
96
- React.createElement(
97
- 'a',
98
- {
99
- className: prefixCls + '-year'
100
- },
101
- yearData.content
102
- )
103
- );
104
- });
105
- return React.createElement(
106
- 'tr',
107
- { key: index, role: 'row' },
108
- tds
109
- );
110
- });
111
-
112
- var footer = renderFooter && renderFooter('year');
113
-
114
- return React.createElement(
115
- 'div',
116
- { className: this.prefixCls },
117
- React.createElement(
118
- 'div',
119
- null,
120
- React.createElement(
121
- 'div',
122
- { className: prefixCls + '-header' },
123
- React.createElement('a', {
124
- className: prefixCls + '-prev-decade-btn',
125
- role: 'button',
126
- onClick: this.previousDecade,
127
- title: locale.previousDecade
128
- }),
129
- React.createElement(
130
- 'a',
131
- {
132
- className: prefixCls + '-decade-select',
133
- role: 'button',
134
- onClick: props.onDecadePanelShow,
135
- title: locale.decadeSelect
136
- },
137
- React.createElement(
138
- 'span',
139
- { className: prefixCls + '-decade-select-content' },
140
- startYear,
141
- '-',
142
- endYear
143
- ),
144
- React.createElement(
145
- 'span',
146
- { className: prefixCls + '-decade-select-arrow' },
147
- 'x'
148
- )
149
- ),
150
- React.createElement('a', {
151
- className: prefixCls + '-next-decade-btn',
152
- role: 'button',
153
- onClick: this.nextDecade,
154
- title: locale.nextDecade
155
- })
156
- ),
157
- React.createElement(
158
- 'div',
159
- { className: prefixCls + '-body' },
160
- React.createElement(
161
- 'table',
162
- { className: prefixCls + '-table', cellSpacing: '0', role: 'grid' },
163
- React.createElement(
164
- 'tbody',
165
- { className: prefixCls + '-tbody' },
166
- yeasEls
167
- )
168
- )
169
- ),
170
- footer && React.createElement(
171
- 'div',
172
- { className: prefixCls + '-footer' },
173
- footer
174
- )
175
- )
176
- );
177
- };
178
-
179
- return YearPanel;
180
- }(React.Component);
181
-
182
- export default YearPanel;
183
-
184
-
185
- YearPanel.propTypes = {
186
- rootPrefixCls: PropTypes.string,
187
- value: PropTypes.object,
188
- defaultValue: PropTypes.object,
189
- renderFooter: PropTypes.func
190
- };
191
-
192
- YearPanel.defaultProps = {
193
- onSelect: function onSelect() {}
194
- };
package/lib/Calendar.js DELETED
@@ -1,499 +0,0 @@
1
- 'use strict';
2
-
3
- exports.__esModule = true;
4
-
5
- var _extends2 = require('babel-runtime/helpers/extends');
6
-
7
- var _extends3 = _interopRequireDefault(_extends2);
8
-
9
- var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
10
-
11
- var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
12
-
13
- var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
14
-
15
- var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
16
-
17
- var _inherits2 = require('babel-runtime/helpers/inherits');
18
-
19
- var _inherits3 = _interopRequireDefault(_inherits2);
20
-
21
- var _react = require('react');
22
-
23
- var _react2 = _interopRequireDefault(_react);
24
-
25
- var _reactDom = require('react-dom');
26
-
27
- var _reactDom2 = _interopRequireDefault(_reactDom);
28
-
29
- var _propTypes = require('prop-types');
30
-
31
- var _propTypes2 = _interopRequireDefault(_propTypes);
32
-
33
- var _KeyCode = require('rc-util/lib/KeyCode');
34
-
35
- var _KeyCode2 = _interopRequireDefault(_KeyCode);
36
-
37
- var _reactLifecyclesCompat = require('react-lifecycles-compat');
38
-
39
- var _dayjs = require('dayjs');
40
-
41
- var _dayjs2 = _interopRequireDefault(_dayjs);
42
-
43
- var _DateTable = require('./date/DateTable');
44
-
45
- var _DateTable2 = _interopRequireDefault(_DateTable);
46
-
47
- var _CalendarHeader = require('./calendar/CalendarHeader');
48
-
49
- var _CalendarHeader2 = _interopRequireDefault(_CalendarHeader);
50
-
51
- var _CalendarFooter = require('./calendar/CalendarFooter');
52
-
53
- var _CalendarFooter2 = _interopRequireDefault(_CalendarFooter);
54
-
55
- var _CalendarRightPanel = require('./calendar/CalendarRightPanel');
56
-
57
- var _CalendarRightPanel2 = _interopRequireDefault(_CalendarRightPanel);
58
-
59
- var _CalendarMixin = require('./mixin/CalendarMixin');
60
-
61
- var _CommonMixin = require('./mixin/CommonMixin');
62
-
63
- var _DateInput = require('./date/DateInput');
64
-
65
- var _DateInput2 = _interopRequireDefault(_DateInput);
66
-
67
- var _util = require('./util');
68
-
69
- var _toTime = require('./util/toTime');
70
-
71
- var _localeData = require('dayjs/plugin/localeData');
72
-
73
- var _localeData2 = _interopRequireDefault(_localeData);
74
-
75
- var _utc = require('dayjs/plugin/utc');
76
-
77
- var _utc2 = _interopRequireDefault(_utc);
78
-
79
- var _weekOfYear = require('dayjs/plugin/weekOfYear');
80
-
81
- var _weekOfYear2 = _interopRequireDefault(_weekOfYear);
82
-
83
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
84
-
85
- _dayjs2['default'].extend(_utc2['default']);
86
- _dayjs2['default'].extend(_localeData2['default']);
87
- _dayjs2['default'].extend(_weekOfYear2['default']);
88
-
89
- function noop() {}
90
-
91
- var getMomentObjectIfValid = function getMomentObjectIfValid(date) {
92
- if (_dayjs2['default'].isDayjs(date) && date.isValid()) {
93
- return date;
94
- }
95
- return false;
96
- };
97
-
98
- var Calendar = function (_React$Component) {
99
- (0, _inherits3['default'])(Calendar, _React$Component);
100
-
101
- function Calendar(props) {
102
- (0, _classCallCheck3['default'])(this, Calendar);
103
-
104
- var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props));
105
-
106
- _initialiseProps.call(_this);
107
-
108
- _this.state = {
109
- mode: _this.props.mode || 'date',
110
- value: getMomentObjectIfValid(props.value) || getMomentObjectIfValid(props.defaultValue) || (0, _dayjs2['default'])(),
111
- selectedValue: props.selectedValue || props.defaultSelectedValue
112
- };
113
- return _this;
114
- }
115
-
116
- Calendar.prototype.componentDidMount = function componentDidMount() {
117
- if (this.props.showDateInput) {
118
- this.saveFocusElement(_DateInput2['default'].getInstance());
119
- }
120
- };
121
-
122
- Calendar.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, state) {
123
- var value = nextProps.value,
124
- selectedValue = nextProps.selectedValue;
125
-
126
- var newState = {};
127
-
128
- if ('mode' in nextProps && state.mode !== nextProps.mode) {
129
- newState = { mode: nextProps.mode };
130
- }
131
- if ('value' in nextProps) {
132
- newState.value = getMomentObjectIfValid(value) || getMomentObjectIfValid(nextProps.defaultValue) || (0, _CalendarMixin.getNowByCurrentStateValue)(state.value);
133
- }
134
- if ('selectedValue' in nextProps) {
135
- newState.selectedValue = selectedValue;
136
- }
137
-
138
- return newState;
139
- };
140
-
141
- Calendar.prototype.render = function render() {
142
- var props = this.props,
143
- state = this.state;
144
- var locale = props.locale,
145
- prefixCls = props.prefixCls,
146
- disabledDate = props.disabledDate,
147
- dateInputPlaceholder = props.dateInputPlaceholder,
148
- timePicker = props.timePicker,
149
- onClickRightPanelTime = props.onClickRightPanelTime,
150
- disabledTime = props.disabledTime,
151
- clearIcon = props.clearIcon,
152
- renderFooter = props.renderFooter,
153
- inputMode = props.inputMode,
154
- showHourAndMinute = props.showHourAndMinute;
155
- var value = state.value,
156
- selectedValue = state.selectedValue,
157
- mode = state.mode;
158
-
159
- var showTimePicker = mode === 'time';
160
- var disabledTimeConfig = showTimePicker && disabledTime && timePicker ? (0, _util.getTimeConfig)(selectedValue, disabledTime) : null;
161
-
162
- var timePickerEle = null;
163
-
164
- if (timePicker && showTimePicker) {
165
- var timePickerProps = (0, _extends3['default'])({
166
- showHour: true,
167
- showSecond: true,
168
- showMinute: true
169
- }, timePicker.props, disabledTimeConfig, {
170
- onChange: this.onDateInputChange,
171
- value: selectedValue,
172
- disabledTime: disabledTime
173
- });
174
-
175
- if (timePicker.props.defaultValue !== undefined) {
176
- timePickerProps.defaultOpenValue = timePicker.props.defaultValue;
177
- }
178
-
179
- timePickerEle = _react2['default'].cloneElement(timePicker, timePickerProps);
180
- }
181
-
182
- var dateInputElement = props.showDateInput ? _react2['default'].createElement(_DateInput2['default'], {
183
- format: this.getFormat(),
184
- key: 'date-input',
185
- value: value,
186
- locale: locale,
187
- placeholder: dateInputPlaceholder,
188
- showClear: true,
189
- disabledTime: disabledTime,
190
- disabledDate: disabledDate,
191
- onClear: this.onClear,
192
- prefixCls: prefixCls,
193
- selectedValue: selectedValue,
194
- onChange: this.onDateInputChange,
195
- onSelect: this.onDateInputSelect,
196
- clearIcon: clearIcon,
197
- inputMode: inputMode
198
- }) : null;
199
-
200
- var children = [];
201
- if (props.renderSidebar) {
202
- children.push(props.renderSidebar());
203
- }
204
- children.push(_react2['default'].createElement(
205
- 'div',
206
- { className: prefixCls + '-panel', key: 'panel' },
207
- dateInputElement,
208
- _react2['default'].createElement(
209
- 'div',
210
- { className: prefixCls + '-date-panel-container' },
211
- _react2['default'].createElement(
212
- 'div',
213
- {
214
- tabIndex: this.props.focusablePanel ? 0 : undefined,
215
- className: prefixCls + '-date-panel'
216
- },
217
- _react2['default'].createElement(_CalendarHeader2['default'], {
218
- locale: locale,
219
- mode: mode,
220
- value: value,
221
- onValueChange: this.setValue,
222
- onPanelChange: this.onPanelChange,
223
- renderFooter: renderFooter,
224
- showTimePicker: showTimePicker,
225
- prefixCls: prefixCls
226
- }),
227
- timePicker && showTimePicker ? _react2['default'].createElement(
228
- 'div',
229
- { className: prefixCls + '-time-picker' },
230
- _react2['default'].createElement(
231
- 'div',
232
- { className: prefixCls + '-time-picker-panel' },
233
- timePickerEle
234
- )
235
- ) : null,
236
- _react2['default'].createElement(
237
- 'div',
238
- { className: prefixCls + '-body' },
239
- _react2['default'].createElement(_DateTable2['default'], {
240
- locale: locale,
241
- value: value,
242
- selectedValue: selectedValue,
243
- prefixCls: prefixCls,
244
- dateRender: props.dateRender,
245
- onSelect: this.onDateTableSelect,
246
- disabledDate: disabledDate,
247
- showWeekNumber: props.showWeekNumber
248
- })
249
- ),
250
- _react2['default'].createElement(_CalendarFooter2['default'], {
251
- showOk: props.showOk,
252
- mode: mode,
253
- renderFooter: props.renderFooter,
254
- locale: locale,
255
- prefixCls: prefixCls,
256
- showToday: props.showToday,
257
- disabledTime: disabledTime,
258
- showTimePicker: showTimePicker,
259
- showDateInput: props.showDateInput,
260
- timePicker: timePicker,
261
- selectedValue: selectedValue,
262
- value: value,
263
- disabledDate: disabledDate,
264
- okDisabled: props.showOk !== false && (!selectedValue || !this.isAllowedDate(selectedValue)),
265
- onOk: this.onOk,
266
- onSelect: this.onSelect,
267
- onToday: this.onToday,
268
- onOpenTimePicker: this.openTimePicker,
269
- onCloseTimePicker: this.closeTimePicker
270
- })
271
- ),
272
- showHourAndMinute && _react2['default'].createElement(_CalendarRightPanel2['default'], {
273
- prefixCls: prefixCls,
274
- value: value,
275
- locale: locale,
276
- onSelect: this.onDateTableSelect,
277
- onClickRightPanelTime: onClickRightPanelTime,
278
- defaultMinutesTime: this.props.defaultMinutesTime
279
- })
280
- )
281
- ));
282
-
283
- return this.renderRoot({
284
- children: children,
285
- className: props.showWeekNumber ? prefixCls + '-week-number' : ''
286
- });
287
- };
288
-
289
- return Calendar;
290
- }(_react2['default'].Component);
291
-
292
- Calendar.propTypes = (0, _extends3['default'])({}, _CalendarMixin.calendarMixinPropTypes, _CommonMixin.propType, {
293
- prefixCls: _propTypes2['default'].string,
294
- className: _propTypes2['default'].string,
295
- style: _propTypes2['default'].object,
296
- defaultValue: _propTypes2['default'].object,
297
- value: _propTypes2['default'].object,
298
- selectedValue: _propTypes2['default'].object,
299
- defaultSelectedValue: _propTypes2['default'].object,
300
- mode: _propTypes2['default'].oneOf(['time', 'date', 'month', 'year', 'decade']),
301
- locale: _propTypes2['default'].object,
302
- showDateInput: _propTypes2['default'].bool,
303
- showWeekNumber: _propTypes2['default'].bool,
304
- showToday: _propTypes2['default'].bool,
305
- showOk: _propTypes2['default'].bool,
306
- showHourAndMinute: _propTypes2['default'].bool,
307
- defaultMinutesTime: _propTypes2['default'].string,
308
- onSelect: _propTypes2['default'].func,
309
- onOk: _propTypes2['default'].func,
310
- onKeyDown: _propTypes2['default'].func,
311
- timePicker: _propTypes2['default'].element,
312
- dateInputPlaceholder: _propTypes2['default'].any,
313
- onClear: _propTypes2['default'].func,
314
- onChange: _propTypes2['default'].func,
315
- onPanelChange: _propTypes2['default'].func,
316
- disabledDate: _propTypes2['default'].func,
317
- disabledTime: _propTypes2['default'].any,
318
- dateRender: _propTypes2['default'].func,
319
- renderFooter: _propTypes2['default'].func,
320
- renderSidebar: _propTypes2['default'].func,
321
- clearIcon: _propTypes2['default'].node,
322
- focusablePanel: _propTypes2['default'].bool,
323
- inputMode: _propTypes2['default'].string,
324
- onBlur: _propTypes2['default'].func,
325
- onClickRightPanelTime: _propTypes2['default'].func
326
- });
327
- Calendar.defaultProps = (0, _extends3['default'])({}, _CalendarMixin.calendarMixinDefaultProps, _CommonMixin.defaultProp, {
328
- showToday: true,
329
- showDateInput: true,
330
- showHourAndMinute: false,
331
- timePicker: null,
332
- onOk: noop,
333
- onPanelChange: noop,
334
- onClickRightPanelTime: noop,
335
- focusablePanel: true
336
- });
337
-
338
- var _initialiseProps = function _initialiseProps() {
339
- var _this2 = this;
340
-
341
- this.onPanelChange = function (value, mode) {
342
- var props = _this2.props,
343
- state = _this2.state;
344
-
345
- if (!('mode' in props)) {
346
- _this2.setState({ mode: mode });
347
- }
348
- props.onPanelChange(value || state.value, mode);
349
- };
350
-
351
- this.onKeyDown = function (event) {
352
- if (event.target.nodeName.toLowerCase() === 'input') {
353
- return undefined;
354
- }
355
- var keyCode = event.keyCode;
356
- // mac
357
- var ctrlKey = event.ctrlKey || event.metaKey;
358
- var disabledDate = _this2.props.disabledDate;
359
- var value = _this2.state.value;
360
-
361
- switch (keyCode) {
362
- case _KeyCode2['default'].DOWN:
363
- _this2.goTime(1, 'weeks');
364
- event.preventDefault();
365
- return 1;
366
- case _KeyCode2['default'].UP:
367
- _this2.goTime(-1, 'weeks');
368
- event.preventDefault();
369
- return 1;
370
- case _KeyCode2['default'].LEFT:
371
- if (ctrlKey) {
372
- _this2.goTime(-1, 'years');
373
- } else {
374
- _this2.goTime(-1, 'days');
375
- }
376
- event.preventDefault();
377
- return 1;
378
- case _KeyCode2['default'].RIGHT:
379
- if (ctrlKey) {
380
- _this2.goTime(1, 'years');
381
- } else {
382
- _this2.goTime(1, 'days');
383
- }
384
- event.preventDefault();
385
- return 1;
386
- case _KeyCode2['default'].HOME:
387
- _this2.setValue((0, _toTime.goStartMonth)(_this2.state.value));
388
- event.preventDefault();
389
- return 1;
390
- case _KeyCode2['default'].END:
391
- _this2.setValue((0, _toTime.goEndMonth)(_this2.state.value));
392
- event.preventDefault();
393
- return 1;
394
- case _KeyCode2['default'].PAGE_DOWN:
395
- _this2.goTime(1, 'month');
396
- event.preventDefault();
397
- return 1;
398
- case _KeyCode2['default'].PAGE_UP:
399
- _this2.goTime(-1, 'month');
400
- event.preventDefault();
401
- return 1;
402
- case _KeyCode2['default'].ENTER:
403
- if (!disabledDate || !disabledDate(value)) {
404
- _this2.onSelect(value, {
405
- source: 'keyboard'
406
- });
407
- }
408
- event.preventDefault();
409
- return 1;
410
- default:
411
- _this2.props.onKeyDown(event);
412
- return 1;
413
- }
414
- };
415
-
416
- this.onClear = function () {
417
- _this2.onSelect(null);
418
- _this2.props.onClear();
419
- };
420
-
421
- this.onOk = function () {
422
- var selectedValue = _this2.state.selectedValue;
423
-
424
- if (_this2.isAllowedDate(selectedValue)) {
425
- _this2.props.onOk(selectedValue);
426
- }
427
- };
428
-
429
- this.onDateInputChange = function (value) {
430
- _this2.onSelect(value, {
431
- source: 'dateInput'
432
- });
433
- };
434
-
435
- this.onDateInputSelect = function (value) {
436
- _this2.onSelect(value, {
437
- source: 'dateInputSelect'
438
- });
439
- };
440
-
441
- this.onDateTableSelect = function (value) {
442
- var timePicker = _this2.props.timePicker;
443
- var selectedValue = _this2.state.selectedValue;
444
-
445
- if (!selectedValue && timePicker) {
446
- var timePickerDefaultValue = timePicker.props.defaultValue;
447
- if (timePickerDefaultValue) {
448
- (0, _util.syncTime)(timePickerDefaultValue, value);
449
- }
450
- }
451
- _this2.onSelect(value);
452
- };
453
-
454
- this.onToday = function () {
455
- var value = _this2.state.value;
456
-
457
- var now = (0, _util.getTodayTime)(value);
458
- _this2.onSelect(now, {
459
- source: 'todayButton'
460
- });
461
- };
462
-
463
- this.onBlur = function (event) {
464
- setTimeout(function () {
465
- var dateInput = _DateInput2['default'].getInstance();
466
- var rootInstance = _this2.rootInstance;
467
-
468
- if (!rootInstance || rootInstance.contains(document.activeElement) || dateInput && dateInput.contains(document.activeElement)) {
469
- // focused element is still part of Calendar
470
- return;
471
- }
472
-
473
- if (_this2.props.onBlur) {
474
- _this2.props.onBlur(event);
475
- }
476
- }, 0);
477
- };
478
-
479
- this.getRootDOMNode = function () {
480
- return _reactDom2['default'].findDOMNode(_this2);
481
- };
482
-
483
- this.openTimePicker = function () {
484
- _this2.onPanelChange(null, 'time');
485
- };
486
-
487
- this.closeTimePicker = function () {
488
- _this2.onPanelChange(null, 'date');
489
- };
490
-
491
- this.goTime = function (direction, unit) {
492
- _this2.setValue((0, _toTime.goTime)(_this2.state.value, direction, unit));
493
- };
494
- };
495
-
496
- (0, _reactLifecyclesCompat.polyfill)(Calendar);
497
-
498
- exports['default'] = (0, _CalendarMixin.calendarMixinWrapper)((0, _CommonMixin.commonMixinWrapper)(Calendar));
499
- module.exports = exports['default'];