( options: Options, series: RawSeries, commonSeriesOptions: SeriesTheme, isNestedPieChart: boolean )
| 67 | } |
| 68 | |
| 69 | function getThemeOptionsWithSeriesName( |
| 70 | options: Options, |
| 71 | series: RawSeries, |
| 72 | commonSeriesOptions: SeriesTheme, |
| 73 | isNestedPieChart: boolean |
| 74 | ): Theme { |
| 75 | const theme = getThemeAppliedSecondaryYAxis(options); |
| 76 | if (!theme?.series) { |
| 77 | return { ...theme } as Theme; |
| 78 | } |
| 79 | |
| 80 | const seriesTheme = { ...theme, series: {} } as Theme; |
| 81 | const seriesNames = Object.keys(series); |
| 82 | const isComboChart = seriesNames.length > 1; |
| 83 | |
| 84 | if (isNestedPieChart) { |
| 85 | const aliasNames = getNestedPieChartAliasNames(series); |
| 86 | seriesTheme.series = { |
| 87 | pie: aliasNames.reduce( |
| 88 | (acc, aliasName) => ({ |
| 89 | ...acc, |
| 90 | [aliasName]: deepMergedCopy( |
| 91 | theme.series?.[aliasName], |
| 92 | omit(commonSeriesOptions as PieChartSeriesTheme, 'colors') |
| 93 | ), |
| 94 | }), |
| 95 | {} |
| 96 | ), |
| 97 | }; |
| 98 | } else if (isComboChart) { |
| 99 | seriesTheme.series = { |
| 100 | ...seriesNames.reduce( |
| 101 | (acc, seriesName) => ({ |
| 102 | ...acc, |
| 103 | [seriesName]: deepMergedCopy( |
| 104 | theme.series?.[seriesName], |
| 105 | omit(commonSeriesOptions as ComboChartSeriesTheme, 'colors') |
| 106 | ), |
| 107 | }), |
| 108 | {} |
| 109 | ), |
| 110 | }; |
| 111 | } else { |
| 112 | seriesTheme.series = { |
| 113 | [seriesNames[0]]: theme.series, |
| 114 | }; |
| 115 | } |
| 116 | |
| 117 | return seriesTheme; |
| 118 | } |
| 119 | |
| 120 | function setColors( |
| 121 | theme: Theme, |
no test coverage detected