summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/framework/widget.js
diff options
context:
space:
mode:
authorAaron Bohy <aab@odoo.com>2015-07-29 09:11:53 +0200
committerAaron Bohy <aab@odoo.com>2015-07-29 14:36:03 +0200
commitaa887ed02ce864cd1036f39f7bc6b984b60578d0 (patch)
treed73520f191fdd3e773a9164717732c9a44e887f9 /addons/web/static/src/js/framework/widget.js
parent51952f30332448b98fd120e9dce13b068507d1c3 (diff)
[FIX] web,mail: widgets: replace $el.toggle() by do_toggle()
Since rev. 16eb36ff, do_show() and do_hide() on widgets toggle the classname o_hidden on which the rule 'display: none' is defined, instead of calling jQuery's show() and hide(). The method do_toggle(), sharing the same logic, has been introduced in rev. 74c5f772. From now on, every widgets should call do_toggle() instead of $el.toggle() as it will have undesiderable effects (they should call do_show() and do_hide() instead of $el.show() and $el.hide() as well, this as been done in 16eb36ff). This rev. replaces all calls to $el.toggle() by do_toggle(). It also adds an optional argument to do_toggle() to force hidding or showing the widget.
Diffstat (limited to 'addons/web/static/src/js/framework/widget.js')
-rw-r--r--addons/web/static/src/js/framework/widget.js18
1 files changed, 14 insertions, 4 deletions
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();
}
},
/**