@seafile/seafile-calendar 0.0.31 → 0.0.32-alpha.jh6

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