@visactor/vchart 1.11.7-alpha.3 → 1.11.7-alpha.9
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/build/es5/index.js +1 -1
- package/build/index.js +7103 -6700
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base/base-chart.d.ts +1 -0
- package/cjs/chart/base/base-chart.js +4 -2
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/cartesian/cartesian-transformer.d.ts +4 -0
- package/cjs/chart/cartesian/cartesian-transformer.js +25 -10
- package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/cjs/chart/index.d.ts +5 -3
- package/cjs/chart/index.js +16 -2
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/interface/type.d.ts +2 -1
- package/cjs/chart/interface/type.js +2 -1
- package/cjs/chart/interface/type.js.map +1 -1
- package/cjs/chart/mosaic/index.d.ts +3 -0
- package/cjs/chart/mosaic/index.js +22 -0
- package/cjs/chart/mosaic/index.js.map +1 -0
- package/cjs/chart/mosaic/interface.d.ts +7 -0
- package/cjs/chart/mosaic/interface.js +6 -0
- package/cjs/chart/mosaic/interface.js.map +1 -0
- package/cjs/chart/mosaic/mosaic-transformer.d.ts +9 -0
- package/cjs/chart/mosaic/mosaic-transformer.js +43 -0
- package/cjs/chart/mosaic/mosaic-transformer.js.map +1 -0
- package/cjs/chart/mosaic/mosaic.d.ts +20 -0
- package/cjs/chart/mosaic/mosaic.js +39 -0
- package/cjs/chart/mosaic/mosaic.js.map +1 -0
- package/cjs/chart/stack.d.ts +11 -1
- package/cjs/chart/stack.js +6 -6
- package/cjs/chart/stack.js.map +1 -1
- package/cjs/compile/grammar-item.js +2 -1
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +8 -3
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +1 -1
- package/cjs/component/indicator/indicator.js +4 -2
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/interface.d.ts +3 -1
- package/cjs/component/indicator/interface.js.map +1 -1
- package/cjs/component/label/interface.d.ts +2 -1
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.js +8 -5
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/util.d.ts +9 -0
- package/cjs/component/label/util.js +35 -8
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +4 -3
- package/cjs/component/marker/base-marker.js +6 -45
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +3 -3
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +2 -2
- package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.d.ts +3 -2
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/polar-mark-area.d.ts +2 -2
- package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +2 -2
- package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +5 -5
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/polar-mark-line.d.ts +2 -2
- package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +2 -2
- package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/cjs/component/marker/mark-point/geo-mark-point.d.ts +2 -1
- package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.d.ts +3 -2
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/polar-mark-point.d.ts +2 -1
- package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
- package/cjs/component/marker/utils.js +11 -0
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/tooltip/interface/spec.d.ts +1 -0
- package/cjs/component/tooltip/interface/spec.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +2 -1
- package/cjs/component/tooltip/tooltip.js +5 -3
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/constant/hierarchy.js +1 -2
- package/cjs/constant/index.d.ts +5 -0
- package/cjs/constant/index.js +6 -2
- package/cjs/constant/index.js.map +1 -1
- package/cjs/constant/scroll-bar.js +2 -1
- package/cjs/core/index.d.ts +1 -2
- package/cjs/core/index.js +2 -2
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.d.ts +2 -0
- package/cjs/core/vchart.js +10 -0
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/aggregation.d.ts +8 -3
- package/cjs/data/transforms/aggregation.js +62 -2
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/data/transforms/stack-split.js +2 -2
- package/cjs/data/transforms/stack-split.js.map +1 -1
- package/cjs/index-wx.d.ts +1 -0
- package/cjs/index-wx.js +1 -1
- package/cjs/index-wx.js.map +1 -1
- package/cjs/series/bar/bar.js +7 -7
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/interface/common.d.ts +2 -0
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +3 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +2 -0
- package/cjs/series/interface/theme.js +2 -1
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/interface/type.d.ts +2 -1
- package/cjs/series/interface/type.js +1 -1
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/mosaic/interface.d.ts +16 -0
- package/cjs/series/mosaic/interface.js +6 -0
- package/cjs/series/mosaic/interface.js.map +1 -0
- package/cjs/series/mosaic/mosaic.d.ts +16 -0
- package/cjs/series/mosaic/mosaic.js +69 -0
- package/cjs/series/mosaic/mosaic.js.map +1 -0
- package/cjs/series/progress/linear/linear.d.ts +1 -3
- package/cjs/series/progress/linear/linear.js +46 -61
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +5 -4
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey-transformer.d.ts +5 -0
- package/cjs/series/sankey/sankey-transformer.js +16 -0
- package/cjs/series/sankey/sankey-transformer.js.map +1 -0
- package/cjs/series/sankey/sankey.d.ts +7 -2
- package/cjs/series/sankey/sankey.js +47 -151
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +1 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/theme/builtin/common/series/index.js +3 -2
- package/cjs/theme/builtin/common/series/index.js.map +1 -1
- package/cjs/theme/builtin/common/series/mosaic.d.ts +2 -0
- package/cjs/theme/builtin/common/series/mosaic.js +27 -0
- package/cjs/theme/builtin/common/series/mosaic.js.map +1 -0
- package/cjs/theme/builtin/common/series/pie.js +1 -0
- package/cjs/theme/builtin/common/series/pie.js.map +1 -1
- package/cjs/theme/builtin/common/series/pie3d.js +1 -0
- package/cjs/theme/builtin/common/series/pie3d.js.map +1 -1
- package/cjs/util/data.d.ts +24 -1
- package/cjs/util/data.js +88 -17
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/style.d.ts +1 -0
- package/cjs/util/style.js +11 -2
- package/cjs/util/style.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +1 -0
- package/esm/chart/base/base-chart.js +4 -2
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/cartesian/cartesian-transformer.d.ts +4 -0
- package/esm/chart/cartesian/cartesian-transformer.js +25 -10
- package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/esm/chart/index.d.ts +5 -3
- package/esm/chart/index.js +4 -2
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/interface/type.d.ts +2 -1
- package/esm/chart/interface/type.js +2 -1
- package/esm/chart/interface/type.js.map +1 -1
- package/esm/chart/mosaic/index.d.ts +3 -0
- package/esm/chart/mosaic/index.js +6 -0
- package/esm/chart/mosaic/index.js.map +1 -0
- package/esm/chart/mosaic/interface.d.ts +7 -0
- package/esm/chart/mosaic/interface.js +2 -0
- package/esm/chart/mosaic/interface.js.map +1 -0
- package/esm/chart/mosaic/mosaic-transformer.d.ts +9 -0
- package/esm/chart/mosaic/mosaic-transformer.js +37 -0
- package/esm/chart/mosaic/mosaic-transformer.js.map +1 -0
- package/esm/chart/mosaic/mosaic.d.ts +20 -0
- package/esm/chart/mosaic/mosaic.js +41 -0
- package/esm/chart/mosaic/mosaic.js.map +1 -0
- package/esm/chart/stack.d.ts +11 -1
- package/esm/chart/stack.js +6 -6
- package/esm/chart/stack.js.map +1 -1
- package/esm/compile/grammar-item.js +2 -1
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +8 -3
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +1 -1
- package/esm/component/indicator/indicator.js +4 -4
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/interface.d.ts +3 -1
- package/esm/component/indicator/interface.js.map +1 -1
- package/esm/component/label/interface.d.ts +2 -1
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.js +9 -5
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/util.d.ts +9 -0
- package/esm/component/label/util.js +34 -5
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +4 -3
- package/esm/component/marker/base-marker.js +6 -39
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +3 -3
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +2 -2
- package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.d.ts +3 -2
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/polar-mark-area.d.ts +2 -2
- package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +2 -2
- package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +5 -5
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/polar-mark-line.d.ts +2 -2
- package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +2 -2
- package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/esm/component/marker/mark-point/geo-mark-point.d.ts +2 -1
- package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.d.ts +3 -2
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/polar-mark-point.d.ts +2 -1
- package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
- package/esm/component/marker/utils.js +11 -0
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/tooltip/interface/spec.d.ts +1 -0
- package/esm/component/tooltip/interface/spec.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +2 -1
- package/esm/component/tooltip/tooltip.js +5 -3
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/constant/hierarchy.js +1 -2
- package/esm/constant/index.d.ts +5 -0
- package/esm/constant/index.js +10 -0
- package/esm/constant/index.js.map +1 -1
- package/esm/constant/scroll-bar.js +2 -1
- package/esm/core/index.d.ts +1 -2
- package/esm/core/index.js +1 -3
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.d.ts +2 -0
- package/esm/core/vchart.js +10 -0
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/aggregation.d.ts +8 -3
- package/esm/data/transforms/aggregation.js +60 -2
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/data/transforms/stack-split.js +2 -2
- package/esm/data/transforms/stack-split.js.map +1 -1
- package/esm/index-wx.d.ts +1 -0
- package/esm/index-wx.js +2 -0
- package/esm/index-wx.js.map +1 -1
- package/esm/series/bar/bar.js +8 -8
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/interface/common.d.ts +2 -0
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +3 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/theme.d.ts +2 -0
- package/esm/series/interface/theme.js +2 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/interface/type.d.ts +2 -1
- package/esm/series/interface/type.js +1 -1
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/mosaic/interface.d.ts +16 -0
- package/esm/series/mosaic/interface.js +2 -0
- package/esm/series/mosaic/interface.js.map +1 -0
- package/esm/series/mosaic/mosaic.d.ts +16 -0
- package/esm/series/mosaic/mosaic.js +78 -0
- package/esm/series/mosaic/mosaic.js.map +1 -0
- package/esm/series/progress/linear/linear.d.ts +1 -3
- package/esm/series/progress/linear/linear.js +46 -62
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +5 -4
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey-transformer.d.ts +5 -0
- package/esm/series/sankey/sankey-transformer.js +8 -0
- package/esm/series/sankey/sankey-transformer.js.map +1 -0
- package/esm/series/sankey/sankey.d.ts +7 -2
- package/esm/series/sankey/sankey.js +49 -147
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +1 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/theme/builtin/common/series/index.js +4 -1
- package/esm/theme/builtin/common/series/index.js.map +1 -1
- package/esm/theme/builtin/common/series/mosaic.d.ts +2 -0
- package/esm/theme/builtin/common/series/mosaic.js +23 -0
- package/esm/theme/builtin/common/series/mosaic.js.map +1 -0
- package/esm/theme/builtin/common/series/pie.js +1 -0
- package/esm/theme/builtin/common/series/pie.js.map +1 -1
- package/esm/theme/builtin/common/series/pie3d.js +1 -0
- package/esm/theme/builtin/common/series/pie3d.js.map +1 -1
- package/esm/util/data.d.ts +24 -1
- package/esm/util/data.js +86 -17
- package/esm/util/data.js.map +1 -1
- package/esm/util/style.d.ts +1 -0
- package/esm/util/style.js +8 -0
- package/esm/util/style.js.map +1 -1
- package/package.json +16 -16
|
@@ -17,6 +17,7 @@ import type { IGroupMark } from '../../mark/group';
|
|
|
17
17
|
import type { IGeoCoordinateHelper } from '../../component/geo/interface';
|
|
18
18
|
import type { ILabelMark } from '../../mark/label';
|
|
19
19
|
import type { BaseLegend } from '../../component/legend/base-legend';
|
|
20
|
+
import type { ILabelSpec } from '../../component/label/interface';
|
|
20
21
|
export interface ISeries extends IModel {
|
|
21
22
|
readonly type: string;
|
|
22
23
|
readonly name?: string;
|
|
@@ -94,7 +95,7 @@ export interface ISeries extends IModel {
|
|
|
94
95
|
getDefaultColorDomain: () => any[];
|
|
95
96
|
getInvalidType: () => IInvalidType;
|
|
96
97
|
getDefaultShapeType: () => string;
|
|
97
|
-
initLabelMarkStyle?: (labelMark: ILabelMark) => void;
|
|
98
|
+
initLabelMarkStyle?: (labelMark: ILabelMark, labelSpec: ILabelSpec) => void;
|
|
98
99
|
initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;
|
|
99
100
|
getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;
|
|
100
101
|
getGroupFields: () => string[];
|
|
@@ -102,6 +103,7 @@ export interface ISeries extends IModel {
|
|
|
102
103
|
getMarkAttributeContext: () => ISeriesMarkAttributeContext;
|
|
103
104
|
getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;
|
|
104
105
|
legendSelectedFilter?: (component: BaseLegend<any>, selectedKeys: StringOrNumber[]) => StringOrNumber[];
|
|
106
|
+
parseLabelStyle?: (labelStyle: any, labelSpec: any, labelMark?: ILabelMark) => any;
|
|
105
107
|
}
|
|
106
108
|
export interface ICartesianSeries extends ISeries {
|
|
107
109
|
readonly coordinate: 'cartesian';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ILabelInfo } from './../../component/label/label';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesSpecInfo, ISeriesStackData } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType, IGroup, StringOrNumber } from '../../typings';\nimport type { ISeriesMarkAttributeContext, StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { ILabelMark } from '../../mark/label';\nimport type { BaseLegend } from '../../component/legend/base-legend';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel {\n readonly type: string;\n readonly name?: string;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // layout\n onLayoutEnd: (ctx: any) => void;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatisticsByField: (field: string, isNumeric?: boolean) => { values?: any[]; min?: number; max?: number };\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n isHierarchyData?: () => boolean;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n getActiveMarks: () => IMark[];\n getSeriesMark: () => IMark;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n getStackValue: () => StringOrNumber | undefined;\n getPercent: () => boolean;\n getStackOffsetSilhouette: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => IGroup | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: Datum, checkInViewData?: boolean) => IPoint | null;\n dataToPositionX: (datum: Datum) => number | null;\n dataToPositionY: (datum: Datum) => number | null;\n dataToPositionZ?: (datum: Datum) => number | null;\n valueToPosition: (value1: any, value2?: any) => IPoint;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (labelMark: ILabelMark) => void;\n /** 设置总计标签配置 */\n initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;\n getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;\n\n getGroupFields: () => string[];\n\n getSpecInfo: () => ISeriesSpecInfo;\n getMarkAttributeContext: () => ISeriesMarkAttributeContext;\n\n getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;\n\n legendSelectedFilter?: (component: BaseLegend<any>, selectedKeys: StringOrNumber[]) => StringOrNumber[];\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldX2: string;\n setFieldX2: (field: string) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldY2: string;\n setFieldY2: (field: string) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n\n dataToPositionX1: (datum: Datum) => number | null;\n dataToPositionY1: (datum: Datum) => number | null;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n valueToPositionX: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n valueToPositionY: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n getNameProperty: () => string;\n\n dataToPosition: (datum: any, checkInViewData?: boolean) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n nameValueToPosition: (name: string) => IPoint | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n getDatumCenter: (datum: any) => [number, number];\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n getCenter: () => IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n\n valueToPosition: (value: any) => IPoint;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ILabelInfo } from './../../component/label/label';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesSpecInfo, ISeriesStackData } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType, IGroup, StringOrNumber } from '../../typings';\nimport type { ISeriesMarkAttributeContext, StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { ILabelMark } from '../../mark/label';\nimport type { BaseLegend } from '../../component/legend/base-legend';\nimport type { ILabelSpec } from '../../component/label/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel {\n readonly type: string;\n readonly name?: string;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // layout\n onLayoutEnd: (ctx: any) => void;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatisticsByField: (field: string, isNumeric?: boolean) => { values?: any[]; min?: number; max?: number };\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n isHierarchyData?: () => boolean;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n getActiveMarks: () => IMark[];\n getSeriesMark: () => IMark;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n getStackValue: () => StringOrNumber | undefined;\n getPercent: () => boolean;\n getStackOffsetSilhouette: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => IGroup | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: Datum, checkInViewData?: boolean) => IPoint | null;\n dataToPositionX: (datum: Datum) => number | null;\n dataToPositionY: (datum: Datum) => number | null;\n dataToPositionZ?: (datum: Datum) => number | null;\n valueToPosition: (value1: any, value2?: any) => IPoint;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (labelMark: ILabelMark, labelSpec: ILabelSpec) => void;\n /** 设置总计标签配置 */\n initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;\n getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;\n\n getGroupFields: () => string[];\n\n getSpecInfo: () => ISeriesSpecInfo;\n getMarkAttributeContext: () => ISeriesMarkAttributeContext;\n\n getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;\n\n legendSelectedFilter?: (component: BaseLegend<any>, selectedKeys: StringOrNumber[]) => StringOrNumber[];\n parseLabelStyle?: (labelStyle: any, labelSpec: any, labelMark?: ILabelMark) => any;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldX2: string;\n setFieldX2: (field: string) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldY2: string;\n setFieldY2: (field: string) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n\n dataToPositionX1: (datum: Datum) => number | null;\n dataToPositionY1: (datum: Datum) => number | null;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n valueToPositionX: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n valueToPositionY: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n getNameProperty: () => string;\n\n dataToPosition: (datum: any, checkInViewData?: boolean) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n nameValueToPosition: (name: string) => IPoint | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n getDatumCenter: (datum: any) => [number, number];\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n getCenter: () => IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n\n valueToPosition: (value: any) => IPoint;\n}\n"]}
|
|
@@ -27,6 +27,7 @@ import type { SeriesMarkMap } from './common';
|
|
|
27
27
|
import type { IRangeAreaSeriesTheme } from '../range-area/interface';
|
|
28
28
|
import type { ILiquidSeriesTheme } from '../liquid/interface';
|
|
29
29
|
import type { IVennSeriesTheme } from '../venn/interface';
|
|
30
|
+
import type { IMosaicSeriesTheme } from '../mosaic/interface';
|
|
30
31
|
export interface ISeriesTheme {
|
|
31
32
|
[SeriesTypeEnum.bar]?: IBarSeriesTheme;
|
|
32
33
|
[SeriesTypeForThemeEnum.bar_vertical]?: IBarSeriesTheme;
|
|
@@ -88,6 +89,7 @@ export interface ISeriesTheme {
|
|
|
88
89
|
[SeriesTypeEnum.correlation]?: ICorrelationSeriesTheme;
|
|
89
90
|
[SeriesTypeEnum.liquid]?: ILiquidSeriesTheme;
|
|
90
91
|
[SeriesTypeEnum.venn]?: IVennSeriesTheme;
|
|
92
|
+
[SeriesTypeEnum.mosaic]?: IMosaicSeriesTheme;
|
|
91
93
|
}
|
|
92
94
|
export declare enum SeriesTypeForThemeEnum {
|
|
93
95
|
area_horizontal = "area_horizontal",
|
|
@@ -111,6 +111,7 @@ export const seriesMarkInfoMap = {
|
|
|
111
111
|
[SeriesTypeEnum.correlation]: correlationSeriesMark,
|
|
112
112
|
[SeriesTypeEnum.rangeArea]: rangeAreaSeriesMark,
|
|
113
113
|
[SeriesTypeEnum.liquid]: LiquidSeriesMark,
|
|
114
|
-
[SeriesTypeEnum.venn]: vennSeriesMark
|
|
114
|
+
[SeriesTypeEnum.venn]: vennSeriesMark,
|
|
115
|
+
[SeriesTypeEnum.mosaic]: barSeriesMark
|
|
115
116
|
};
|
|
116
117
|
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/interface/theme.ts"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["import type { IWaterfallSeriesTheme } from '../waterfall/interface';\nimport type { IBoxPlotSeriesTheme } from '../box-plot/interface';\nimport type { IBar3dSeriesTheme, IBarSeriesTheme } from '../bar/interface';\nimport type { ILineSeriesTheme } from '../line/interface';\nimport type { IScatterSeriesTheme } from '../scatter/interface';\nimport type { IAreaSeriesTheme } from '../area/interface';\nimport type { IRadarSeriesTheme } from '../radar/interface';\nimport type { IPie3dSeriesTheme, IPieSeriesTheme } from '../pie/interface';\nimport type { IRoseSeriesTheme } from '../rose/interface';\nimport type { IMapSeriesTheme } from '../map/interface';\nimport type { ICircularProgressSeriesTheme } from '../progress/circular/interface';\nimport type { ILinkSeriesTheme } from '../link/interface';\nimport type { IDotSeriesTheme } from '../dot/interface';\nimport type { IWordCloud3dSeriesTheme, IWordCloudSeriesTheme } from '../word-cloud/interface';\nimport type { IFunnel3dSeriesTheme, IFunnelSeriesTheme } from '../funnel/interface';\nimport type { ILinearProgressSeriesTheme } from '../progress/linear/interface';\nimport type { IGaugePointerSeriesTheme, IGaugeSeriesTheme } from '../gauge';\nimport type { ISankeySeriesTheme } from '../sankey/interface';\nimport type { ITreemapSeriesTheme } from '../treemap/interface';\nimport type { ISunburstSeriesTheme } from '../sunburst/interface';\nimport type { IRangeColumnSeriesTheme } from '../range-column/interface';\nimport type { ICirclePackingSeriesTheme } from '../circle-packing/interface';\nimport type { IHeatmapSeriesTheme } from '../heatmap/interface';\nimport type { ICorrelationSeriesTheme } from '../correlation/interface';\nimport { SeriesTypeEnum } from './type';\nimport type { SeriesMarkMap } from './common';\nimport { bar3dSeriesMark, barSeriesMark } from '../bar/constant';\nimport { lineSeriesMark } from '../line/constant';\nimport { scatterSeriesMark } from '../scatter/constant';\nimport { areaSeriesMark } from '../area/constant';\nimport { radarSeriesMark } from '../radar/constant';\nimport { pie3dSeriesMark, pieSeriesMark } from '../pie/constant';\nimport { roseSeriesMark } from '../rose/constant';\nimport { mapSeriesMark } from '../map/constant';\nimport { circularProgressSeriesMark } from '../progress/circular/constant';\nimport { linkSeriesMark } from '../link/constant';\nimport { dotSeriesMark } from '../dot/constant';\nimport { wordCloudSeriesMark } from '../word-cloud/constant';\nimport { funnel3dSeriesMark, funnelSeriesMark } from '../funnel/constant';\nimport { linearProgressSeriesMark } from '../progress/linear/constant';\nimport { waterfallSeriesMark } from '../waterfall/constant';\nimport { boxPlotSeriesMark } from '../box-plot/constant';\nimport { treemapSeriesMark } from '../treemap/constant';\nimport { sankeySeriesMark } from '../sankey/constant';\nimport { gaugePointerSeriesMark, gaugeSeriesMark } from '../gauge/constant';\nimport { sunburstSeriesMark } from '../sunburst/constant';\nimport { rangeColumn3dSeriesMark, rangeColumnSeriesMark } from '../range-column/constant';\nimport { circlePackingSeriesMark } from '../circle-packing/constant';\nimport { heatmapSeriesMark } from '../heatmap/constant';\nimport { correlationSeriesMark } from '../correlation/constant';\nimport { rangeAreaSeriesMark } from '../range-area/constant';\nimport type { IRangeAreaSeriesTheme } from '../range-area/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { ILiquidSeriesTheme } from '../liquid/interface';\nimport { LiquidSeriesMark } from '../liquid/constant';\nimport type { IVennSeriesTheme } from '../venn/interface';\nimport { vennSeriesMark } from '../venn/constant';\n\nexport interface ISeriesTheme {\n [SeriesTypeEnum.bar]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_vertical]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_horizontal]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_stack]?: IBarSeriesTheme;\n\n [SeriesTypeEnum.bar3d]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_vertical]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_horizontal]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_stack]?: IBar3dSeriesTheme;\n\n [SeriesTypeEnum.line]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_vertical]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_horizontal]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_stack]?: ILineSeriesTheme;\n\n [SeriesTypeEnum.area]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_vertical]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_horizontal]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_stack]?: IAreaSeriesTheme;\n\n [SeriesTypeEnum.rangeColumn]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_vertical]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_horizontal]?: IRangeColumnSeriesTheme;\n\n [SeriesTypeEnum.rangeArea]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_vertical]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_horizontal]?: IRangeAreaSeriesTheme;\n\n [SeriesTypeEnum.linearProgress]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_vertical]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_horizontal]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_stack]?: ILinearProgressSeriesTheme;\n\n [SeriesTypeEnum.boxPlot]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_vertical]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_horizontal]?: IBoxPlotSeriesTheme;\n\n [SeriesTypeEnum.sankey]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_vertical]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_horizontal]?: ISankeySeriesTheme;\n\n [SeriesTypeEnum.waterfall]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_vertical]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_horizontal]?: IWaterfallSeriesTheme;\n\n [SeriesTypeEnum.scatter]?: IScatterSeriesTheme;\n\n [SeriesTypeEnum.radar]?: IRadarSeriesTheme;\n [SeriesTypeForThemeEnum.radar_stack]?: IRadarSeriesTheme;\n\n [SeriesTypeEnum.pie]?: IPieSeriesTheme;\n [SeriesTypeEnum.pie3d]?: IPie3dSeriesTheme;\n\n [SeriesTypeEnum.rose]?: IRoseSeriesTheme;\n [SeriesTypeForThemeEnum.rose_stack]?: IRoseSeriesTheme;\n\n [SeriesTypeEnum.map]?: IMapSeriesTheme;\n\n [SeriesTypeEnum.circularProgress]?: ICircularProgressSeriesTheme;\n [SeriesTypeForThemeEnum.circularProgress_stack]?: ICircularProgressSeriesTheme;\n\n [SeriesTypeEnum.link]?: ILinkSeriesTheme;\n [SeriesTypeEnum.dot]?: IDotSeriesTheme;\n [SeriesTypeEnum.wordCloud]?: IWordCloudSeriesTheme;\n [SeriesTypeEnum.wordCloud3d]?: IWordCloud3dSeriesTheme;\n [SeriesTypeEnum.funnel]?: IFunnelSeriesTheme;\n [SeriesTypeEnum.funnel3d]?: IFunnel3dSeriesTheme;\n [SeriesTypeEnum.treemap]?: ITreemapSeriesTheme;\n [SeriesTypeEnum.gauge]?: IGaugeSeriesTheme;\n [SeriesTypeEnum.gaugePointer]?: IGaugePointerSeriesTheme;\n [SeriesTypeEnum.sunburst]?: ISunburstSeriesTheme;\n [SeriesTypeEnum.circlePacking]?: ICirclePackingSeriesTheme;\n [SeriesTypeEnum.heatmap]?: IHeatmapSeriesTheme;\n [SeriesTypeEnum.correlation]?: ICorrelationSeriesTheme;\n [SeriesTypeEnum.liquid]?: ILiquidSeriesTheme;\n [SeriesTypeEnum.venn]?: IVennSeriesTheme;\n}\n\n/** 带有方向信息的系列类型,作为主题相关的补充类型 */\nexport enum SeriesTypeForThemeEnum {\n area_horizontal = 'area_horizontal',\n area_vertical = 'area_vertical',\n area_stack = 'area_stack',\n\n line_horizontal = 'line_horizontal',\n line_vertical = 'line_vertical',\n line_stack = 'line_stack',\n\n bar_horizontal = 'bar_horizontal',\n bar_vertical = 'bar_vertical',\n bar_stack = 'bar_stack',\n\n bar3d_horizontal = 'bar3d_horizontal',\n bar3d_vertical = 'bar3d_vertical',\n bar3d_stack = 'bar3d_stack',\n\n rangeColumn_horizontal = 'rangeColumn_horizontal',\n rangeColumn_vertical = 'rangeColumn_vertical',\n\n rangeColumn3d_horizontal = 'rangeColumn3d_horizontal',\n rangeColumn3d_vertical = 'rangeColumn3d_vertical',\n\n rangeArea_horizontal = 'rangeArea_horizontal',\n rangeArea_vertical = 'rangeArea_vertical',\n\n linearProgress_horizontal = 'linearProgress_horizontal',\n linearProgress_vertical = 'linearProgress_vertical',\n linearProgress_stack = 'linearProgress_stack',\n\n boxPlot_horizontal = 'boxPlot_horizontal',\n boxPlot_vertical = 'boxPlot_vertical',\n\n sankey_horizontal = 'sankey_horizontal',\n sankey_vertical = 'sankey_vertical',\n\n waterfall_horizontal = 'waterfall_horizontal',\n waterfall_vertical = 'waterfall_vertical',\n\n circularProgress_stack = 'circularProgress_stack',\n\n radar_stack = 'radar_stack',\n rose_stack = 'rose_stack'\n}\n\nexport const seriesMarkInfoMap: Record<SeriesTypeEnum, SeriesMarkMap> = {\n [SeriesTypeEnum.bar]: barSeriesMark,\n [SeriesTypeEnum.bar3d]: bar3dSeriesMark,\n [SeriesTypeEnum.line]: lineSeriesMark,\n [SeriesTypeEnum.scatter]: scatterSeriesMark,\n [SeriesTypeEnum.area]: areaSeriesMark,\n [SeriesTypeEnum.radar]: radarSeriesMark,\n [SeriesTypeEnum.pie]: pieSeriesMark,\n [SeriesTypeEnum.pie3d]: pie3dSeriesMark,\n [SeriesTypeEnum.rose]: roseSeriesMark,\n [SeriesTypeEnum.geo]: baseSeriesMark,\n [SeriesTypeEnum.map]: mapSeriesMark,\n [SeriesTypeEnum.circularProgress]: circularProgressSeriesMark,\n [SeriesTypeEnum.link]: linkSeriesMark,\n [SeriesTypeEnum.dot]: dotSeriesMark,\n [SeriesTypeEnum.wordCloud]: wordCloudSeriesMark,\n [SeriesTypeEnum.wordCloud3d]: wordCloudSeriesMark,\n [SeriesTypeEnum.funnel]: funnelSeriesMark,\n [SeriesTypeEnum.funnel3d]: funnel3dSeriesMark,\n [SeriesTypeEnum.linearProgress]: linearProgressSeriesMark,\n [SeriesTypeEnum.waterfall]: waterfallSeriesMark,\n [SeriesTypeEnum.boxPlot]: boxPlotSeriesMark,\n [SeriesTypeEnum.treemap]: treemapSeriesMark,\n [SeriesTypeEnum.sankey]: sankeySeriesMark,\n [SeriesTypeEnum.gauge]: gaugeSeriesMark,\n [SeriesTypeEnum.gaugePointer]: gaugePointerSeriesMark,\n [SeriesTypeEnum.sunburst]: sunburstSeriesMark,\n [SeriesTypeEnum.rangeColumn]: rangeColumnSeriesMark,\n [SeriesTypeEnum.rangeColumn3d]: rangeColumn3dSeriesMark,\n [SeriesTypeEnum.circlePacking]: circlePackingSeriesMark,\n [SeriesTypeEnum.heatmap]: heatmapSeriesMark,\n [SeriesTypeEnum.correlation]: correlationSeriesMark,\n [SeriesTypeEnum.rangeArea]: rangeAreaSeriesMark,\n [SeriesTypeEnum.liquid]: LiquidSeriesMark,\n [SeriesTypeEnum.venn]: vennSeriesMark\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/interface/theme.ts"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["import type { IWaterfallSeriesTheme } from '../waterfall/interface';\nimport type { IBoxPlotSeriesTheme } from '../box-plot/interface';\nimport type { IBar3dSeriesTheme, IBarSeriesTheme } from '../bar/interface';\nimport type { ILineSeriesTheme } from '../line/interface';\nimport type { IScatterSeriesTheme } from '../scatter/interface';\nimport type { IAreaSeriesTheme } from '../area/interface';\nimport type { IRadarSeriesTheme } from '../radar/interface';\nimport type { IPie3dSeriesTheme, IPieSeriesTheme } from '../pie/interface';\nimport type { IRoseSeriesTheme } from '../rose/interface';\nimport type { IMapSeriesTheme } from '../map/interface';\nimport type { ICircularProgressSeriesTheme } from '../progress/circular/interface';\nimport type { ILinkSeriesTheme } from '../link/interface';\nimport type { IDotSeriesTheme } from '../dot/interface';\nimport type { IWordCloud3dSeriesTheme, IWordCloudSeriesTheme } from '../word-cloud/interface';\nimport type { IFunnel3dSeriesTheme, IFunnelSeriesTheme } from '../funnel/interface';\nimport type { ILinearProgressSeriesTheme } from '../progress/linear/interface';\nimport type { IGaugePointerSeriesTheme, IGaugeSeriesTheme } from '../gauge';\nimport type { ISankeySeriesTheme } from '../sankey/interface';\nimport type { ITreemapSeriesTheme } from '../treemap/interface';\nimport type { ISunburstSeriesTheme } from '../sunburst/interface';\nimport type { IRangeColumnSeriesTheme } from '../range-column/interface';\nimport type { ICirclePackingSeriesTheme } from '../circle-packing/interface';\nimport type { IHeatmapSeriesTheme } from '../heatmap/interface';\nimport type { ICorrelationSeriesTheme } from '../correlation/interface';\nimport { SeriesTypeEnum } from './type';\nimport type { SeriesMarkMap } from './common';\nimport { bar3dSeriesMark, barSeriesMark } from '../bar/constant';\nimport { lineSeriesMark } from '../line/constant';\nimport { scatterSeriesMark } from '../scatter/constant';\nimport { areaSeriesMark } from '../area/constant';\nimport { radarSeriesMark } from '../radar/constant';\nimport { pie3dSeriesMark, pieSeriesMark } from '../pie/constant';\nimport { roseSeriesMark } from '../rose/constant';\nimport { mapSeriesMark } from '../map/constant';\nimport { circularProgressSeriesMark } from '../progress/circular/constant';\nimport { linkSeriesMark } from '../link/constant';\nimport { dotSeriesMark } from '../dot/constant';\nimport { wordCloudSeriesMark } from '../word-cloud/constant';\nimport { funnel3dSeriesMark, funnelSeriesMark } from '../funnel/constant';\nimport { linearProgressSeriesMark } from '../progress/linear/constant';\nimport { waterfallSeriesMark } from '../waterfall/constant';\nimport { boxPlotSeriesMark } from '../box-plot/constant';\nimport { treemapSeriesMark } from '../treemap/constant';\nimport { sankeySeriesMark } from '../sankey/constant';\nimport { gaugePointerSeriesMark, gaugeSeriesMark } from '../gauge/constant';\nimport { sunburstSeriesMark } from '../sunburst/constant';\nimport { rangeColumn3dSeriesMark, rangeColumnSeriesMark } from '../range-column/constant';\nimport { circlePackingSeriesMark } from '../circle-packing/constant';\nimport { heatmapSeriesMark } from '../heatmap/constant';\nimport { correlationSeriesMark } from '../correlation/constant';\nimport { rangeAreaSeriesMark } from '../range-area/constant';\nimport type { IRangeAreaSeriesTheme } from '../range-area/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { ILiquidSeriesTheme } from '../liquid/interface';\nimport { LiquidSeriesMark } from '../liquid/constant';\nimport type { IVennSeriesTheme } from '../venn/interface';\nimport { vennSeriesMark } from '../venn/constant';\nimport type { IMosaicSeriesTheme } from '../mosaic/interface';\n\nexport interface ISeriesTheme {\n [SeriesTypeEnum.bar]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_vertical]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_horizontal]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_stack]?: IBarSeriesTheme;\n\n [SeriesTypeEnum.bar3d]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_vertical]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_horizontal]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_stack]?: IBar3dSeriesTheme;\n\n [SeriesTypeEnum.line]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_vertical]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_horizontal]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_stack]?: ILineSeriesTheme;\n\n [SeriesTypeEnum.area]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_vertical]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_horizontal]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_stack]?: IAreaSeriesTheme;\n\n [SeriesTypeEnum.rangeColumn]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_vertical]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_horizontal]?: IRangeColumnSeriesTheme;\n\n [SeriesTypeEnum.rangeArea]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_vertical]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_horizontal]?: IRangeAreaSeriesTheme;\n\n [SeriesTypeEnum.linearProgress]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_vertical]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_horizontal]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_stack]?: ILinearProgressSeriesTheme;\n\n [SeriesTypeEnum.boxPlot]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_vertical]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_horizontal]?: IBoxPlotSeriesTheme;\n\n [SeriesTypeEnum.sankey]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_vertical]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_horizontal]?: ISankeySeriesTheme;\n\n [SeriesTypeEnum.waterfall]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_vertical]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_horizontal]?: IWaterfallSeriesTheme;\n\n [SeriesTypeEnum.scatter]?: IScatterSeriesTheme;\n\n [SeriesTypeEnum.radar]?: IRadarSeriesTheme;\n [SeriesTypeForThemeEnum.radar_stack]?: IRadarSeriesTheme;\n\n [SeriesTypeEnum.pie]?: IPieSeriesTheme;\n [SeriesTypeEnum.pie3d]?: IPie3dSeriesTheme;\n\n [SeriesTypeEnum.rose]?: IRoseSeriesTheme;\n [SeriesTypeForThemeEnum.rose_stack]?: IRoseSeriesTheme;\n\n [SeriesTypeEnum.map]?: IMapSeriesTheme;\n\n [SeriesTypeEnum.circularProgress]?: ICircularProgressSeriesTheme;\n [SeriesTypeForThemeEnum.circularProgress_stack]?: ICircularProgressSeriesTheme;\n\n [SeriesTypeEnum.link]?: ILinkSeriesTheme;\n [SeriesTypeEnum.dot]?: IDotSeriesTheme;\n [SeriesTypeEnum.wordCloud]?: IWordCloudSeriesTheme;\n [SeriesTypeEnum.wordCloud3d]?: IWordCloud3dSeriesTheme;\n [SeriesTypeEnum.funnel]?: IFunnelSeriesTheme;\n [SeriesTypeEnum.funnel3d]?: IFunnel3dSeriesTheme;\n [SeriesTypeEnum.treemap]?: ITreemapSeriesTheme;\n [SeriesTypeEnum.gauge]?: IGaugeSeriesTheme;\n [SeriesTypeEnum.gaugePointer]?: IGaugePointerSeriesTheme;\n [SeriesTypeEnum.sunburst]?: ISunburstSeriesTheme;\n [SeriesTypeEnum.circlePacking]?: ICirclePackingSeriesTheme;\n [SeriesTypeEnum.heatmap]?: IHeatmapSeriesTheme;\n [SeriesTypeEnum.correlation]?: ICorrelationSeriesTheme;\n [SeriesTypeEnum.liquid]?: ILiquidSeriesTheme;\n [SeriesTypeEnum.venn]?: IVennSeriesTheme;\n [SeriesTypeEnum.mosaic]?: IMosaicSeriesTheme;\n}\n\n/** 带有方向信息的系列类型,作为主题相关的补充类型 */\nexport enum SeriesTypeForThemeEnum {\n area_horizontal = 'area_horizontal',\n area_vertical = 'area_vertical',\n area_stack = 'area_stack',\n\n line_horizontal = 'line_horizontal',\n line_vertical = 'line_vertical',\n line_stack = 'line_stack',\n\n bar_horizontal = 'bar_horizontal',\n bar_vertical = 'bar_vertical',\n bar_stack = 'bar_stack',\n\n bar3d_horizontal = 'bar3d_horizontal',\n bar3d_vertical = 'bar3d_vertical',\n bar3d_stack = 'bar3d_stack',\n\n rangeColumn_horizontal = 'rangeColumn_horizontal',\n rangeColumn_vertical = 'rangeColumn_vertical',\n\n rangeColumn3d_horizontal = 'rangeColumn3d_horizontal',\n rangeColumn3d_vertical = 'rangeColumn3d_vertical',\n\n rangeArea_horizontal = 'rangeArea_horizontal',\n rangeArea_vertical = 'rangeArea_vertical',\n\n linearProgress_horizontal = 'linearProgress_horizontal',\n linearProgress_vertical = 'linearProgress_vertical',\n linearProgress_stack = 'linearProgress_stack',\n\n boxPlot_horizontal = 'boxPlot_horizontal',\n boxPlot_vertical = 'boxPlot_vertical',\n\n sankey_horizontal = 'sankey_horizontal',\n sankey_vertical = 'sankey_vertical',\n\n waterfall_horizontal = 'waterfall_horizontal',\n waterfall_vertical = 'waterfall_vertical',\n\n circularProgress_stack = 'circularProgress_stack',\n\n radar_stack = 'radar_stack',\n rose_stack = 'rose_stack'\n}\n\nexport const seriesMarkInfoMap: Record<SeriesTypeEnum, SeriesMarkMap> = {\n [SeriesTypeEnum.bar]: barSeriesMark,\n [SeriesTypeEnum.bar3d]: bar3dSeriesMark,\n [SeriesTypeEnum.line]: lineSeriesMark,\n [SeriesTypeEnum.scatter]: scatterSeriesMark,\n [SeriesTypeEnum.area]: areaSeriesMark,\n [SeriesTypeEnum.radar]: radarSeriesMark,\n [SeriesTypeEnum.pie]: pieSeriesMark,\n [SeriesTypeEnum.pie3d]: pie3dSeriesMark,\n [SeriesTypeEnum.rose]: roseSeriesMark,\n [SeriesTypeEnum.geo]: baseSeriesMark,\n [SeriesTypeEnum.map]: mapSeriesMark,\n [SeriesTypeEnum.circularProgress]: circularProgressSeriesMark,\n [SeriesTypeEnum.link]: linkSeriesMark,\n [SeriesTypeEnum.dot]: dotSeriesMark,\n [SeriesTypeEnum.wordCloud]: wordCloudSeriesMark,\n [SeriesTypeEnum.wordCloud3d]: wordCloudSeriesMark,\n [SeriesTypeEnum.funnel]: funnelSeriesMark,\n [SeriesTypeEnum.funnel3d]: funnel3dSeriesMark,\n [SeriesTypeEnum.linearProgress]: linearProgressSeriesMark,\n [SeriesTypeEnum.waterfall]: waterfallSeriesMark,\n [SeriesTypeEnum.boxPlot]: boxPlotSeriesMark,\n [SeriesTypeEnum.treemap]: treemapSeriesMark,\n [SeriesTypeEnum.sankey]: sankeySeriesMark,\n [SeriesTypeEnum.gauge]: gaugeSeriesMark,\n [SeriesTypeEnum.gaugePointer]: gaugePointerSeriesMark,\n [SeriesTypeEnum.sunburst]: sunburstSeriesMark,\n [SeriesTypeEnum.rangeColumn]: rangeColumnSeriesMark,\n [SeriesTypeEnum.rangeColumn3d]: rangeColumn3dSeriesMark,\n [SeriesTypeEnum.circlePacking]: circlePackingSeriesMark,\n [SeriesTypeEnum.heatmap]: heatmapSeriesMark,\n [SeriesTypeEnum.correlation]: correlationSeriesMark,\n [SeriesTypeEnum.rangeArea]: rangeAreaSeriesMark,\n [SeriesTypeEnum.liquid]: LiquidSeriesMark,\n [SeriesTypeEnum.venn]: vennSeriesMark,\n [SeriesTypeEnum.mosaic]: barSeriesMark\n};\n"]}
|
|
@@ -13,7 +13,7 @@ export var SeriesTypeEnum;
|
|
|
13
13
|
SeriesTypeEnum.gauge = "gauge", SeriesTypeEnum.treemap = "treemap", SeriesTypeEnum.sunburst = "sunburst",
|
|
14
14
|
SeriesTypeEnum.circlePacking = "circlePacking", SeriesTypeEnum.waterfall = "waterfall",
|
|
15
15
|
SeriesTypeEnum.heatmap = "heatmap", SeriesTypeEnum.correlation = "correlation",
|
|
16
|
-
SeriesTypeEnum.liquid = "liquid", SeriesTypeEnum.venn = "venn";
|
|
16
|
+
SeriesTypeEnum.liquid = "liquid", SeriesTypeEnum.venn = "venn", SeriesTypeEnum.mosaic = "mosaic";
|
|
17
17
|
}(SeriesTypeEnum || (SeriesTypeEnum = {}));
|
|
18
18
|
|
|
19
19
|
export var SeriesMarkNameEnum;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/interface/type.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"sources":["../src/series/interface/type.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,cAoCX;AApCD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,qCAAmB,CAAA;IACnB,uDAAqC,CAAA;IACrC,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,mDAAiC,CAAA;IACjC,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;AACnB,CAAC,EApCW,cAAc,KAAd,cAAc,QAoCzB;AAED,MAAM,CAAN,IAAkB,kBA8DjB;AA9DD,WAAkB,kBAAkB;IAClC,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;IAC/B,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;IACjB,2DAAqC,CAAA;IACrC,qDAA+B,CAAA;IAC/B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,mDAA6B,CAAA;AAC/B,CAAC,EA9DiB,kBAAkB,KAAlB,kBAAkB,QA8DnC","file":"type.js","sourcesContent":["export type SeriesType = keyof typeof SeriesTypeEnum | string;\n\nexport enum SeriesTypeEnum {\n area = 'area',\n line = 'line',\n bar = 'bar',\n bar3d = 'bar3d',\n rangeColumn = 'rangeColumn',\n rangeColumn3d = 'rangeColumn3d',\n rangeArea = 'rangeArea',\n dot = 'dot',\n geo = 'geo',\n link = 'link',\n map = 'map',\n pie = 'pie',\n pie3d = 'pie3d',\n radar = 'radar',\n rose = 'rose',\n scatter = 'scatter',\n circularProgress = 'circularProgress',\n wordCloud = 'wordCloud',\n wordCloud3d = 'wordCloud3d',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n linearProgress = 'linearProgress',\n boxPlot = 'boxPlot',\n sankey = 'sankey',\n gaugePointer = 'gaugePointer',\n gauge = 'gauge',\n treemap = 'treemap',\n sunburst = 'sunburst',\n circlePacking = 'circlePacking',\n waterfall = 'waterfall',\n heatmap = 'heatmap',\n correlation = 'correlation',\n liquid = 'liquid',\n venn = 'venn',\n mosaic = 'mosaic'\n}\n\nexport const enum SeriesMarkNameEnum {\n label = 'label',\n point = 'point',\n line = 'line',\n area = 'area',\n bar = 'bar',\n bar3d = 'bar3d',\n boxPlot = 'boxPlot',\n outlier = 'outlier',\n circlePacking = 'circlePacking',\n group = 'group',\n gridBackground = 'gridBackground',\n grid = 'grid',\n dot = 'dot',\n title = 'title',\n subTitle = 'subTitle',\n symbol = 'symbol',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n transform = 'transform',\n transform3d = 'transform3d',\n transformLabel = 'transformLabel',\n outerLabel = 'outerLabel',\n outerLabelLine = 'outerLabelLine',\n pin = 'pin',\n pinBackground = 'pinBackground',\n pointer = 'pointer',\n segment = 'segment',\n track = 'track',\n cell = 'cell',\n cellBackground = 'cellBackground',\n link = 'link',\n arrow = 'arrow',\n pie = 'pie',\n pie3d = 'pie3d',\n labelLine = 'labelLine',\n progress = 'progress',\n minLabel = 'minLabel',\n maxLabel = 'maxLabel',\n rose = 'rose',\n node = 'node',\n sunburst = 'sunburst',\n nonLeaf = 'nonLeaf',\n leaf = 'leaf',\n nonLeafLabel = 'nonLeafLabel',\n leaderLine = 'leaderLine',\n stackLabel = 'stackLabel',\n word = 'word',\n fillingWord = 'fillingWord',\n nodePoint = 'nodePoint',\n ripplePoint = 'ripplePoint',\n centerPoint = 'centerPoint',\n centerLabel = 'centerLabel',\n barBackground = 'barBackground',\n lineLabel = 'lineLabel',\n areaLabel = 'areaLabel',\n liquid = 'liquid',\n liquidBackground = 'liquidBackground',\n liquidOutline = 'liquidOutline',\n circle = 'circle',\n overlap = 'overlap',\n overlapLabel = 'overlapLabel'\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Functional } from '@visactor/vrender-components';
|
|
2
|
+
import type { ILabelSpec, IMultiLabelSpec } from '../../component/label/interface';
|
|
3
|
+
import type { IBarSeriesSpec, IBarSeriesTheme } from '../bar/interface';
|
|
4
|
+
import type { SeriesMarkNameEnum } from '../interface/type';
|
|
5
|
+
export interface IMosaicSeriesSpec extends Omit<IBarSeriesSpec, 'type' | 'label'> {
|
|
6
|
+
type: 'mosaic';
|
|
7
|
+
[SeriesMarkNameEnum.label]?: IMultiLabelSpec<Omit<ILabelSpec, 'position'> & {
|
|
8
|
+
filterByGroup?: {
|
|
9
|
+
field: string;
|
|
10
|
+
type?: 'min' | 'max';
|
|
11
|
+
filter?: (d: any) => boolean;
|
|
12
|
+
};
|
|
13
|
+
position?: Functional<'outside' | 'top' | 'bottom' | 'left' | 'right' | 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'>;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export type IMosaicSeriesTheme = IBarSeriesTheme;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/series/mosaic/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { Functional } from '@visactor/vrender-components';\nimport type { ILabelSpec, IMultiLabelSpec } from '../../component/label/interface';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from '../bar/interface';\nimport type { SeriesMarkNameEnum } from '../interface/type';\n\nexport interface IMosaicSeriesSpec extends Omit<IBarSeriesSpec, 'type' | 'label'> {\n /** 系列类型 */\n type: 'mosaic';\n [SeriesMarkNameEnum.label]?: IMultiLabelSpec<\n Omit<ILabelSpec, 'position'> & {\n filterByGroup?: {\n field: string;\n type?: 'min' | 'max';\n filter?: (d: any) => boolean;\n };\n\n /**\n * 标签位置\n * @since 1.6.0\n * 支持'top-right' | 'top-left'| 'bottom-right' | 'bottom-left',以及函数形式配置\n * */\n position?: Functional<\n | 'outside'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'inside'\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-right'\n | 'inside-left'\n | 'top-right'\n | 'top-left'\n | 'bottom-right'\n | 'bottom-left'\n >;\n }\n >;\n}\n\nexport type IMosaicSeriesTheme = IBarSeriesTheme;\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BarSeries } from '../bar/bar';
|
|
2
|
+
import { SeriesTypeEnum } from '../interface/type';
|
|
3
|
+
import type { IMosaicSeriesSpec } from './interface';
|
|
4
|
+
export declare class MosaicSeries<T extends IMosaicSeriesSpec = IMosaicSeriesSpec> extends BarSeries<any> {
|
|
5
|
+
static readonly type: string;
|
|
6
|
+
type: SeriesTypeEnum;
|
|
7
|
+
protected _spec: T;
|
|
8
|
+
static readonly transformerConstructor: any;
|
|
9
|
+
readonly transformerConstructor: any;
|
|
10
|
+
getStack(): boolean;
|
|
11
|
+
getPercent(): boolean;
|
|
12
|
+
getGroupFields(): string[];
|
|
13
|
+
setAttrFromSpec(): void;
|
|
14
|
+
parseLabelStyle(labelStyle: any, labelSpec: any): any;
|
|
15
|
+
}
|
|
16
|
+
export declare const registerMosaicSeries: () => void;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { BarSeries } from "../bar/bar";
|
|
2
|
+
|
|
3
|
+
import { SeriesTypeEnum } from "../interface/type";
|
|
4
|
+
|
|
5
|
+
import { registerRectMark } from "../../mark/rect";
|
|
6
|
+
|
|
7
|
+
import { registerTextMark } from "../../mark/text";
|
|
8
|
+
|
|
9
|
+
import { registerFadeInOutAnimation } from "../../animation/config";
|
|
10
|
+
|
|
11
|
+
import { Factory } from "../../core/factory";
|
|
12
|
+
|
|
13
|
+
import { BarSeriesSpecTransformer } from "../bar/bar-transformer";
|
|
14
|
+
|
|
15
|
+
import { registerCartesianLinearAxis } from "../../component/axis/cartesian";
|
|
16
|
+
|
|
17
|
+
import { MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT } from "../../constant";
|
|
18
|
+
|
|
19
|
+
import { isNil } from "@visactor/vutils";
|
|
20
|
+
|
|
21
|
+
export class MosaicSeries extends BarSeries {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments), this.type = SeriesTypeEnum.mosaic, this.transformerConstructor = BarSeriesSpecTransformer;
|
|
24
|
+
}
|
|
25
|
+
getStack() {
|
|
26
|
+
return !0;
|
|
27
|
+
}
|
|
28
|
+
getPercent() {
|
|
29
|
+
return !!this.getSeriesField();
|
|
30
|
+
}
|
|
31
|
+
getGroupFields() {
|
|
32
|
+
return "vertical" === this.direction ? this._specXField : this._specYField;
|
|
33
|
+
}
|
|
34
|
+
setAttrFromSpec() {
|
|
35
|
+
super.setAttrFromSpec();
|
|
36
|
+
const isPercent = this.getPercent();
|
|
37
|
+
"horizontal" === this.direction ? (isPercent && (this.setFieldX(MOSAIC_VALUE_END_PERCENT),
|
|
38
|
+
this.setFieldX2(MOSAIC_VALUE_START_PERCENT)), this.setFieldY(MOSAIC_CAT_END_PERCENT),
|
|
39
|
+
this.setFieldY2(MOSAIC_CAT_START_PERCENT)) : (isPercent && (this.setFieldY(MOSAIC_VALUE_END_PERCENT),
|
|
40
|
+
this.setFieldY2(MOSAIC_VALUE_START_PERCENT)), this.setFieldX(MOSAIC_CAT_END_PERCENT),
|
|
41
|
+
this.setFieldX2(MOSAIC_CAT_START_PERCENT));
|
|
42
|
+
}
|
|
43
|
+
parseLabelStyle(labelStyle, labelSpec) {
|
|
44
|
+
if ((null == labelSpec ? void 0 : labelSpec.filterByGroup) && isNil(labelStyle.dataFilter)) {
|
|
45
|
+
const allGroupFields = this.getGroupFields(), {field: field, type: filterType = "max", filter: filter} = labelSpec.filterByGroup;
|
|
46
|
+
delete labelStyle.filterField;
|
|
47
|
+
const fieldIndex = allGroupFields.indexOf(field);
|
|
48
|
+
if (fieldIndex < 0) return;
|
|
49
|
+
const valueField = !!(fieldIndex % 2) ? "min" === filterType ? "horizontal" === this.direction ? this._fieldY2 : this._fieldX2 : "horizontal" === this.direction ? this._fieldY : this._fieldX : "min" === filterType ? "horizontal" === this.direction ? this._fieldX2 : this._fieldY2 : "horizontal" === this.direction ? this._fieldX : this._fieldY, filterFunc = "min" === filterType ? (a, b) => {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
return (null === (_a = a.data) || void 0 === _a ? void 0 : _a[valueField]) < (null === (_b = b.data) || void 0 === _b ? void 0 : _b[valueField]);
|
|
52
|
+
} : (a, b) => {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
return (null === (_a = a.data) || void 0 === _a ? void 0 : _a[valueField]) > (null === (_b = b.data) || void 0 === _b ? void 0 : _b[valueField]);
|
|
55
|
+
};
|
|
56
|
+
labelStyle.dataFilter = data => {
|
|
57
|
+
const filteredData = {};
|
|
58
|
+
return data.forEach((d => {
|
|
59
|
+
const datum = d.data, fieldValue = null == datum ? void 0 : datum[field];
|
|
60
|
+
isNil(fieldValue) || filter && !filter(d) || filteredData[fieldValue] && !filterFunc(d, filteredData[fieldValue]) || (filteredData[fieldValue] = d);
|
|
61
|
+
})), data.filter((d => {
|
|
62
|
+
var _a;
|
|
63
|
+
const fieldValue = null === (_a = d.data) || void 0 === _a ? void 0 : _a[field];
|
|
64
|
+
return filteredData[fieldValue] && filteredData[fieldValue] === d;
|
|
65
|
+
}));
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return labelStyle;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
MosaicSeries.type = SeriesTypeEnum.mosaic, MosaicSeries.transformerConstructor = BarSeriesSpecTransformer;
|
|
73
|
+
|
|
74
|
+
export const registerMosaicSeries = () => {
|
|
75
|
+
registerRectMark(), registerTextMark(), registerFadeInOutAnimation(), registerCartesianLinearAxis(),
|
|
76
|
+
Factory.registerSeries(MosaicSeries.type, MosaicSeries);
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=mosaic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/series/mosaic/mosaic.ts"],"names":[],"mappings":"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","file":"mosaic.js","sourcesContent":["import { BarSeries } from '../bar/bar';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerRectMark } from '../../mark/rect';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerTextMark } from '../../mark/text';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { IMosaicSeriesSpec } from './interface';\nimport { Factory } from '../../core/factory';\nimport { BarSeriesSpecTransformer } from '../bar/bar-transformer';\nimport { registerCartesianLinearAxis } from '../../component/axis/cartesian';\nimport { Direction } from '../../typings/space';\nimport {\n MOSAIC_CAT_END_PERCENT,\n MOSAIC_CAT_START_PERCENT,\n MOSAIC_VALUE_END_PERCENT,\n MOSAIC_VALUE_START_PERCENT\n} from '../../constant';\nimport { isNil } from '@visactor/vutils';\n\nexport class MosaicSeries<T extends IMosaicSeriesSpec = IMosaicSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.mosaic;\n type = SeriesTypeEnum.mosaic;\n\n protected declare _spec: T;\n\n static readonly transformerConstructor = BarSeriesSpecTransformer as any;\n readonly transformerConstructor = BarSeriesSpecTransformer as any;\n\n getStack() {\n return true;\n }\n\n getPercent() {\n return !!this.getSeriesField();\n }\n getGroupFields() {\n return this.direction === 'vertical' ? this._specXField : this._specYField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const isPercent = this.getPercent();\n\n if (this.direction === Direction.horizontal) {\n if (isPercent) {\n this.setFieldX(MOSAIC_VALUE_END_PERCENT);\n this.setFieldX2(MOSAIC_VALUE_START_PERCENT);\n }\n\n this.setFieldY(MOSAIC_CAT_END_PERCENT);\n this.setFieldY2(MOSAIC_CAT_START_PERCENT);\n } else {\n if (isPercent) {\n this.setFieldY(MOSAIC_VALUE_END_PERCENT);\n this.setFieldY2(MOSAIC_VALUE_START_PERCENT);\n }\n\n this.setFieldX(MOSAIC_CAT_END_PERCENT);\n this.setFieldX2(MOSAIC_CAT_START_PERCENT);\n }\n }\n\n parseLabelStyle(labelStyle: any, labelSpec: any) {\n if (labelSpec?.filterByGroup && isNil(labelStyle.dataFilter)) {\n const allGroupFields = this.getGroupFields();\n const { field, type: filterType = 'max', filter } = labelSpec.filterByGroup;\n delete labelStyle.filterField;\n const fieldIndex = allGroupFields.indexOf(field);\n\n if (fieldIndex < 0) {\n return;\n }\n const isCatField = !!(fieldIndex % 2);\n const valueField = isCatField\n ? filterType === 'min'\n ? this.direction === Direction.horizontal\n ? this._fieldY2\n : this._fieldX2\n : this.direction === Direction.horizontal\n ? this._fieldY\n : this._fieldX\n : filterType === 'min'\n ? this.direction === Direction.horizontal\n ? this._fieldX2\n : this._fieldY2\n : this.direction === Direction.horizontal\n ? this._fieldX\n : this._fieldY;\n const filterFunc =\n filterType === 'min'\n ? (a: any, b: any) => {\n return a.data?.[valueField as string] < b.data?.[valueField as string];\n }\n : (a: any, b: any) => {\n return a.data?.[valueField as string] > b.data?.[valueField as string];\n };\n\n labelStyle.dataFilter = (data: any) => {\n const filteredData = {};\n\n data.forEach((d: any) => {\n const datum = d.data;\n const fieldValue = datum?.[field];\n\n if (isNil(fieldValue) || (filter && !filter(d))) {\n return;\n }\n\n if (!filteredData[fieldValue] || filterFunc(d, filteredData[fieldValue])) {\n filteredData[fieldValue] = d;\n }\n });\n return data.filter((d: any) => {\n const fieldValue = d.data?.[field];\n return filteredData[fieldValue] && filteredData[fieldValue] === d;\n });\n };\n }\n\n return labelStyle;\n }\n}\n\nexport const registerMosaicSeries = () => {\n registerRectMark();\n registerTextMark();\n registerFadeInOutAnimation();\n registerCartesianLinearAxis();\n Factory.registerSeries(MosaicSeries.type, MosaicSeries);\n};\n"]}
|
|
@@ -9,15 +9,13 @@ export declare class LinearProgressSeries<T extends ILinearProgressSeriesSpec =
|
|
|
9
9
|
static readonly mark: SeriesMarkMap;
|
|
10
10
|
private _progressMark;
|
|
11
11
|
private _trackMark;
|
|
12
|
-
private _progressGroupMark;
|
|
13
12
|
initMark(): void;
|
|
14
13
|
initMarkStyle(): void;
|
|
15
14
|
private _initProgressMark;
|
|
16
15
|
private _initProgressMarkStyle;
|
|
16
|
+
private _defaultProgressCustomShape;
|
|
17
17
|
private _initTrackMark;
|
|
18
18
|
private _initTrackMarkStyle;
|
|
19
|
-
private _initProgressGroupMark;
|
|
20
|
-
private _initProgressGroupMarkStyle;
|
|
21
19
|
initInteraction(): void;
|
|
22
20
|
initAnimation(): void;
|
|
23
21
|
protected initTooltip(): void;
|
|
@@ -14,49 +14,77 @@ import { LinearProgressSeriesTooltipHelper } from "./tooltip-helper";
|
|
|
14
14
|
|
|
15
15
|
import { registerRectMark } from "../../../mark/rect";
|
|
16
16
|
|
|
17
|
-
import { createRect } from "@visactor/vrender-core";
|
|
18
|
-
|
|
19
17
|
import { linearProgressSeriesMark } from "./constant";
|
|
20
18
|
|
|
21
19
|
import { Factory } from "../../../core/factory";
|
|
22
20
|
|
|
23
21
|
import { registerFadeInOutAnimation } from "../../../animation/config";
|
|
24
22
|
|
|
23
|
+
import { isValid } from "@visactor/vutils";
|
|
24
|
+
|
|
25
25
|
export class LinearProgressSeries extends CartesianSeries {
|
|
26
26
|
constructor() {
|
|
27
27
|
super(...arguments), this.type = SeriesTypeEnum.linearProgress, this._progressMark = null,
|
|
28
|
-
this._trackMark = null, this.
|
|
28
|
+
this._trackMark = null, this._defaultProgressCustomShape = (datum, attrs, path) => {
|
|
29
|
+
const cornerRadius = this._spec.cornerRadius, width = isValid(attrs.width) ? attrs.width : attrs.x1 - attrs.x, height = isValid(attrs.height) ? attrs.height : attrs.y1 - attrs.y, x0 = Math.min(0, width), x1 = Math.max(0, width), y0 = Math.min(0, height), y1 = Math.max(0, height);
|
|
30
|
+
if (cornerRadius > 0) {
|
|
31
|
+
let realCornerRadius = cornerRadius;
|
|
32
|
+
if ("vertical" === this._spec.direction) {
|
|
33
|
+
if (realCornerRadius = Math.min(Math.abs(width / 2), cornerRadius), 2 * realCornerRadius > Math.abs(height)) {
|
|
34
|
+
const angle = Math.acos((realCornerRadius - Math.abs(height) / 2) / realCornerRadius);
|
|
35
|
+
return path.moveTo(x0 + realCornerRadius, y0), path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, 1.5 * Math.PI, 1.5 * Math.PI - angle, !0),
|
|
36
|
+
path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, angle + Math.PI / 2, Math.PI / 2, !0),
|
|
37
|
+
path.lineTo(x1 - cornerRadius, y1), path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI / 2, Math.PI / 2 - angle, !0),
|
|
38
|
+
path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -Math.PI / 2 + angle, -Math.PI / 2, !0),
|
|
39
|
+
path.lineTo(x0 + realCornerRadius, y0), path.closePath(), path;
|
|
40
|
+
}
|
|
41
|
+
} else if (realCornerRadius = Math.min(Math.abs(height / 2), cornerRadius), 2 * realCornerRadius > Math.abs(width)) {
|
|
42
|
+
const angle = Math.acos((realCornerRadius - Math.abs(width) / 2) / realCornerRadius);
|
|
43
|
+
return path.moveTo(x0, y0 + realCornerRadius), path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, Math.PI + angle),
|
|
44
|
+
path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -angle, 0),
|
|
45
|
+
path.lineTo(x1, y1 - realCornerRadius), path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, angle),
|
|
46
|
+
path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI - angle, Math.PI),
|
|
47
|
+
path.closePath(), path;
|
|
48
|
+
}
|
|
49
|
+
path.moveTo(x0, y0 + realCornerRadius), path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, 1.5 * Math.PI),
|
|
50
|
+
path.lineTo(x1 - realCornerRadius, y0), path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -Math.PI / 2, 0),
|
|
51
|
+
path.lineTo(x1, y1 - realCornerRadius), path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, Math.PI / 2),
|
|
52
|
+
path.lineTo(x0 + realCornerRadius, y1), path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI / 2, Math.PI),
|
|
53
|
+
path.closePath();
|
|
54
|
+
} else path.moveTo(x0, y0), path.lineTo(x1, y0), path.lineTo(x1, y1), path.lineTo(x0, y1),
|
|
55
|
+
path.closePath();
|
|
56
|
+
return path;
|
|
57
|
+
};
|
|
29
58
|
}
|
|
30
59
|
initMark() {
|
|
31
|
-
this.
|
|
60
|
+
this._initTrackMark(), this._initProgressMark();
|
|
32
61
|
}
|
|
33
62
|
initMarkStyle() {
|
|
34
|
-
this.
|
|
63
|
+
this._initTrackMarkStyle(), this._initProgressMarkStyle();
|
|
35
64
|
}
|
|
36
65
|
_initProgressMark() {
|
|
37
|
-
var _a, _b;
|
|
66
|
+
var _a, _b, _c;
|
|
38
67
|
return this._progressMark = this._createMark(LinearProgressSeries.mark.progress, {
|
|
39
68
|
isSeriesMark: !0,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
stateSort: null === (_b = this._spec.progress) || void 0 === _b ? void 0 : _b.stateSort
|
|
69
|
+
customShape: null !== (_b = null === (_a = this._spec.progress) || void 0 === _a ? void 0 : _a.customShape) && void 0 !== _b ? _b : this._defaultProgressCustomShape,
|
|
70
|
+
stateSort: null === (_c = this._spec.progress) || void 0 === _c ? void 0 : _c.stateSort
|
|
43
71
|
}), this._progressMark;
|
|
44
72
|
}
|
|
45
73
|
_initProgressMarkStyle() {
|
|
46
|
-
var _a, _b, _c, _d
|
|
74
|
+
var _a, _b, _c, _d;
|
|
47
75
|
const progressMark = this._progressMark;
|
|
48
76
|
if (progressMark) if ("vertical" === this._spec.direction) {
|
|
49
|
-
const
|
|
77
|
+
const progress = this._spec.progress || {}, leftPadding = null !== (_a = progress.leftPadding) && void 0 !== _a ? _a : 0, rightPadding = null !== (_b = progress.rightPadding) && void 0 !== _b ? _b : 0;
|
|
50
78
|
this.setMarkStyle(progressMark, {
|
|
51
79
|
x: datum => {
|
|
52
80
|
var _a, _b;
|
|
53
81
|
return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2 + leftPadding;
|
|
54
82
|
},
|
|
55
|
-
|
|
83
|
+
y1: datum => {
|
|
56
84
|
var _a, _b;
|
|
57
85
|
return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0));
|
|
58
86
|
},
|
|
59
|
-
|
|
87
|
+
y: () => {
|
|
60
88
|
var _a;
|
|
61
89
|
return null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.dataToPosition([ 0 ], {
|
|
62
90
|
bandPosition: this._bandPosition
|
|
@@ -67,22 +95,20 @@ export class LinearProgressSeries extends CartesianSeries {
|
|
|
67
95
|
fill: this.getColorAttribute()
|
|
68
96
|
}, "normal", AttributeLevel.Series);
|
|
69
97
|
} else {
|
|
70
|
-
const
|
|
98
|
+
const progress = this._spec.progress || {}, topPadding = null !== (_c = progress.topPadding) && void 0 !== _c ? _c : 0, bottomPadding = null !== (_d = progress.bottomPadding) && void 0 !== _d ? _d : 0;
|
|
71
99
|
this.setMarkStyle(progressMark, {
|
|
72
|
-
|
|
100
|
+
x1: datum => {
|
|
73
101
|
var _a, _b;
|
|
74
|
-
return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0))
|
|
75
|
-
bandPosition: this._bandPosition
|
|
76
|
-
});
|
|
102
|
+
return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0));
|
|
77
103
|
},
|
|
78
104
|
y: datum => {
|
|
79
105
|
var _a, _b;
|
|
80
106
|
return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2 + topPadding;
|
|
81
107
|
},
|
|
82
108
|
height: this._spec.bandWidth - topPadding - bottomPadding,
|
|
83
|
-
|
|
109
|
+
x: () => {
|
|
84
110
|
var _a;
|
|
85
|
-
return null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.dataToPosition([
|
|
111
|
+
return null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.dataToPosition([ 0 ], {
|
|
86
112
|
bandPosition: this._bandPosition
|
|
87
113
|
});
|
|
88
114
|
},
|
|
@@ -94,7 +120,6 @@ export class LinearProgressSeries extends CartesianSeries {
|
|
|
94
120
|
_initTrackMark() {
|
|
95
121
|
var _a, _b;
|
|
96
122
|
return this._trackMark = this._createMark(LinearProgressSeries.mark.track, {
|
|
97
|
-
parent: this._progressGroupMark,
|
|
98
123
|
customShape: null === (_a = this._spec.track) || void 0 === _a ? void 0 : _a.customShape,
|
|
99
124
|
stateSort: null === (_b = this._spec.track) || void 0 === _b ? void 0 : _b.stateSort
|
|
100
125
|
}), this._trackMark;
|
|
@@ -121,47 +146,6 @@ export class LinearProgressSeries extends CartesianSeries {
|
|
|
121
146
|
cornerRadius: this._spec.cornerRadius
|
|
122
147
|
}, "normal", AttributeLevel.Series));
|
|
123
148
|
}
|
|
124
|
-
_initProgressGroupMark() {
|
|
125
|
-
return this._progressGroupMark = this._createMark(LinearProgressSeries.mark.group, {
|
|
126
|
-
skipBeforeLayouted: !1
|
|
127
|
-
}), this._progressGroupMark;
|
|
128
|
-
}
|
|
129
|
-
_initProgressGroupMarkStyle() {
|
|
130
|
-
const groupMark = this._progressGroupMark;
|
|
131
|
-
groupMark.setZIndex(this.layoutZIndex), groupMark.created(), this.setMarkStyle(groupMark, {
|
|
132
|
-
clip: !0,
|
|
133
|
-
x: 0,
|
|
134
|
-
y: 0,
|
|
135
|
-
path: () => {
|
|
136
|
-
var _a;
|
|
137
|
-
const rectPaths = [];
|
|
138
|
-
return null === (_a = this._rawData) || void 0 === _a || _a.rawData.forEach(((datum, index) => {
|
|
139
|
-
var _a, _b, _c, _d;
|
|
140
|
-
if ("vertical" === this._spec.direction) {
|
|
141
|
-
const x = valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2, height = this._scaleY.range()[0];
|
|
142
|
-
rectPaths.push(createRect({
|
|
143
|
-
x: x,
|
|
144
|
-
y: 0,
|
|
145
|
-
height: height,
|
|
146
|
-
width: this._spec.bandWidth,
|
|
147
|
-
cornerRadius: this._spec.cornerRadius,
|
|
148
|
-
fill: !0
|
|
149
|
-
}));
|
|
150
|
-
} else {
|
|
151
|
-
const y = valueInScaleRange(this.dataToPositionY(datum), null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0)) - this._spec.bandWidth / 2, width = this._scaleX.range()[1];
|
|
152
|
-
rectPaths.push(createRect({
|
|
153
|
-
x: 0,
|
|
154
|
-
y: y,
|
|
155
|
-
height: this._spec.bandWidth,
|
|
156
|
-
width: width,
|
|
157
|
-
cornerRadius: this._spec.cornerRadius,
|
|
158
|
-
fill: !0
|
|
159
|
-
}));
|
|
160
|
-
}
|
|
161
|
-
})), rectPaths;
|
|
162
|
-
}
|
|
163
|
-
}, "normal", AttributeLevel.Series), this._progressGroupMark.setInteractive(!1);
|
|
164
|
-
}
|
|
165
149
|
initInteraction() {
|
|
166
150
|
const marks = [];
|
|
167
151
|
this._trackMark && marks.push(this._trackMark), this._progressMark && marks.push(this._progressMark),
|