@visactor/vchart 1.11.1-alpha.6 → 1.11.2-alpha.0
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 +12 -12
- package/build/index.es.js +103642 -0
- package/build/index.js +32855 -30569
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/config.d.ts +1 -0
- package/cjs/animation/config.js +30 -24
- package/cjs/animation/config.js.map +1 -1
- package/cjs/chart/stack.js +1 -2
- package/cjs/compile/grammar-item.js +2 -1
- package/cjs/compile/util.js +3 -0
- package/cjs/compile/util.js.map +1 -1
- package/cjs/component/marker/mark-point/base-mark-point.js +27 -17
- package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/theme.d.ts +7 -1
- package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
- package/cjs/component/player/player.js +5 -3
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.d.ts +1 -1
- package/cjs/data/transforms/sankey.js.map +1 -1
- package/cjs/env/env.d.ts +1 -0
- package/cjs/env/env.js +7 -1
- package/cjs/env/env.js.map +1 -1
- package/cjs/event/event-dispatcher.js +2 -1
- package/cjs/event/index.js +1 -2
- package/cjs/model/layout-model.js +4 -3
- package/cjs/model/layout-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -1
- package/cjs/series/area/animation.d.ts +1 -1
- package/cjs/series/area/animation.js +6 -16
- package/cjs/series/area/animation.js.map +1 -1
- package/cjs/series/area/area.js +1 -1
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +3 -0
- package/cjs/series/sankey/sankey.js +31 -31
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +1 -0
- package/cjs/typings/spec/common.js +2 -2
- package/cjs/typings/spec/common.js.map +1 -1
- package/esm/animation/config.d.ts +1 -0
- package/esm/animation/config.js +29 -23
- package/esm/animation/config.js.map +1 -1
- package/esm/chart/stack.js +1 -2
- package/esm/compile/grammar-item.js +2 -1
- package/esm/compile/util.js +3 -0
- package/esm/compile/util.js.map +1 -1
- package/esm/component/marker/mark-point/base-mark-point.js +25 -17
- package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
- package/esm/component/marker/mark-point/interface/theme.d.ts +7 -1
- package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
- package/esm/component/player/player.js +5 -3
- package/esm/component/player/player.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.d.ts +1 -1
- package/esm/data/transforms/sankey.js.map +1 -1
- package/esm/env/env.d.ts +1 -0
- package/esm/env/env.js +5 -1
- package/esm/env/env.js.map +1 -1
- package/esm/event/event-dispatcher.js +2 -1
- package/esm/event/index.js +1 -2
- package/esm/model/layout-model.js +4 -3
- package/esm/model/layout-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +1 -1
- package/esm/series/area/animation.d.ts +1 -1
- package/esm/series/area/animation.js +3 -16
- package/esm/series/area/animation.js.map +1 -1
- package/esm/series/area/area.js +3 -3
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +3 -0
- package/esm/series/sankey/sankey.js +31 -31
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/typings/spec/common.d.ts +1 -0
- package/esm/typings/spec/common.js +2 -2
- package/esm/typings/spec/common.js.map +1 -1
- package/package.json +19 -21
package/esm/event/index.js
CHANGED
|
@@ -38,7 +38,7 @@ export class LayoutModel extends BaseModel {
|
|
|
38
38
|
layoutOrient: this._orient,
|
|
39
39
|
transformLayoutRect: this._transformLayoutRect,
|
|
40
40
|
transformLayoutPosition: this._transformLayoutPosition
|
|
41
|
-
}), this._orient && "radius" !== this._orient && "angle" !== this._orient && this.
|
|
41
|
+
}), this._orient && "radius" !== this._orient && "angle" !== this._orient && this._layout && (this._layout.layoutOrient = this._orient));
|
|
42
42
|
}
|
|
43
43
|
onLayoutStart(layoutRect, viewRect, ctx) {
|
|
44
44
|
this._isLayout = !0, super.onLayoutStart(layoutRect, viewRect, ctx);
|
|
@@ -71,11 +71,12 @@ export class LayoutModel extends BaseModel {
|
|
|
71
71
|
return null === (_a = this._layout) || void 0 === _a ? void 0 : _a.getLastComputeOutBounds();
|
|
72
72
|
}
|
|
73
73
|
setAttrFromSpec() {
|
|
74
|
-
var _a, _b, _c, _d;
|
|
74
|
+
var _a, _b, _c, _d, _e;
|
|
75
75
|
super.setAttrFromSpec(), this.layoutClip = null !== (_a = this._spec.clip) && void 0 !== _a ? _a : this.layoutClip,
|
|
76
76
|
this.layoutZIndex = null !== (_b = this._spec.zIndex) && void 0 !== _b ? _b : this.layoutZIndex,
|
|
77
77
|
this.layoutType = null !== (_c = this._spec.layoutType) && void 0 !== _c ? _c : this.layoutType,
|
|
78
|
-
this._orient = null !== (_d = this._spec.orient) && void 0 !== _d ? _d : this._orient
|
|
78
|
+
this._orient = null !== (_d = this._spec.orient) && void 0 !== _d ? _d : this._orient,
|
|
79
|
+
this.layoutLevel = null !== (_e = this._spec.layoutLevel) && void 0 !== _e ? _e : this.layoutLevel;
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
//# sourceMappingURL=layout-model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model/layout-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,MAAM,OAAgB,WAAkC,SAAQ,SAAY;IAA5E;;QACY,eAAU,GAAyB,QAAQ,CAAC;QAC5C,gBAAW,GAAY,CAAC,CAAC;QACzB,iBAAY,GAAW,CAAC,CAAC;QAWzB,oBAAe,GAAY,KAAK,CAAC;QACjC,YAAO,GAAgB,IAAI,CAAC;QAC5B,YAAO,GAAoC,IAAI,CAAC;QAEhD,gBAAW,GAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnD,oBAAe,GAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAGzC,cAAS,GAAY,IAAI,CAAC;QAkEpC,qBAAgB,GAAG,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBACxC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBACxC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK;oBAC7E,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM;iBAC/E,CAAC;aACH;YACD,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACxC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/model/layout-model.ts"],"names":[],"mappings":"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","file":"layout-model.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual, merge } from '@visactor/vutils';\nimport type { ILayoutItem } from '../layout/interface';\nimport type { IOrientType, IPolarOrientType, IRect } from '../typings/space';\nimport { BaseModel } from './base-model';\nimport type { IModelSpec } from './interface';\nimport { LayoutItem } from '../layout/layout-item';\nimport type { IPoint } from '../typings/coordinate';\nimport type { ILayoutType, ILayoutPoint, ILayoutRect } from '../typings/layout';\n\nexport abstract class LayoutModel<T extends IModelSpec> extends BaseModel<T> {\n protected layoutType: ILayoutType | 'none' = 'normal';\n protected layoutLevel?: number = 0;\n protected layoutZIndex: number = 0;\n layoutClip: boolean;\n get layoutOrient() {\n return this._orient as IOrientType;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n this._layout && (this._layout.layoutOrient = v);\n }\n\n protected _forceLayoutTag: boolean = false;\n protected _layout: ILayoutItem = null;\n protected _orient?: IPolarOrientType | IOrientType = null;\n\n protected _layoutRect: ILayoutRect = { width: 0, height: 0 };\n protected _layoutStartPos: IPoint = { x: 0, y: 0 };\n\n // TODO: 有些hack,这个tag是为了避免布局逻辑中,轴的数据变化,又由数据变化触发重新布局\n protected _isLayout: boolean = true;\n\n initLayout() {\n if (this.layoutType === 'none') {\n return;\n }\n this._layout = new LayoutItem(this, {\n layoutType: this.layoutType,\n layoutLevel: this.layoutLevel,\n layoutOrient: this._orient as IOrientType,\n transformLayoutRect: this._transformLayoutRect,\n transformLayoutPosition: this._transformLayoutPosition\n });\n if (this._orient && this._orient !== 'radius' && this._orient !== 'angle' && this._layout) {\n this._layout.layoutOrient = this._orient;\n }\n }\n\n onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void {\n this._isLayout = true;\n super.onLayoutStart(layoutRect, viewRect, ctx);\n }\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n // diff layoutRect\n this.updateLayoutAttribute();\n const layoutRect = this.getLayoutRect();\n if (this._forceLayoutTag || !isEqual(this._lastLayoutRect, layoutRect)) {\n this._lastLayoutRect = { ...layoutRect };\n }\n this._forceLayoutTag = false;\n this._isLayout = false;\n }\n\n afterSetLayoutStartPoint(_pos: ILayoutPoint) {\n // do nothing\n }\n\n protected _forceLayout() {\n if (this._isLayout) {\n return;\n }\n this._forceLayoutTag = true;\n this._option.globalInstance.getChart()?.setLayoutTag(true);\n }\n\n // 布局相关\n getLayoutStartPoint() {\n return this._layout ? this._layout.getLayoutStartPoint() : this._layoutStartPos;\n }\n setLayoutStartPosition(pos: Partial<IPoint>) {\n return this._layout\n ? this._layout.setLayoutStartPosition(pos)\n : (this._layoutStartPos = merge(this._layoutStartPos, pos));\n }\n getLayoutRect() {\n return this._layout ? this._layout.getLayoutRect() : this._layoutRect;\n }\n setLayoutRect(rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>) {\n return this._layout ? this._layout.setLayoutRect(rect) : (this._lastLayoutRect = merge(this._layoutRect, rect));\n }\n\n getLastComputeOutBounds() {\n return this._layout?.getLastComputeOutBounds();\n }\n\n getGraphicBounds = () => {\n if (this._layout) {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n }\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n };\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.layoutClip = this._spec.clip ?? this.layoutClip;\n this.layoutZIndex = this._spec.zIndex ?? this.layoutZIndex;\n this.layoutType = this._spec.layoutType ?? this.layoutType;\n this._orient = this._spec.orient ?? this._orient;\n this.layoutLevel = this._spec.layoutLevel ?? this.layoutLevel;\n }\n\n abstract getBoundsInRect(rect: ILayoutRect, fullRect: ILayoutRect): IBoundsLike;\n\n protected _transformLayoutRect: (rect: ILayoutRect) => ILayoutRect = null;\n protected _transformLayoutPosition: (rect: Partial<IPoint>) => Partial<IPoint> = null;\n}\n"]}
|
|
@@ -20,7 +20,7 @@ export declare abstract class BaseTooltipHandler extends BasePlugin implements I
|
|
|
20
20
|
protected _option: Options;
|
|
21
21
|
protected _chartOption: IChartOption;
|
|
22
22
|
protected _env: RenderMode;
|
|
23
|
-
get env(): "desktop-browser" | "mobile-browser" | "node" | "worker" | "miniApp" | "wx" | "tt" | "desktop-miniApp" | "lynx";
|
|
23
|
+
get env(): "desktop-browser" | "mobile-browser" | "node" | "worker" | "miniApp" | "wx" | "tt" | "harmony" | "desktop-miniApp" | "lynx";
|
|
24
24
|
protected _component: Tooltip;
|
|
25
25
|
protected _attributes?: ITooltipAttributes | null;
|
|
26
26
|
protected _chartContainer: Maybe<HTMLElement>;
|
|
@@ -5,4 +5,4 @@ export interface IAreaAnimationParams {
|
|
|
5
5
|
}
|
|
6
6
|
export type AreaAppearPreset = 'clipIn' | 'fadeIn' | 'grow';
|
|
7
7
|
export declare function areaPresetAnimation(params: IAreaAnimationParams, preset: AreaAppearPreset | boolean): IAnimationTypeConfig;
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const registerAreaSeriesAnimation: () => void;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { registerLineAnimation, registerScaleInOutAnimation } from "../../animation/config";
|
|
2
|
-
|
|
3
|
-
import { Factory } from "../../core/factory";
|
|
1
|
+
import { registerLineAnimation, registerAreaAnimation, registerScaleInOutAnimation } from "../../animation/config";
|
|
4
2
|
|
|
5
3
|
const Appear_ClipIn = {
|
|
6
4
|
type: "clipIn"
|
|
@@ -27,18 +25,7 @@ export function areaPresetAnimation(params, preset) {
|
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
export const
|
|
31
|
-
|
|
32
|
-
appear: areaPresetAnimation(params, preset),
|
|
33
|
-
enter: {
|
|
34
|
-
type: "fadeIn"
|
|
35
|
-
},
|
|
36
|
-
exit: {
|
|
37
|
-
type: "fadeOut"
|
|
38
|
-
},
|
|
39
|
-
disappear: {
|
|
40
|
-
type: "clipOut"
|
|
41
|
-
}
|
|
42
|
-
}))), registerLineAnimation(), registerScaleInOutAnimation();
|
|
28
|
+
export const registerAreaSeriesAnimation = () => {
|
|
29
|
+
registerAreaAnimation(), registerLineAnimation(), registerScaleInOutAnimation();
|
|
43
30
|
};
|
|
44
31
|
//# sourceMappingURL=animation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/area/animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/series/area/animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAYnH,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAA4B,EAAwB,EAAE;IACzE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;QACnF,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;SAC5E;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,UAAU,mBAAmB,CACjC,MAA4B,EAC5B,MAAkC;IAElC,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,EAAE,CAAC;KACX;IACD,QAAQ,MAAM,EAAE;QACd,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,aAAa,CAAC;KACxB;AACH,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,qBAAqB,EAAE,CAAC;IACxB,qBAAqB,EAAE,CAAC;IACxB,2BAA2B,EAAE,CAAC;AAChC,CAAC,CAAC","file":"animation.js","sourcesContent":["import { registerLineAnimation, registerAreaAnimation, registerScaleInOutAnimation } from '../../animation/config';\nimport { Direction } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport type { DirectionType } from '../../typings';\nimport type { IAnimationTypeConfig } from '@visactor/vgrammar-core';\n\nexport interface IAreaAnimationParams {\n direction: DirectionType;\n}\n\nexport type AreaAppearPreset = 'clipIn' | 'fadeIn' | 'grow';\n\nconst Appear_ClipIn: IAnimationTypeConfig = {\n type: 'clipIn'\n};\n\nconst Appear_Grow = (params: IAreaAnimationParams): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growPointsXIn' : 'growPointsYIn',\n options: {\n orient: params.direction === Direction.horizontal ? 'positive' : 'negative'\n }\n };\n};\n\nconst Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nexport function areaPresetAnimation(\n params: IAreaAnimationParams,\n preset: AreaAppearPreset | boolean\n): IAnimationTypeConfig {\n if (preset === false) {\n return {};\n }\n switch (preset) {\n case 'grow':\n return Appear_Grow(params);\n case 'fadeIn':\n return Appear_FadeIn;\n default:\n return Appear_ClipIn;\n }\n}\n\nexport const registerAreaSeriesAnimation = () => {\n registerAreaAnimation();\n registerLineAnimation();\n registerScaleInOutAnimation();\n};\n"]}
|
package/esm/series/area/area.js
CHANGED
|
@@ -28,7 +28,7 @@ import { areaSeriesMark } from "./constant";
|
|
|
28
28
|
|
|
29
29
|
import { Factory } from "../../core/factory";
|
|
30
30
|
|
|
31
|
-
import {
|
|
31
|
+
import { registerAreaSeriesAnimation } from "./animation";
|
|
32
32
|
|
|
33
33
|
import { registerSampleTransform, registerMarkOverlapTransform } from "@visactor/vgrammar-core";
|
|
34
34
|
|
|
@@ -145,7 +145,7 @@ mixin(AreaSeries, LineLikeSeriesMixin);
|
|
|
145
145
|
|
|
146
146
|
export const registerAreaSeries = () => {
|
|
147
147
|
registerSampleTransform(), registerMarkOverlapTransform(), registerLineMark(), registerAreaMark(),
|
|
148
|
-
registerSymbolMark(),
|
|
149
|
-
Factory.registerSeries(AreaSeries.type, AreaSeries);
|
|
148
|
+
registerSymbolMark(), registerAreaSeriesAnimation(), registerCartesianBandAxis(),
|
|
149
|
+
registerCartesianLinearAxis(), Factory.registerSeries(AreaSeries.type, AreaSeries);
|
|
150
150
|
};
|
|
151
151
|
//# sourceMappingURL=area.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Datum, InterpolateType } from '../../typings';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _sortDataByAxis: boolean = false;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const areaSpec = this._spec.area || {};\n const isAreaVisible = areaSpec.visible !== false && areaSpec.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: areaSpec.customShape,\n stateSort: areaSpec.stateSort\n }) as IAreaMark;\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n this.initAreaMarkStyle();\n this.initSymbolMarkStyle();\n }\n\n initAreaMarkStyle() {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.horizontal) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n const { dimension, group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._areaMark) {\n dimension.add(this._areaMark);\n group.add(this._areaMark);\n }\n if (this._lineMark) {\n dimension.add(this._lineMark);\n group.add(this._lineMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Datum, InterpolateType } from '../../typings';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaSeriesAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _sortDataByAxis: boolean = false;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const areaSpec = this._spec.area || {};\n const isAreaVisible = areaSpec.visible !== false && areaSpec.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: areaSpec.customShape,\n stateSort: areaSpec.stateSort\n }) as IAreaMark;\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n this.initAreaMarkStyle();\n this.initSymbolMarkStyle();\n }\n\n initAreaMarkStyle() {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.horizontal) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n const { dimension, group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._areaMark) {\n dimension.add(this._areaMark);\n group.add(this._areaMark);\n }\n if (this._lineMark) {\n dimension.add(this._lineMark);\n group.add(this._lineMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaSeriesAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
|
|
@@ -22,6 +22,7 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
|
|
|
22
22
|
private _viewBox;
|
|
23
23
|
protected _categoryField: string;
|
|
24
24
|
private _colorScale;
|
|
25
|
+
private _nodeList;
|
|
25
26
|
getCategoryField(): string;
|
|
26
27
|
setCategoryField(f: string): string;
|
|
27
28
|
protected _valueField: string;
|
|
@@ -37,6 +38,8 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
|
|
|
37
38
|
valueToPositionY(value: StringOrNumber | StringOrNumber[]): any;
|
|
38
39
|
initMarkStyle(): void;
|
|
39
40
|
protected _initNodeMarkStyle(): void;
|
|
41
|
+
protected _fillByNode: (datum: Datum) => any;
|
|
42
|
+
protected _fillByLink: (datum: Datum) => any;
|
|
40
43
|
protected _initLinkMarkStyle(): void;
|
|
41
44
|
protected _initLabelMarkStyle(): void;
|
|
42
45
|
private _createText;
|
|
@@ -51,7 +51,27 @@ import { addDataKey, initKeyMap } from "../../data/transforms/data-key";
|
|
|
51
51
|
export class SankeySeries extends CartesianSeries {
|
|
52
52
|
constructor() {
|
|
53
53
|
super(...arguments), this.type = SeriesTypeEnum.sankey, this._nodeLayoutZIndex = LayoutZIndex.Node,
|
|
54
|
-
this._labelLayoutZIndex = LayoutZIndex.Label, this._viewBox = new Bounds, this.
|
|
54
|
+
this._labelLayoutZIndex = LayoutZIndex.Label, this._viewBox = new Bounds, this._fillByNode = datum => {
|
|
55
|
+
var _a, _b, _c, _d, _e;
|
|
56
|
+
if (datum && datum.sourceRect && datum.targetRect) return this._fillByLink(datum);
|
|
57
|
+
const fill = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill;
|
|
58
|
+
if (isValid(fill)) return fill;
|
|
59
|
+
if (isValid(this._spec.seriesField)) {
|
|
60
|
+
const colorScale = null === (_d = null === (_c = this._option) || void 0 === _c ? void 0 : _c.globalScale) || void 0 === _d ? void 0 : _d.getScale("color"), nodeDatum = (null == datum ? void 0 : datum.datum) ? datum.datum : datum;
|
|
61
|
+
return null == colorScale ? void 0 : colorScale.scale(null == nodeDatum ? void 0 : nodeDatum[this._spec.seriesField]);
|
|
62
|
+
}
|
|
63
|
+
return null === (_e = this._colorScale) || void 0 === _e ? void 0 : _e.scale(this._getNodeNameFromData(datum));
|
|
64
|
+
}, this._fillByLink = datum => {
|
|
65
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
66
|
+
const fill = null === (_b = null === (_a = this._spec.link) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill;
|
|
67
|
+
if (fill) return fill;
|
|
68
|
+
if (isValid(this._spec.seriesField)) {
|
|
69
|
+
const sourceNode = null === (_d = null === (_c = this._nodesSeriesData) || void 0 === _c ? void 0 : _c.getLatestData()) || void 0 === _d ? void 0 : _d.find((entry => datum.source === entry.key)), nodeDatum = null == sourceNode ? void 0 : sourceNode.datum, colorScale = null === (_f = null === (_e = this._option) || void 0 === _e ? void 0 : _e.globalScale) || void 0 === _f ? void 0 : _f.getScale("color");
|
|
70
|
+
return null == colorScale ? void 0 : colorScale.scale(null == nodeDatum ? void 0 : nodeDatum[this._spec.seriesField]);
|
|
71
|
+
}
|
|
72
|
+
const sourceName = isNumber(datum.source) ? this.getNodeList()[datum.source] : datum.source;
|
|
73
|
+
return null === (_g = this._colorScale) || void 0 === _g ? void 0 : _g.scale(sourceName);
|
|
74
|
+
}, this._handleEmphasisElement = params => {
|
|
55
75
|
var _a;
|
|
56
76
|
const emphasisSpec = null !== (_a = this._spec.emphasis) && void 0 !== _a ? _a : {}, element = params.item;
|
|
57
77
|
"adjacency" === emphasisSpec.effect ? element && element.mark.id().includes("node") ? this._handleNodeAdjacencyClick(element) : element && element.mark.id().includes("link") ? this._handleLinkAdjacencyClick(element) : this._handleClearEmpty() : "related" === emphasisSpec.effect && (element && element.mark.id().includes("node") ? this._handleNodeRelatedClick(element) : element && element.mark.id().includes("link") ? this._handleLinkRelatedClick(element) : this._handleClearEmpty());
|
|
@@ -427,10 +447,7 @@ export class SankeySeries extends CartesianSeries {
|
|
|
427
447
|
x1: datum => datum.x1,
|
|
428
448
|
y: datum => datum.y0,
|
|
429
449
|
y1: datum => datum.y1,
|
|
430
|
-
fill:
|
|
431
|
-
var _a, _b, _c, _d;
|
|
432
|
-
return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
|
|
433
|
-
}
|
|
450
|
+
fill: this._fillByNode
|
|
434
451
|
}, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Mark);
|
|
435
452
|
}
|
|
436
453
|
_initLinkMarkStyle() {
|
|
@@ -442,13 +459,7 @@ export class SankeySeries extends CartesianSeries {
|
|
|
442
459
|
y0: datum => datum.y0,
|
|
443
460
|
y1: datum => datum.y1,
|
|
444
461
|
thickness: datum => datum.thickness,
|
|
445
|
-
fill:
|
|
446
|
-
var _a, _b, _c;
|
|
447
|
-
const fill = null === (_b = null === (_a = this._spec.link) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill;
|
|
448
|
-
if (fill) return fill;
|
|
449
|
-
const sourceName = isNumber(datum.source) ? this.getNodeList()[datum.source] : datum.source;
|
|
450
|
-
return null === (_c = this._colorScale) || void 0 === _c ? void 0 : _c.scale(sourceName);
|
|
451
|
-
},
|
|
462
|
+
fill: this._fillByLink,
|
|
452
463
|
direction: null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal"
|
|
453
464
|
}, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);
|
|
454
465
|
}
|
|
@@ -489,10 +500,7 @@ export class SankeySeries extends CartesianSeries {
|
|
|
489
500
|
}, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : this.setMarkStyle(this._labelMark, {
|
|
490
501
|
x: datum => (datum.x0 + datum.x1) / 2,
|
|
491
502
|
y: datum => datum.y1 >= this._viewBox.y2 ? datum.y0 : datum.y1,
|
|
492
|
-
fill:
|
|
493
|
-
var _a, _b, _c, _d;
|
|
494
|
-
return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
|
|
495
|
-
},
|
|
503
|
+
fill: this._fillByNode,
|
|
496
504
|
text: datum => this._createText(datum),
|
|
497
505
|
limit: this._labelLimit,
|
|
498
506
|
textAlign: "center",
|
|
@@ -533,10 +541,7 @@ export class SankeySeries extends CartesianSeries {
|
|
|
533
541
|
}, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "left" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
|
|
534
542
|
x: datum => datum.x0,
|
|
535
543
|
y: datum => (datum.y0 + datum.y1) / 2,
|
|
536
|
-
fill:
|
|
537
|
-
var _a, _b, _c, _d;
|
|
538
|
-
return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
|
|
539
|
-
},
|
|
544
|
+
fill: this._fillByNode,
|
|
540
545
|
text: datum => this._createText(datum),
|
|
541
546
|
limit: this._labelLimit,
|
|
542
547
|
textAlign: "right",
|
|
@@ -544,10 +549,7 @@ export class SankeySeries extends CartesianSeries {
|
|
|
544
549
|
}, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : "right" === this._spec.label.position ? this.setMarkStyle(this._labelMark, {
|
|
545
550
|
x: datum => datum.x1,
|
|
546
551
|
y: datum => (datum.y0 + datum.y1) / 2,
|
|
547
|
-
fill:
|
|
548
|
-
var _a, _b, _c, _d;
|
|
549
|
-
return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
|
|
550
|
-
},
|
|
552
|
+
fill: this._fillByNode,
|
|
551
553
|
text: datum => this._createText(datum),
|
|
552
554
|
limit: this._labelLimit,
|
|
553
555
|
textAlign: "left",
|
|
@@ -555,10 +557,7 @@ export class SankeySeries extends CartesianSeries {
|
|
|
555
557
|
}, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series) : this.setMarkStyle(this._labelMark, {
|
|
556
558
|
x: datum => datum.x1 >= this._viewBox.x2 ? datum.x0 : datum.x1,
|
|
557
559
|
y: datum => (datum.y0 + datum.y1) / 2,
|
|
558
|
-
fill:
|
|
559
|
-
var _a, _b, _c, _d;
|
|
560
|
-
return null !== (_c = null === (_b = null === (_a = this._spec.node) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : null === (_d = this._colorScale) || void 0 === _d ? void 0 : _d.scale(this._getNodeNameFromData(datum));
|
|
561
|
-
},
|
|
560
|
+
fill: this._fillByNode,
|
|
562
561
|
text: datum => this._createText(datum),
|
|
563
562
|
limit: this._labelLimit,
|
|
564
563
|
textAlign: datum => datum.x1 >= this._viewBox.x2 ? "right" : "left",
|
|
@@ -598,7 +597,7 @@ export class SankeySeries extends CartesianSeries {
|
|
|
598
597
|
}
|
|
599
598
|
}
|
|
600
599
|
nodesSeriesDataUpdate() {
|
|
601
|
-
this._nodesSeriesData.updateData(), this._setNodeOrdinalColorScale();
|
|
600
|
+
this._nodesSeriesData.updateData(), this._nodeList = null, this._setNodeOrdinalColorScale();
|
|
602
601
|
}
|
|
603
602
|
linksSeriesDataUpdate() {
|
|
604
603
|
this._linksSeriesData.updateData();
|
|
@@ -628,8 +627,9 @@ export class SankeySeries extends CartesianSeries {
|
|
|
628
627
|
}
|
|
629
628
|
getNodeList() {
|
|
630
629
|
var _a;
|
|
631
|
-
|
|
632
|
-
|
|
630
|
+
if (this._nodeList) return this._nodeList;
|
|
631
|
+
const data = this._rawData.latestData[0], nodeList = (null == data ? void 0 : data.nodes) ? (null === (_a = data.nodes[0]) || void 0 === _a ? void 0 : _a.children) ? Array.from(this.extractNamesFromTree(data.nodes, this._spec.categoryField)) : data.nodes.map(((datum, index) => datum[this._spec.categoryField])) : (null == data ? void 0 : data.links) ? Array.from(this.extractNamesFromLink(data.links)) : null == data ? void 0 : data.values.map(((datum, index) => datum[this._spec.categoryField]));
|
|
632
|
+
return this._nodeList = nodeList, nodeList;
|
|
633
633
|
}
|
|
634
634
|
_getNodeNameFromData(datum) {
|
|
635
635
|
var _a;
|