diff --git a/addons/web/static/src/core/confirmation_dialog/confirmation_dialog.js b/addons/web/static/src/core/confirmation_dialog/confirmation_dialog.js index cb9991e4909..1c5e93ee7f1 100644 --- a/addons/web/static/src/core/confirmation_dialog/confirmation_dialog.js +++ b/addons/web/static/src/core/confirmation_dialog/confirmation_dialog.js @@ -8,17 +8,17 @@ import { Component } from "@odoo/owl"; export class ConfirmationDialog extends Component { setup() { - this.env.dialogData.close = () => this._cancel(); + this.env.dialogData.dismiss = () => this._cancel(); this.modalRef = useChildRef(); this.isProcess = false; } async _cancel() { - this.execButton(this.props.cancel); + return this.execButton(this.props.cancel); } async _confirm() { - this.execButton(this.props.confirm); + return this.execButton(this.props.confirm); } setButtonsDisabled(disabled) { diff --git a/addons/web/static/src/core/dialog/dialog.js b/addons/web/static/src/core/dialog/dialog.js index 310f72ca9f6..00cb2cc8f79 100644 --- a/addons/web/static/src/core/dialog/dialog.js +++ b/addons/web/static/src/core/dialog/dialog.js @@ -90,7 +90,14 @@ export class Dialog extends Component { } onEscape() { - this.data.close(); + return this.dismiss(); + } + + async dismiss() { + if (this.data.dismiss) { + await this.data.dismiss(); + } + return this.data.close(); } } Dialog.template = "web.Dialog"; diff --git a/addons/web/static/src/core/dialog/dialog.xml b/addons/web/static/src/core/dialog/dialog.xml index 75e0e16734e..78a1f34836b 100644 --- a/addons/web/static/src/core/dialog/dialog.xml +++ b/addons/web/static/src/core/dialog/dialog.xml @@ -13,7 +13,6 @@