MCPcopy
hub / github.com/nhn/tui.chart / getThemeOptionsWithSeriesName

Function getThemeOptionsWithSeriesName

apps/chart/src/store/theme.ts:69–118  ·  view source on GitHub ↗
(
  options: Options,
  series: RawSeries,
  commonSeriesOptions: SeriesTheme,
  isNestedPieChart: boolean
)

Source from the content-addressed store, hash-verified

67}
68
69function 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
120function setColors(
121 theme: Theme,

Callers 1

getThemeFunction · 0.85

Calls 4

deepMergedCopyFunction · 0.90
omitFunction · 0.90

Tested by

no test coverage detected