diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index d3f38f8f65f..688faf3c1e7 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -68,7 +68,7 @@ var TimelineRecordThread = form_common.AbstractField.extend ({ }, _check_visibility: function () { - this.$el.toggle(this.view.get("actual_mode") !== "create"); + this.do_toggle(this.view.get("actual_mode") !== "create"); }, render_value: function () { diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index fa2772f453f..55299c21687 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1111,7 +1111,6 @@ .openerp .oe_searchview { cursor: text; position: relative; - display: none; height: auto; padding-top: 1px; padding-bottom: 1px; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index f64c0985fea..0b2be908b4e 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -963,7 +963,6 @@ $sheet-padding: 16px .oe_searchview cursor: text position: relative - display: none height: auto padding-top: 1px padding-bottom: 1px diff --git a/addons/web/static/src/js/control_panel.js b/addons/web/static/src/js/control_panel.js index 3e074538fbf..b2d603b53bf 100644 --- a/addons/web/static/src/js/control_panel.js +++ b/addons/web/static/src/js/control_panel.js @@ -131,7 +131,7 @@ var ControlPanel = Widget.extend({ * @param {Boolean} [visible] true to show the control panel, false to hide it */ _toggle_visibility: function(visible) { - this.$el.toggle(visible); + this.do_toggle(visible); if (!visible && !this.$content) { this.$content = this.$el.contents().detach(); } else if (this.$content) { diff --git a/addons/web/static/src/js/framework/widget.js b/addons/web/static/src/js/framework/widget.js index 6dbb1294ee7..3a90e432000 100644 --- a/addons/web/static/src/js/framework/widget.js +++ b/addons/web/static/src/js/framework/widget.js @@ -346,17 +346,27 @@ var Widget = core.Class.extend(mixins.PropertiesMixin, { return this.$el; return this.$el.find(selector); }, + /** + * Displays the widget + */ do_show: function () { this.$el.removeClass('o_hidden'); }, + /** + * Hides the widget + */ do_hide: function () { this.$el.addClass('o_hidden'); }, - do_toggle: function () { - if (this.$el.hasClass('o_hidden')) { - this.do_show(); + /** + * Displays or hides the widget + * @param {Boolean} [display] use true to show the widget or false to hide it + */ + do_toggle: function (display) { + if (_.isBoolean(display)) { + display ? this.do_show() : this.do_hide(); } else { - this.do_hide(); + this.$el.hasClass('o_hidden') ? this.do_show() : this.do_hide(); } }, /** diff --git a/addons/web/static/src/js/views/form_view.js b/addons/web/static/src/js/views/form_view.js index 2ec8864cfd9..6ad21c1dcff 100644 --- a/addons/web/static/src/js/views/form_view.js +++ b/addons/web/static/src/js/views/form_view.js @@ -270,9 +270,8 @@ var FormView = View.extend(common.FieldManagerMixin, { * Show or hide the sidebar according to the actual_mode */ toggle_sidebar: function() { - var view_mode = this.get("actual_mode") === "view"; if (this.sidebar) { - this.sidebar.$el.toggle(view_mode); + this.sidebar.do_toggle(this.get("actual_mode") === "view"); } }, widgetFocused: function() { diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js index a46695e9e19..79e4a5f97bb 100644 --- a/addons/web/static/src/js/views/form_widgets.js +++ b/addons/web/static/src/js/views/form_widgets.js @@ -1069,7 +1069,7 @@ var FieldReference = common.AbstractField.extend(common.ReinitializeFieldMixin, } this.m2o.field.relation = this.get('value')[0]; this.m2o.set_value(this.get('value')[1]); - this.m2o.$el.toggle(!!this.get('value')[0]); + this.m2o.do_toggle(!!this.get('value')[0]); this.reference_ready = true; }, }); diff --git a/addons/web/static/src/js/views/search_view.js b/addons/web/static/src/js/views/search_view.js index 20541a6ab40..cd0735d24ed 100644 --- a/addons/web/static/src/js/views/search_view.js +++ b/addons/web/static/src/js/views/search_view.js @@ -510,7 +510,7 @@ var SearchView = Widget.extend(/** @lends instance.web.SearchView# */{ }; }, toggle_visibility: function (is_visible) { - this.$el.toggle(!this.headless && is_visible); + this.do_toggle(!this.headless && is_visible); if (this.$buttons) { this.$buttons.toggle(!this.headless && is_visible && this.visible_filters); }