summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2012-03-19 18:03:36 +0100
committerFabien Meghazi <fme@openerp.com>2012-03-19 18:03:36 +0100
commit5e1c895fae8d37d7026cada95eb93bf25979163e (patch)
treea616b3180e111951ebfe860414d71154c68c17dc /addons/web/static/src
parent56516cc3bcc938b5dfda52d4696b7b1d1e0a4409 (diff)
[FIX] update_dom not called anymore on form changed
bzr revid: fme@openerp.com-20120319170336-2g7coyj92putcvuk
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/view_form.js16
1 files changed, 8 insertions, 8 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 1d551955917..dd5238fc0a1 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -34,8 +34,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
this.model = dataset.model;
this.view_id = view_id || false;
this.fields_view = {};
- this.widgets = {};
- this.widgets_counter = 0;
this.fields = {};
this.fields_order = [];
this.datarecord = {};
@@ -80,7 +78,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
this.sidebar.attachments.destroy();
this.sidebar.destroy();
}
- _.each(this.widgets, function(w) {
+ _.each(this.get_widgets(), function(w) {
w.destroy();
});
this._super();
@@ -217,14 +215,13 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
});
},
on_form_changed: function() {
- for (var w in this.widgets) {
- w = this.widgets[w];
+ _.each(this.get_widgets(), function(w) {
w.process_modifiers();
if (w.field) {
w.validate();
}
w.update_dom();
- }
+ });
},
do_notify_change: function() {
this.$element.addClass('oe_form_dirty');
@@ -603,6 +600,11 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
}
});
},
+ get_widgets: function() {
+ return _.filter(this.getChildren(), function(obj) {
+ return obj instanceof openerp.web.form.Widget;
+ });
+ },
get_fields_values: function(blacklist) {
blacklist = blacklist || [];
var values = {};
@@ -3203,9 +3205,7 @@ openerp.web.form.FieldReference = openerp.web.form.AbstractField.extend(_.extend
this.get_selected_ids = view.get_selected_ids;
this.do_onchange = this.on_form_changed = this.do_notify_change = this.on_nop;
this.dataset = this.view.dataset;
- this.widgets_counter = 0;
this.view_id = 'reference_' + _.uniqueId();
- this.widgets = {};
this.fields = {};
this.fields_order = [];
this.reference_ready = true;