[IMP] code refactore in view editor.
bzr revid: ysa@tinyerp.com-20111004104550-abxppmgpbbqedv1k
This commit is contained in:
parent
5ebf129d27
commit
59ef651422
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue