[FIX]Dynamic Header.

bzr revid: bth@tinyerp.com-20110721122534-fbxaebln1cd7tv5p
This commit is contained in:
Bhumi Thakkar (Open ERP) 2011-07-21 17:55:34 +05:30
parent 3dcc0d8d00
commit 0e6ae57f11
3 changed files with 82 additions and 37 deletions

View File

@ -1076,3 +1076,21 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */
font-size: 1.2em;
font-weight: bold;
}
.mouse-over {
color: #0000FF;
}
.treeview-tr {
cursor: pointer;
text-align: left;
vertical-align: top;
}
.treeview-td {
text-align: right;
vertical-align: top;
}
.treeview-header {
text-align: left;
padding-left: 15px;
font-weight: bold;
vertical-align: top;
}

View File

@ -41,14 +41,15 @@ openerp.base.TreeView = openerp.base.View.extend({
},
on_loaded: function (data) {
var self = this;
this.fields_view = data.field_parent;
this.fields = data.fields;
self.dataset.domain = [['parent_id', '=', '']];
this.dataset.read_slice([], 0, false, function (response) {
self.$element.html(QWeb.render('TreeView', { 'field_data': response, 'title': self.fields_view.arch.attrs.string }));
self.$element.html(QWeb.render('TreeView', { 'field_data' : response, 'title' : self.fields_view.arch.attrs.string }));
self.$element.append(QWeb.render('TreeView_Header'));
self.$element.find('#parent_id').bind('change', function(){
self.getdata($('#parent_id').val(), false);
});
@ -58,6 +59,7 @@ openerp.base.TreeView = openerp.base.View.extend({
// get child data of selected value
getdata: function (id, flag) {
var self = this;
self.dataset.domain = [['parent_id', '=', parseInt(id, 10)]];
@ -68,7 +70,7 @@ openerp.base.TreeView = openerp.base.View.extend({
if (curr_node.length == 1) {
curr_node.find('td').children(':first-child').attr('src','/base/static/src/img/collapse.gif');
curr_node.after(QWeb.render('TreeView_Secondry', {'child_data' : response}));
curr_node.after(QWeb.render('TreeView_Secondry', {'child_data': response, 'flag': '0' }));
for (var i = 0; i < response.length; i++) {
row_id = $('tr #treerow_' + response[i].id);
@ -105,11 +107,9 @@ openerp.base.TreeView = openerp.base.View.extend({
}
} else {
if (!flag) {
self.$element.find('tr').remove();
self.$element.append(QWeb.render('TreeView_Header'));
self.$element.find('table').remove();
}
self.$element.append(QWeb.render('TreeView_Secondry', {'child_data' : response}));
self.$element.append(QWeb.render('TreeView_Secondry', {'child_data': response, 'flag' : '1', 'fields' : self.fields_view.fields , 'fields_view' : self.fields_view.arch.children }));
self.$element.find('tr[id ^= treerow_]').each( function() {
$(this).find('td').children(':first-child').addClass("parent_top");
if (!($(this).find('td').children(':first-child').attr('id'))) {
@ -118,10 +118,10 @@ openerp.base.TreeView = openerp.base.View.extend({
});
}
self.$element.find('tr').find('td:first').mouseover( function() {
$(this).css('color', '#0000FF');
self.$element.find('tbody tr').find('td:first').mouseover( function() {
$(this).addClass('mouse-over');
}).mouseout( function() {
$(this).css('color','#000000');
$(this).removeClass('mouse-over');
});
self.$element.find('tr[id ^= treerow_] td').children(':first-child').click( function() {

View File

@ -246,34 +246,61 @@
</t>
</select>
</t>
<t t-name="TreeView_Header">
<tr>
<td align="left" style="padding-left:15px;"><span><b>Name</b></span>
</td>
<td align="center" style="padding-left:10px;"><span><b>Category Type</b></span>
</td>
<td align="center" style="padding-left:30px;"><span><b>Sequence</b></span>
</td>
</tr>
</t>
<t t-name="TreeView_Secondry">
<t t-foreach="child_data" t-as="field" >
<tr t-att-id="'treerow_' + field.id">
<td valign="top" align="left" style="cursor: pointer;">
<t t-if="(field.child_id).length >= 1">
<img t-att-id="'parentimg_' + field.id" src="/base/static/src/img/expand.gif" width="16" height="16" border="0"/>
</t>
<span>
<t t-esc="field.name"/>
</span>
</td>
<td valign="top" align="right">
<t t-esc="field.type" />
</td>
<td valign="top" align="right">
<t t-esc="field.sequence" />
</td>
</tr>
<t t-if="flag==1">
<table>
<thead>
<tr>
<t t-foreach="fields_view" t-as="fieldsview">
<t t-foreach="fields" t-as="field">
<t t-if="fieldsview['attrs'].name==field">
<td class="treeview-header"><t t-esc="fields[field].string" /></td>
</t>
</t>
</t>
</tr>
</thead>
<t t-foreach="child_data" t-as="field" >
<tr t-att-id="'treerow_' + field.id">
<td class="treeview-tr">
<t t-if="(field.child_id).length >= 1">
<img t-att-id="'parentimg_' + field.id" src="/base/static/src/img/expand.gif" width="16" height="16" border="0"/>
</t>
<span>
<t t-esc="field.name"/>
</span>
</td>
<td class="treeview-td">
<t t-esc="field.type" />
</td>
<td class="treeview-td">
<t t-esc="field.sequence" />
</td>
</tr>
</t>
</table>
</t>
<t t-if="flag==0">
<t t-if="child_data">
<t t-foreach="child_data" t-as="field" >
<tr t-att-id="'treerow_' + field.id">
<td class="treeview-tr">
<t t-if="(field.child_id).length >= 1">
<img t-att-id="'parentimg_' + field.id" src="/base/static/src/img/expand.gif" width="16" height="16" border="0"/>
</t>
<span>
<t t-esc="field.name"/>
</span>
</td>
<td class="treeview-td">
<t t-esc="field.type" />
</td>
<td class="treeview-td">
<t t-esc="field.sequence" />
</td>
</tr>
</t>
</t>
</t>
</t>
<table t-name="ListView">