[IMP] remove bunch of crummy padding-fiddling JS, replace with slightly less crummy (but still pretty bad) padding code in template + CSS
bzr revid: xmo@openerp.com-20110809112527-tb4ycvd6d254duvn
This commit is contained in:
@@ -1076,22 +1076,18 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.mouse-over {
|
||||
color: #0000FF;
|
||||
}
|
||||
.treeview-tr {
|
||||
.treeview-tr, .treeview-td {
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
.treeview-td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding-left: 15px;
|
||||
}
|
||||
.treeview-td:first-of-type span {
|
||||
padding-left: 21px;
|
||||
}
|
||||
|
||||
.treeview-header {
|
||||
text-align: left;
|
||||
padding-left: 15px;
|
||||
padding-left: 21px;
|
||||
font-weight: bold;
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,9 @@ openerp.base.TreeView = openerp.base.View.extend({
|
||||
|
||||
this.dataset.read_slice(this.fields_list(), 0, false, function (records) {
|
||||
self.$element.html(QWeb.render('TreeView', {
|
||||
'title': self.fields_view.arch.attrs.string
|
||||
'title': self.fields_view.arch.attrs.string,
|
||||
'fields_view': self.fields_view.arch.children,
|
||||
'fields': self.fields
|
||||
}));
|
||||
var $select = self.$element.find('select')
|
||||
.change(function () {
|
||||
@@ -122,7 +124,7 @@ openerp.base.TreeView = openerp.base.View.extend({
|
||||
});
|
||||
},
|
||||
// get child data of selected value
|
||||
getdata: function (id, children_ids, flag) {
|
||||
getdata: function (id, children_ids) {
|
||||
var self = this;
|
||||
|
||||
self.dataset.read_ids(children_ids, this.fields_list(), function (records) {
|
||||
@@ -130,80 +132,24 @@ openerp.base.TreeView = openerp.base.View.extend({
|
||||
self.records[record.id] = record;
|
||||
});
|
||||
|
||||
var is_padding, row_id;
|
||||
var curr_node = $('tr #treerow_' + id);
|
||||
var $curr_node = self.$element.find('#treerow_' + id);
|
||||
var children_rows = QWeb.render('TreeView.rows', {
|
||||
'records': records,
|
||||
'children_field': self.children_field,
|
||||
'fields_view': self.fields_view.arch.children,
|
||||
'field': self.fields,
|
||||
'level': $curr_node.data('level') || 0
|
||||
});
|
||||
|
||||
if (curr_node.length == 1) {
|
||||
curr_node.find('td:first').children(':first-child').attr('src','/base/static/src/img/collapse.gif');
|
||||
curr_node.after(QWeb.render('TreeView.rows', {
|
||||
'records': records,
|
||||
'children_field': self.children_field,
|
||||
'fields_view' : self.fields_view.arch.children,
|
||||
'field' : self.fields
|
||||
}));
|
||||
|
||||
|
||||
for (var i = 0; i < records.length; i++) {
|
||||
row_id = $('tr #treerow_' + records[i].id);
|
||||
|
||||
if (row_id && row_id.find('td:first').children(':first-child').attr('id') == 'parentimg_' + records[i].id) {
|
||||
row_id.find('td:first').append('<span>'+row_id.find('td:eq(1)').text()+'</span>');
|
||||
row_id.find('td:eq(1)').remove();
|
||||
is_padding = true;
|
||||
}
|
||||
}
|
||||
|
||||
var padding = curr_node.find('td').css('paddingLeft');
|
||||
var padd = parseInt(padding.replace('px',''), 10);
|
||||
var fixpadding;
|
||||
|
||||
for (var i = 0; i < records.length; i++) {
|
||||
row_id = $('tr #treerow_' + records[i].id);
|
||||
if (row_id) {
|
||||
if (!is_padding) {
|
||||
fixpadding = padd + 40;
|
||||
row_id.find('td:first').css('paddingLeft', fixpadding);
|
||||
} else {
|
||||
if (padd == 1) {
|
||||
fixpadding = padd + 17;
|
||||
} else {
|
||||
fixpadding = padd + 20;
|
||||
}
|
||||
var curr_node_elem = row_id.find('td:first');
|
||||
curr_node_elem.children(':first-child').addClass("parent_top");
|
||||
if (curr_node_elem.children(':first-child').attr('id') == "parentimg_" + records[i].id) {
|
||||
curr_node_elem.css('paddingLeft', fixpadding );
|
||||
} else {
|
||||
curr_node_elem.css('paddingLeft', (fixpadding + 20));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($curr_node.length) {
|
||||
$curr_node.find('td:first > :first-child').attr('src','/base/static/src/img/collapse.gif');
|
||||
$curr_node.after(children_rows);
|
||||
} else {
|
||||
if (!flag) {
|
||||
self.$element.find('table').remove();
|
||||
}
|
||||
self.$element.append(QWeb.render('TreeView.architecture', {
|
||||
'records': records,
|
||||
'children_field': self.children_field,
|
||||
'fields_view': self.fields_view.arch.children,
|
||||
'fields': self.fields
|
||||
}));
|
||||
|
||||
self.$element.find('tr[id ^= treerow_]').each( function() {
|
||||
if ($(this).find('td:first').children(':first-child').attr('id')) {
|
||||
$(this).find('td:first').append('<span>' + $(this).find('td:eq(1)').text() + '</span>');
|
||||
$(this).find('td:eq(1)').remove();
|
||||
}
|
||||
$(this).find('td').children(':first-child').addClass("parent_top");
|
||||
if (!($(this).find('td').children(':first-child').attr('id'))) {
|
||||
$(this).find('td:first').css('paddingLeft', '20px');
|
||||
}
|
||||
});
|
||||
self.$element.find('tbody').html(children_rows);
|
||||
}
|
||||
|
||||
self.$element.find('tr[id ^= treerow_]').find('td').children(':last-child').click( function(e) {
|
||||
row_id = $(this).parent().parent().attr('id');
|
||||
self.$element.find('tr[id ^= treerow_] td > :last-child').click( function(e) {
|
||||
var row_id = $(this).parent().parent().attr('id');
|
||||
var record_id = row_id.split('_')[1];
|
||||
self.showrecord(record_id, self.model);
|
||||
e.stopImmediatePropagation();
|
||||
|
||||
@@ -240,35 +240,36 @@
|
||||
<h2 class="oe_view_title"><t t-esc="title"/></h2>
|
||||
<select name="parent" style="width: 30%">
|
||||
</select>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th t-foreach="fields_view" t-as="field"
|
||||
t-if="!field.attrs.modifiers.tree_invisible"
|
||||
class="treeview-header">
|
||||
<t t-esc="fields[field.attrs.name].string" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</t>
|
||||
<table t-name="TreeView.architecture">
|
||||
<thead>
|
||||
<tr>
|
||||
<th t-foreach="fields_view" t-as="field"
|
||||
t-if="!field.attrs.modifiers.tree_invisible"
|
||||
class="treeview-header">
|
||||
<t t-esc="fields[field.attrs.name].string" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-call="TreeView.rows"/>
|
||||
</tbody>
|
||||
</table>
|
||||
<tr t-name="TreeView.rows"
|
||||
t-foreach="records" t-as="record"
|
||||
t-att-id="'treerow_' + record.id">
|
||||
t-att-id="'treerow_' + record.id"
|
||||
t-att-data-level="level + 1">
|
||||
<t t-set="children" t-value="record[children_field]"/>
|
||||
<td t-if="children and children.length"
|
||||
class="treeview-tr">
|
||||
<img t-att-id="'parentimg_' + record.id"
|
||||
<t t-set="has_children" t-value="children and children.length"/>
|
||||
|
||||
<td t-foreach="fields_view" t-as="field"
|
||||
t-if="!field.attrs.modifiers.tree_invisible"
|
||||
t-att-style="!field_index ? 'padding-left: ' + 19*level + 'px' : undefined"
|
||||
t-att-class="!field_index and has_children ? 'treeview-tr' : 'treeview-td'">
|
||||
<img t-if="!field_index and has_children"
|
||||
t-att-id="'parentimg_' + record.id"
|
||||
t-att-data-id="record.id"
|
||||
src="/base/static/src/img/expand.gif"
|
||||
width="16" height="16" border="0"/>
|
||||
</td>
|
||||
<td t-foreach="fields_view" t-as="field"
|
||||
t-if="!field.attrs.modifiers.tree_invisible"
|
||||
class="treeview-td">
|
||||
<span t-if="!field.attrs.modifiers.invisible">
|
||||
<t t-esc="record[field.attrs.name]" />
|
||||
</span>
|
||||
|
||||
Reference in New Issue
Block a user