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