UNPKG

choerodon-ui

Version:

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

155 lines (125 loc) 5.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var _tslib = require("tslib"); var _react = _interopRequireDefault(require("react")); var _moment = _interopRequireDefault(require("moment")); var _noop = _interopRequireDefault(require("lodash/noop")); var _classnames = _interopRequireDefault(require("classnames")); var _DaysView2 = _interopRequireDefault(require("./DaysView")); var _TimesView = _interopRequireDefault(require("./TimesView")); var _autobind = _interopRequireDefault(require("../_util/autobind")); var _enum = require("./enum"); var _enum2 = require("../data-set/enum"); var _localeContext = require("../locale-context"); var _utils = require("../field/utils"); var DateTimesView = /*#__PURE__*/function (_DaysView) { (0, _inherits2["default"])(DateTimesView, _DaysView); var _super = (0, _createSuper2["default"])(DateTimesView); function DateTimesView() { var _this; (0, _classCallCheck2["default"])(this, DateTimesView); _this = _super.apply(this, arguments); _this.getTimeProps = function () { var _this$props$format = _this.props.format, format = _this$props$format === void 0 ? (0, _utils.getDateFormatByFieldType)(_TimesView["default"].type) : _this$props$format; var timeProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _this.props), {}, { mode: _enum.ViewMode.time, datetimeSide: true, format: format }); return timeProps; }; return _this; } (0, _createClass2["default"])(DateTimesView, [{ key: "getViewClassName", value: function getViewClassName() { var prefixCls = this.prefixCls; return "".concat(prefixCls, "-datetime"); } }, { key: "handleTimeSelect", value: function handleTimeSelect() { this.changeViewMode(_enum.ViewMode.time); } }, { key: "handleCellClick", value: function handleCellClick(date) { this.changeSelectedDate(date); } }, { key: "handleKeyDownRight", value: function handleKeyDownRight(e) { if (e.altKey) { this.changeViewMode(_enum.ViewMode.time); } else { this.changeSelectedDate(this.getCloneDate().add(1, 'd')); } } }, { key: "getFirstDay", value: function getFirstDay(date) { var firstDay = date.clone().subtract(1, 'M'); var hour = firstDay.hour(); var minute = firstDay.minute(); var second = firstDay.second(); firstDay.date(firstDay.daysInMonth()).startOf('w'); firstDay.hour(hour); firstDay.minute(minute); firstDay.second(second); return firstDay; } }, { key: "choose", value: function choose(date) { var expand = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; var _this$props$onSelect = this.props.onSelect, onSelect = _this$props$onSelect === void 0 ? _noop["default"] : _this$props$onSelect; onSelect(date, expand); } }, { key: "renderFooter", value: function renderFooter() { var prefixCls = this.prefixCls, disabledNow = this.props.disabledNow; var footerProps = { className: (0, _classnames["default"])("".concat(prefixCls, "-footer-now-btn"), (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-now-disabled"), disabledNow)), onClick: !disabledNow ? this.choose.bind(this, (0, _moment["default"])(), false) : _noop["default"] }; return /*#__PURE__*/_react["default"].createElement("div", { className: "".concat(prefixCls, "-footer") }, /*#__PURE__*/_react["default"].createElement("a", (0, _extends2["default"])({}, footerProps), (0, _localeContext.$l)('DatePicker', 'now'))); } }, { key: "render", value: function render() { var prefixCls = this.prefixCls, _this$props = this.props, className = _this$props.className, extraFooterPlacement = _this$props.extraFooterPlacement; var classString = (0, _classnames["default"])("".concat(prefixCls, "-view"), className, this.getViewClassName()); return /*#__PURE__*/_react["default"].createElement("div", { className: "".concat(this.getViewClassName(), "-wrapper") }, /*#__PURE__*/_react["default"].createElement("div", { className: classString }, this.renderHeader(), this.renderBody(), extraFooterPlacement === 'top' && this.customFooter, this.renderFooter(), extraFooterPlacement === 'bottom' && this.customFooter), /*#__PURE__*/_react["default"].createElement(_TimesView["default"], (0, _extends2["default"])({}, this.getTimeProps()))); } }]); return DateTimesView; }(_DaysView2["default"]); exports["default"] = DateTimesView; DateTimesView.displayName = 'DateTimesView'; DateTimesView.type = _enum2.FieldType.dateTime; (0, _tslib.__decorate)([_autobind["default"]], DateTimesView.prototype, "handleTimeSelect", null); //# sourceMappingURL=DateTimesView.js.map