Colorize field in tree views
(0)
47

Colorize field in tree views

FREE

Technical name
web_tree_dynamic_colored_field
License
AGPL-3
Secure dependencies
N/A
Colorize field in tree views

Colorize field in tree views

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module aims to add support for dynamically coloring fields in tree view according to data in the record.

Features

  • Add attribute bg_color on field’s options to color background of a cell in tree view
  • Add attribute fg_color on field’s options to change text color of a cell in tree view

Table of contents

Usage

  • In the tree view declaration, put options='{"bg_color": "red: customer==True"} attribute in the field tag:

    ...
    <field name="arch" type="xml">
        <tree string="View name">
            ...
            <field name="name" options='{"bg_color": "red: customer == True"}'/>
            ...
        </tree>
    </field>
    ...
    
    With this example, column which renders 'name' field will have its **background** colored in red on customer records.
    
  • In the tree view declaration, put options='{"fg_color": "white:customer == True"}' attribute in the field tag:

    ...
    <field name="arch" type="xml">
        <tree string="View name">
            ...
            <field name="name" options='{"fg_color": "white:customer == True"}'/>
            ...
        </tree>
    </field>
    ...
    
    With this example, column which renders 'name' field will have its **text** colored in white on customer records.
    
  • If you want to use more than one color, you can split the attributes using ‘;’:

options='{"fg_color": "red:red_color == True; green:green_color == True"}'

Example:

...
 <field name="arch" type="xml">
     <tree string="View name">
         ...
         <field name="name" options='{"fg_color": "red:red_color == True; green:green_color == True"}'/>
         ...
     </tree>
 </field>
 ...
  • Can use strings too… In the tree view declaration, put options="{'fg_color': 'green:customer_state == \'success\''}" attribute in the field tag:

    ...
    <field name="arch" type="xml">
        <tree string="View name">
            ...
            <field name="name" options="{'fg_color': 'green:customer_state == \'success\''}"/>
            ...
        </tree>
    </field>
    ...
    

Note that you can use single or normal quotes. If the declaration of the options doesn’t follow the JSON format, the options string will be evaluated using py.eval()

Known issues / Roadmap

  • Before version 13.0, this module had a feature allowing to change the color of a line depending on a field, using a colors attribute with the name of the field on the <tree> element. Since 13.0, the colors attribute is no longer in the RelaxNG schema of the tree view, so we can’t use it anymore. This feature has then been dropped, but could be reimplement in another way.
  • Since version 17.0 coloring is written into style attribute of (td) element

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Authors

  • Camptocamp
  • Therp BV

Contributors

Other credits

The development of this module has been financially supported by:

  • Camptocamp
  • Versada

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/web project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

0.0 / 5.0
based on 0 ratings
This app does not use any external Python dependencies.

Available languages

Language % translated
Chinese (Simplified) / 简体中文
100%
Finnish / Suomi
100%
French / Français
100%
Dutch / Nederlands
100%
Slovenian / slovenščina
100%
Spanish / Español
100%
Italian / Italiano
100%