@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,221 +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 _propTypes = require('prop-types');
26
-
27
- var _propTypes2 = _interopRequireDefault(_propTypes);
28
-
29
- var _reactLifecyclesCompat = require('react-lifecycles-compat');
30
-
31
- var _DateTable = require('./date/DateTable');
32
-
33
- var _DateTable2 = _interopRequireDefault(_DateTable);
34
-
35
- var _MonthTable = require('./month/MonthTable');
36
-
37
- var _MonthTable2 = _interopRequireDefault(_MonthTable);
38
-
39
- var _CalendarMixin = require('./mixin/CalendarMixin');
40
-
41
- var _CommonMixin = require('./mixin/CommonMixin');
42
-
43
- var _CalendarHeader = require('./full-calendar/CalendarHeader');
44
-
45
- var _CalendarHeader2 = _interopRequireDefault(_CalendarHeader);
46
-
47
- var _dayjs = require('./util/dayjs');
48
-
49
- var _dayjs2 = _interopRequireDefault(_dayjs);
50
-
51
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
52
-
53
- var FullCalendar = function (_React$Component) {
54
- (0, _inherits3['default'])(FullCalendar, _React$Component);
55
-
56
- function FullCalendar(props) {
57
- (0, _classCallCheck3['default'])(this, FullCalendar);
58
-
59
- var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props));
60
-
61
- _initialiseProps.call(_this);
62
-
63
- var type = void 0;
64
- if ('type' in props) {
65
- type = props.type;
66
- } else {
67
- type = props.defaultType;
68
- }
69
-
70
- _this.state = {
71
- type: type,
72
- value: props.value || props.defaultValue || (0, _dayjs2['default'])(),
73
- selectedValue: props.selectedValue || props.defaultSelectedValue
74
- };
75
- return _this;
76
- }
77
-
78
- FullCalendar.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, state) {
79
- var newState = {};
80
- var value = nextProps.value,
81
- selectedValue = nextProps.selectedValue;
82
-
83
-
84
- if ('type' in nextProps) {
85
- newState = {
86
- type: nextProps.type
87
- };
88
- }
89
- if ('value' in nextProps) {
90
- newState.value = value || nextProps.defaultValue || (0, _CalendarMixin.getNowByCurrentStateValue)(state.value);
91
- }
92
- if ('selectedValue' in nextProps) {
93
- newState.selectedValue = selectedValue;
94
- }
95
-
96
- return newState;
97
- };
98
-
99
- FullCalendar.prototype.render = function render() {
100
- var props = this.props;
101
- var locale = props.locale,
102
- prefixCls = props.prefixCls,
103
- fullscreen = props.fullscreen,
104
- showHeader = props.showHeader,
105
- headerComponent = props.headerComponent,
106
- headerRender = props.headerRender,
107
- disabledDate = props.disabledDate;
108
- var _state = this.state,
109
- value = _state.value,
110
- type = _state.type;
111
-
112
-
113
- var header = null;
114
- if (showHeader) {
115
- if (headerRender) {
116
- header = headerRender(value, type, locale);
117
- } else {
118
- var TheHeader = headerComponent || _CalendarHeader2['default'];
119
- header = _react2['default'].createElement(TheHeader, (0, _extends3['default'])({
120
- key: 'calendar-header'
121
- }, props, {
122
- prefixCls: prefixCls + '-full',
123
- type: type,
124
- value: value,
125
- onTypeChange: this.setType,
126
- onValueChange: this.setValue
127
- }));
128
- }
129
- }
130
-
131
- var table = type === 'date' ? _react2['default'].createElement(_DateTable2['default'], {
132
- dateRender: props.dateCellRender,
133
- contentRender: props.dateCellContentRender,
134
- locale: locale,
135
- prefixCls: prefixCls,
136
- onSelect: this.onSelect,
137
- value: value,
138
- disabledDate: disabledDate
139
- }) : _react2['default'].createElement(_MonthTable2['default'], {
140
- cellRender: props.monthCellRender,
141
- contentRender: props.monthCellContentRender,
142
- locale: locale,
143
- onSelect: this.onMonthSelect,
144
- prefixCls: prefixCls + '-month-panel',
145
- value: value,
146
- disabledDate: disabledDate
147
- });
148
-
149
- var children = [header, _react2['default'].createElement(
150
- 'div',
151
- { key: 'calendar-body', className: prefixCls + '-calendar-body' },
152
- table
153
- )];
154
-
155
- var className = [prefixCls + '-full'];
156
-
157
- if (fullscreen) {
158
- className.push(prefixCls + '-fullscreen');
159
- }
160
-
161
- return this.renderRoot({
162
- children: children,
163
- className: className.join(' ')
164
- });
165
- };
166
-
167
- return FullCalendar;
168
- }(_react2['default'].Component);
169
-
170
- FullCalendar.propTypes = (0, _extends3['default'])({}, _CalendarMixin.calendarMixinPropTypes, _CommonMixin.propType, {
171
- defaultType: _propTypes2['default'].string,
172
- type: _propTypes2['default'].string,
173
- prefixCls: _propTypes2['default'].string,
174
- locale: _propTypes2['default'].object,
175
- onTypeChange: _propTypes2['default'].func,
176
- fullscreen: _propTypes2['default'].bool,
177
- monthCellRender: _propTypes2['default'].func,
178
- dateCellRender: _propTypes2['default'].func,
179
- showTypeSwitch: _propTypes2['default'].bool,
180
- Select: _propTypes2['default'].func.isRequired,
181
- headerComponents: _propTypes2['default'].array,
182
- headerComponent: _propTypes2['default'].object, // The whole header component
183
- headerRender: _propTypes2['default'].func,
184
- showHeader: _propTypes2['default'].bool,
185
- disabledDate: _propTypes2['default'].func,
186
- value: _propTypes2['default'].object,
187
- defaultValue: _propTypes2['default'].object,
188
- selectedValue: _propTypes2['default'].object,
189
- defaultSelectedValue: _propTypes2['default'].object
190
- });
191
- FullCalendar.defaultProps = (0, _extends3['default'])({}, _CalendarMixin.calendarMixinDefaultProps, _CommonMixin.defaultProp, {
192
- defaultType: 'date',
193
- fullscreen: false,
194
- showTypeSwitch: true,
195
- showHeader: true,
196
- onTypeChange: function onTypeChange() {}
197
- });
198
-
199
- var _initialiseProps = function _initialiseProps() {
200
- var _this2 = this;
201
-
202
- this.onMonthSelect = function (value) {
203
- _this2.onSelect(value, {
204
- target: 'month'
205
- });
206
- };
207
-
208
- this.setType = function (type) {
209
- if (!('type' in _this2.props)) {
210
- _this2.setState({
211
- type: type
212
- });
213
- }
214
- _this2.props.onTypeChange(type);
215
- };
216
- };
217
-
218
- (0, _reactLifecyclesCompat.polyfill)(FullCalendar);
219
-
220
- exports['default'] = (0, _CalendarMixin.calendarMixinWrapper)((0, _CommonMixin.commonMixinWrapper)(FullCalendar));
221
- module.exports = exports['default'];
@@ -1,172 +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 _propTypes = require('prop-types');
26
-
27
- var _propTypes2 = _interopRequireDefault(_propTypes);
28
-
29
- var _KeyCode = require('rc-util/lib/KeyCode');
30
-
31
- var _KeyCode2 = _interopRequireDefault(_KeyCode);
32
-
33
- var _reactLifecyclesCompat = require('react-lifecycles-compat');
34
-
35
- var _CalendarHeader = require('./calendar/CalendarHeader');
36
-
37
- var _CalendarHeader2 = _interopRequireDefault(_CalendarHeader);
38
-
39
- var _CalendarFooter = require('./calendar/CalendarFooter');
40
-
41
- var _CalendarFooter2 = _interopRequireDefault(_CalendarFooter);
42
-
43
- var _CalendarMixin = require('./mixin/CalendarMixin');
44
-
45
- var _CommonMixin = require('./mixin/CommonMixin');
46
-
47
- var _dayjs = require('./util/dayjs');
48
-
49
- var _dayjs2 = _interopRequireDefault(_dayjs);
50
-
51
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
52
-
53
- var MonthCalendar = function (_React$Component) {
54
- (0, _inherits3['default'])(MonthCalendar, _React$Component);
55
-
56
- function MonthCalendar(props) {
57
- (0, _classCallCheck3['default'])(this, MonthCalendar);
58
-
59
- var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props));
60
-
61
- _this.onKeyDown = function (event) {
62
- var keyCode = event.keyCode;
63
- var ctrlKey = event.ctrlKey || event.metaKey;
64
- var stateValue = _this.state.value;
65
- var disabledDate = _this.props.disabledDate;
66
-
67
- var value = stateValue;
68
- switch (keyCode) {
69
- case _KeyCode2['default'].DOWN:
70
- value = stateValue.clone();
71
- value = value.add(3, 'months');
72
- break;
73
- case _KeyCode2['default'].UP:
74
- value = stateValue.clone();
75
- value = value.add(-3, 'months');
76
- break;
77
- case _KeyCode2['default'].LEFT:
78
- value = stateValue.clone();
79
- if (ctrlKey) {
80
- value = value.add(-1, 'years');
81
- } else {
82
- value = value.add(-1, 'months');
83
- }
84
- break;
85
- case _KeyCode2['default'].RIGHT:
86
- value = stateValue.clone();
87
- if (ctrlKey) {
88
- value = value.add(1, 'years');
89
- } else {
90
- value = value.add(1, 'months');
91
- }
92
- break;
93
- case _KeyCode2['default'].ENTER:
94
- if (!disabledDate || !disabledDate(stateValue)) {
95
- _this.onSelect(stateValue);
96
- }
97
- event.preventDefault();
98
- return 1;
99
- default:
100
- return undefined;
101
- }
102
- if (value !== stateValue) {
103
- _this.setValue(value);
104
- event.preventDefault();
105
- return 1;
106
- }
107
- };
108
-
109
- _this.handlePanelChange = function (_, mode) {
110
- if (mode !== 'date') {
111
- _this.setState({ mode: mode });
112
- }
113
- };
114
-
115
- _this.state = {
116
- mode: 'month',
117
- value: props.value || props.defaultValue || (0, _dayjs2['default'])(),
118
- selectedValue: props.selectedValue || props.defaultSelectedValue
119
- };
120
- return _this;
121
- }
122
-
123
- MonthCalendar.prototype.render = function render() {
124
- var props = this.props,
125
- state = this.state;
126
- var mode = state.mode,
127
- value = state.value;
128
-
129
- var children = _react2['default'].createElement(
130
- 'div',
131
- { className: props.prefixCls + '-month-calendar-content' },
132
- _react2['default'].createElement(
133
- 'div',
134
- { className: props.prefixCls + '-month-header-wrap' },
135
- _react2['default'].createElement(_CalendarHeader2['default'], {
136
- prefixCls: props.prefixCls,
137
- mode: mode,
138
- value: value,
139
- locale: props.locale,
140
- disabledMonth: props.disabledDate,
141
- monthCellRender: props.monthCellRender,
142
- monthCellContentRender: props.monthCellContentRender,
143
- onMonthSelect: this.onSelect,
144
- onValueChange: this.setValue,
145
- onPanelChange: this.handlePanelChange
146
- })
147
- ),
148
- _react2['default'].createElement(_CalendarFooter2['default'], {
149
- prefixCls: props.prefixCls,
150
- renderFooter: props.renderFooter
151
- })
152
- );
153
- return this.renderRoot({
154
- className: props.prefixCls + '-month-calendar',
155
- children: children
156
- });
157
- };
158
-
159
- return MonthCalendar;
160
- }(_react2['default'].Component);
161
-
162
- MonthCalendar.propTypes = (0, _extends3['default'])({}, _CalendarMixin.calendarMixinPropTypes, _CommonMixin.propType, {
163
- monthCellRender: _propTypes2['default'].func,
164
- value: _propTypes2['default'].object,
165
- defaultValue: _propTypes2['default'].object,
166
- selectedValue: _propTypes2['default'].object,
167
- defaultSelectedValue: _propTypes2['default'].object,
168
- disabledDate: _propTypes2['default'].func
169
- });
170
- MonthCalendar.defaultProps = (0, _extends3['default'])({}, _CommonMixin.defaultProp, _CalendarMixin.calendarMixinDefaultProps);
171
- exports['default'] = (0, _reactLifecyclesCompat.polyfill)((0, _CalendarMixin.calendarMixinWrapper)((0, _CommonMixin.commonMixinWrapper)(MonthCalendar)));
172
- module.exports = exports['default'];
package/lib/Picker.js DELETED
@@ -1,282 +0,0 @@
1
- 'use strict';
2
-
3
- exports.__esModule = true;
4
-
5
- var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
6
-
7
- var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
8
-
9
- var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
10
-
11
- var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
12
-
13
- var _inherits2 = require('babel-runtime/helpers/inherits');
14
-
15
- var _inherits3 = _interopRequireDefault(_inherits2);
16
-
17
- var _react = require('react');
18
-
19
- var _react2 = _interopRequireDefault(_react);
20
-
21
- var _reactDom = require('react-dom');
22
-
23
- var _reactDom2 = _interopRequireDefault(_reactDom);
24
-
25
- var _propTypes = require('prop-types');
26
-
27
- var _propTypes2 = _interopRequireDefault(_propTypes);
28
-
29
- var _reactLifecyclesCompat = require('react-lifecycles-compat');
30
-
31
- var _createChainedFunction = require('rc-util/lib/createChainedFunction');
32
-
33
- var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);
34
-
35
- var _KeyCode = require('rc-util/lib/KeyCode');
36
-
37
- var _KeyCode2 = _interopRequireDefault(_KeyCode);
38
-
39
- var _placements = require('./picker/placements');
40
-
41
- var _placements2 = _interopRequireDefault(_placements);
42
-
43
- var _rcTrigger = require('rc-trigger');
44
-
45
- var _rcTrigger2 = _interopRequireDefault(_rcTrigger);
46
-
47
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
48
-
49
- function noop() {}
50
-
51
- function refFn(field, component) {
52
- this[field] = component;
53
- }
54
-
55
- var Picker = function (_React$Component) {
56
- (0, _inherits3['default'])(Picker, _React$Component);
57
-
58
- function Picker(props) {
59
- (0, _classCallCheck3['default'])(this, Picker);
60
-
61
- var _this = (0, _possibleConstructorReturn3['default'])(this, _React$Component.call(this, props));
62
-
63
- _initialiseProps.call(_this);
64
-
65
- var open = void 0;
66
- if ('open' in props) {
67
- open = props.open;
68
- } else {
69
- open = props.defaultOpen;
70
- }
71
- var value = props.value || props.defaultValue;
72
- _this.saveCalendarRef = refFn.bind(_this, 'calendarInstance');
73
-
74
- _this.state = {
75
- open: open,
76
- value: value
77
- };
78
- return _this;
79
- }
80
-
81
- Picker.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {
82
- if (!prevState.open && this.state.open) {
83
- // setTimeout is for making sure saveCalendarRef happen before focusCalendar
84
- this.focusTimeout = setTimeout(this.focusCalendar, 0, this);
85
- }
86
- };
87
-
88
- Picker.prototype.componentWillUnmount = function componentWillUnmount() {
89
- clearTimeout(this.focusTimeout);
90
- };
91
-
92
- Picker.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps) {
93
- var newState = {};
94
- var value = nextProps.value,
95
- open = nextProps.open;
96
-
97
- if ('value' in nextProps) {
98
- newState.value = value;
99
- }
100
- if (open !== undefined) {
101
- newState.open = open;
102
- }
103
- return newState;
104
- };
105
-
106
- Picker.prototype.render = function render() {
107
- var props = this.props;
108
- var prefixCls = props.prefixCls,
109
- placement = props.placement,
110
- style = props.style,
111
- getCalendarContainer = props.getCalendarContainer,
112
- align = props.align,
113
- animation = props.animation,
114
- disabled = props.disabled,
115
- dropdownClassName = props.dropdownClassName,
116
- transitionName = props.transitionName,
117
- children = props.children;
118
-
119
- var state = this.state;
120
- return _react2['default'].createElement(
121
- _rcTrigger2['default'],
122
- {
123
- popup: this.getCalendarElement(),
124
- popupAlign: align,
125
- builtinPlacements: _placements2['default'],
126
- popupPlacement: placement,
127
- action: disabled && !state.open ? [] : ['click'],
128
- destroyPopupOnHide: true,
129
- getPopupContainer: getCalendarContainer,
130
- popupStyle: style,
131
- popupAnimation: animation,
132
- popupTransitionName: transitionName,
133
- popupVisible: state.open,
134
- onPopupVisibleChange: this.onVisibleChange,
135
- prefixCls: prefixCls,
136
- popupClassName: dropdownClassName
137
- },
138
- _react2['default'].cloneElement(children(state, props), { onKeyDown: this.onKeyDown })
139
- );
140
- };
141
-
142
- return Picker;
143
- }(_react2['default'].Component);
144
-
145
- Picker.propTypes = {
146
- animation: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].string]),
147
- disabled: _propTypes2['default'].bool,
148
- transitionName: _propTypes2['default'].string,
149
- onChange: _propTypes2['default'].func,
150
- onOpenChange: _propTypes2['default'].func,
151
- children: _propTypes2['default'].func,
152
- getCalendarContainer: _propTypes2['default'].func,
153
- calendar: _propTypes2['default'].element,
154
- style: _propTypes2['default'].object,
155
- open: _propTypes2['default'].bool,
156
- defaultOpen: _propTypes2['default'].bool,
157
- prefixCls: _propTypes2['default'].string,
158
- placement: _propTypes2['default'].any,
159
- value: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].array]),
160
- defaultValue: _propTypes2['default'].oneOfType([_propTypes2['default'].object, _propTypes2['default'].array]),
161
- align: _propTypes2['default'].object,
162
- dateRender: _propTypes2['default'].func,
163
- onBlur: _propTypes2['default'].func
164
- };
165
- Picker.defaultProps = {
166
- prefixCls: 'rc-calendar-picker',
167
- style: {},
168
- align: {},
169
- placement: 'bottomLeft',
170
- defaultOpen: false,
171
- onChange: noop,
172
- onOpenChange: noop,
173
- onBlur: noop
174
- };
175
-
176
- var _initialiseProps = function _initialiseProps() {
177
- var _this2 = this;
178
-
179
- this.onCalendarKeyDown = function (event) {
180
- if (event.keyCode === _KeyCode2['default'].ESC) {
181
- event.stopPropagation();
182
- _this2.close(_this2.focus);
183
- }
184
- };
185
-
186
- this.onCalendarSelect = function (value) {
187
- var cause = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
188
-
189
- var props = _this2.props;
190
- if (!('value' in props)) {
191
- _this2.setState({
192
- value: value
193
- });
194
- }
195
- if (cause.source === 'keyboard' || cause.source === 'dateInputSelect' || !props.calendar.props.timePicker && cause.source !== 'dateInput' || cause.source === 'todayButton') {
196
- _this2.close(_this2.focus);
197
- }
198
- props.onChange(value);
199
- };
200
-
201
- this.onKeyDown = function (event) {
202
- if (!_this2.state.open && (event.keyCode === _KeyCode2['default'].DOWN || event.keyCode === _KeyCode2['default'].ENTER)) {
203
- _this2.open();
204
- event.preventDefault();
205
- }
206
- };
207
-
208
- this.onCalendarOk = function () {
209
- _this2.close(_this2.focus);
210
- };
211
-
212
- this.onCalendarClear = function () {
213
- _this2.close(_this2.focus);
214
- };
215
-
216
- this.onCalendarBlur = function () {
217
- _this2.setOpen(false);
218
- };
219
-
220
- this.onVisibleChange = function (open) {
221
- _this2.setOpen(open);
222
- };
223
-
224
- this.getCalendarElement = function () {
225
- var props = _this2.props;
226
- var state = _this2.state;
227
- var calendarProps = props.calendar.props;
228
- var value = state.value;
229
-
230
- var defaultValue = value;
231
- var extraProps = {
232
- ref: _this2.saveCalendarRef,
233
- defaultValue: defaultValue || calendarProps.defaultValue,
234
- selectedValue: value,
235
- onKeyDown: _this2.onCalendarKeyDown,
236
- onOk: (0, _createChainedFunction2['default'])(calendarProps.onOk, _this2.onCalendarOk),
237
- onSelect: (0, _createChainedFunction2['default'])(calendarProps.onSelect, _this2.onCalendarSelect),
238
- onClear: (0, _createChainedFunction2['default'])(calendarProps.onClear, _this2.onCalendarClear),
239
- onBlur: (0, _createChainedFunction2['default'])(calendarProps.onBlur, _this2.onCalendarBlur)
240
- };
241
-
242
- return _react2['default'].cloneElement(props.calendar, extraProps);
243
- };
244
-
245
- this.setOpen = function (open, callback) {
246
- var onOpenChange = _this2.props.onOpenChange;
247
-
248
- if (_this2.state.open !== open) {
249
- if (!('open' in _this2.props)) {
250
- _this2.setState({
251
- open: open
252
- }, callback);
253
- }
254
- onOpenChange(open);
255
- }
256
- };
257
-
258
- this.open = function (callback) {
259
- _this2.setOpen(true, callback);
260
- };
261
-
262
- this.close = function (callback) {
263
- _this2.setOpen(false, callback);
264
- };
265
-
266
- this.focus = function () {
267
- if (!_this2.state.open) {
268
- _reactDom2['default'].findDOMNode(_this2).focus();
269
- }
270
- };
271
-
272
- this.focusCalendar = function () {
273
- if (_this2.state.open && !!_this2.calendarInstance) {
274
- _this2.calendarInstance.focus();
275
- }
276
- };
277
- };
278
-
279
- (0, _reactLifecyclesCompat.polyfill)(Picker);
280
-
281
- exports['default'] = Picker;
282
- module.exports = exports['default'];