@advt-gpt-chart/package 3.1.0 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -55
- package/dist/Chart/ChartBase/constants.d.ts +5 -1
- package/dist/Chart/ChartBase/types.d.ts +14 -3
- package/dist/Chart/ChartCodeRender/type.d.ts +43 -1
- package/dist/Chart/ChartControllers/DataFormat/utils.d.ts +5 -0
- package/dist/Chart/ChartControllers/utils.d.ts +2 -0
- package/dist/Chart/ChartWrapper/utils.d.ts +1 -0
- package/dist/Chart/Dataset/types.d.ts +2 -1
- package/dist/Chart/Dataset/useDataset.d.ts +2 -2
- package/dist/Charts/Composite/types.d.ts +20 -0
- package/dist/Charts/common/constants/index.d.ts +0 -0
- package/dist/Charts/common/hooks/index.d.ts +1 -0
- package/dist/Charts/common/hooks/useChartConfigTools.d.ts +43 -0
- package/dist/Charts/common/index.d.ts +6 -0
- package/dist/Charts/common/tools/index.d.ts +0 -0
- package/dist/ConfigProvider/hooks/useConfig.d.ts +7 -0
- package/dist/GPTVis/hooks/useChartStore.d.ts +9 -3
- package/dist/index.es.js +27031 -26835
- package/dist/index.es.js.gz +0 -0
- package/dist/index.umd.js +709 -709
- package/dist/index.umd.js.gz +0 -0
- package/dist/types/chart.d.ts +3 -0
- package/dist/utils/echart.d.ts +2 -0
- package/dist/version.d.ts +1 -1
- package/package.json +45 -45
package/README.md
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
# advt-gpt-chart 可视化组件库
|
|
2
|
-
|
|
3
|
-
## 特性
|
|
4
|
-
|
|
5
|
-
- 📊 支持13+图表类型(折线图/柱状图/饼图/雷达图等)
|
|
6
|
-
- 🎨 内置Light/Dark双主题体系
|
|
7
|
-
- 📝 Markdown协议直接渲染图表
|
|
8
|
-
<!-- - 🌐 国际化多语言支持 -->
|
|
9
|
-
- 🛠 完善的TypeScript类型定义
|
|
10
|
-
|
|
11
|
-
# 安装依赖
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm install @advt-gpt-chart/package
|
|
15
|
-
pnpm install @advt-gpt-chart/package
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
# 使用
|
|
19
|
-
```tsx
|
|
20
|
-
import { ConfigProvider, Line, GPTVis } from '@advt-gpt-chart/package';
|
|
21
|
-
|
|
22
|
-
function App() {
|
|
23
|
-
|
|
24
|
-
const markdownContent = `
|
|
25
|
-
以下是为你绘制的一个饼图
|
|
26
|
-
\`\`\`vis-chart
|
|
27
|
-
{
|
|
28
|
-
"type": "pie",
|
|
29
|
-
"data": [
|
|
30
|
-
{ "category": "分类一", "value": 27 },
|
|
31
|
-
{ "category": "分类二", "value": 25 },
|
|
32
|
-
{ "category": "分类三", "value": 18 },
|
|
33
|
-
{ "category": "分类四", "value": 15 },
|
|
34
|
-
{ "category": "分类五", "value": 10 },
|
|
35
|
-
{ "category": "其他", "value": 5 }
|
|
36
|
-
],
|
|
37
|
-
"nameField": "category",
|
|
38
|
-
"valField": "value"
|
|
39
|
-
}
|
|
40
|
-
\`\`\`
|
|
41
|
-
`;
|
|
42
|
-
|
|
43
|
-
return (
|
|
44
|
-
<ConfigProvider theme="dark">
|
|
45
|
-
{/* 直接使用图表组件 */}
|
|
46
|
-
<Line data={[...]} />
|
|
47
|
-
|
|
48
|
-
{/* 通过Markdown渲染 */}
|
|
49
|
-
<GPTVis>
|
|
50
|
-
{markdownContent}
|
|
51
|
-
</GPTVis>
|
|
52
|
-
</ConfigProvider>
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
```
|
|
1
|
+
# advt-gpt-chart 可视化组件库
|
|
2
|
+
|
|
3
|
+
## 特性
|
|
4
|
+
|
|
5
|
+
- 📊 支持13+图表类型(折线图/柱状图/饼图/雷达图等)
|
|
6
|
+
- 🎨 内置Light/Dark双主题体系
|
|
7
|
+
- 📝 Markdown协议直接渲染图表
|
|
8
|
+
<!-- - 🌐 国际化多语言支持 -->
|
|
9
|
+
- 🛠 完善的TypeScript类型定义
|
|
10
|
+
|
|
11
|
+
# 安装依赖
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @advt-gpt-chart/package
|
|
15
|
+
pnpm install @advt-gpt-chart/package
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
# 使用
|
|
19
|
+
```tsx
|
|
20
|
+
import { ConfigProvider, Line, GPTVis } from '@advt-gpt-chart/package';
|
|
21
|
+
|
|
22
|
+
function App() {
|
|
23
|
+
|
|
24
|
+
const markdownContent = `
|
|
25
|
+
以下是为你绘制的一个饼图
|
|
26
|
+
\`\`\`vis-chart
|
|
27
|
+
{
|
|
28
|
+
"type": "pie",
|
|
29
|
+
"data": [
|
|
30
|
+
{ "category": "分类一", "value": 27 },
|
|
31
|
+
{ "category": "分类二", "value": 25 },
|
|
32
|
+
{ "category": "分类三", "value": 18 },
|
|
33
|
+
{ "category": "分类四", "value": 15 },
|
|
34
|
+
{ "category": "分类五", "value": 10 },
|
|
35
|
+
{ "category": "其他", "value": 5 }
|
|
36
|
+
],
|
|
37
|
+
"nameField": "category",
|
|
38
|
+
"valField": "value"
|
|
39
|
+
}
|
|
40
|
+
\`\`\`
|
|
41
|
+
`;
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<ConfigProvider theme="dark">
|
|
45
|
+
{/* 直接使用图表组件 */}
|
|
46
|
+
<Line data={[...]} />
|
|
47
|
+
|
|
48
|
+
{/* 通过Markdown渲染 */}
|
|
49
|
+
<GPTVis>
|
|
50
|
+
{markdownContent}
|
|
51
|
+
</GPTVis>
|
|
52
|
+
</ConfigProvider>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
```
|
|
@@ -23,6 +23,10 @@ type CompositeAxisSpec = {
|
|
|
23
23
|
label?: any;
|
|
24
24
|
grid?: any;
|
|
25
25
|
title?: any;
|
|
26
|
+
offset?: number;
|
|
27
|
+
min?: number;
|
|
28
|
+
max?: number;
|
|
29
|
+
[key: string]: any;
|
|
26
30
|
};
|
|
27
31
|
export type Tools = {
|
|
28
32
|
formatValue: (field: string, value: any) => any;
|
|
@@ -80,7 +84,7 @@ export declare const getLineStyle: () => {
|
|
|
80
84
|
};
|
|
81
85
|
};
|
|
82
86
|
export declare const getCartesianAxesSpec: (options: CartesianOptions, tools?: Tools) => ICartesianAxisSpec[];
|
|
83
|
-
export declare const getCompositeAxesSpec: (series: any[], yFields: string[]) => CompositeAxisSpec[];
|
|
87
|
+
export declare const getCompositeAxesSpec: (series: any[], yFields: string[], yAxesConfig?: any[], seriesIds?: string[]) => CompositeAxisSpec[];
|
|
84
88
|
export declare const getCartesianTootipSpec: ({ xField, yField, seriesField }: CartesianTooltipOptions, tools?: Tools) => {
|
|
85
89
|
mark: {
|
|
86
90
|
updateTitle: (prev: any) => any;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { IChartSpec } from '@visactor/vchart';
|
|
2
2
|
import type { ComponentType } from 'react';
|
|
3
|
+
import type { ChartProps } from '../../Chart/ChartCodeRender/type';
|
|
3
4
|
import { ContextMenu } from '../../GPTVis/hooks/useChartStore';
|
|
4
5
|
import { BaseChartProps, DataItem } from '../../types';
|
|
5
|
-
import { ChartJson } from '../ChartCodeRender/type';
|
|
6
6
|
import { Dataset, FieldInfoItem } from '../Dataset/types';
|
|
7
7
|
import { DataSource } from '../DataSource/types';
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* 合并后的属性类型,包含上下文菜单回调
|
|
10
|
+
*/
|
|
11
|
+
export interface MergedProps extends Partial<ChartProps> {
|
|
9
12
|
onContextMenu?: (menu: ContextMenu) => void;
|
|
10
13
|
}
|
|
11
14
|
export interface VChartBaseProps {
|
|
@@ -13,6 +16,10 @@ export interface VChartBaseProps {
|
|
|
13
16
|
spec?: Partial<IChartSpec>;
|
|
14
17
|
mergedProps: MergedProps;
|
|
15
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* 基础 VChart 配置类型
|
|
21
|
+
* 注意:此类型已整合到 ChartProps 中,建议优先使用 ChartProps
|
|
22
|
+
*/
|
|
16
23
|
export interface BaseVChartConfig<T = DataItem> {
|
|
17
24
|
data: T[];
|
|
18
25
|
columns?: FieldInfoItem[];
|
|
@@ -22,5 +29,9 @@ export interface BaseVChartConfig<T = DataItem> {
|
|
|
22
29
|
dataSource?: DataSource;
|
|
23
30
|
dataset?: Dataset;
|
|
24
31
|
}
|
|
25
|
-
|
|
32
|
+
/**
|
|
33
|
+
* 基础 VChart 属性类型
|
|
34
|
+
* 注意:此类型已整合到 ChartProps 中,建议优先使用 ChartProps
|
|
35
|
+
*/
|
|
36
|
+
export interface BaseVChartProps extends BaseChartProps, Partial<BaseVChartConfig> {
|
|
26
37
|
}
|
|
@@ -3,7 +3,7 @@ import type { FC } from 'react';
|
|
|
3
3
|
import type { Components, ExtraProps } from 'react-markdown';
|
|
4
4
|
import { ChartType, DataItem } from '../../types';
|
|
5
5
|
import { TimeGrainType } from '../../utils';
|
|
6
|
-
import { DataFormat, FieldInfoItem } from '../Dataset/types';
|
|
6
|
+
import { DataFormat, Dataset, FieldInfoItem } from '../Dataset/types';
|
|
7
7
|
import { DataSource } from '../DataSource/types';
|
|
8
8
|
export interface MetricItem {
|
|
9
9
|
id: string;
|
|
@@ -55,6 +55,7 @@ export type WithChartCodeOptions = {
|
|
|
55
55
|
export interface ChartJson {
|
|
56
56
|
type: ChartType;
|
|
57
57
|
data: DataItem[];
|
|
58
|
+
dataset?: Dataset;
|
|
58
59
|
chartId?: string;
|
|
59
60
|
chartName?: string;
|
|
60
61
|
xField?: string;
|
|
@@ -88,4 +89,45 @@ type CodeRenderer = FC<React.ClassAttributes<HTMLElement> & React.HTMLAttributes
|
|
|
88
89
|
interface LanguageRenderers {
|
|
89
90
|
[key: string]: CodeRenderer;
|
|
90
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* 统一的图表 Props 类型
|
|
94
|
+
* 整合了 ChartJson 和 BaseVChartProps,用于所有图表组件和 hooks
|
|
95
|
+
*/
|
|
96
|
+
export interface ChartProps extends Partial<ChartJson> {
|
|
97
|
+
/** 图表类型 */
|
|
98
|
+
type?: ChartType;
|
|
99
|
+
/** 数据(必需) */
|
|
100
|
+
data?: DataItem[];
|
|
101
|
+
/** 图表样式 */
|
|
102
|
+
chartStyle?: React.CSSProperties;
|
|
103
|
+
/** 类名 */
|
|
104
|
+
className?: string;
|
|
105
|
+
/** 子节点 */
|
|
106
|
+
children?: React.ReactNode;
|
|
107
|
+
/** 图表规格配置 */
|
|
108
|
+
spec?: any;
|
|
109
|
+
/** 图表主题 */
|
|
110
|
+
chartTheme?: string;
|
|
111
|
+
/** 上下文菜单回调 */
|
|
112
|
+
onContextMenu?: (menu: any) => void;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* useChartConfigTools 的配置选项
|
|
116
|
+
*/
|
|
117
|
+
export interface UseChartConfigToolsOptions {
|
|
118
|
+
/** 图表配置 */
|
|
119
|
+
props: ChartProps;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* useChartConfigTools 的返回值类型
|
|
123
|
+
*/
|
|
124
|
+
export interface ChartConfigTools {
|
|
125
|
+
/** 标签配置 */
|
|
126
|
+
label: any;
|
|
127
|
+
/** 获取图表尺寸 */
|
|
128
|
+
getDimensions: () => {
|
|
129
|
+
width: number;
|
|
130
|
+
height: number;
|
|
131
|
+
};
|
|
132
|
+
}
|
|
91
133
|
export {};
|
|
@@ -9,4 +9,9 @@ export declare const formatTypeInitOptions: ({
|
|
|
9
9
|
value: string;
|
|
10
10
|
desc: string;
|
|
11
11
|
})[];
|
|
12
|
+
export declare const valueUnitInitOptions: {
|
|
13
|
+
key: string;
|
|
14
|
+
label: string;
|
|
15
|
+
value: string;
|
|
16
|
+
}[];
|
|
12
17
|
export declare function getUnit(valueUnit: string, unit: string): string;
|
|
@@ -14,6 +14,7 @@ export declare function handleParamsControlInfo(metricInfo: any, chartJson: Char
|
|
|
14
14
|
formatType: any;
|
|
15
15
|
decimalPlaces: any;
|
|
16
16
|
suffix: string;
|
|
17
|
+
valueUnit: any;
|
|
17
18
|
};
|
|
18
19
|
} | null;
|
|
19
20
|
} | null;
|
|
@@ -43,6 +44,7 @@ export declare const getDataFormat: (metricName: string, info: any) => {
|
|
|
43
44
|
formatType: any;
|
|
44
45
|
decimalPlaces: any;
|
|
45
46
|
suffix: string;
|
|
47
|
+
valueUnit: any;
|
|
46
48
|
};
|
|
47
49
|
} | null;
|
|
48
50
|
export declare function queryMql2Params(mql: string | Object): any;
|
|
@@ -9,6 +9,7 @@ export declare function isChartAdvisor(chartJson: ChartJson): boolean;
|
|
|
9
9
|
export declare function chartAdvisor(chartJson: ChartJson): Promise<{
|
|
10
10
|
type: any;
|
|
11
11
|
data: import("../..").DataItem[];
|
|
12
|
+
dataset?: import("../Dataset/types").Dataset;
|
|
12
13
|
chartId?: string;
|
|
13
14
|
chartName?: string;
|
|
14
15
|
xField?: string;
|
|
@@ -2,7 +2,7 @@ export type DatasetType = 'dataSource' | 'static';
|
|
|
2
2
|
export type Dataset = {
|
|
3
3
|
type?: DatasetType;
|
|
4
4
|
data?: any[];
|
|
5
|
-
|
|
5
|
+
transformData?: {
|
|
6
6
|
data?: any[];
|
|
7
7
|
foldData?: any[];
|
|
8
8
|
isMetricFolded?: boolean;
|
|
@@ -26,6 +26,7 @@ export interface MetricFormat {
|
|
|
26
26
|
decimalPlaces?: number;
|
|
27
27
|
prefix?: string;
|
|
28
28
|
suffix?: string;
|
|
29
|
+
valueUnit?: string;
|
|
29
30
|
}
|
|
30
31
|
export type DataFormat = {
|
|
31
32
|
[metricName: string]: MetricFormat;
|
|
@@ -23,12 +23,12 @@ export declare const getKeys: () => {
|
|
|
23
23
|
export declare const transform2Dataset: (chartJson: ChartJson) => {
|
|
24
24
|
fieldInfo?: undefined;
|
|
25
25
|
type?: undefined;
|
|
26
|
-
|
|
26
|
+
transformData?: undefined;
|
|
27
27
|
data?: undefined;
|
|
28
28
|
} | {
|
|
29
29
|
fieldInfo: FieldInfoItem[];
|
|
30
30
|
type: DatasetType;
|
|
31
|
-
|
|
31
|
+
transformData: {
|
|
32
32
|
data: {
|
|
33
33
|
[x: string]: any;
|
|
34
34
|
}[];
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
import type { BaseVChartConfig, BaseVChartProps, DataItem } from '../../types';
|
|
2
2
|
import { BarConfig } from '../Bar/types';
|
|
3
3
|
export type CompositeSeriesType = 'bar' | 'line' | 'area' | 'scatter';
|
|
4
|
+
export type YAxisOrient = 'left' | 'right';
|
|
5
|
+
export type YAxisConfig = {
|
|
6
|
+
id?: string;
|
|
7
|
+
orient?: YAxisOrient;
|
|
8
|
+
title?: {
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
text?: string;
|
|
11
|
+
};
|
|
12
|
+
label?: Record<string, any>;
|
|
13
|
+
type?: string;
|
|
14
|
+
min?: number;
|
|
15
|
+
max?: number;
|
|
16
|
+
grid?: {
|
|
17
|
+
visible?: boolean;
|
|
18
|
+
};
|
|
19
|
+
offset?: number;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
};
|
|
4
22
|
export type CompositeSeries = Omit<BarConfig, 'data' | 'chartName'> & {
|
|
5
23
|
type: CompositeSeriesType;
|
|
6
24
|
data?: DataItem[];
|
|
25
|
+
yAxisId?: string;
|
|
7
26
|
};
|
|
8
27
|
export type CompositeConfig = Omit<BaseVChartConfig, 'data'> & {
|
|
9
28
|
series: CompositeSeries[];
|
|
29
|
+
yAxes?: YAxisConfig[];
|
|
10
30
|
};
|
|
11
31
|
export type CompositeProps = BaseVChartProps & Partial<CompositeConfig>;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useChartConfigTools } from './useChartConfigTools';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ILabelSpec } from '@visactor/vchart';
|
|
2
|
+
import type { ChartConfigTools, ChartProps, UseChartConfigToolsOptions as ChartConfigToolsOptions } from '../../../Chart/ChartCodeRender/type';
|
|
3
|
+
export type IMultiLabelSpec<T extends Omit<ILabelSpec, 'position'>> = T | T[];
|
|
4
|
+
interface ChartDimensions {
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
8
|
+
interface UseChartConfigToolsOptions extends ChartConfigToolsOptions {
|
|
9
|
+
props: ChartProps;
|
|
10
|
+
}
|
|
11
|
+
interface ChartConfigToolsResult extends ChartConfigTools {
|
|
12
|
+
label: IMultiLabelSpec<Omit<ILabelSpec, 'position'>>;
|
|
13
|
+
getDimensions: () => ChartDimensions;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 通用图表配置工具 Hook
|
|
17
|
+
*
|
|
18
|
+
* 用于统一管理图表的智能配置(label、tooltip、axis 等)
|
|
19
|
+
* 目前只实现了 label 模块,后续可扩展其他配置
|
|
20
|
+
*
|
|
21
|
+
* 通过原生方式获取图表容器宽度:
|
|
22
|
+
* 1. 优先使用 .chart-content 容器的宽度
|
|
23
|
+
* 2. 使用 ResizeObserver 监听容器尺寸变化
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const chartConfig = useChartConfigTools({
|
|
28
|
+
* props,
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* // 使用
|
|
32
|
+
* label: {
|
|
33
|
+
* visible: true,
|
|
34
|
+
* position: 'top',
|
|
35
|
+
* ...chartConfig.label,
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @param options - 配置选项
|
|
40
|
+
* @returns ChartConfigToolsResult - 图表配置工具集
|
|
41
|
+
*/
|
|
42
|
+
export declare function useChartConfigTools(options: UseChartConfigToolsOptions): ChartConfigToolsResult;
|
|
43
|
+
export {};
|
|
File without changes
|
|
@@ -18,6 +18,13 @@ export declare function useCommonGlobalConfig(name: Charts): {
|
|
|
18
18
|
lang?: string;
|
|
19
19
|
};
|
|
20
20
|
export type ChartConfig = AreaConfig | BarConfig | FunnelConfig | GaugeConfig | HeatmapConfig | LineConfig | PieConfig | RadarConfig | ScatterConfig | TableConfig | IndicatorConfig | CompositeConfig;
|
|
21
|
+
/**
|
|
22
|
+
* VChart 配置 Hook
|
|
23
|
+
* @param name - 图表名称
|
|
24
|
+
* @param defaultConfig - 默认配置
|
|
25
|
+
* @param props - 图表属性
|
|
26
|
+
* @returns 合并后的配置和属性
|
|
27
|
+
*/
|
|
21
28
|
export declare function useVChartConfig<T1 extends ChartConfig>(name: Charts, defaultConfig: Partial<T1> | ((props: T1) => any), props: Partial<T1>): {
|
|
22
29
|
mergedProps: any;
|
|
23
30
|
options: any;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ChartJson } from '../../Chart/ChartCodeRender/type';
|
|
1
|
+
import type { ChartJson } from '../../Chart/ChartCodeRender/type';
|
|
2
2
|
import { ChartControllersState } from '../../Chart/ChartControllers';
|
|
3
|
-
import { Dataset } from '../../Chart/Dataset/types';
|
|
3
|
+
import type { Dataset } from '../../Chart/Dataset/types';
|
|
4
4
|
import { DataSourceQueryInfo } from '../../Chart/DataSource/types';
|
|
5
5
|
import { BaseChartProps } from '../../types';
|
|
6
6
|
export interface ContextMenu {
|
|
@@ -24,7 +24,7 @@ export interface QueryError {
|
|
|
24
24
|
message: string;
|
|
25
25
|
}
|
|
26
26
|
export interface DetailData {
|
|
27
|
-
visible
|
|
27
|
+
visible?: boolean;
|
|
28
28
|
error?: string;
|
|
29
29
|
loading?: boolean;
|
|
30
30
|
}
|
|
@@ -33,7 +33,13 @@ export interface ChartControllersConfig extends ChartControllersState {
|
|
|
33
33
|
export interface VizChartState {
|
|
34
34
|
theme: string;
|
|
35
35
|
chartLoading?: boolean;
|
|
36
|
+
/** 图表配置(包含 dataset) */
|
|
36
37
|
chartJson: ChartJson;
|
|
38
|
+
/**
|
|
39
|
+
* 转换后的数据集
|
|
40
|
+
* 注意:这是从 chartJson 转换而来的独立数据集,用于图表渲染
|
|
41
|
+
* 与 chartJson.dataset 可能不同,包含 fold、merge 等转换操作后的数据
|
|
42
|
+
*/
|
|
37
43
|
dataset: Dataset;
|
|
38
44
|
controllerConfig: ChartControllersConfig;
|
|
39
45
|
contextMenu: ContextMenu;
|