You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
4.0 KiB

  1. .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
  2. :target: https://www.gnu.org/licenses/agpl
  3. :alt: License: AGPL-3
  4. ============================
  5. Colorize field in tree views
  6. ============================
  7. This module aims to add support for dynamically coloring fields in tree view
  8. according to data in the record.
  9. It provides attributes on fields with the similar syntax as the ``colors`` attribute
  10. in tree tags.
  11. Further, it provides a ``color_field`` attribute on tree tags's ``colors`` to use
  12. a field's value as color.
  13. Features
  14. ========
  15. * Add attribute ``bg_color`` on field's ``options`` to color background of a cell in tree view
  16. * Add attribute ``fg_color`` on field's ``options`` to change text color of a cell in tree view
  17. * Add attribute ``color_field`` on the tree element's ``colors`` to use as color
  18. Usage
  19. =====
  20. * In the tree view declaration, put ``options='{"bg_color": "red: customer==True"}`` attribute in the ``field`` tag::
  21. ...
  22. <field name="arch" type="xml">
  23. <tree string="View name">
  24. ...
  25. <field name="name" options='{"bg_color": "red: customer == True"}'/>
  26. ...
  27. </tree>
  28. </field>
  29. ...
  30. With this example, column which renders 'name' field will have its background colored in red.
  31. * In the tree view declaration, put ``options='{"fg_color": "white:customer == True"}'`` attribute in the ``field`` tag::
  32. ...
  33. <field name="arch" type="xml">
  34. <tree string="View name">
  35. ...
  36. <field name="name" options='{"fg_color": "white:customer == True"}'/>
  37. ...
  38. </tree>
  39. </field>
  40. ...
  41. With this example, column which renders 'name' field will have its text colored in white on a customer records.
  42. * In the tree view declaration, use ``options='"color_field": "my_color"'`` attribute in the ``tree`` tag::
  43. ...
  44. <field name="arch" type="xml">
  45. <tree string="View name" colors="color_field: my_color" >
  46. ...
  47. <field name="my_color" invisible="1"/>
  48. ...
  49. </tree>
  50. </field>
  51. ...
  52. * If you want to use more than one color, you can split the attributes using ';':
  53. .. code::
  54. options='{"fg_color": "red:red_color == True; green:green_color == True"}'
  55. Example:
  56. .. code:: xml
  57. ...
  58. <field name="arch" type="xml">
  59. <tree string="View name">
  60. ...
  61. <field name="name" options='{"fg_color": "red:red_color == True; green:green_color == True"}'/>
  62. ...
  63. </tree>
  64. </field>
  65. ...
  66. With this example, the content of the field named `my_color` will be used to
  67. populate the `my_color` CSS value. Use a function field to return whichever
  68. color you want depending on the other record values. Note that this
  69. overrides the rest of `colors` attributes, and that you need the tree
  70. to load your field in the first place by adding it as invisible field.
  71. **Note that you should always use single quotes for fields' ``options`` and wrap nested values in double quotes since ``options`` is a JSON object.**
  72. Bug Tracker
  73. ===========
  74. Bugs are tracked on `GitHub Issues
  75. <https://github.com/OCA/web/issues>`_. In case of trouble, please
  76. check there if your issue has already been reported. If you spotted it first,
  77. help us smash it by providing detailed and welcomed feedback.
  78. Credits
  79. =======
  80. Images
  81. ------
  82. * Odoo Community Association: `Icon <https://odoo-community.org/logo.png>`_.
  83. Contributors
  84. ------------
  85. * Damien Crier <damien.crier@camptocamp.com>
  86. * Holger Brunn <hbrunn@therp.nl>
  87. * Artem Kostyuk <a.kostyuk@mobilunity.com>
  88. * Guewen Baconnier <guewen.baconnier@camptocamp.com>
  89. Maintainer
  90. ----------
  91. .. image:: https://odoo-community.org/logo.png
  92. :alt: Odoo Community Association
  93. :target: https://odoo-community.org
  94. This module is maintained by the OCA.
  95. OCA, or the Odoo Community Association, is a nonprofit organization whose
  96. mission is to support the collaborative development of Odoo features and
  97. promote its widespread use.
  98. To contribute to this module, please visit https://odoo-community.org.