UNPKG

tav-ui

Version:
1 lines 5.83 kB
{"version":3,"file":"useMessage2.mjs","sources":["../../../../../../packages/hooks/web/useMessage.ts"],"sourcesContent":["import { h } from 'vue'\nimport { CheckCircleFilled, CloseCircleFilled, InfoCircleFilled } from '@ant-design/icons-vue'\nimport { message as Message, Modal, notification } from 'ant-design-vue'\nimport { isString } from '@tav-ui/utils/is'\nimport type { ModalFunc, ModalFuncProps } from 'ant-design-vue/lib/modal/Modal'\nimport type { ConfigProps, NotificationArgsProps } from 'ant-design-vue/lib/notification'\n\nexport interface NotifyApi {\n info(config: NotificationArgsProps): void\n success(config: NotificationArgsProps): void\n error(config: NotificationArgsProps): void\n warn(config: NotificationArgsProps): void\n warning(config: NotificationArgsProps): void\n open(args: NotificationArgsProps): void\n close(key: string): void\n config(options: ConfigProps): void\n destroy(): void\n}\n\nexport declare type NotificationPlacement = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight'\nexport declare type IconType = 'success' | 'info' | 'error' | 'warning'\nexport interface ModalOptionsEx extends Omit<ModalFuncProps, 'iconType'> {\n iconType: 'warning' | 'success' | 'error' | 'info'\n}\nexport type ModalOptionsPartial = Partial<ModalOptionsEx> & Pick<ModalOptionsEx, 'content'>\n\ninterface ConfirmOptions {\n info: ModalFunc\n success: ModalFunc\n error: ModalFunc\n warn: ModalFunc\n warning: ModalFunc\n}\n\nfunction getIcon(iconType: string) {\n if (iconType === 'warning') return h(InfoCircleFilled, { class: ['modal-icon-warning'] })\n else if (iconType === 'success') return h(CheckCircleFilled, { class: ['modal-icon-success'] })\n else if (iconType === 'info') return h(InfoCircleFilled, { class: ['modal-icon-info'] })\n else return h(CloseCircleFilled, { class: ['modal-icon-error'] })\n}\n\nfunction renderContent({ content }: Pick<ModalOptionsEx, 'content'>): any {\n if (isString(content)) return h('div', {}, `${content as string}`)\n else return content\n}\n\n/**\n * @description: Create confirmation box\n */\nfunction createConfirm(options: ModalOptionsEx): ConfirmOptions {\n const iconType = options.iconType || 'warning'\n Reflect.deleteProperty(options, 'iconType')\n const opt: ModalFuncProps = {\n centered: true,\n icon: getIcon(iconType),\n ...options,\n content: renderContent(options),\n }\n return Modal.confirm(opt) as unknown as ConfirmOptions\n}\n\nconst getBaseOptions = () => {\n return {\n okText: '确定',\n centered: true,\n }\n}\n\nfunction createModalOptions(options: ModalOptionsPartial, icon: string): ModalOptionsPartial {\n return {\n ...getBaseOptions(),\n ...options,\n content: renderContent(options),\n icon: getIcon(icon),\n }\n}\n\nfunction createSuccessModal(options: ModalOptionsPartial) {\n return Modal.success(createModalOptions(options, 'success'))\n}\n\nfunction createErrorModal(options: ModalOptionsPartial) {\n return Modal.error(createModalOptions(options, 'close'))\n}\n\nfunction createInfoModal(options: ModalOptionsPartial) {\n return Modal.info(createModalOptions(options, 'info'))\n}\n\nfunction createWarningModal(options: ModalOptionsPartial) {\n return Modal.warning(createModalOptions(options, 'warning'))\n}\n\nnotification.config({\n placement: 'topRight',\n duration: 3,\n})\n\n/**\n * @description: message\n */\nexport function useMessage() {\n return {\n createMessage: Message,\n notification: notification as NotifyApi,\n createConfirm,\n createSuccessModal,\n createErrorModal,\n createInfoModal,\n createWarningModal,\n }\n}\n"],"names":["Message"],"mappings":"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"}