[IMP]edit node code at initial level modify by using widget.

bzr revid: kch@tinyerp.com-20111004060903-0se42632vpjlk24u
This commit is contained in:
Kunal Chavda (OpenERP) 2011-10-04 11:39:03 +05:30
parent 87436d725e
commit 3feaa84beb
2 changed files with 40 additions and 18 deletions

View File

@ -1,7 +1,6 @@
openerp.web.view_editor = function(openerp) {
var _PROPERTIES = {
'field' : ['name', 'string', 'required', 'readonly', 'select', 'domain', 'context', 'nolabel', 'completion',
'colspan', 'widget', 'eval', 'ref', 'on_change', 'attrs', 'groups'],
'field' : ['required', 'readonly'],
'form' : ['string', 'col', 'link'],
'notebook' : ['colspan', 'position', 'groups'],
'page' : ['string', 'states', 'attrs', 'groups'],
@ -31,6 +30,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
this.dataset = dataset;
this.model = dataset.model;
this.xml_id = 0;
this.property = openerp.web.ViewEditor.property_widget;
},
start: function() {
@ -320,6 +320,17 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
case "side-remove":
break;
case "side-edit":
var tag, fld_name;
var tr = $(this).closest("tr[id^='viewedit-']").find('a').text();
var tag_fld = tr.split(" ");
if (tag_fld.length > 3){
tag = tag_fld[1].replace(/[^a-zA-Z 0-9]+/g,'');
fld_name = tag_fld[2].split("=")[1].replace(/[^a-zA-Z _ 0-9]+/g,'');
}else{
tag = tag_fld[1].replace(/[^a-zA-Z 0-9]+/g,'');
}
var properties = _PROPERTIES[tag];
self.on_edit_node(this,properties,fld_name);
break;
case "side-up":
while(1){
@ -406,7 +417,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
tr.show();
});
},
on_edit_node:function(self,property,fld_name){
on_edit_node:function(self,properties,fld_name){
var self = this;
var result;
this.dialog = new openerp.web.Dialog(this,{
@ -427,17 +438,35 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
dataset.read_slice([],{domain : [['model','=',self.model]]},function (result) {
db = new openerp.web.DataSetSearch(self,'ir.model.fields', null, null);
db.read_slice([],{domain : [['model_id','=',result[0].id],['name','=',fld_name]]},function (res) {
var data = [];
_.each(property,function(record){
var dict = {'key':record,'value':res[0][record]};
data.push(dict);
_.each(properties,function(record){
var type_widget = new (self.property.get_any(['undefined' , record, 'field'])) (false, false);
console.log("widget_view",type_widget);
});
console.log("check data+++",data);
/*self.dialog.$element.html(QWeb.render('Edit_Node_View',{
'res': res
}));*/
});
});
}
});
openerp.web.ViewEditor.FieldBoolean = openerp.web.form.FieldBoolean.extend({
init: function(view, node) {
//this._super(view, node);
console.log("view++++",view);
console.log("nodoe+++++",node);
this.template = "FieldBoolean";
},
start: function() {
var self = this;
this._super.apply(this, arguments);
}
});
openerp.web.ViewEditor.property_widget = new openerp.web.Registry({
'required' : 'openerp.web.ViewEditor.FieldBoolean',
'readonly' : 'openerp.web.ViewEditor.FieldBoolean',
'nolabel' : 'openerp.web.ViewEditor.FieldBoolean',
'completion' : 'openerp.web.ViewEditor.FieldBoolean',
/*'widget' : '',
'groups' : '',
'position': '',
'icon': '',
'align': '' */
});
};

View File

@ -1325,13 +1325,6 @@
<t t-call="view_editor.row"/>
</t>
</tr>
<t t-name="Edit_Node_View">
<table>
<tr t-foreach="res" t-as="rec">
<td><t t-esc="rec.ttype"/></td>
</tr>
</table>
</t>
<t t-name="ExportView">
<a id="exportview" href="javascript: void(0)" style="text-decoration: none;color: #3D3D3D;">Export</a>
</t>