mirror of https://github.com/OCA/web.git
delete unused code, move files to standard locations
support color_field attribute update manifest higher version number bump typopull/2771/head
parent
770df440f4
commit
0bec4a1c74
|
@ -4,14 +4,20 @@ Colorize field in tree views
|
|||
This module aims to add support for dynamically coloring fields in tree view
|
||||
according to data in the record.
|
||||
|
||||
It provides new attributes with the same syntax as 'colors' attribute in tree tag.
|
||||
It provides attributes on fields with the same syntax as the 'colors' attribute
|
||||
in tree tags.
|
||||
|
||||
Further, it provides a ``color_field`` attribute on tree tags to use a field's
|
||||
value as color.
|
||||
|
||||
Features
|
||||
========
|
||||
|
||||
* Add attribute 'bg_color' to color background of a cell in tree view
|
||||
* Add attribute ``bg_color`` on fields to color background of a cell in tree view
|
||||
|
||||
* Add attribute 'fg_color' to change text color of a cell in tree view
|
||||
* Add attribute ``fg_color`` on fields to change text color of a cell in tree view
|
||||
|
||||
* Add attribute ``color_field`` on the tree element to use as color
|
||||
|
||||
|
||||
Usage
|
||||
|
@ -45,7 +51,23 @@ Usage
|
|||
|
||||
With this example, column which renders 'name' field will have its text colored in white.
|
||||
|
||||
* In the tree view declaration, use color_field="color" attribute in the tree tag::
|
||||
|
||||
...
|
||||
<field name="arch" type="xml">
|
||||
<tree string="View name" color_field="color">
|
||||
...
|
||||
<field name="color" invisible="1" />
|
||||
...
|
||||
</tree>
|
||||
</field>
|
||||
...
|
||||
|
||||
With this example, the content of the field named `color` will be used to
|
||||
populate the `color` CSS value. Use a function field to return whichever
|
||||
color you want depending on the other record values. Note this this
|
||||
overrides the `colors` attribute, and that you need the tree to load your
|
||||
field in the first place by adding it as invisible field.
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
@ -63,6 +85,7 @@ Contributors
|
|||
------------
|
||||
|
||||
* Damien Crier <damien.crier@camptocamp.com>
|
||||
* Holger Brunn <hbrunn@therp.nl>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
|
|
@ -19,9 +19,10 @@
|
|||
#
|
||||
##############################################################################
|
||||
{
|
||||
'name': 'web tree dynamic colored field',
|
||||
'name': 'Colorize field in tree views',
|
||||
'summary': 'Allows you to dynamically color fields on tree views',
|
||||
'category': 'Hidden',
|
||||
'version': '8.0.1.0.0',
|
||||
'version': '8.0.2.0.0',
|
||||
'depends': ['web'],
|
||||
'author': "Camptocamp,Odoo Community Association (OCA)",
|
||||
'license': 'AGPL-3',
|
||||
|
@ -30,8 +31,6 @@
|
|||
'views/web_tree_dynamic_colored_field.xml',
|
||||
],
|
||||
'qweb': [
|
||||
'static/xml/*.xml',
|
||||
'static/src/xml/*.xml',
|
||||
],
|
||||
'auto_install': False,
|
||||
'installable': False,
|
||||
}
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
openerp.web_tree_dynamic_colored_field = function(instance){
|
||||
var _t = instance.web._t,
|
||||
_lt = instance.web._lt;
|
||||
var QWeb = instance.web.qweb;
|
||||
|
||||
var pair_colors = function(pair_color){
|
||||
if (pair_color != ""){
|
||||
var pair_list = pair_color.split(':'),
|
||||
|
@ -12,6 +8,14 @@ openerp.web_tree_dynamic_colored_field = function(instance){
|
|||
}
|
||||
};
|
||||
|
||||
var get_eval_context = function(record){
|
||||
return _.extend(
|
||||
{},
|
||||
record.attributes,
|
||||
instance.web.pyeval.context()
|
||||
);
|
||||
};
|
||||
|
||||
var colorize_helper = function(obj, record, column, field_attribute, css_attribute){
|
||||
var result = '';
|
||||
if (column[field_attribute]){
|
||||
|
@ -22,14 +26,7 @@ openerp.web_tree_dynamic_colored_field = function(instance){
|
|||
var colors = colors.filter(function CheckUndefined(value, index, ar) {
|
||||
return value != undefined;
|
||||
})
|
||||
var ctx = _.extend(
|
||||
{},
|
||||
record.attributes,
|
||||
{
|
||||
uid: obj.session.uid,
|
||||
current_date: new Date().toString('yyyy-MM-dd')
|
||||
}
|
||||
);
|
||||
var ctx = get_eval_context(record);
|
||||
for(i=0, len=colors.length; i<len; ++i) {
|
||||
pair = colors[i];
|
||||
var color = pair[0];
|
||||
|
@ -54,33 +51,25 @@ openerp.web_tree_dynamic_colored_field = function(instance){
|
|||
this._super(group, opts);
|
||||
this.columns.fct_colorize = colorize;
|
||||
},
|
||||
fct_colorize: colorize,
|
||||
render: function() {
|
||||
this.$current.empty().append(
|
||||
QWeb.render('ListView.rows', _.extend({
|
||||
render_cell: function () {
|
||||
return self.render_cell.apply(self, arguments); },
|
||||
fct_colorize: function(){
|
||||
return self.fct_colorize.apply(self, arguments);
|
||||
});
|
||||
|
||||
instance.web.ListView.include({
|
||||
style_for: function (record)
|
||||
{
|
||||
var result = this._super.apply(this, arguments);
|
||||
if(this.fields_view.arch.attrs.color_field)
|
||||
{
|
||||
var color = py.evaluate(
|
||||
py.parse(py.tokenize(
|
||||
this.fields_view.arch.attrs.color_field
|
||||
)),
|
||||
get_eval_context(record)).toJSON();
|
||||
if(color)
|
||||
{
|
||||
result += 'color: ' + color;
|
||||
}
|
||||
}, this)));
|
||||
this.pad_table_to(4);
|
||||
}
|
||||
return result;
|
||||
},
|
||||
render_record: function(record) {
|
||||
var self = this;
|
||||
var index = this.records.indexOf(record);
|
||||
return QWeb.render('ListView.row', {
|
||||
columns: this.columns,
|
||||
options: this.options,
|
||||
record: record,
|
||||
row_parity: (index % 2 === 0) ? 'even' : 'odd',
|
||||
view: this.view,
|
||||
render_cell: function () {
|
||||
return self.render_cell.apply(self, arguments); },
|
||||
fct_colorize: function(){
|
||||
return self.fct_colorize.apply(self, arguments);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<tr t-extend="ListView.row">
|
||||
<t t-jquery="td[t-att-data-field='column.id']" t-operation="attributes">
|
||||
<attribute name="t-att-style">fct_colorize(record, column)</attribute>
|
||||
<attribute name="t-att-style">columns.fct_colorize(record, column)</attribute>
|
||||
</t>
|
||||
</tr>
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
<data>
|
||||
<template id="assets_backend" name="web_tree_dynamic_colored_field assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/web_tree_dynamic_colored_field/static/js/web_tree_dynamic_colored_field.js"></script>
|
||||
<script type="text/javascript" src="/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
|
|
Loading…
Reference in New Issue