@alifd/meet-react
Version:
Fusion Mobile React UI System Component
60 lines (59 loc) • 3.77 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _tslib = require("tslib");
var _react = _interopRequireWildcard(require("react"));
var _dayjs = _interopRequireDefault(require("dayjs"));
var _view = _interopRequireDefault(require("../../view"));
var _embedPicker = _interopRequireDefault(require("../../time-picker/embed-picker"));
var _dateIndicator = _interopRequireDefault(require("../date-indicator"));
var _datePicker = _interopRequireDefault(require("./date-picker"));
var _modeSwitch = _interopRequireDefault(require("../mode-switch"));
var _useToggle2 = _interopRequireDefault(require("../../utils/hooks/use-toggle"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
var DateTimePicker = function (props) {
var _props$prefix = props.prefix,
prefix = _props$prefix === void 0 ? 'mt-' : _props$prefix,
defaultValue = props.defaultValue,
value = props.value,
_props$dateSelectTip = props.dateSelectTip,
dateSelectTip = _props$dateSelectTip === void 0 ? '选择具体时间' : _props$dateSelectTip,
_props$timeSelectTip = props.timeSelectTip,
timeSelectTip = _props$timeSelectTip === void 0 ? '返回选择日期' : _props$timeSelectTip,
disableDate = props.disableDate,
validRange = props.validRange,
onChange = props.onChange,
others = (0, _tslib.__rest)(props, ["prefix", "defaultValue", "value", "dateSelectTip", "timeSelectTip", "disableDate", "validRange", "onChange"]);
var _useToggle = (0, _useToggle2.default)('date', 'time'),
mode = _useToggle[0],
toggleMode = _useToggle[1].toggle;
return /*#__PURE__*/(0, _react.createElement)(_view.default, others, /*#__PURE__*/(0, _react.createElement)(_dateIndicator.default, {
highlight: mode === 'date' ? 0 : 1,
values: [(0, _dayjs.default)(value).format('YYYY-MM-DD'), (0, _dayjs.default)(value).format('HH:mm:ss')]
}), mode === 'date' ? /*#__PURE__*/(0, _react.createElement)(_datePicker.default, {
defaultValue: defaultValue,
value: value,
validRange: validRange,
onChange: function handleDateChange(d) {
var curTime = (0, _dayjs.default)(value);
var newTime = (0, _dayjs.default)(d).hour(curTime.hour()).minute(curTime.minute()).second(curTime.second());
onChange(newTime.toDate());
}
}) : /*#__PURE__*/(0, _react.createElement)(_embedPicker.default, {
defaultValue: defaultValue,
value: value,
onChange: function handleTimeChange(d) {
var curTime = (0, _dayjs.default)(value);
var newTime = (0, _dayjs.default)(d).year(curTime.year()).month(curTime.month()).date(curTime.date());
onChange(newTime.toDate());
}
}), /*#__PURE__*/(0, _react.createElement)(_modeSwitch.default, {
defaultText: dateSelectTip,
reverseText: timeSelectTip,
value: mode === 'date' ? 'default' : 'reverse',
onChange: toggleMode
}));
};
var _default = exports.default = DateTimePicker;