diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2012-03-26 17:14:37 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2012-03-26 17:14:37 +0200 |
| commit | d53cfb001b4ad27128ebb68691504cb3e15ebba5 (patch) | |
| tree | 2955c9224ca2c56d93c437992bd6dc3265c76ff2 /addons/web/static/src | |
| parent | 6e2c8c51dc84c96c35876d3d0e7d37f64a35d966 (diff) | |
[imp] changed the way fields are instanciated
bzr revid: nicolas.vanhoren@openerp.com-20120326151437-vk5uwzi0rmu084km
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index fb03ff7646a..b362359ae09 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -756,15 +756,15 @@ openerp.web.FormRenderingEngine = openerp.web.Class.extend({ var xml = openerp.web.json_node_to_xml(this.fvg.arch); this.$form = $(xml); + this.to_init = []; this.process(this.$form); this.$form.appendTo(this.$element); // OpenERP views spec : // - @width is obsolete ? - this.$element.find('field, button').each(function() { - var $elem = $(this), - key = $elem.attr('widget') || $elem[0].tagName.toLowerCase(); + _.each(this.to_init, function($elem) { + var key = $elem.attr('widget') || $elem[0].tagName.toLowerCase(); if (self.view.registry.contains(key)) { var obj = self.view.registry.get_object(key); var w = new (obj)(self.view, openerp.web.xml_to_json($elem[0])); @@ -789,7 +789,6 @@ openerp.web.FormRenderingEngine = openerp.web.Class.extend({ }); } this.$element.toggleClass('oe_layout_debugging'); - }, process: function($tag) { var self = this; @@ -866,6 +865,7 @@ openerp.web.FormRenderingEngine = openerp.web.Class.extend({ 'string' : field_string, 'help' : field_help }); + this.to_init.push($field); return $field; }, process_group: function($group) { @@ -991,6 +991,10 @@ openerp.web.FormRenderingEngine = openerp.web.Class.extend({ var $new_label = $(QWeb.render('FormRenderingLabel', dict)); $label.before($new_label).remove(); return $new_label; + }, + process_button: function($button) { + this.to_init.push($button); + return $button; } }); |
