diff --git a/app/assets/javascripts/discourse/app/components/modal-tab.js b/app/assets/javascripts/discourse/app/components/modal-tab.js index 3211fbbdd2..a798e22d6d 100644 --- a/app/assets/javascripts/discourse/app/components/modal-tab.js +++ b/app/assets/javascripts/discourse/app/components/modal-tab.js @@ -20,6 +20,10 @@ export default Component.extend({ }, click() { - this.onSelectPanel(this.panel); + this.set("selectedPanel", this.panel); + + if (this.onSelectPanel) { + this.onSelectPanel(this.panel); + } } }); diff --git a/app/assets/javascripts/discourse/app/lib/show-modal.js b/app/assets/javascripts/discourse/app/lib/show-modal.js index 37c6b8efe3..6a6fb17a71 100644 --- a/app/assets/javascripts/discourse/app/lib/show-modal.js +++ b/app/assets/javascripts/discourse/app/lib/show-modal.js @@ -50,7 +50,10 @@ export default function(name, opts) { }); if (controller.actions.onSelectPanel) { - modalController.set("onSelectPanel", controller.actions.onSelectPanel); + modalController.set( + "onSelectPanel", + controller.actions.onSelectPanel.bind(controller) + ); } modalController.set( diff --git a/app/assets/javascripts/discourse/app/mixins/modal-functionality.js b/app/assets/javascripts/discourse/app/mixins/modal-functionality.js index 70b5bd010c..ac40b161b5 100644 --- a/app/assets/javascripts/discourse/app/mixins/modal-functionality.js +++ b/app/assets/javascripts/discourse/app/mixins/modal-functionality.js @@ -18,10 +18,6 @@ export default Mixin.create({ closeModal() { this.modal.send("closeModal"); this.set("panels", []); - }, - - onSelectPanel(panel) { - this.set("selectedPanel", panel); } } });