[IMP] improved code for make the list record bold depends on state

bzr revid: tpa@tinyerp.com-20120404073016-ro6wuybho7npp9k4
This commit is contained in:
Turkesh Patel (Open ERP) 2012-04-04 13:00:16 +05:30
parent 4229755f81
commit a5f5358cf2
2 changed files with 12 additions and 4 deletions

View File

@ -873,7 +873,8 @@ openerp.web.ViewEditor = openerp.web.OldWidget.extend({
'widget' : {'name':'widget', 'string': 'widget', 'type': 'selection'},
'colors' : {'name':'colors', 'string': 'Colors', 'type': 'char'},
'editable' : {'name':'editable', 'string': 'Editable', 'type': 'selection', 'selection': [["",""],["top","Top"],["bottom", "Bottom"]]},
'groups' : {'name':'groups', 'string': 'Groups', 'type': 'selection_multi'}
'groups' : {'name':'groups', 'string': 'Groups', 'type': 'selection_multi'},
'fontbold' : {'name':'fontbold', 'string': 'fontbold', 'type': 'char'},
};
var arch_val = self.get_object_by_id(this.one_object.clicked_tr_id,this.one_object['main_object'], []);
this.edit_node_dialog.$element.append('<table id="rec_table" style="width:400px" class="oe_forms"></table>');
@ -1149,7 +1150,7 @@ var _PROPERTIES = {
'board': ['style'],
'column' : [],
'action' : ['name', 'string', 'colspan', 'groups'],
'tree' : ['string', 'colors', 'editable', 'link', 'limit', 'min_rows'],
'tree' : ['string', 'colors', 'editable', 'link', 'limit', 'min_rows', 'fontbold'],
'graph' : ['string', 'type'],
'calendar' : ['string', 'date_start', 'date_stop', 'date_delay', 'day_length', 'color', 'mode']
};

View File

@ -56,6 +56,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
this.view_id = view_id;
this.previous_colspan = null;
this.colors = null;
this.fontbold = null;
this.columns = [];
@ -154,16 +155,21 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
current_date: new Date().toString('yyyy-MM-dd')
// TODO: time, datetime, relativedelta
});
var style= '';
if(record.attributes.state == this.fontbold) {
style = 'font-weight: bold;';
}
for(var i=0, len=this.colors.length; i<len; ++i) {
var pair = this.colors[i],
color = pair[0],
expression = pair[1];
if (py.evaluate(expression, context).toJSON()) {
return 'color: ' + color + ';';
style += 'color: ' + color + ';'
return style;
}
// TODO: handle evaluation errors
}
return '';
return style;
},
/**
* Called after loading the list view's description, sets up such things
@ -192,6 +198,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
var self = this;
this.fields_view = data;
this.name = "" + this.fields_view.arch.attrs.string;
this.fontbold = this.fields_view.arch.attrs.fontbold
if (this.fields_view.arch.attrs.colors) {
this.colors = _(this.fields_view.arch.attrs.colors.split(';')).chain()