1 | import _extends from 'babel-runtime/helpers/extends';
|
2 | import _typeof from 'babel-runtime/helpers/typeof';
|
3 | import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
|
4 |
|
5 | var _MODE2FORMAT;
|
6 |
|
7 | import React from 'react';
|
8 | import ConfigProvider from '../config-provider';
|
9 | import Picker from './picker';
|
10 | import { DATE_PICKER_MODE } from './constant';
|
11 |
|
12 | var DATE = DATE_PICKER_MODE.DATE,
|
13 | WEEK = DATE_PICKER_MODE.WEEK,
|
14 | MONTH = DATE_PICKER_MODE.MONTH,
|
15 | QUARTER = DATE_PICKER_MODE.QUARTER,
|
16 | YEAR = DATE_PICKER_MODE.YEAR;
|
17 |
|
18 | var MODE2FORMAT = (_MODE2FORMAT = {}, _MODE2FORMAT[DATE] = 'YYYY-MM-DD', _MODE2FORMAT[WEEK] = 'YYYY-wo', _MODE2FORMAT[MONTH] = 'YYYY-MM', _MODE2FORMAT[QUARTER] = 'YYYY-[Q]Q', _MODE2FORMAT[YEAR] = 'YYYY', _MODE2FORMAT);
|
19 |
|
20 |
|
21 | var transform = function transform(props, deprecated) {
|
22 | var footerRender = props.footerRender,
|
23 | onVisibleMonthChange = props.onVisibleMonthChange,
|
24 | defaultVisibleMonth = props.defaultVisibleMonth,
|
25 | ranges = props.ranges,
|
26 | newProps = _objectWithoutProperties(props, ['footerRender', 'onVisibleMonthChange', 'defaultVisibleMonth', 'ranges']);
|
27 |
|
28 | var mode = props.mode || DATE;
|
29 |
|
30 | if ('footerRender' in props) {
|
31 | deprecated('footerRender', 'extraFooterRender', 'DatePicker');
|
32 | newProps.extraFooterRender = footerRender;
|
33 | }
|
34 |
|
35 | if (onVisibleMonthChange) {
|
36 | deprecated('onVisibleMonthChange', 'onPanelChange', 'DatePicker');
|
37 | newProps.onPanelChange = onVisibleMonthChange;
|
38 | }
|
39 |
|
40 | if (defaultVisibleMonth) {
|
41 | deprecated('defaultVisibleMonth', 'defaultPanelValue', 'DatePicker');
|
42 | newProps.defaultPanelValue = onVisibleMonthChange;
|
43 | }
|
44 |
|
45 | if ('ranges' in props) {
|
46 | deprecated('ranges', 'preset: PT.oneOfType([PT.array, PT.object])', 'DatePicker');
|
47 | newProps.preset = ranges;
|
48 | }
|
49 |
|
50 | if ([WEEK, MONTH, QUARTER, YEAR].includes(mode)) {
|
51 | delete newProps.showTime;
|
52 | } else if (_typeof(props.showTime) === 'object') {
|
53 | deprecated('showTime: object', 'showTime && timePanelProps', 'DatePicker');
|
54 | newProps.timePanelProps = props.showTime;
|
55 | newProps.showTime = true;
|
56 | }
|
57 |
|
58 | if (!newProps.format) {
|
59 | newProps.format = MODE2FORMAT[mode] + (newProps.showTime ? ' HH:mm:ss' : '');
|
60 | }
|
61 |
|
62 | return newProps;
|
63 | };
|
64 |
|
65 | var ConfigPicker = ConfigProvider.config(Picker, {
|
66 | componentName: 'DatePicker2',
|
67 | transform: transform
|
68 | });
|
69 | var generatePicker = function generatePicker(mode) {
|
70 | return React.forwardRef(function (props, ref) {
|
71 | return React.createElement(ConfigPicker, _extends({ ref: ref }, props, { mode: mode }));
|
72 | });
|
73 | };
|
74 |
|
75 | var DatePicker2 = generatePicker();
|
76 | DatePicker2.displayName = 'DatePicker2';
|
77 |
|
78 | DatePicker2.MonthPicker = generatePicker(MONTH);
|
79 | DatePicker2.MonthPicker.displayName = 'MonthPicker2';
|
80 |
|
81 | DatePicker2.YearPicker = generatePicker(YEAR);
|
82 | DatePicker2.YearPicker.displayName = 'YearPicker2';
|
83 |
|
84 | DatePicker2.WeekPicker = generatePicker(WEEK);
|
85 | DatePicker2.WeekPicker.displayName = 'WeekPicker2';
|
86 |
|
87 | DatePicker2.QuarterPicker = generatePicker(QUARTER);
|
88 | DatePicker2.QuarterPicker.displayName = 'QuarterPicker2';
|
89 |
|
90 | DatePicker2.RangePicker = React.forwardRef(function (props, ref) {
|
91 | return React.createElement(ConfigPicker, _extends({ ref: ref }, props, { type: 'range' }));
|
92 | });
|
93 | DatePicker2.RangePicker.displayName = 'RangePicker2';
|
94 |
|
95 | export default DatePicker2; |
\ | No newline at end of file |