diff --git a/app/assets/javascripts/discourse/app/widgets/widget.js b/app/assets/javascripts/discourse/app/widgets/widget.js index 99220973c8e..378035ab7be 100644 --- a/app/assets/javascripts/discourse/app/widgets/widget.js +++ b/app/assets/javascripts/discourse/app/widgets/widget.js @@ -327,14 +327,21 @@ export default class Widget { }); } + callWidgetFunction(name, param) { + const widget = this._findAncestorWithProperty(name); + if (widget) { + return widget[name].call(widget, param); + } + } + sendWidgetAction(name, param) { return this.rerenderResult(() => { - const widget = this._findAncestorWithProperty(name); - if (widget) { - return widget[name].call(widget, param); - } + const widgetFunction = this.callWidgetFunction(name, param); - return this._sendComponentAction(name, param || this.findAncestorModel()); + return ( + widgetFunction || + this._sendComponentAction(name, param || this.findAncestorModel()) + ); }); }