HookModal.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _context = require("../../config-provider/context");
  10. var _LocaleReceiver = require("../../locale-provider/LocaleReceiver");
  11. var _en_US = _interopRequireDefault(require("../../locale/en_US"));
  12. var _ConfirmDialog = _interopRequireDefault(require("../ConfirmDialog"));
  13. var _initDefaultProps = _interopRequireDefault(require("../../_util/props-util/initDefaultProps"));
  14. const comfirmFuncProps = () => ({
  15. config: Object,
  16. afterClose: Function,
  17. destroyAction: Function,
  18. open: Boolean
  19. });
  20. var _default = exports.default = (0, _vue.defineComponent)({
  21. name: 'HookModal',
  22. inheritAttrs: false,
  23. props: (0, _initDefaultProps.default)(comfirmFuncProps(), {
  24. config: {
  25. width: 520,
  26. okType: 'primary'
  27. }
  28. }),
  29. setup(props, _ref) {
  30. let {
  31. expose
  32. } = _ref;
  33. var _a;
  34. const open = (0, _vue.computed)(() => props.open);
  35. const innerConfig = (0, _vue.computed)(() => props.config);
  36. const {
  37. direction,
  38. getPrefixCls
  39. } = (0, _context.useConfigContextInject)();
  40. const prefixCls = getPrefixCls('modal');
  41. const rootPrefixCls = getPrefixCls();
  42. const afterClose = () => {
  43. var _a, _b;
  44. props === null || props === void 0 ? void 0 : props.afterClose();
  45. (_b = (_a = innerConfig.value).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);
  46. };
  47. const close = function () {
  48. props.destroyAction(...arguments);
  49. };
  50. expose({
  51. destroy: close
  52. });
  53. const mergedOkCancel = (_a = innerConfig.value.okCancel) !== null && _a !== void 0 ? _a : innerConfig.value.type === 'confirm';
  54. const [contextLocale] = (0, _LocaleReceiver.useLocaleReceiver)('Modal', _en_US.default.Modal);
  55. return () => (0, _vue.createVNode)(_ConfirmDialog.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({
  56. "prefixCls": prefixCls,
  57. "rootPrefixCls": rootPrefixCls
  58. }, innerConfig.value), {}, {
  59. "close": close,
  60. "open": open.value,
  61. "afterClose": afterClose,
  62. "okText": innerConfig.value.okText || (mergedOkCancel ? contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.value.okText : contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.value.justOkText),
  63. "direction": innerConfig.value.direction || direction.value,
  64. "cancelText": innerConfig.value.cancelText || (contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.value.cancelText)
  65. }), null);
  66. }
  67. });