diff --git a/app/assets/javascripts/discourse/views/post-menu.js.es6 b/app/assets/javascripts/discourse/views/post-menu.js.es6 index 29c0ee3f61e..2276e95b748 100644 --- a/app/assets/javascripts/discourse/views/post-menu.js.es6 +++ b/app/assets/javascripts/discourse/views/post-menu.js.es6 @@ -44,7 +44,7 @@ Button.prototype.render = function(buffer) { var hiddenButtons; -export default Discourse.View.extend(StringBuffer, { +var PostMenuView = Discourse.View.extend(StringBuffer, { tagName: 'section', classNames: ['post-menu-area', 'clearfix'], @@ -141,6 +141,13 @@ export default Discourse.View.extend(StringBuffer, { visibleButtons.splice(visibleButtons.length - 1, 0, this.buttonForShowMoreActions(post)); } + var callbacks = PostMenuView._registerButtonCallbacks; + if (callbacks) { + _.each(callbacks, function(callback) { + callback.apply(self, [visibleButtons]); + }); + } + buffer.push('
'); visibleButtons.forEach(function (b) { b.render(buffer); @@ -374,3 +381,12 @@ export default Discourse.View.extend(StringBuffer, { } }); + +PostMenuView.reopenClass({ + registerButton: function(callback){ + this._registerButtonCallbacks = this._registerButtonCallbacks || []; + this._registerButtonCallbacks.push(callback); + } +}); + +export default PostMenuView;