12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
- import * as React from 'react';
- import PickerPanel from "../../PickerPanel";
- import { PickerHackContext } from "../../PickerPanel/context";
- import PickerContext from "../context";
- import { offsetPanelDate } from "../hooks/useRangePickerValue";
- export default function PopupPanel(props) {
- var picker = props.picker,
- multiplePanel = props.multiplePanel,
- pickerValue = props.pickerValue,
- onPickerValueChange = props.onPickerValueChange,
- needConfirm = props.needConfirm,
- onSubmit = props.onSubmit,
- range = props.range,
- hoverValue = props.hoverValue;
- var _React$useContext = React.useContext(PickerContext),
- prefixCls = _React$useContext.prefixCls,
- generateConfig = _React$useContext.generateConfig;
- // ======================== Offset ========================
- var internalOffsetDate = React.useCallback(function (date, offset) {
- return offsetPanelDate(generateConfig, picker, date, offset);
- }, [generateConfig, picker]);
- var nextPickerValue = React.useMemo(function () {
- return internalOffsetDate(pickerValue, 1);
- }, [pickerValue, internalOffsetDate]);
- // Outside
- var onSecondPickerValueChange = function onSecondPickerValueChange(nextDate) {
- onPickerValueChange(internalOffsetDate(nextDate, -1));
- };
- // ======================= Context ========================
- var sharedContext = {
- onCellDblClick: function onCellDblClick() {
- if (needConfirm) {
- onSubmit();
- }
- }
- };
- var hideHeader = picker === 'time';
- // ======================== Props =========================
- var pickerProps = _objectSpread(_objectSpread({}, props), {}, {
- hoverValue: null,
- hoverRangeValue: null,
- hideHeader: hideHeader
- });
- if (range) {
- pickerProps.hoverRangeValue = hoverValue;
- } else {
- pickerProps.hoverValue = hoverValue;
- }
- // ======================== Render ========================
- // Multiple
- if (multiplePanel) {
- return /*#__PURE__*/React.createElement("div", {
- className: "".concat(prefixCls, "-panels")
- }, /*#__PURE__*/React.createElement(PickerHackContext.Provider, {
- value: _objectSpread(_objectSpread({}, sharedContext), {}, {
- hideNext: true
- })
- }, /*#__PURE__*/React.createElement(PickerPanel, pickerProps)), /*#__PURE__*/React.createElement(PickerHackContext.Provider, {
- value: _objectSpread(_objectSpread({}, sharedContext), {}, {
- hidePrev: true
- })
- }, /*#__PURE__*/React.createElement(PickerPanel, _extends({}, pickerProps, {
- pickerValue: nextPickerValue,
- onPickerValueChange: onSecondPickerValueChange
- }))));
- }
- // Single
- return /*#__PURE__*/React.createElement(PickerHackContext.Provider, {
- value: _objectSpread({}, sharedContext)
- }, /*#__PURE__*/React.createElement(PickerPanel, pickerProps));
- }
|