@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,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'];