@seafile/seafile-calendar 0.0.15 → 0.0.16

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 (159) hide show
  1. package/index.d.ts +10 -10
  2. package/package.json +2 -2
  3. package/assets/index.css +0 -1186
  4. package/es/Calendar.js +0 -430
  5. package/es/FullCalendar.js +0 -182
  6. package/es/MonthCalendar.js +0 -135
  7. package/es/Picker.js +0 -245
  8. package/es/RangeCalendar.js +0 -876
  9. package/es/calendar/CalendarFooter.js +0 -93
  10. package/es/calendar/CalendarHeader.js +0 -257
  11. package/es/calendar/CalendarRightPanel.js +0 -124
  12. package/es/calendar/OkButton.js +0 -22
  13. package/es/calendar/TimePickerButton.js +0 -28
  14. package/es/calendar/TodayButton.js +0 -28
  15. package/es/date/DateConstants.js +0 -4
  16. package/es/date/DateInput.js +0 -233
  17. package/es/date/DateTBody.js +0 -275
  18. package/es/date/DateTHead.js +0 -81
  19. package/es/date/DateTable.js +0 -32
  20. package/es/decade/DecadePanel.js +0 -181
  21. package/es/full-calendar/CalendarHeader.js +0 -180
  22. package/es/index.js +0 -3
  23. package/es/locale/ar_EG.js +0 -27
  24. package/es/locale/bg_BG.js +0 -27
  25. package/es/locale/ca_ES.js +0 -27
  26. package/es/locale/cs_CZ.js +0 -27
  27. package/es/locale/da_DK.js +0 -27
  28. package/es/locale/de_DE.js +0 -27
  29. package/es/locale/el_GR.js +0 -27
  30. package/es/locale/en_GB.js +0 -27
  31. package/es/locale/en_US.js +0 -28
  32. package/es/locale/es_ES.js +0 -27
  33. package/es/locale/et_EE.js +0 -27
  34. package/es/locale/fa_IR.js +0 -27
  35. package/es/locale/fi_FI.js +0 -27
  36. package/es/locale/fr_BE.js +0 -27
  37. package/es/locale/fr_FR.js +0 -27
  38. package/es/locale/he_IL.js +0 -28
  39. package/es/locale/hi_IN.js +0 -28
  40. package/es/locale/hr_HR.js +0 -28
  41. package/es/locale/hu_HU.js +0 -27
  42. package/es/locale/id_ID.js +0 -28
  43. package/es/locale/is_IS.js +0 -27
  44. package/es/locale/it_IT.js +0 -27
  45. package/es/locale/ja_JP.js +0 -26
  46. package/es/locale/kn_IN.js +0 -28
  47. package/es/locale/ko_KR.js +0 -27
  48. package/es/locale/ku_IQ.js +0 -27
  49. package/es/locale/lv_LV.js +0 -27
  50. package/es/locale/mm_MM.js +0 -28
  51. package/es/locale/mn_MN.js +0 -28
  52. package/es/locale/ms_MY.js +0 -27
  53. package/es/locale/nb_NO.js +0 -27
  54. package/es/locale/nl_BE.js +0 -27
  55. package/es/locale/nl_NL.js +0 -27
  56. package/es/locale/pl_PL.js +0 -27
  57. package/es/locale/pt_BR.js +0 -27
  58. package/es/locale/pt_PT.js +0 -27
  59. package/es/locale/ro_RO.js +0 -28
  60. package/es/locale/ru_RU.js +0 -27
  61. package/es/locale/sk_SK.js +0 -27
  62. package/es/locale/sl_SI.js +0 -27
  63. package/es/locale/sr_RS.js +0 -27
  64. package/es/locale/sv_SE.js +0 -27
  65. package/es/locale/ta_IN.js +0 -28
  66. package/es/locale/th_TH.js +0 -27
  67. package/es/locale/tr_TR.js +0 -27
  68. package/es/locale/ug_CN.js +0 -26
  69. package/es/locale/uk_UA.js +0 -27
  70. package/es/locale/vi_VN.js +0 -28
  71. package/es/locale/zh_CN.js +0 -27
  72. package/es/locale/zh_TW.js +0 -26
  73. package/es/mixin/CalendarMixin.js +0 -123
  74. package/es/mixin/CommonMixin.js +0 -85
  75. package/es/month/MonthPanel.js +0 -154
  76. package/es/month/MonthTable.js +0 -156
  77. package/es/picker/placements.js +0 -35
  78. package/es/range-calendar/CalendarPart.js +0 -151
  79. package/es/util/index.js +0 -102
  80. package/es/util/toTime.js +0 -21
  81. package/es/year/YearPanel.js +0 -202
  82. package/lib/Calendar.js +0 -483
  83. package/lib/FullCalendar.js +0 -221
  84. package/lib/MonthCalendar.js +0 -172
  85. package/lib/Picker.js +0 -282
  86. package/lib/RangeCalendar.js +0 -925
  87. package/lib/calendar/CalendarFooter.js +0 -134
  88. package/lib/calendar/CalendarHeader.js +0 -290
  89. package/lib/calendar/CalendarRightPanel.js +0 -148
  90. package/lib/calendar/OkButton.js +0 -32
  91. package/lib/calendar/TimePickerButton.js +0 -41
  92. package/lib/calendar/TodayButton.js +0 -39
  93. package/lib/date/DateConstants.js +0 -8
  94. package/lib/date/DateInput.js +0 -265
  95. package/lib/date/DateTBody.js +0 -302
  96. package/lib/date/DateTHead.js +0 -104
  97. package/lib/date/DateTable.js +0 -54
  98. package/lib/decade/DecadePanel.js +0 -207
  99. package/lib/full-calendar/CalendarHeader.js +0 -201
  100. package/lib/index.js +0 -12
  101. package/lib/locale/ar_EG.js +0 -31
  102. package/lib/locale/bg_BG.js +0 -31
  103. package/lib/locale/ca_ES.js +0 -31
  104. package/lib/locale/cs_CZ.js +0 -31
  105. package/lib/locale/da_DK.js +0 -31
  106. package/lib/locale/de_DE.js +0 -31
  107. package/lib/locale/el_GR.js +0 -31
  108. package/lib/locale/en_GB.js +0 -31
  109. package/lib/locale/en_US.js +0 -32
  110. package/lib/locale/es_ES.js +0 -31
  111. package/lib/locale/et_EE.js +0 -31
  112. package/lib/locale/fa_IR.js +0 -31
  113. package/lib/locale/fi_FI.js +0 -31
  114. package/lib/locale/fr_BE.js +0 -31
  115. package/lib/locale/fr_FR.js +0 -31
  116. package/lib/locale/he_IL.js +0 -32
  117. package/lib/locale/hi_IN.js +0 -32
  118. package/lib/locale/hr_HR.js +0 -32
  119. package/lib/locale/hu_HU.js +0 -31
  120. package/lib/locale/id_ID.js +0 -32
  121. package/lib/locale/is_IS.js +0 -31
  122. package/lib/locale/it_IT.js +0 -31
  123. package/lib/locale/ja_JP.js +0 -30
  124. package/lib/locale/kn_IN.js +0 -32
  125. package/lib/locale/ko_KR.js +0 -31
  126. package/lib/locale/ku_IQ.js +0 -31
  127. package/lib/locale/lv_LV.js +0 -31
  128. package/lib/locale/mm_MM.js +0 -32
  129. package/lib/locale/mn_MN.js +0 -32
  130. package/lib/locale/ms_MY.js +0 -31
  131. package/lib/locale/nb_NO.js +0 -31
  132. package/lib/locale/nl_BE.js +0 -31
  133. package/lib/locale/nl_NL.js +0 -31
  134. package/lib/locale/pl_PL.js +0 -31
  135. package/lib/locale/pt_BR.js +0 -31
  136. package/lib/locale/pt_PT.js +0 -31
  137. package/lib/locale/ro_RO.js +0 -32
  138. package/lib/locale/ru_RU.js +0 -31
  139. package/lib/locale/sk_SK.js +0 -31
  140. package/lib/locale/sl_SI.js +0 -31
  141. package/lib/locale/sr_RS.js +0 -31
  142. package/lib/locale/sv_SE.js +0 -31
  143. package/lib/locale/ta_IN.js +0 -32
  144. package/lib/locale/th_TH.js +0 -31
  145. package/lib/locale/tr_TR.js +0 -31
  146. package/lib/locale/ug_CN.js +0 -30
  147. package/lib/locale/uk_UA.js +0 -31
  148. package/lib/locale/vi_VN.js +0 -32
  149. package/lib/locale/zh_CN.js +0 -31
  150. package/lib/locale/zh_TW.js +0 -30
  151. package/lib/mixin/CalendarMixin.js +0 -153
  152. package/lib/mixin/CommonMixin.js +0 -106
  153. package/lib/month/MonthPanel.js +0 -179
  154. package/lib/month/MonthTable.js +0 -181
  155. package/lib/picker/placements.js +0 -39
  156. package/lib/range-calendar/CalendarPart.js +0 -184
  157. package/lib/util/index.js +0 -124
  158. package/lib/util/toTime.js +0 -28
  159. package/lib/year/YearPanel.js +0 -227
@@ -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 _moment = require('moment');
48
-
49
- var _moment2 = _interopRequireDefault(_moment);
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, _moment2['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 _moment = require('moment');
48
-
49
- var _moment2 = _interopRequireDefault(_moment);
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.add(3, 'months');
72
- break;
73
- case _KeyCode2['default'].UP:
74
- value = stateValue.clone();
75
- value.add(-3, 'months');
76
- break;
77
- case _KeyCode2['default'].LEFT:
78
- value = stateValue.clone();
79
- if (ctrlKey) {
80
- value.add(-1, 'years');
81
- } else {
82
- value.add(-1, 'months');
83
- }
84
- break;
85
- case _KeyCode2['default'].RIGHT:
86
- value = stateValue.clone();
87
- if (ctrlKey) {
88
- value.add(1, 'years');
89
- } else {
90
- 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, _moment2['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'];