index.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = DateTimePanel;
  8. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  9. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  10. var React = _interopRequireWildcard(require("react"));
  11. var _useTimeInfo3 = _interopRequireDefault(require("../../hooks/useTimeInfo"));
  12. var _dateUtil = require("../../utils/dateUtil");
  13. var _DatePanel = _interopRequireDefault(require("../DatePanel"));
  14. var _TimePanel = _interopRequireDefault(require("../TimePanel"));
  15. function DateTimePanel(props) {
  16. var prefixCls = props.prefixCls,
  17. generateConfig = props.generateConfig,
  18. showTime = props.showTime,
  19. onSelect = props.onSelect,
  20. value = props.value,
  21. pickerValue = props.pickerValue,
  22. onHover = props.onHover;
  23. var panelPrefixCls = "".concat(prefixCls, "-datetime-panel");
  24. // =============================== Time ===============================
  25. var _useTimeInfo = (0, _useTimeInfo3.default)(generateConfig, showTime),
  26. _useTimeInfo2 = (0, _slicedToArray2.default)(_useTimeInfo, 1),
  27. getValidTime = _useTimeInfo2[0];
  28. // Merge the time info from `value` or `pickerValue`
  29. var mergeTime = function mergeTime(date) {
  30. if (value) {
  31. return (0, _dateUtil.fillTime)(generateConfig, date, value);
  32. }
  33. return (0, _dateUtil.fillTime)(generateConfig, date, pickerValue);
  34. };
  35. // ============================== Hover ===============================
  36. var onDateHover = function onDateHover(date) {
  37. onHover === null || onHover === void 0 || onHover(date ? mergeTime(date) : date);
  38. };
  39. // ============================== Select ==============================
  40. var onDateSelect = function onDateSelect(date) {
  41. // Merge with current time
  42. var cloneDate = mergeTime(date);
  43. onSelect(getValidTime(cloneDate, cloneDate));
  44. };
  45. // ============================== Render ==============================
  46. return /*#__PURE__*/React.createElement("div", {
  47. className: panelPrefixCls
  48. }, /*#__PURE__*/React.createElement(_DatePanel.default, (0, _extends2.default)({}, props, {
  49. onSelect: onDateSelect,
  50. onHover: onDateHover
  51. })), /*#__PURE__*/React.createElement(_TimePanel.default, props));
  52. }