From e15b5e16f5a4f5d2191de31ca0a1813fc5bb0eac Mon Sep 17 00:00:00 2001 From: Romeo Fragomeli Date: Tue, 14 Jul 2020 13:57:21 +0000 Subject: [PATCH] [IMP] web: allow to override statusbar's buttons renderer Related PR odoo/enterprise#10602 Task ID: 2225270 --- .../static/src/js/views/form/form_renderer.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/views/form/form_renderer.js b/addons/web/static/src/js/views/form/form_renderer.js index d35012bfc39..393db5f4d6f 100644 --- a/addons/web/static/src/js/views/form/form_renderer.js +++ b/addons/web/static/src/js/views/form/form_renderer.js @@ -546,16 +546,16 @@ var FormRenderer = BasicRenderer.extend(WidgetAdapterMixin, { */ _renderHeaderButtons: function (node) { var self = this; - var $buttons = $('
', {class: 'o_statusbar_buttons'}); + var buttons = []; _.each(node.children, function (child) { if (child.tag === 'button') { - $buttons.append(self._renderHeaderButton(child)); + buttons.push(self._renderHeaderButton(child)); } if (child.tag === 'widget') { - $buttons.append(self._renderTagWidget(child)); + buttons.push(self._renderTagWidget(child)); } }); - return $buttons; + return this._renderStatusbarButtons(buttons); }, /** * @private @@ -743,6 +743,16 @@ var FormRenderer = BasicRenderer.extend(WidgetAdapterMixin, { this._registerModifiers(node, this.state, $button); return $button; }, + /** + * @private + * @param {Array} buttons + * @return {jQueryElement} + */ + _renderStatusbarButtons: function (buttons) { + var $statusbarButtons = $('
', {class: 'o_statusbar_buttons'}); + buttons.forEach(button => $statusbarButtons.append(button)); + return $statusbarButtons; + }, /** * @private * @param {Object} page