Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
9d97e3e
[ADD] web_widget_x2many_2d_matrix
hbrunn Mar 11, 2015
f7116c6
[UPD] readme
hbrunn Mar 11, 2015
e688941
[IMP] show column totals in table footer
hbrunn Mar 12, 2015
b10eb32
[FIX] use odoo's parse_value
hbrunn Mar 12, 2015
569d2ad
[ADD] allow to open linked record
hbrunn Mar 12, 2015
adc4b81
[IMP] handle readonly flag
hbrunn Mar 12, 2015
d158736
[IMP] collapse whitespace in rows
hbrunn Mar 13, 2015
e371c00
[IMP] support changing readonly state
hbrunn Mar 13, 2015
87f07a4
[FIX] update readonly value after editing
hbrunn Mar 13, 2015
92d2e2e
[IMP] pass computed totals to inheriting function
hbrunn Mar 13, 2015
6cd7aa0
[FIX] replace therp icon
hbrunn Mar 13, 2015
46d6cfb
[FIX] setup focus
hbrunn Mar 13, 2015
3566d0b
[ADD] validation
hbrunn Mar 13, 2015
37d50a7
[IMP] we don't need data-x and data-y on the input
hbrunn Mar 16, 2015
884807c
[IMP] use semantic css classes instead of element names
hbrunn Mar 16, 2015
1a3eaaa
[IMP] add screenshot, example in README
hbrunn Mar 16, 2015
8040c2b
[IMP] icon
hbrunn Mar 16, 2015
531b91a
[IMP] better modularity
hbrunn Mar 18, 2015
f15c5ca
[FIX] support rerendering after virtual ids change
hbrunn Apr 16, 2015
1945ad9
[FIX] also reinitialize totals
hbrunn Apr 16, 2015
685f74e
Add bug tracker link on README.rst
yvaucher May 22, 2015
f916d13
add OCA to author
Jun 4, 2015
a441b6c
remove comma
Jun 4, 2015
b27e24f
[UPD] prefix versions with 8.0
sbidoul Oct 9, 2015
61597c6
[MIG] Make modules uninstallable
pedrobaeza Oct 14, 2015
dcb5734
[IMP] web_widget_x2many_2d_matrix: Several improvements
hbrunn Jan 18, 2016
9bc01ce
[IMP] web_widget_x2many_2d_matrix: New option field_att_<name>
pedrobaeza Sep 14, 2016
a81fe98
[MIG] web_widget_x2many_2d_matrix: Migration to 9.0
pedrobaeza Sep 16, 2016
6b63ace
[IMP] web_widget_x2many_2d_matrix: Use new JS modularized API.
yajo Sep 16, 2016
3a7ccef
[IMP] web_widget_x2many_2d_matrix: Include x_axis_clickable and y_axi…
pedrobaeza Sep 21, 2016
2a19304
[FIX] web_widget_x2many_2d_matrix: Use existing value in load_views
pedrobaeza Sep 21, 2016
509cac0
[IMP] web_widget_x2many_2d_matrix: Better options parsing
pedrobaeza Sep 22, 2016
14506d0
[IMP+ web_widget_x2many_2d_matrix: Add roadmap
pedrobaeza Sep 22, 2016
840c215
[IMP] web_widget_x2many_2d_matrix: Remove unneeded code
pedrobaeza Sep 22, 2016
237f69c
[FIX] web_widget_x2many_2d_matrix: Init correctly the view
pedrobaeza Sep 22, 2016
8878a85
[MIG] Make modules uninstallable
pedrobaeza Oct 6, 2016
de67a0e
[MIG] Rename manifest files
pedrobaeza Oct 6, 2016
1858e09
Migration of web_widget_x2many_2d_matrix to 10.0
jesusVMayor Apr 24, 2017
c340cfd
[IMP] web_widget_x2many_2d_matrix: Update example
pedrobaeza Apr 28, 2017
8fa1bb6
[10.0] web_widget_x2many_2d_matrix: update README
Jun 21, 2017
f2ce2a6
[FIX] web_widget_x2many_2d_matrix: fixes (#712)
Aug 30, 2017
727e479
[11][MIG] web_widget_x2many_2d_matrix WIP
Feb 15, 2018
87bf5ad
[MIG+REF][11] web_widget_x2many_2d_matrix
simahawk Feb 19, 2018
a964551
[11.0] x2m matrix widget: Fix display of widget when called in onchange
grindtildeath Apr 17, 2018
e9d39bf
[FIX] Make matrix editable depending of the status of the parent
MiquelRForgeFlow May 2, 2018
06c6f0c
Translated using Weblate (Portuguese (Brazil))
Aug 3, 2018
1afb85f
[FIX] web_widget_x2many_2d_matrix: Fix linters
yajo Aug 21, 2018
a01f364
[FIX] web_widget_x2many_2d_matrix: Enable keyboard navigation
yajo Aug 21, 2018
be61f45
[FIX] web_widget_x2many_2d_matrix: Allow empty cells
yajo Aug 24, 2018
bb15170
[IMP] web_widget_x2many_2d_matrix: Total of all rows (#1043)
tarteo Sep 20, 2018
a44052f
[UPD] Update web_widget_x2many_2d_matrix.pot
oca-travis Sep 20, 2018
be7a947
web_widget_x2many_matrix: fix issue with limit of records
JordiBForgeFlow Aug 7, 2018
344617f
[FIX] web_widget_x2many_2d_matrix: Closing parenthesis
pedrobaeza Nov 9, 2018
057f10d
[MIG] web_widget_x2many_2d_matrix: Migration to 12.0
alexey-pelykh Nov 9, 2018
cbdffd2
[12.0][FIX] web_widget_x2many_2d_matrix: README
alexey-pelykh Nov 20, 2018
7809746
[FIX] web_widget_x2many_2d_matrix: _renderBodyCell + _renderAggregate…
alexey-pelykh Dec 6, 2018
e2ade16
[FIX] web_widget_x2many_2d_matrix: total cell calculation
alexey-pelykh Feb 5, 2019
e249f6f
[IMP] web_widget_x2many_2d_matrix: center header cell
alexey-pelykh Feb 15, 2019
f4a143e
[FIX] web_widget_x2many_2d_matrix: Use widget for formatting aggregates
tarteo Apr 24, 2019
4b1b502
[FIX] web_widget_x2many_2d_matrix: Padding in aggregate row
tarteo Apr 25, 2019
0057046
Translated using Weblate (Italian)
GSLabIt May 3, 2019
a2227eb
Translated using Weblate (French)
Aug 6, 2019
59cf649
Added translation using Weblate (Chinese (Simplified))
liweijie0812 Sep 1, 2019
08b88b2
Translated using Weblate (Chinese (Simplified))
liweijie0812 Sep 1, 2019
fcfd3b2
Translated using Weblate (Portuguese (Brazil))
Sep 2, 2019
ceae618
[ADD] detect if used field type can be aggregated
hbrunn Sep 15, 2019
ca6568d
[FIX] web_widget_x2many_2d_matrix: Forced render mode to list on smal…
Tardo Oct 11, 2019
7230743
Revert "[FIX] web_widget_x2many_2d_matrix: Forced render mode to list…
pedrobaeza Oct 14, 2019
3a0b54f
[FIX] web_widget_x2many_2d_matrix: Force render in list mode on mobile
Tardo Oct 14, 2019
ebab2fc
Translated using Weblate (Croatian)
badbole Nov 14, 2019
4a1a5c1
[FIX] web_widget_x2many_2d_matrix: Wrong widget
fuentes73 Nov 22, 2019
820e60e
[IMP] web_widget_x2many_matrix: Sticky header, footer rows and main, …
Tardo Dec 11, 2019
18aa133
[FIX] web_widget_x2many_2d_matrix: Ensure lines order
fuentes73 Jan 28, 2020
56c7be4
[IMP] web_widget_x2many_2d_matrix: black, isort
AdriaGForgeFlow Feb 14, 2020
58d7acc
[13.0][MIG] web_widget_x2many_2d_matrix
AdriaGForgeFlow Feb 14, 2020
8ab125b
Update translation files
oca-transbot Mar 9, 2020
38a7aed
[IMP] web_widget_x2many_2d_matrix: Debug mode
Tardo Apr 15, 2020
ed10ff8
Translated using Weblate (German)
didierdonze Jul 22, 2020
5de6010
[UPD] Brainbean Apps => CorporateHub
alexey-pelykh Nov 8, 2020
ac4ae7a
[IMP] web_widget_x2many_2d_matrix: black, isort, prettier
Saran440 Nov 13, 2020
74ad51b
[14.0][MIG] web_widget_x2many_2d_matrix
Saran440 Nov 13, 2020
e1ad287
[UPD] Update web_widget_x2many_2d_matrix.pot
oca-travis Feb 22, 2021
5210f44
Added translation using Weblate (Dutch)
bosd Apr 22, 2021
8a6f1f1
Translated using Weblate (Dutch)
bosd Apr 22, 2021
2d64ab7
Translated using Weblate (Dutch)
bosd Apr 22, 2021
14202c5
[FIX] web_widget_x2many_2d_matrix: remove console.log
legalsylvain Sep 9, 2021
e5ac480
[IMP] web_widget_x2many_2d_matrix: black, isort, prettier
ChrisOForgeFlow Dec 13, 2021
a345e71
[15.0][MIG] web_widget_x2many_2d_matrix
ChrisOForgeFlow Dec 13, 2021
2f9bf01
[UPD] web_widget_x2many_2d_matrix dev status to Production/stable
LoisRForgeFlow Feb 18, 2022
6d833f6
[FIX] web_widget_x2many_2d_matrix: make the possibility to have alter…
legalsylvain Mar 11, 2022
17aa776
[MIG] web_widget_x2_many_2d_matrix: Migration to 16.0
tarteo Mar 3, 2023
5767386
[IMP] web_widget_x2many_2d_matrix: Check is aggregatable
tarteo Jun 7, 2023
c5155a0
[IMP] web_widget_x2many_2d_matrix: Many2one value field
tarteo Jun 7, 2023
7570626
Translated using Weblate (German)
NICO-SOLUTIONS Jun 20, 2023
f6049d7
[FIX] web_widget_x2many_2d_matrix: many2one domain issue
tarteo Aug 1, 2023
95e229b
Translated using Weblate (Spanish)
Ivorra78 Aug 27, 2023
7b9a190
Translated using Weblate (Italian)
mymage Nov 27, 2023
b5f0340
[16.0][FIX] web_widget_x2many_2d_matrix: cells with no data error
lef-adhoc Dec 28, 2023
dd5731c
[FIX]: web_widget_x2many_2d_matrix: Editable boolean
Jul 11, 2023
66200c0
[IMP] web_widget_x2many_2d_matrix: pre-commit auto fixes
SodexisTeam Feb 29, 2024
32a041c
[MIG] web_widget_x2many_2d_matrix: Migration to 17.0
SodexisTeam Jun 10, 2024
403768f
[MIG] web_widget_x2many_2d_matrix: Migration to 18.0
yankinmax Jan 7, 2025
039b9d3
[IMP] web_widget_x2many_2d_matrix: allow to set options and attrs for…
DavidJForgeFlow Mar 14, 2025
4391d6c
[IMP] web_widget_x2many_2d_matrix: remove bg-colors to work with Odoo…
DavidJForgeFlow Mar 18, 2025
6b01f07
[IMP] web_widget_x2many_2d_matrix: update maintainers
LoisRForgeFlow Mar 21, 2025
a93d2d0
[IMP] web_widget_x2many_2d_matrix: Fix domain issue
JasminSForgeFlow Feb 17, 2025
6606b94
[18.0][FIX]: web_widget_x2many_2d_matrix: limit options values to x2m…
jcadhoc Jun 18, 2025
30c5000
[FIX] web_widget_x2many_2d_matrix: don't break non-many2one value fields
hbrunn Jun 20, 2025
1ed8fa6
[ADD] web_widget_x2many_2d_matrix: tests
hbrunn Jun 20, 2025
94401ad
[FIX] web_widget_x2many_2d_matrix: restore pre-v16 functionality (nodes)
hbrunn Jun 20, 2025
32be9c3
[FIX] web_widget_x2many_2d_matrix: restore pre-v16 functionality (cli…
hbrunn Jun 20, 2025
ec53ac5
[ADD] hbrunn as maintainer, HE as author
hbrunn Jun 20, 2025
ad0a9f8
[IMP] web_widget_x2many_2d_matrix: demo page on group form
hbrunn Jul 10, 2025
6ef20d0
[IMP] web_widget_x2many_2d_matrix: don't choke on missing data
hbrunn Jul 10, 2025
cefa0c6
Translated using Weblate (Italian)
mymage Jul 11, 2025
c9e14c8
[FIX] web_widget_x2many_2d_matrix: adapt test invocation to upstream …
hbrunn Jul 25, 2025
aae833c
[FIX] web_widget_x2many_2d_matrix: restore pre-v17 functionality (axes)
hbrunn Aug 8, 2025
7ed1af4
Translated using Weblate (Italian)
mymage Aug 19, 2025
84db71b
[18.0][FIX] web_widget_x2many_2d_matrix: fix sticky header/column ove…
RicardCForgeFlow Jan 8, 2026
fa99d6a
Translated using Weblate (Italian)
mymage Jan 12, 2026
f287158
[18.0][FIX] web_widget_x2many_2d_matrix: fix total updates
RicardCForgeFlow Jan 15, 2026
9a494ed
[18.0][FIX] web_widget_x2many_2d_matrix: monetary field display
remi-filament Feb 9, 2026
dcfaba5
[IMP] hide input border on monetary fields
remi-filament Feb 10, 2026
dae2095
Translated using Weblate (Spanish)
Ed-Spain Apr 13, 2026
5280f34
Translated using Weblate (Slovenian)
sysadminmatmoz Jun 6, 2026
44f840e
[IMP] web_widget_x2many_2d_matrix: pre-commit auto fixes
dnplkndll Jun 12, 2026
ad9b364
[MIG] web_widget_x2many_2d_matrix: Migration to 19.0
dnplkndll Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
278 changes: 278 additions & 0 deletions web_widget_x2many_2d_matrix/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,278 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

===========================
2D matrix for x2many fields
===========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:ee9770e3b66b5fad88f24d1ce0ef2ee7f3827fb3aaa72f1d3a3d024c36acdaff
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/19.0/web_widget_x2many_2d_matrix
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_widget_x2many_2d_matrix
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows to show an x2many field with 3-tuples ($x_value,
$y_value, $value) in a table

========= =========== ===========
\ $x_value1 $x_value2
========= =========== ===========
$y_value1 $value(1/1) $value(2/1)
$y_value2 $value(1/2) $value(2/2)
========= =========== ===========

where value(n/n) is editable.

An example use case would be: Select some projects and some employees so
that a manager can easily fill in the planned_hours for one task per
employee. The result could look like this:

|Screenshot|

The beauty of this is that you have an arbitrary amount of columns with
this widget, trying to get this in standard x2many lists involves some
quite ugly hacks.

.. |Screenshot| image:: https://raw.githubusercontent.com/OCA/web/12.0/web_widget_x2many_2d_matrix/static/description/screenshot.png

**Table of contents**

.. contents::
:local:

Usage
=====

Use this widget by saying:

::

<field name="my_field" widget="x2many_2d_matrix" />

This assumes that my_field refers to a model with the fields x, y and
value. If your fields are named differently, pass the correct names as
attributes:

.. code:: xml

<field name="my_field" widget="x2many_2d_matrix" field_x_axis="my_field1" field_y_axis="my_field2" field_value="my_field3">
<list>
<field name="my_field"/>
<field name="my_field1"/>
<field name="my_field2"/>
<field name="my_field3"/>
</list>
</field>

You can pass the following parameters:

field_x_axis The field that indicates the x value of a point

field_y_axis The field that indicates the y value of a point

field_value Show this field as value

show_row_totals If field_value is a numeric field, it indicates if you
want to calculate row totals. True by default

show_column_totals If field_value is a numeric field, it indicates if
you want to calculate column totals. True by default

x_axis_clickable If the x axis field is a many2one field, render the
values as links to the record in question

y_axis_clickable If the y axis field is a many2one field, render the
values as links to the record in question

For the value field, you can set any attributes you'd set in a normal
list view, ie if your value field is a many2one field and you want to
disable creating records via this field, you'd write

.. code:: xml

<field name="my_field3" options="{'no_create': true}"/>

or if you want to have a custom domain or context

.. code:: xml

<field name="my_field3" domain="[('some_field', '=', my_field1)]" context="{'default_some_field': my_field1}" />

Note that to be able to refer to other fields than the ones used as
coordinates or value, you have to add them inside the ``list`` node.

Example
-------

You need a data structure already filled with values. Let's assume we
want to use this widget in a wizard that lets the user fill in planned
hours for one task per project per user. In this case, we can use
``project.task`` as our data model and point to it from our wizard. The
crucial part is that we fill the field in the default function:

.. code:: python

from odoo import fields, models

class MyWizard(models.TransientModel):
_name = 'my.wizard'

def _default_task_ids(self):
# your list of project should come from the context, some selection
# in a previous wizard or wherever else
projects = self.env['project.project'].browse([1, 2, 3])
# same with users
users = self.env['res.users'].browse([1, 2, 3])
return [
(0, 0, {
'name': 'Sample task name',
'project_id': p.id,
'user_id': u.id,
'planned_hours': 0,
'message_needaction': False,
'date_deadline': fields.Date.today(),
})
# if the project doesn't have a task for the user,
# create a new one
if not p.task_ids.filtered(lambda x: x.user_id == u) else
# otherwise, return the task
(4, p.task_ids.filtered(lambda x: x.user_id == u)[0].id)
for p in projects
for u in users
]

task_ids = fields.Many2many('project.task', default=_default_task_ids)

Now in our wizard, we can use:

.. code:: xml

<field name="task_ids" widget="x2many_2d_matrix" field_x_axis="project_id" field_y_axis="user_id" field_value="planned_hours">
<list>
<field name="task_ids"/>
<field name="project_id"/>
<field name="user_id"/>
<field name="planned_hours"/>
</list>
</field>

Known issues / Roadmap
======================

- Support limit total records in the matrix. Ref:
https://github.com/OCA/web/issues/901
- Support cell traversal through keyboard arrows.
- Entering the widget from behind by pressing ``Shift+TAB`` in your
keyboard will enter into the 1st cell until
https://github.com/odoo/odoo/pull/26490 is merged.
- Support kanban mode. Current behaviour forces list mode.

Changelog
=========

12.0.1.0.1 (2018-12-07)
-----------------------

- [FIX] Cells are unable to render property.
(`#1126 <https://github.com/OCA/web/issues/1126>`__)

12.0.1.0.0 (2018-11-20)
-----------------------

- [12.0][MIG] web_widget_x2many_2d_matrix
(`#1101 <https://github.com/OCA/web/issues/1101>`__)

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/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 <https://github.com/OCA/web/issues/new?body=module:%20web_widget_x2many_2d_matrix%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* Hunki Enterprises BV
* Therp BV
* Tecnativa
* Camptocamp
* CorporateHub
* Onestein

Contributors
------------

- Holger Brunn <mail@hunki-enterprises.com>
- Pedro M. Baeza <pedro.baeza@tecnativa.com>
- Artem Kostyuk <a.kostyuk@mobilunity.com>
- Simone Orsi <simone.orsi@camptocamp.com>
- Timon Tschanz <timon.tschanz@camptocamp.com>
- Jairo Llopis <jairo.llopis@tecnativa.com>
- Dennis Sluijk <d.sluijk@onestein.nl>
- `CorporateHub <https://corporatehub.eu/>`__

- Alexey Pelykh <alexey.pelykh@corphub.eu>

- Adrià Gil Sorribes <adria.gil@forgeflow.com>
- Christopher Ormaza <chris.ormaza@forgeflow.com>
- SodexisTeam <dev@sodexis.com>
- Jasmin Solanki jasmin.solanki@forgeflow.com
- David Jiménez david.jimenez@forgeflow.com

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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.

.. |maintainer-JasminSForgeFlow| image:: https://github.com/JasminSForgeFlow.png?size=40px
:target: https://github.com/JasminSForgeFlow
:alt: JasminSForgeFlow
.. |maintainer-DavidJForgeFlow| image:: https://github.com/DavidJForgeFlow.png?size=40px
:target: https://github.com/DavidJForgeFlow
:alt: DavidJForgeFlow
.. |maintainer-hbrunn| image:: https://github.com/hbrunn.png?size=40px
:target: https://github.com/hbrunn
:alt: hbrunn

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-JasminSForgeFlow| |maintainer-DavidJForgeFlow| |maintainer-hbrunn|

This module is part of the `OCA/web <https://github.com/OCA/web/tree/19.0/web_widget_x2many_2d_matrix>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions web_widget_x2many_2d_matrix/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
46 changes: 46 additions & 0 deletions web_widget_x2many_2d_matrix/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright 2015 Holger Brunn <hbrunn@therp.nl>
# Copyright 2016 Pedro M. Baeza <pedro.baeza@tecnativa.com>
# Copyright 2018 Simone Orsi <simone.orsi@camptocamp.com>
# Copyright 2020 CorporateHub (https://corporatehub.eu)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "2D matrix for x2many fields",
"version": "19.0.1.0.0",
"maintainers": ["JasminSForgeFlow", "DavidJForgeFlow", "hbrunn"],
"development_status": "Production/Stable",
"author": (
"Hunki Enterprises BV, "
"Therp BV, "
"Tecnativa, "
"Camptocamp, "
"CorporateHub, "
"Onestein, "
"Odoo Community Association (OCA)"
),
"website": "https://github.com/OCA/web",
"license": "AGPL-3",
"category": "Hidden/Dependency",
"summary": "Show list fields as a matrix",
"depends": ["web"],
"demo": [
"demo/res_groups_views.xml",
],
"installable": True,
"assets": {
"web.assets_backend": [
"web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_renderer/"
"x2many_2d_matrix_renderer.esm.js",
"web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_renderer/"
"x2many_2d_matrix_renderer.xml",
"web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_field/"
"x2many_2d_matrix_field.esm.js",
"web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_field/"
"x2many_2d_matrix_field.xml",
"web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_field/"
"x2many_2d_matrix_field.scss",
],
"web.assets_unit_tests": [
"web_widget_x2many_2d_matrix/static/tests/*",
],
},
}
Loading
Loading