From 298ece90727bd4fd2b4aec085b9dcff72087b5c3 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 22 Mar 2016 10:50:34 +0100 Subject: [PATCH] support color_field attribute --- web_tree_dynamic_colored_field/README.rst | 29 ++++++++++++++-- .../src/js/web_tree_dynamic_colored_field.js | 34 ++++++++++++++++--- 2 files changed, 55 insertions(+), 8 deletions(-) diff --git a/web_tree_dynamic_colored_field/README.rst b/web_tree_dynamic_colored_field/README.rst index 90174e3d..f388d8b1 100644 --- a/web_tree_dynamic_colored_field/README.rst +++ b/web_tree_dynamic_colored_field/README.rst @@ -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`` on fields to change text color of a cell in tree view -* Add attribute 'fg_color' 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:: + + ... + + + ... + + ... + + + ... + With this example, the content of the field named `color` will be used to + populate the `color` CSS calue. 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 +* Holger Brunn Maintainer ---------- diff --git a/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js b/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js index c1a22d76..36b4dac6 100644 --- a/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js +++ b/web_tree_dynamic_colored_field/static/src/js/web_tree_dynamic_colored_field.js @@ -8,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]){ @@ -18,11 +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, - instance.web.pyeval.context() - ); + var ctx = get_eval_context(record); for(i=0, len=colors.length; i