tav-ui
Version:
107 lines (102 loc) • 4.24 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var iconsVue = require('@ant-design/icons-vue');
var antDesignVue = require('ant-design-vue');
var useAttrs = require('../../../hooks/core/useAttrs2.js');
var index = require('../../button/index2.js');
var index$1 = require('../../icon/index2.js');
var is = require('../../../utils/is2.js');
require('../../../locales/index2.js');
var types = require('./types2.js');
var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
var transfer = require('../../../locales/transfer2.js');
const _sfc_main = vue.defineComponent({
name: "TaButtonModal",
components: { Button: index.TaButton, Tooltip: antDesignVue.Tooltip },
inheritAttrs: false,
props: types.buttonModalProps,
setup(props) {
const actionEl = vue.ref(null);
const attrs = useAttrs.useAttrs();
const getBindValues = vue.computed(() => {
return Object.assign({
okText: transfer.tavI18n("Tav.common.okText"),
cancelText: transfer.tavI18n("Tav.common.cancelText")
}, {
...props,
...vue.unref(attrs)
});
});
function getTooltip(data) {
return {
getPopupContainer: () => vue.unref(actionEl) || document.body,
placement: "bottom",
...is.isString(data) ? { title: data } : data
};
}
const handleButtonClick = () => {
const _getBindValues = vue.unref(getBindValues);
if (_getBindValues.onClick) {
_getBindValues.onClick();
} else {
const confirmProps = {
class: "modal-button-confirm",
icon: vue.h(iconsVue.ExclamationCircleOutlined),
..._getBindValues.popConfirm
};
if (_getBindValues.icon)
confirmProps.icon = vue.h(index$1.TaIcon, { icon: vue.unref(getBindValues).icon });
if (_getBindValues.popConfirm && _getBindValues.popConfirm.confirm)
confirmProps.onOk = _getBindValues.popConfirm.confirm;
if (_getBindValues.popConfirm && _getBindValues.popConfirm.cancel)
confirmProps.onCancel = _getBindValues.popConfirm.cancel;
antDesignVue.Modal.confirm(confirmProps);
}
};
return {
getBindValues,
handleButtonClick,
getTooltip
};
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_Button = vue.resolveComponent("Button");
const _component_Tooltip = vue.resolveComponent("Tooltip");
return vue.openBlock(), vue.createElementBlock("div", null, [
_ctx.isInDropDown ? (vue.openBlock(), vue.createElementBlock("div", {
key: 0,
class: "ta-button-modal dropdown-modal-button",
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleButtonClick && _ctx.handleButtonClick(...args))
}, [
vue.renderSlot(_ctx.$slots, "default")
])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
_ctx.getBindValues.tooltip ? (vue.openBlock(), vue.createBlock(_component_Tooltip, vue.normalizeProps(vue.mergeProps({ key: 0 }, _ctx.getTooltip(_ctx.getBindValues.tooltip))), {
default: vue.withCtx(() => [
vue.createVNode(_component_Button, vue.mergeProps({ ..._ctx.getBindValues, onClick: null }, {
class: "ta-button-modal",
onClick: _ctx.handleButtonClick
}), {
default: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "default")
]),
_: 3
}, 16, ["onClick"])
]),
_: 3
}, 16)) : (vue.openBlock(), vue.createBlock(_component_Button, vue.mergeProps({ key: 1 }, { ..._ctx.getBindValues, onClick: null }, {
class: "ta-button-modal",
onClick: _ctx.handleButtonClick
}), {
default: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "default")
]),
_: 3
}, 16, ["onClick"]))
], 2112))
]);
}
var ButtonModal = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/tav-ui/tav-ui/packages/components/button-modal/src/button-modal.vue"]]);
exports["default"] = ButtonModal;
//# sourceMappingURL=button-modal2.js.map