From 4a0e1b9e020386da3f7ac7b0fe2d606f96fce056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Tue, 16 May 2023 09:00:22 +0000 Subject: [PATCH] fix(editor): Fix close and cancel operations on useMessage (no-changelog) (#6260) --- .../editor-ui/src/composables/useMessage.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/editor-ui/src/composables/useMessage.ts b/packages/editor-ui/src/composables/useMessage.ts index 651df1f84..97ffd74ed 100644 --- a/packages/editor-ui/src/composables/useMessage.ts +++ b/packages/editor-ui/src/composables/useMessage.ts @@ -2,6 +2,11 @@ import type { ElMessageBoxOptions } from 'element-ui/types/message-box'; import { Message, MessageBox } from 'element-ui'; export function useMessage() { + const handleCancelOrClose = (e: unknown) => { + if (e instanceof Error) throw e; + else return e; + }; + async function alert( message: string, configOrTitle?: string | ElMessageBoxOptions, @@ -14,9 +19,9 @@ export function useMessage() { }; if (typeof configOrTitle === 'string') { - return MessageBox.alert(message, configOrTitle, resolvedConfig); + return MessageBox.alert(message, configOrTitle, resolvedConfig).catch(handleCancelOrClose); } - return MessageBox.alert(message, resolvedConfig); + return MessageBox.alert(message, resolvedConfig).catch(handleCancelOrClose); } async function confirm( @@ -34,9 +39,9 @@ export function useMessage() { }; if (typeof configOrTitle === 'string') { - return MessageBox.confirm(message, configOrTitle, resolvedConfig); + return MessageBox.confirm(message, configOrTitle, resolvedConfig).catch(handleCancelOrClose); } - return MessageBox.confirm(message, resolvedConfig); + return MessageBox.confirm(message, resolvedConfig).catch(handleCancelOrClose); } async function prompt( @@ -51,9 +56,9 @@ export function useMessage() { }; if (typeof configOrTitle === 'string') { - return MessageBox.prompt(message, configOrTitle, resolvedConfig); + return MessageBox.prompt(message, configOrTitle, resolvedConfig).catch(handleCancelOrClose); } - return MessageBox.prompt(message, resolvedConfig); + return MessageBox.prompt(message, resolvedConfig).catch(handleCancelOrClose); } return {