diff --git a/app/assets/javascripts/discourse/app/components/bookmark.js b/app/assets/javascripts/discourse/app/components/bookmark.js index 7f7f53ef718..9008d4edcff 100644 --- a/app/assets/javascripts/discourse/app/components/bookmark.js +++ b/app/assets/javascripts/discourse/app/components/bookmark.js @@ -239,12 +239,14 @@ export default Component.extend({ } }, - _onModalClose(initiatedByCloseButton) { + _onModalClose(closeOpts) { // we want to close without saving if the user already saved // manually or deleted the bookmark, as well as when the modal // is just closed with the X button this._closeWithoutSaving = - this._closeWithoutSaving || initiatedByCloseButton; + this._closeWithoutSaving || + closeOpts.initiatedByCloseButton || + closeOpts.initiatedByESC; if (!this._closeWithoutSaving && !this._savingBookmarkManually) { this._saveBookmark().catch((e) => this._handleSaveError(e)); diff --git a/app/assets/javascripts/discourse/app/controllers/bookmark.js b/app/assets/javascripts/discourse/app/controllers/bookmark.js index 4b0136a31b7..6fce0c15ea5 100644 --- a/app/assets/javascripts/discourse/app/controllers/bookmark.js +++ b/app/assets/javascripts/discourse/app/controllers/bookmark.js @@ -77,7 +77,7 @@ export default Controller.extend(ModalFunctionality, { */ onClose(opts = {}) { if (this.onCloseHandler) { - this.onCloseHandler(opts.initiatedByCloseButton); + this.onCloseHandler(opts); } }, }); diff --git a/app/assets/javascripts/discourse/app/routes/application.js b/app/assets/javascripts/discourse/app/routes/application.js index c7f5511fc10..b957f9be4de 100644 --- a/app/assets/javascripts/discourse/app/routes/application.js +++ b/app/assets/javascripts/discourse/app/routes/application.js @@ -174,13 +174,14 @@ const ApplicationRoute = DiscourseRoute.extend(OpenComposer, { if (controller) { this.appEvents.trigger("modal:closed", { name: controllerName, - controller: controller, + controller, }); if (controller.onClose) { controller.onClose({ initiatedByCloseButton: initiatedBy === "initiatedByCloseButton", initiatedByClickOut: initiatedBy === "initiatedByClickOut", + initiatedByESC: initiatedBy === "initiatedByESC", }); } } @@ -283,7 +284,7 @@ const ApplicationRoute = DiscourseRoute.extend(OpenComposer, { if (!this.siteSettings.enable_local_logins && methods.length === 1) { this.controllerFor("login").send("externalLogin", methods[0], { - signup: signup, + signup, }); } else { showModal(modal, { titleAriaElementId });