UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

213 lines (176 loc) 6.8 kB
import _extends from "@babel/runtime/helpers/extends"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; function _createSuper(Derived) { 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; } } return function () { var Super = _getPrototypeOf(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } import React, { Component } from 'react'; import classNames from 'classnames'; import LocaleReceiver from '../locale-provider/LocaleReceiver'; import { generateShowHourMinuteSecond } from '../time-picker'; import enUS from './locale/en_US'; import TimePickerPanel from '../rc-components/time-picker/Panel'; import { Size } from '../_util/enum'; import { getPrefixCls } from '../configure'; function getColumns(_ref) { var showHour = _ref.showHour, showMinute = _ref.showMinute, showSecond = _ref.showSecond, use12Hours = _ref.use12Hours; var column = 0; if (showHour) { column += 1; } if (showMinute) { column += 1; } if (showSecond) { column += 1; } if (use12Hours) { column += 1; } return column; } export default function wrapPicker(Picker, defaultFormat) { var _a; return _a = /*#__PURE__*/ function (_Component) { _inherits(PickerWrapper, _Component); var _super = _createSuper(PickerWrapper); function PickerWrapper() { var _this; _classCallCheck(this, PickerWrapper); _this = _super.apply(this, arguments); _this.handleOpenChange = function (open) { var onOpenChange = _this.props.onOpenChange; onOpenChange(open); }; _this.handleFocus = function (e) { var onFocus = _this.props.onFocus; if (onFocus) { onFocus(e); } }; _this.handleBlur = function (e) { var onBlur = _this.props.onBlur; if (onBlur) { onBlur(e); } }; _this.savePicker = function (node) { _this.picker = node; }; _this.getDefaultLocale = function () { var locale = _this.props.locale; var result = _objectSpread({}, enUS, {}, locale); result.lang = _objectSpread({}, result.lang, {}, (locale || {}).lang); return result; }; _this.renderPicker = function (locale, localeCode) { var _classNames2, _classNames3; var props = _this.props; var prefixCls = props.prefixCls, inputPrefixCls = props.inputPrefixCls; var pickerClass = classNames("".concat(prefixCls, "-picker"), _defineProperty({}, "".concat(prefixCls, "-picker-").concat(props.size), !!props.size)); var pickerInputClass = classNames("".concat(prefixCls, "-picker-input"), inputPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(inputPrefixCls, "-lg"), props.size === Size.large), _defineProperty(_classNames2, "".concat(inputPrefixCls, "-sm"), props.size === Size.small), _defineProperty(_classNames2, "".concat(inputPrefixCls, "-disabled"), props.disabled), _classNames2)); var pickerWrapperInputClass = classNames("".concat(inputPrefixCls, "-wrapper"), (_classNames3 = {}, _defineProperty(_classNames3, "".concat(inputPrefixCls, "-disabled"), props.disabled), _defineProperty(_classNames3, "".concat(inputPrefixCls, "-has-border"), props.border), _classNames3)); var timeFormat = props.showTime && props.showTime.format || 'HH:mm:ss'; var rcTimePickerProps = _objectSpread({}, generateShowHourMinuteSecond(timeFormat), { format: timeFormat, use12Hours: props.showTime && props.showTime.use12Hours }); var columns = getColumns(rcTimePickerProps); var timePickerCls = "".concat(prefixCls, "-time-picker-column-").concat(columns); var timePicker = props.showTime ? React.createElement(TimePickerPanel, _extends({}, rcTimePickerProps, props.showTime, { prefixCls: "".concat(prefixCls, "-time-picker"), className: timePickerCls, placeholder: locale.timePickerLocale.placeholder, transitionName: "slide-up" })) : null; return React.createElement(Picker, _extends({}, props, { ref: _this.savePicker, pickerClass: pickerClass, pickerInputClass: pickerInputClass, pickerWrapperInputClass: pickerWrapperInputClass, locale: locale, localeCode: localeCode, timePicker: timePicker, onOpenChange: _this.handleOpenChange, onFocus: _this.handleFocus, onBlur: _this.handleBlur })); }; return _this; } _createClass(PickerWrapper, [{ key: "componentDidMount", value: function componentDidMount() { var _this$props = this.props, autoFocus = _this$props.autoFocus, disabled = _this$props.disabled; if (autoFocus && !disabled) { this.focus(); } } }, { key: "focus", value: function focus() { this.picker.focus(); } }, { key: "blur", value: function blur() { this.picker.blur(); } }, { key: "render", value: function render() { return React.createElement(LocaleReceiver, { componentName: "DatePicker", defaultLocale: this.getDefaultLocale }, this.renderPicker); } }]); return PickerWrapper; }(Component), _a.displayName = 'PickerWrapper', _a.defaultProps = { format: defaultFormat || 'YYYY-MM-DD', transitionName: 'slide-up', popupStyle: {}, onChange: function onChange() {}, onOk: function onOk() {}, onOpenChange: function onOpenChange() {}, locale: {}, prefixCls: getPrefixCls('calendar'), inputPrefixCls: getPrefixCls('input'), border: true }, _a; } //# sourceMappingURL=wrapPicker.js.map