linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
59 lines (58 loc) β’ 2.2 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
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 React = _interopRequireWildcard(require("react"));
var _configProvider = require("../../config-provider");
var _LocaleReceiver = _interopRequireDefault(require("../../locale-provider/LocaleReceiver"));
var _default2 = _interopRequireDefault(require("../../locale/default"));
var _ConfirmDialog = _interopRequireDefault(require("../ConfirmDialog"));
const HookModal = ({
afterClose,
config
}, ref) => {
const [open, setOpen] = React.useState(true);
const [innerConfig, setInnerConfig] = React.useState(config);
const {
direction,
getPrefixCls
} = React.useContext(_configProvider.ConfigContext);
const prefixCls = getPrefixCls('modal');
const rootPrefixCls = getPrefixCls();
const close = (...args) => {
setOpen(false);
const triggerCancel = args.some(param => param && param.triggerCancel);
if (innerConfig.onCancel && triggerCancel) {
innerConfig.onCancel(() => {}, ...args.slice(1));
}
};
React.useImperativeHandle(ref, () => ({
destroy: close,
update: newConfig => {
setInnerConfig(originConfig => ({
...originConfig,
...newConfig
}));
}
}));
return /*#__PURE__*/React.createElement(_LocaleReceiver.default, {
componentName: "Modal",
defaultLocale: _default2.default.Modal
}, contextLocale => /*#__PURE__*/React.createElement(_ConfirmDialog.default, (0, _extends2.default)({
prefixCls: prefixCls,
rootPrefixCls: rootPrefixCls
}, innerConfig, {
close: close,
open: open,
afterClose: afterClose,
okText: innerConfig.okText || (innerConfig.okCancel ? contextLocale.okText : contextLocale.justOkText),
direction: direction,
cancelText: innerConfig.cancelText || contextLocale.cancelText
})));
};
var _default = /*#__PURE__*/React.forwardRef(HookModal);
exports.default = _default;