UNPKG

tav-ui

Version:
1 lines 6.28 kB
{"version":3,"file":"button-modal2.mjs","sources":["../../../../../../../packages/components/button-modal/src/button-modal.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { computed, defineComponent, h, ref, unref } from 'vue'\nimport { ExclamationCircleOutlined } from '@ant-design/icons-vue'\nimport { Modal, Tooltip } from 'ant-design-vue'\nimport { useAttrs } from '@tav-ui/hooks/core/useAttrs'\nimport Button from '@tav-ui/components/button'\nimport Icon from '@tav-ui/components/icon'\nimport { isString } from '@tav-ui/utils/is'\nimport { tavI18n } from '@tav-ui/locales'\nimport { buttonModalProps } from './types'\nimport type { TooltipProps } from 'ant-design-vue'\ndeclare type Recordable<T = any> = Record<string, T>\n\nexport default defineComponent({\n name: 'TaButtonModal',\n components: { Button, Tooltip },\n inheritAttrs: false,\n props: buttonModalProps,\n setup(props) {\n const actionEl = ref(null)\n const attrs = useAttrs()\n\n // get inherit binding value\n const getBindValues: Recordable = computed(() => {\n return Object.assign(\n {\n okText: tavI18n('Tav.common.okText'),\n cancelText: tavI18n('Tav.common.cancelText'),\n },\n {\n ...props,\n ...unref(attrs),\n }\n )\n })\n\n function getTooltip(data: string | TooltipProps): TooltipProps {\n return {\n getPopupContainer: () => unref(actionEl) || document.body,\n placement: 'bottom',\n ...(isString(data) ? { title: data } : data),\n }\n }\n\n const handleButtonClick = () => {\n const _getBindValues = unref(getBindValues)\n\n if (_getBindValues.onClick) {\n _getBindValues.onClick()\n } else {\n const confirmProps = {\n class: 'modal-button-confirm',\n icon: h(ExclamationCircleOutlined),\n ..._getBindValues.popConfirm,\n }\n if (_getBindValues.icon) confirmProps.icon = h(Icon, { icon: unref(getBindValues).icon })\n\n if (_getBindValues.popConfirm && _getBindValues.popConfirm.confirm)\n confirmProps.onOk = _getBindValues.popConfirm.confirm\n\n if (_getBindValues.popConfirm && _getBindValues.popConfirm.cancel)\n confirmProps.onCancel = _getBindValues.popConfirm.cancel\n\n Modal.confirm(confirmProps)\n }\n }\n\n return {\n getBindValues,\n handleButtonClick,\n getTooltip,\n }\n },\n})\n</script>\n\n<template>\n <div>\n <div\n v-if=\"isInDropDown\"\n class=\"ta-button-modal dropdown-modal-button\"\n @click=\"handleButtonClick\"\n >\n <slot />\n </div>\n <template v-else>\n <template v-if=\"getBindValues.tooltip\">\n <Tooltip v-bind=\"getTooltip(getBindValues.tooltip)\">\n <Button\n v-bind=\"{ ...getBindValues, onClick: null }\"\n class=\"ta-button-modal\"\n @click=\"handleButtonClick\"\n >\n <slot />\n </Button>\n </Tooltip>\n </template>\n <template v-else>\n <Button\n v-bind=\"{ ...getBindValues, onClick: null }\"\n class=\"ta-button-modal\"\n @click=\"handleButtonClick\"\n >\n <slot />\n </Button>\n </template>\n </template>\n </div>\n</template>\n"],"names":["Button","Icon","_resolveComponent","_renderSlot","_createElementBlock","_Fragment","_openBlock","_createBlock","_normalizeProps","_mergeProps","_withCtx","_createVNode"],"mappings":"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"}