1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports["default"] = void 0;
|
7 |
|
8 | var _react = _interopRequireWildcard(require("react"));
|
9 |
|
10 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
11 |
|
12 | var _moment = _interopRequireDefault(require("moment"));
|
13 |
|
14 | var _classnames2 = _interopRequireDefault(require("classnames"));
|
15 |
|
16 | var _zhCn = _interopRequireDefault(require("../locale/zh-cn"));
|
17 |
|
18 | var _util = require("../util");
|
19 |
|
20 | var _cardHeader = _interopRequireDefault(require("./head/card-header"));
|
21 |
|
22 | var _datePanelHeader = _interopRequireDefault(require("./head/date-panel-header"));
|
23 |
|
24 | var _monthPanelHeader = _interopRequireDefault(require("./head/month-panel-header"));
|
25 |
|
26 | var _yearPanelHeader = _interopRequireDefault(require("./head/year-panel-header"));
|
27 |
|
28 | var _dateTable = _interopRequireDefault(require("./table/date-table"));
|
29 |
|
30 | var _monthTable = _interopRequireDefault(require("./table/month-table"));
|
31 |
|
32 | var _yearTable = _interopRequireDefault(require("./table/year-table"));
|
33 |
|
34 | var _utils = require("./utils");
|
35 |
|
36 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
37 |
|
38 | function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
39 |
|
40 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
41 |
|
42 | function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
43 |
|
44 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
45 |
|
46 | function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
47 |
|
48 | function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
49 |
|
50 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
51 |
|
52 | function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
53 |
|
54 | function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
55 |
|
56 | function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
57 |
|
58 | function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
59 |
|
60 | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
61 |
|
62 | function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
63 |
|
64 | function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
65 |
|
66 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
67 |
|
68 | function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
69 |
|
70 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
71 |
|
72 |
|
73 | var Calendar = function (_Component) {
|
74 | _inherits(Calendar, _Component);
|
75 |
|
76 | var _super = _createSuper(Calendar);
|
77 |
|
78 | function Calendar(props, context) {
|
79 | var _this;
|
80 |
|
81 | _classCallCheck(this, Calendar);
|
82 |
|
83 | _this = _super.call(this, props, context);
|
84 |
|
85 | _defineProperty(_assertThisInitialized(_this), "onSelectCell", function (date, nextMode) {
|
86 | var shape = _this.props.shape;
|
87 |
|
88 | _this.changeVisibleMonth(date, 'cellClick');
|
89 |
|
90 |
|
91 | if (_this.state.mode === _this.MODES[0]) {
|
92 | _this.props.onSelect(date);
|
93 | }
|
94 |
|
95 | if (shape === 'panel') {
|
96 | _this.changeMode(nextMode);
|
97 | }
|
98 | });
|
99 |
|
100 | _defineProperty(_assertThisInitialized(_this), "changeMode", function (nextMode) {
|
101 | if (nextMode && _this.MODES.indexOf(nextMode) > -1 && nextMode !== _this.state.mode) {
|
102 | _this.setState({
|
103 | mode: nextMode
|
104 | });
|
105 |
|
106 | _this.props.onModeChange(nextMode);
|
107 | }
|
108 | });
|
109 |
|
110 | _defineProperty(_assertThisInitialized(_this), "changeVisibleMonth", function (date, reason) {
|
111 | if (!(0, _utils.isSameYearMonth)(date, _this.state.visibleMonth)) {
|
112 | _this.setState({
|
113 | visibleMonth: date
|
114 | });
|
115 |
|
116 | _this.props.onVisibleMonthChange(date, reason);
|
117 | }
|
118 | });
|
119 |
|
120 | _defineProperty(_assertThisInitialized(_this), "goPrevDecade", function () {
|
121 | _this.changeVisibleMonthByOffset(-12, 'years');
|
122 | });
|
123 |
|
124 | _defineProperty(_assertThisInitialized(_this), "goNextDecade", function () {
|
125 | _this.changeVisibleMonthByOffset(12, 'years');
|
126 | });
|
127 |
|
128 | _defineProperty(_assertThisInitialized(_this), "goPrevYear", function () {
|
129 | _this.changeVisibleMonthByOffset(-1, 'years');
|
130 | });
|
131 |
|
132 | _defineProperty(_assertThisInitialized(_this), "goNextYear", function () {
|
133 | _this.changeVisibleMonthByOffset(1, 'years');
|
134 | });
|
135 |
|
136 | _defineProperty(_assertThisInitialized(_this), "goPrevMonth", function () {
|
137 | _this.changeVisibleMonthByOffset(-1, 'months');
|
138 | });
|
139 |
|
140 | _defineProperty(_assertThisInitialized(_this), "goNextMonth", function () {
|
141 | _this.changeVisibleMonthByOffset(1, 'months');
|
142 | });
|
143 |
|
144 | var value = (0, _utils.formatDateValue)(props.value || props.defaultValue);
|
145 | var visibleMonth = (0, _utils.getVisibleMonth)(props.defaultVisibleMonth, value);
|
146 | _this.MODES = props.modes;
|
147 | _this.today = (0, _moment["default"])();
|
148 | _this.state = {
|
149 | value: value,
|
150 | mode: props.mode || _this.MODES[0],
|
151 | visibleMonth: visibleMonth
|
152 | };
|
153 | return _this;
|
154 | }
|
155 |
|
156 | _createClass(Calendar, [{
|
157 | key: "UNSAFE_componentWillReceiveProps",
|
158 | value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
159 | if ('value' in nextProps && nextProps.value !== this.props.value) {
|
160 | var value = (0, _utils.formatDateValue)(nextProps.value);
|
161 | this.setState({
|
162 | value: value
|
163 | });
|
164 |
|
165 | if (value) {
|
166 | this.setState({
|
167 | visibleMonth: value
|
168 | });
|
169 | }
|
170 | }
|
171 |
|
172 | if (nextProps.mode && this.MODES.indexOf(nextProps.mode) > -1) {
|
173 | this.setState({
|
174 | mode: nextProps.mode
|
175 | });
|
176 | }
|
177 | }
|
178 | }, {
|
179 | key: "changeVisibleMonthByOffset",
|
180 |
|
181 | |
182 |
|
183 |
|
184 |
|
185 |
|
186 | value: function changeVisibleMonthByOffset(offset, type) {
|
187 | var cloneValue = this.state.visibleMonth.clone();
|
188 | cloneValue.add(offset, type);
|
189 | this.changeVisibleMonth(cloneValue, 'buttonClick');
|
190 | }
|
191 | }, {
|
192 | key: "render",
|
193 | value: function render() {
|
194 | var _classnames, _tables, _panelHeaders;
|
195 |
|
196 | var _this$props = this.props,
|
197 | prefix = _this$props.prefix,
|
198 | rtl = _this$props.rtl,
|
199 | className = _this$props.className,
|
200 | shape = _this$props.shape,
|
201 | showOtherMonth = _this$props.showOtherMonth,
|
202 | format = _this$props.format,
|
203 | locale = _this$props.locale,
|
204 | dateCellRender = _this$props.dateCellRender,
|
205 | monthCellRender = _this$props.monthCellRender,
|
206 | yearCellRender = _this$props.yearCellRender,
|
207 | disabledDate = _this$props.disabledDate,
|
208 | yearRange = _this$props.yearRange,
|
209 | others = _objectWithoutProperties(_this$props, ["prefix", "rtl", "className", "shape", "showOtherMonth", "format", "locale", "dateCellRender", "monthCellRender", "yearCellRender", "disabledDate", "yearRange"]);
|
210 |
|
211 | var state = this.state;
|
212 | var classNames = (0, _classnames2["default"])((_classnames = {}, _defineProperty(_classnames, "".concat(prefix, "calendar"), true), _defineProperty(_classnames, "".concat(prefix, "calendar-").concat(shape), shape), _classnames), className);
|
213 |
|
214 | if (rtl) {
|
215 | others.dir = 'rtl';
|
216 | }
|
217 |
|
218 | var visibleMonth = state.visibleMonth;
|
219 |
|
220 | if (_zhCn["default"].momentLocale) {
|
221 | state.value && state.value.locale(_zhCn["default"].momentLocale);
|
222 | visibleMonth.locale(_zhCn["default"].momentLocale);
|
223 | }
|
224 |
|
225 | var localeData = (0, _utils.getLocaleData)(locale.format || {}, visibleMonth.localeData());
|
226 | var headerProps = {
|
227 | prefix: prefix,
|
228 | lang: _zhCn["default"].momentLocale,
|
229 | value: state.value,
|
230 | mode: state.mode,
|
231 | modes: this.MODES,
|
232 | locale: locale,
|
233 | rtl: rtl,
|
234 | visibleMonth: visibleMonth,
|
235 | momentLocale: localeData,
|
236 | changeMode: this.changeMode,
|
237 | changeVisibleMonth: this.changeVisibleMonth,
|
238 | goNextDecade: this.goNextDecade,
|
239 | goNextYear: this.goNextYear,
|
240 | goNextMonth: this.goNextMonth,
|
241 | goPrevDecade: this.goPrevDecade,
|
242 | goPrevYear: this.goPrevYear,
|
243 | goPrevMonth: this.goPrevMonth
|
244 | };
|
245 | var tableProps = {
|
246 | prefix: prefix,
|
247 | visibleMonth: visibleMonth,
|
248 | showOtherMonth: showOtherMonth,
|
249 | value: state.value,
|
250 | mode: state.mode,
|
251 | locale: locale,
|
252 | dateCellRender: dateCellRender,
|
253 | monthCellRender: monthCellRender,
|
254 | yearCellRender: yearCellRender,
|
255 | disabledDate: disabledDate,
|
256 | momentLocale: localeData,
|
257 | today: this.today,
|
258 | goPrevDecade: this.goPrevDecade,
|
259 | goNextDecade: this.goNextDecade
|
260 | };
|
261 | var tables = (_tables = {}, _defineProperty(_tables, _utils.CALENDAR_MODE_DATE, _react["default"].createElement(_dateTable["default"], _extends({
|
262 | format: format
|
263 | }, tableProps, {
|
264 | onSelectDate: this.onSelectCell
|
265 | }))), _defineProperty(_tables, _utils.CALENDAR_MODE_MONTH, _react["default"].createElement(_monthTable["default"], _extends({}, tableProps, {
|
266 | onSelectMonth: this.onSelectCell
|
267 | }))), _defineProperty(_tables, _utils.CALENDAR_MODE_YEAR, _react["default"].createElement(_yearTable["default"], _extends({}, tableProps, {
|
268 | rtl: rtl,
|
269 | onSelectYear: this.onSelectCell
|
270 | }))), _tables);
|
271 | var panelHeaders = (_panelHeaders = {}, _defineProperty(_panelHeaders, _utils.CALENDAR_MODE_DATE, _react["default"].createElement(_datePanelHeader["default"], headerProps)), _defineProperty(_panelHeaders, _utils.CALENDAR_MODE_MONTH, _react["default"].createElement(_monthPanelHeader["default"], headerProps)), _defineProperty(_panelHeaders, _utils.CALENDAR_MODE_YEAR, _react["default"].createElement(_yearPanelHeader["default"], headerProps)), _panelHeaders);
|
272 | return _react["default"].createElement("div", _extends({}, _util.obj.pickOthers(Calendar.propTypes, others), {
|
273 | className: classNames
|
274 | }), shape === 'panel' ? panelHeaders[state.mode] : _react["default"].createElement(_cardHeader["default"], _extends({}, headerProps, {
|
275 | yearRange: yearRange
|
276 | })), tables[state.mode]);
|
277 | }
|
278 | }]);
|
279 |
|
280 | return Calendar;
|
281 | }(_react.Component);
|
282 |
|
283 | _defineProperty(Calendar, "propTypes", {
|
284 | prefix: _propTypes["default"].string,
|
285 | rtl: _propTypes["default"].bool,
|
286 |
|
287 | |
288 |
|
289 |
|
290 | defaultValue: _utils.checkMomentObj,
|
291 |
|
292 | |
293 |
|
294 |
|
295 | value: _utils.checkMomentObj,
|
296 |
|
297 | |
298 |
|
299 |
|
300 | mode: _propTypes["default"].oneOf(_utils.CALENDAR_MODES),
|
301 |
|
302 |
|
303 | modes: _propTypes["default"].array,
|
304 |
|
305 | format: _propTypes["default"].string,
|
306 |
|
307 | |
308 |
|
309 |
|
310 | showOtherMonth: _propTypes["default"].bool,
|
311 |
|
312 | |
313 |
|
314 |
|
315 | defaultVisibleMonth: _propTypes["default"].func,
|
316 |
|
317 | |
318 |
|
319 |
|
320 | shape: _propTypes["default"].oneOf(['card', 'fullscreen', 'panel']),
|
321 |
|
322 | |
323 |
|
324 |
|
325 |
|
326 | onSelect: _propTypes["default"].func,
|
327 |
|
328 | |
329 |
|
330 |
|
331 |
|
332 | onModeChange: _propTypes["default"].func,
|
333 |
|
334 | |
335 |
|
336 |
|
337 |
|
338 |
|
339 | onVisibleMonthChange: _propTypes["default"].func,
|
340 |
|
341 | |
342 |
|
343 |
|
344 | className: _propTypes["default"].string,
|
345 |
|
346 | |
347 |
|
348 |
|
349 |
|
350 |
|
351 | dateCellRender: _propTypes["default"].func,
|
352 |
|
353 | |
354 |
|
355 |
|
356 |
|
357 |
|
358 | monthCellRender: _propTypes["default"].func,
|
359 | yearCellRender: _propTypes["default"].func,
|
360 |
|
361 |
|
362 | |
363 |
|
364 |
|
365 | yearRange: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
366 |
|
367 | |
368 |
|
369 |
|
370 |
|
371 |
|
372 |
|
373 | disabledDate: _propTypes["default"].func,
|
374 |
|
375 | |
376 |
|
377 |
|
378 | locale: _propTypes["default"].object
|
379 | });
|
380 |
|
381 | _defineProperty(Calendar, "defaultProps", {
|
382 | prefix: 'next-',
|
383 | rtl: false,
|
384 | shape: 'fullscreen',
|
385 | modes: _utils.CALENDAR_MODES,
|
386 | format: 'YYYY-MM-DD',
|
387 | onSelect: _util.func.noop,
|
388 | onVisibleMonthChange: _util.func.noop,
|
389 | onModeChange: _util.func.noop,
|
390 | dateCellRender: function dateCellRender(value) {
|
391 | return value.date() < 10 ? "0".concat(value.date()) : value.date();
|
392 | },
|
393 | locale: _zhCn["default"].Calendar,
|
394 | showOtherMonth: true
|
395 | });
|
396 |
|
397 | var _default = Calendar;
|
398 | exports["default"] = _default; |
\ | No newline at end of file |