diff --git a/packages/editor-ui/src/components/mixins/genericHelpers.ts b/packages/editor-ui/src/components/mixins/genericHelpers.ts index 7c6d8f86fc..54d24edab0 100644 --- a/packages/editor-ui/src/components/mixins/genericHelpers.ts +++ b/packages/editor-ui/src/components/mixins/genericHelpers.ts @@ -98,9 +98,6 @@ export const genericHelpers = mixins(showMessage).extend({ cancelButtonText, type, dangerouslyUseHTMLString: true, - roundButton: true, - confirmButtonClass: 'force-medium', - cancelButtonClass: 'force-medium force-outline', }); return true; } catch (e) { diff --git a/packages/editor-ui/src/plugins/compontents.ts b/packages/editor-ui/src/plugins/compontents.ts index e9d6ee6db1..e7fb54b3ae 100644 --- a/packages/editor-ui/src/plugins/compontents.ts +++ b/packages/editor-ui/src/plugins/compontents.ts @@ -88,6 +88,7 @@ import { N8nIconButton, N8nButton, } from 'n8n-design-system'; +import { ElMessageBoxOptions } from "element-ui/types/message-box"; Vue.use(Fragment.Plugin); @@ -176,8 +177,51 @@ Vue.use(Loading.directive); Vue.prototype.$loading = Loading.service; Vue.prototype.$msgbox = MessageBox; -Vue.prototype.$alert = MessageBox.alert; -Vue.prototype.$confirm = MessageBox.confirm; -Vue.prototype.$prompt = MessageBox.prompt; + +Vue.prototype.$alert = async (message: string, configOrTitle: string | ElMessageBoxOptions | undefined, config: ElMessageBoxOptions | undefined) => { + let temp = config || (typeof configOrTitle === 'object' ? configOrTitle : {}); + temp = { + ...temp, + roundButton: true, + cancelButtonClass: 'btn--cancel', + confirmButtonClass: 'btn--confirm', + }; + + if (typeof configOrTitle === 'string') { + return await MessageBox.alert(message, configOrTitle, temp); + } + return await MessageBox.alert(message, temp); +}; + +Vue.prototype.$confirm = async (message: string, configOrTitle: string | ElMessageBoxOptions | undefined, config: ElMessageBoxOptions | undefined) => { + let temp = config || (typeof configOrTitle === 'object' ? configOrTitle : {}); + temp = { + ...temp, + roundButton: true, + cancelButtonClass: 'btn--cancel', + confirmButtonClass: 'btn--confirm', + }; + + if (typeof configOrTitle === 'string') { + return await MessageBox.confirm(message, configOrTitle, temp); + } + return await MessageBox.confirm(message, temp); +}; + +Vue.prototype.$prompt = async (message: string, configOrTitle: string | ElMessageBoxOptions | undefined, config: ElMessageBoxOptions | undefined) => { + let temp = config || (typeof configOrTitle === 'object' ? configOrTitle : {}); + temp = { + ...temp, + roundButton: true, + cancelButtonClass: 'btn--cancel', + confirmButtonClass: 'btn--confirm', + }; + + if (typeof configOrTitle === 'string') { + return await MessageBox.prompt(message, configOrTitle, temp); + } + return await MessageBox.prompt(message, temp); +}; + Vue.prototype.$notify = Notification; Vue.prototype.$message = Message; \ No newline at end of file