[ADD] basic structure for HTML form widget

lp bug: https://launchpad.net/bugs/902156 fixed

bzr revid: xmo@openerp.com-20111219095924-eqr227mth2li8egr
This commit is contained in:
Xavier Morel
2011-12-19 10:59:24 +01:00
parent 8f4a1ebd24
commit 7af1a8662c
+27 -1
View File
@@ -3052,6 +3052,31 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({
}
});
openerp.web.form.WidgetHtml = openerp.web.form.Widget.extend({
render: function () {
var $root = $('<div class="oe_form_html_view">');
this.render_children(this, $root);
return $root.html();
},
render_children: function (object, $into) {
var self = this,
fields = this.view.fields_view.fields;
_(object.children).each(function (child) {
if (typeof child === 'string') {
$into.text(child);
} else if (child.tag === 'field') {
var type = fields[child.attrs.name] || {};
var widget = new (self.view.registry.get_any(
[child.attrs.widget, type.type, child.tag])) (self.view, child);
$into.append(widget.render());
} else {
var $child = $(document.createElement(child.tag), child.attrs)
.appendTo($into);
self.render_children(child, $child);
}
});
}
});
/**
@@ -3085,7 +3110,8 @@ openerp.web.form.widgets = new openerp.web.Registry({
'progressbar': 'openerp.web.form.FieldProgressBar',
'image': 'openerp.web.form.FieldBinaryImage',
'binary': 'openerp.web.form.FieldBinaryFile',
'statusbar': 'openerp.web.form.FieldStatus'
'statusbar': 'openerp.web.form.FieldStatus',
'html': 'openerp.web.form.WidgetHtml'
});