diff --git a/addons/base/static/src/js/tree.js b/addons/base/static/src/js/tree.js
index 2d2887d8201..9883f37adc6 100644
--- a/addons/base/static/src/js/tree.js
+++ b/addons/base/static/src/js/tree.js
@@ -46,65 +46,52 @@ openerp.base.TreeView = openerp.base.View.extend({
self.dataset.domain = [['parent_id', '=', parseInt(id, 10)]];
self.dataset.read_slice([], 0, false, function (response) {
if (($('tr #treerow_' + id).length) == 1) {
- $('tr #treerow_' + id).find('td #parentimg').attr('src','/base/static/src/img/collapse.gif');
+ $('tr #treerow_' + id).find('td').children(':first-child').attr('src','/base/static/src/img/collapse.gif');
$('tr #treerow_' + id).after(QWeb.render('TreeView_Secondry', {'child_data' : response}));
- parentlen = $('tr #treerow_' + id).find('td').length;
+
for (i in response) {
if ($('tr #treerow_' + response[i].id)) {
- childlen = $('tr #treerow_' + response[i].id).find('td').length;
- while (childlen < (parentlen + 1)) {
- $('tr #treerow_' + response[i].id).find('td:eq(0)').before('
| ');
- childlen++;
- }
- }
- }
- for (i in response) {
- if ($('tr #treerow_' + response[i].id)) {
- childlen = $('tr #treerow_' + response[i].id).find('td').length;
- if ($('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').find('#parentimg').length > 0){
- paddingflag=1;
+ if ($('tr #treerow_' + response[i].id).find('td').children(':first-child').attr('id') == 'parentimg_' + response[i].id) {
+ paddingflag = 1;
}
}
}
- tdlen = $('tr #treerow_' + id).find('td').length;
- paddingno = $('tr #treerow_' + id).find('td:eq('+ (tdlen - 1) +')').css('paddingLeft');
+ paddingno = $('tr #treerow_' + id).find('td').css('paddingLeft');
padd = paddingno.split('px');
+
for (i in response) {
if ($('tr #treerow_' + response[i].id)) {
- childlen = $('tr #treerow_' + response[i].id).find('td').length;
- textoftd = $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 1) +')').text();
if (paddingflag == 0) {
- if (parseInt(padd[0], 10) == 1) {
- fix = (parseInt(padd[0], 10) + 20);
- } else {
- fix = (parseInt(padd[0], 10) + 40);
- }
- $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').css({ paddingLeft : fix });
-
+ fix = (parseInt(padd[0], 10) + 40);
+ $('tr #treerow_' + response[i].id).find('td').css({ paddingLeft : fix });
} else {
if (parseInt(padd[0], 10) == 1) {
- fix = (parseInt(padd[0],10) + 2);
+ fix = (parseInt(padd[0],10) + 17);
} else {
fix = (parseInt(padd[0], 10) + 20);
}
- if ($('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').find('#parentimg').length == 0) {
- $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').css({ paddingLeft : (fix+20) });
- }else{
- $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').find('#parentimg').addClass("parent_top");
- $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').css({ paddingLeft : fix });
+ $('tr #treerow_' + response[i].id).find('td').children(':first-child').addClass("parent_top");
+ if ($('tr #treerow_' + response[i].id).find('td').children(':first-child').attr('id') == "parentimg_" + response[i].id) {
+ $('tr #treerow_' + response[i].id).find('td').css({ paddingLeft : fix });
+ } else {
+ $('tr #treerow_' + response[i].id).find('td').css({ paddingLeft : (fix + 20) });
}
}
- $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').attr('colspan', '2');
- $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 2) +')').append(textoftd);
- $('tr #treerow_' + response[i].id).find('td:eq('+ (childlen - 1) +')').remove();
}
}
} else {
if (flag == 0) {
self.$element.find('tr').remove();
}
- self.$element.append(QWeb.render('TreeView_Secondry', {'child_data': response}));
+ self.$element.append(QWeb.render('TreeView_Secondry', {'child_data' : response}));
+ self.$element.find('tr[id ^= treerow_]').each( function() {
+ $('#' + this.id).find('td').children(':first-child').addClass("parent_top");
+ if ($('#' + this.id).find('td').children(':first-child').attr('id')) {
+ } else {
+ $('#' + this.id).find('td').css({ paddingLeft : '20px' });
+ }
+ });
}
self.$element.find('tr').mouseover( function() {
@@ -114,37 +101,36 @@ openerp.base.TreeView = openerp.base.View.extend({
$(this).css({ color : '#000000' });
});
- $('tr').click(function() {
+ $('tr').find('td').children(':first-child').click( function() {
divflag=0;
if ($('#'+(this.id)).length == 1) {
rowid = (this.id).split('_');
-
- for (i in response) {
- if (rowid[1] == response[i].id){
- if (response[i].child_id.length > 0) {
- jQuery(response[i].child_id).each (function(e, chid) {
- if (jQuery('tr #treerow_' + chid).length > 0) {
- if (jQuery('tr #treerow_' + chid).is(':hidden')) {
- divflag = -1;
- } else {
- divflag++;
- }
+ for (i in response) {
+ if (rowid[1] == response[i].id && response[i].child_id.length > 0) {
+ jQuery(response[i].child_id).each (function(e, chid) {
+ if (jQuery('tr #treerow_' + chid).length > 0) {
+ if (jQuery('tr #treerow_' + chid).is(':hidden')) {
+ divflag = -1;
+ } else {
+ divflag++;
}
- });
- if (divflag == 0) {
- if ($('#' + (this.id)).find('td #parentimg').attr('src') == '/base/static/src/img/expand.gif') {
- self.getdata(rowid[1]);
- }
- } else if (divflag > 0) {
- self.showcontent(rowid[1], 1, response[i].child_id);
- } else if (divflag == -1) {
- self.showcontent(rowid[1], 0, response[i].child_id);
}
+ });
+ if (divflag == 0) {
+ if ($('#' + (this.id)).attr('src') == '/base/static/src/img/expand.gif') {
+ self.getdata(rowid[1]);
+ }
+ } else if (divflag > 0) {
+ self.showcontent(rowid[1], 1, response[i].child_id);
+ } else if (divflag == -1) {
+ self.showcontent(rowid[1], 0, response[i].child_id);
}
- }
+ }
}
}
});
+ $('tr[id ^= treerow_]').find('td').children(':last-child').click(function(){
+ });
});
},
@@ -153,19 +139,19 @@ openerp.base.TreeView = openerp.base.View.extend({
var self = this;
var subchildids = "";
if (flag == 1) {
- $('tr #treerow_' + id).find('td #parentimg').attr('src', '/base/static/src/img/expand.gif');
+ $('tr #treerow_' + id).find('td').children(':first-child').attr('src', '/base/static/src/img/expand.gif');
}
else {
- $('tr #treerow_' + id).find('td #parentimg').attr('src', '/base/static/src/img/collapse.gif');
+ $('tr #treerow_' + id).find('td').children(':first-child').attr('src', '/base/static/src/img/collapse.gif');
}
for (i in childid) {
if (flag == 1) {
self.dataset.domain = [['parent_id', '=', parseInt(childid[i], 10)]];
- childimg = $('tr #treerow_' + childid[i]).find('td').find('#parentimg').attr('src');
+ childimg = $('tr #treerow_' + childid[i]).find('td').children(':first-child').attr('src');
if (childimg == "/base/static/src/img/collapse.gif") {
- $('tr #treerow_' + childid[i]).find('td').find('#parentimg').attr('src','/base/static/src/img/expand.gif');
+ $('tr #treerow_' + childid[i]).find('td').children(':first-child').attr('src','/base/static/src/img/expand.gif');
}
self.dataset.read_slice([], 0, false, function (response) {
@@ -178,7 +164,6 @@ openerp.base.TreeView = openerp.base.View.extend({
}
}
}
-
});
jQuery ('tr #treerow_' + childid[i]).hide();
}
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index c038ba1a282..ce9904fbd87 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -261,19 +261,12 @@
-
+
+
+
+
|
-
-
-
- |
-
-
-
-
- |
-