[IMP] code refactore in view editor.

bzr revid: ysa@tinyerp.com-20111004104550-abxppmgpbbqedv1k
This commit is contained in:
Yogesh (OpenERP) 2011-10-04 16:15:50 +05:30
parent 5ebf129d27
commit 59ef651422
1 changed files with 219 additions and 223 deletions

View File

@ -75,10 +75,10 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
xml_tag += ' ' + attrs.nodeName + '=' + '"' + attrs.nodeValue + '"';
if (tag != 'button') {
if (attrs.nodeName == "string" || attrs.nodeName == "name" || attrs.nodeName == "index") {
render_name += ' ' +attrs.nodeName+'='+'"'+attrs.nodeValue+'"';}
render_name += ' ' + attrs.nodeName + '=' + '"' + attrs.nodeValue + '"';
}
} else {
if(attrs.nodeName == "name"){
render_name += ' ' +attrs.nodeName+'='+'"'+attrs.nodeValue+'"';}
if (attrs.nodeName == "name") render_name += ' ' + attrs.nodeName + '=' + '"' + attrs.nodeValue + '"';
}
});
render_name += ">";
@ -94,13 +94,13 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var check_id = parent_list[0];
var p_list = parent_list.slice(1);
if (val.child_id.length != 0) {
$.each(val.child_id, function(key,val) {
_.each(val.child_id, function(val, key) {
if (val.id==check_id) {
if (p_list.length!=0) {
self.save_object(val, p_list, child_obj_list);
} else {
val.child_id = child_obj_list;
return;
return false;
}
}
});
@ -121,7 +121,6 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var string = self.check_attr(child_node,child_node.tagName.toLowerCase(),parents.length);
child_obj_list.push(string);
});
if (children_list.length != 0) {
var child_ids = _.map(child_obj_list, function (num) { return num.id; });
parent_child_id.push({'key': parent_id, 'value': child_ids});
@ -130,25 +129,23 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
parent_list.splice(parents.length - 1);
}
parent_list.push(parent_id);
$.each(main_object, function(key,val) {
_.each(main_object, function (val, key) {
self.save_object(val, parent_list.slice(1), child_obj_list);
});
}
for(var i=0; i<children_list.length; i++){
self.children_function
(children_list[i],children_list[i].tagName.toLowerCase(),
self.children_function(children_list[i], children_list[i].tagName.toLowerCase(),
parent_list,child_obj_list[i].id, main_object,parent_child_id);
}
return {"main_object": main_object, "parent_child_id": parent_child_id};
},
parse_xml :function(arch, view_id){
var self = this;
var root = $(arch).filter(":first")[0];
var tag = root.tagName.toLowerCase();
var root_object = self.check_attr(root,tag,this.xml_id);
return self.children_function(arch,tag,[],this.xml_id-1,[root_object],[]);
var root_object = this.check_attr(root, tag, this.xml_id);
return this.children_function(arch, tag, [], this.xml_id - 1, [root_object], []);
},
get_data : function(){
@ -194,7 +191,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var part = part_expr[part_expr.length - 1];
var xpath_list = $.trim(part.replace(/[^a-zA-Z 0-9 _]+/g,' ')).split(" ");
one_object['parent_child_id'].push(xpath_object['parent_child_id'][0]);
$.each(one_object['main_object'], function(key,val) {
_.each(one_object['main_object'], function(val, key) {
var id = self.search_object(val, xpath_list, [], position, xpath_object['main_object'], []);
_.detect(one_object['parent_child_id'], function(res) {
if (res.key==id) {
@ -214,7 +211,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
if (check == -1) {
if (insert.length == list.length) {
var level = val.level;
$.each(xpath_object, function(key,val) {
_.each(xpath_object, function(val, key) {
self.increase_level(val, level)
});
var index = _.indexOf(p_list.child_id, val);
@ -227,7 +224,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
return_list.push(p_list.id);
} else {
if (val.child_id.length != 0) { p_list = val; }
$.each(val.child_id, function(key,val) {
_.each(val.child_id, function(val, key) {
self.search_object(val, list, p_list, position, xpath_object, return_list);
});
}
@ -237,7 +234,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
increase_level: function(val, level) {
var self = this;
val.level = level;
$.each(val.child_id, function(key,val) {
_.each(val.child_id, function(val, key) {
self.increase_level(val, level + 1);
});
},
@ -290,8 +287,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
var cur_tr = side;
list_shift.push(side);
var next_tr;
switch (this.id)
{
switch (this.id) {
case "side-add":
break;
case "side-remove":
@ -347,7 +343,7 @@ openerp.web.ViewEditor = openerp.web.Widget.extend({
$("img[id='parentimg-" + last_tr_id + "']").attr('src', '/web/static/src/img/expand.gif');
while (1) {
var next_tr = last_tr.next();
if (next_tr.attr('level') <= level || next_tr.length==0){break;}
if (next_tr.attr('level') <= level || next_tr.length == 0) break;
next_tr.hide();
last_tr = next_tr;
}