UNPKG

4.12 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4
5var _extends2 = require('babel-runtime/helpers/extends');
6
7var _extends3 = _interopRequireDefault(_extends2);
8
9var _typeof2 = require('babel-runtime/helpers/typeof');
10
11var _typeof3 = _interopRequireDefault(_typeof2);
12
13var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
14
15var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
16
17var _MODE2FORMAT;
18
19var _react = require('react');
20
21var _react2 = _interopRequireDefault(_react);
22
23var _configProvider = require('../config-provider');
24
25var _configProvider2 = _interopRequireDefault(_configProvider);
26
27var _picker = require('./picker');
28
29var _picker2 = _interopRequireDefault(_picker);
30
31var _constant = require('./constant');
32
33function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
35var DATE = _constant.DATE_PICKER_MODE.DATE,
36 WEEK = _constant.DATE_PICKER_MODE.WEEK,
37 MONTH = _constant.DATE_PICKER_MODE.MONTH,
38 QUARTER = _constant.DATE_PICKER_MODE.QUARTER,
39 YEAR = _constant.DATE_PICKER_MODE.YEAR;
40
41var MODE2FORMAT = (_MODE2FORMAT = {}, _MODE2FORMAT[DATE] = 'YYYY-MM-DD', _MODE2FORMAT[WEEK] = 'YYYY-wo', _MODE2FORMAT[MONTH] = 'YYYY-MM', _MODE2FORMAT[QUARTER] = 'YYYY-[Q]Q', _MODE2FORMAT[YEAR] = 'YYYY', _MODE2FORMAT);
42
43/* istanbul ignore next */
44var transform = function transform(props, deprecated) {
45 var footerRender = props.footerRender,
46 onVisibleMonthChange = props.onVisibleMonthChange,
47 defaultVisibleMonth = props.defaultVisibleMonth,
48 ranges = props.ranges,
49 newProps = (0, _objectWithoutProperties3.default)(props, ['footerRender', 'onVisibleMonthChange', 'defaultVisibleMonth', 'ranges']);
50
51 var mode = props.mode || DATE;
52
53 if ('footerRender' in props) {
54 deprecated('footerRender', 'extraFooterRender', 'DatePicker');
55 newProps.extraFooterRender = footerRender;
56 }
57
58 if (onVisibleMonthChange) {
59 deprecated('onVisibleMonthChange', 'onPanelChange', 'DatePicker');
60 newProps.onPanelChange = onVisibleMonthChange;
61 }
62
63 if (defaultVisibleMonth) {
64 deprecated('defaultVisibleMonth', 'defaultPanelValue', 'DatePicker');
65 newProps.defaultPanelValue = onVisibleMonthChange;
66 }
67
68 if ('ranges' in props) {
69 deprecated('ranges', 'preset: PT.oneOfType([PT.array, PT.object])', 'DatePicker');
70 newProps.preset = ranges;
71 }
72
73 if ([WEEK, MONTH, QUARTER, YEAR].includes(mode)) {
74 delete newProps.showTime;
75 } else if ((0, _typeof3.default)(props.showTime) === 'object') {
76 deprecated('showTime: object', 'showTime && timePanelProps', 'DatePicker');
77 newProps.timePanelProps = props.showTime;
78 newProps.showTime = true;
79 }
80
81 if (!newProps.format) {
82 newProps.format = MODE2FORMAT[mode] + (newProps.showTime ? ' HH:mm:ss' : '');
83 }
84
85 return newProps;
86};
87
88var ConfigPicker = _configProvider2.default.config(_picker2.default, {
89 componentName: 'DatePicker2',
90 transform: transform
91});
92var generatePicker = function generatePicker(mode) {
93 return _react2.default.forwardRef(function (props, ref) {
94 return _react2.default.createElement(ConfigPicker, (0, _extends3.default)({ ref: ref }, props, { mode: mode }));
95 });
96};
97
98var DatePicker2 = generatePicker();
99DatePicker2.displayName = 'DatePicker2';
100
101DatePicker2.MonthPicker = generatePicker(MONTH);
102DatePicker2.MonthPicker.displayName = 'MonthPicker2';
103
104DatePicker2.YearPicker = generatePicker(YEAR);
105DatePicker2.YearPicker.displayName = 'YearPicker2';
106
107DatePicker2.WeekPicker = generatePicker(WEEK);
108DatePicker2.WeekPicker.displayName = 'WeekPicker2';
109
110DatePicker2.QuarterPicker = generatePicker(QUARTER);
111DatePicker2.QuarterPicker.displayName = 'QuarterPicker2';
112
113DatePicker2.RangePicker = _react2.default.forwardRef(function (props, ref) {
114 return _react2.default.createElement(ConfigPicker, (0, _extends3.default)({ ref: ref }, props, { type: 'range' }));
115});
116DatePicker2.RangePicker.displayName = 'RangePicker2';
117
118exports.default = DatePicker2;
119module.exports = exports['default'];
\No newline at end of file