odoo/o-spreadsheet#5756

Created by BI, Adrien Minne (adrm)
Merged at bf886a6f4fcfbda7c3dd5946dc3203d1606731b4

Statuses:

label
odoo:master-sunburst-chart-adrm
head
c6c0fc83fa240ebba240504ba1e8c4c08b6f1c04
merged
1 year ago by BI, Vincent Schippefilt (vsc)
odoo/o-spreadsheet
master #5756

Master sunburst chart adrm

Description:

[IMP] demo: add demo data for sunburst chart

[IMP] chart: add sunburst chart

This commit adds a new chart type: sunburst chart. The sunburst chart
is used to display hierarchical data in a circular chart.

Technically, the chart is implemented using a doughnut chart with
multiple levels and invisible segments.

[IMP] chart: add ChartWithAxisDefinition type

Before this, we used the type ChartWithDataSetDefinition in the
component AxisDesignEditor. Which was wrong because there are charts
with datasets but no axis (geo, pie). It forced those chart to have a
unused key axisDesign in their definition.

The aggregated key in the geo chart definition is also never used
(they are always aggregated).

[IMP] tests: define default creation context for chart tests

Every type of chart has a test that checks what happens if we
create a chart from a creation context. But every time we add something
new to to creation context, we have to change every single test, even
if the chart doesn't use the new key of the context.

This commits adds a constant with a default creation context to
simplify the tests.

[IMP] chart: extract ChartTitle tools into TextStyler

This commit extract the style editing tools of the ChartTitle
component into a new component called TextStyler. This will be used
in the following commits to have a more generic component that can be
used to style any text in the chart.

It also adds add the possibility ot edit a background color or a
vertical alignment in this TextStyler component.

The commit also simplifies the TextStyler compared to the previous
behaviour of ChartTitle by:

[MOV] chart: rename title files to chart_title

Task: 4575651

review checklist