From 8f9362809e91ff7c2876ab464017abb13a4e0974 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Tue, 25 Apr 2017 13:52:21 +0200 Subject: [PATCH] [FIX] web: FormView: notebook: activate first visible tab In a notebook, tabs may have an invisible attrs. The first visible tab should be active in any case. This wasn't working at the first rendering of the view, because the invisible attrs was evaluated for each tab, before processing the next ones, so the it couldn't find a next tab to activate. This fix ensures to process all tabs (i.e. generate their DOM element) before evaluating their invisible attrs, and trying to find which tab to activate. --- .../static/src/js/views/form/form_renderer.js | 26 +++++++++++----- addons/web/static/tests/views/form_tests.js | 31 +++++++++++++++++++ 2 files changed, 49 insertions(+), 8 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 6955ca47c5c..82d2453c24e 100644 --- a/addons/web/static/src/js/views/form/form_renderer.js +++ b/addons/web/static/src/js/views/form/form_renderer.js @@ -335,8 +335,6 @@ var FormRenderer = BasicRenderer.extend({ }); this._registerModifiers(node, this.state, $label, { callback: function (element, modifiers, record) { - var recordWidgets = self.allFieldWidgets[record.id]; - var widget = _.findWhere(recordWidgets, {name: fieldName}); element.$el.toggleClass('o_form_label_empty', !!( record.data.id && (modifiers.readonly || self.mode === 'readonly') @@ -623,7 +621,11 @@ var FormRenderer = BasicRenderer.extend({ var self = this; var $headers = $('