@visactor/vchart 1.13.20 → 1.13.21-alpha.1
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.es.js +326 -312
- package/build/index.js +472 -453
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base/base-chart.js +3 -0
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/index.d.ts +2 -2
- package/cjs/chart/index.js +7 -2
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/interface/common.d.ts +2 -0
- package/cjs/chart/interface/common.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.js +4 -2
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +2 -1
- package/cjs/index.js.map +1 -1
- package/cjs/mark/index.d.ts +3 -2
- package/cjs/mark/index.js +15 -1
- package/cjs/mark/index.js.map +1 -1
- package/cjs/plugin/chart/interface.d.ts +4 -0
- package/cjs/plugin/chart/interface.js.map +1 -1
- package/cjs/plugin/chart/plugin-service.d.ts +2 -0
- package/cjs/plugin/chart/plugin-service.js +10 -0
- package/cjs/plugin/chart/plugin-service.js.map +1 -1
- package/cjs/plugin/chart/scroll/index.d.ts +2 -0
- package/cjs/plugin/chart/scroll/index.js +21 -0
- package/cjs/plugin/chart/scroll/index.js.map +1 -0
- package/cjs/plugin/chart/scroll/interface.d.ts +11 -0
- package/cjs/plugin/chart/scroll/interface.js +6 -0
- package/cjs/plugin/chart/scroll/interface.js.map +1 -0
- package/cjs/plugin/chart/scroll/scroll.d.ts +27 -0
- package/cjs/plugin/chart/scroll/scroll.js +129 -0
- package/cjs/plugin/chart/scroll/scroll.js.map +1 -0
- package/cjs/series/sankey/sankey.d.ts +7 -7
- package/cjs/series/sankey/sankey.js +166 -163
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/esm/chart/base/base-chart.js +3 -0
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/index.d.ts +2 -2
- package/esm/chart/index.js +2 -2
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/interface/common.d.ts +2 -0
- package/esm/chart/interface/common.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.js +4 -2
- package/esm/core/vchart.js.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.js +4 -0
- package/esm/index.js.map +1 -1
- package/esm/mark/index.d.ts +3 -2
- package/esm/mark/index.js +4 -2
- package/esm/mark/index.js.map +1 -1
- package/esm/plugin/chart/interface.d.ts +4 -0
- package/esm/plugin/chart/interface.js.map +1 -1
- package/esm/plugin/chart/plugin-service.d.ts +2 -0
- package/esm/plugin/chart/plugin-service.js +10 -0
- package/esm/plugin/chart/plugin-service.js.map +1 -1
- package/esm/plugin/chart/scroll/index.d.ts +2 -0
- package/esm/plugin/chart/scroll/index.js +4 -0
- package/esm/plugin/chart/scroll/index.js.map +1 -0
- package/esm/plugin/chart/scroll/interface.d.ts +11 -0
- package/esm/plugin/chart/scroll/interface.js +2 -0
- package/esm/plugin/chart/scroll/interface.js.map +1 -0
- package/esm/plugin/chart/scroll/scroll.d.ts +27 -0
- package/esm/plugin/chart/scroll/scroll.js +127 -0
- package/esm/plugin/chart/scroll/scroll.js.map +1 -0
- package/esm/series/sankey/sankey.d.ts +7 -7
- package/esm/series/sankey/sankey.js +165 -162
- package/esm/series/sankey/sankey.js.map +1 -1
- package/package.json +2 -2
package/esm/mark/index.js
CHANGED
|
@@ -22,6 +22,8 @@ import { Arc3dMark, registerArc3dMark } from "./arc-3d";
|
|
|
22
22
|
|
|
23
23
|
import { ComponentMark, registerComponentMark } from "./component";
|
|
24
24
|
|
|
25
|
+
import { LinkPathMark, registerLinkPathMark } from "./link-path";
|
|
26
|
+
|
|
25
27
|
import { RippleMark, registerRippleMark } from "./ripple";
|
|
26
28
|
|
|
27
29
|
import { BaseMark } from "./base";
|
|
@@ -32,9 +34,9 @@ import { Pyramid3dMark, registerPyramid3dMark } from "./polygon/pyramid-3d";
|
|
|
32
34
|
|
|
33
35
|
import { ImageMark, registerImageMark } from "./image";
|
|
34
36
|
|
|
35
|
-
export { LineMark, SymbolMark, GroupMark, RuleMark, TextMark, AreaMark, Rect3dMark, RectMark, PathMark, Arc3dMark, ArcMark, ComponentMark, PolygonMark, Pyramid3dMark, RippleMark, ImageMark, BaseMark };
|
|
37
|
+
export { LineMark, SymbolMark, GroupMark, RuleMark, TextMark, AreaMark, Rect3dMark, RectMark, PathMark, Arc3dMark, ArcMark, ComponentMark, PolygonMark, Pyramid3dMark, RippleMark, ImageMark, BaseMark, LinkPathMark };
|
|
36
38
|
|
|
37
|
-
export { registerLineMark, registerSymbolMark, registerGroupMark, registerRuleMark, registerTextMark, registerAreaMark, registerRectMark, registerRect3dMark, registerPathMark, registerArcMark, registerArc3dMark, registerPolygonMark, registerPyramid3dMark, registerRippleMark, registerImageMark, registerComponentMark };
|
|
39
|
+
export { registerLineMark, registerSymbolMark, registerGroupMark, registerRuleMark, registerTextMark, registerAreaMark, registerRectMark, registerRect3dMark, registerPathMark, registerArcMark, registerArc3dMark, registerPolygonMark, registerPyramid3dMark, registerRippleMark, registerImageMark, registerComponentMark, registerLinkPathMark };
|
|
38
40
|
|
|
39
41
|
export const registerAllMarks = () => {
|
|
40
42
|
registerGroupMark(), registerLineMark(), registerSymbolMark(), registerRuleMark(),
|
package/esm/mark/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA6BvD,OAAO,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,QAAQ,EACR,YAAY,EACb,CAAC;AAEF,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACrB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,mBAAmB,EAAE,CAAC;IACtB,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,qBAAqB,EAAE,CAAC;IACxB,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,qBAAqB,EAAE,CAAC;AAC1B,CAAC,CAAC","file":"index.js","sourcesContent":["/**\n * @description export all mark modules\n */\nimport { LineMark, registerLineMark } from './line';\nimport { SymbolMark, registerSymbolMark } from './symbol';\nimport { GroupMark, registerGroupMark } from './group';\nimport { RuleMark, registerRuleMark } from './rule';\nimport { TextMark, registerTextMark } from './text';\nimport { AreaMark, registerAreaMark } from './area';\nimport { RectMark, registerRectMark } from './rect';\nimport { Rect3dMark, registerRect3dMark } from './rect-3d';\nimport { PathMark, registerPathMark } from './path';\nimport { ArcMark, registerArcMark } from './arc';\nimport { Arc3dMark, registerArc3dMark } from './arc-3d';\nimport { ComponentMark, registerComponentMark } from './component';\nimport { LinkPathMark, registerLinkPathMark } from './link-path';\nimport { RippleMark, registerRippleMark } from './ripple';\nimport { CellMark, registerCellMark } from './cell';\nimport { BaseMark } from './base';\nimport { PolygonMark, registerPolygonMark } from './polygon/polygon';\nimport { Pyramid3dMark, registerPyramid3dMark } from './polygon/pyramid-3d';\nimport { ImageMark, registerImageMark } from './image';\nimport { LiquidMark, registerLiquidMark } from './liquid';\nimport { BoxPlotMark, registerBoxPlotMark } from './box-plot';\nimport { BasePolygonMark } from './polygon/base-polygon';\nimport { MarkTypeEnum } from './interface/type';\n\nexport type {\n IBoxPlotMarkSpec,\n ILineMarkSpec,\n ISymbolMarkSpec,\n IGroupMarkSpec,\n IRuleMarkSpec,\n ITextMarkSpec,\n IAreaMarkSpec,\n IRect3dMarkSpec,\n IRectMarkSpec,\n IPathMarkSpec,\n IArcMarkSpec,\n IArc3dMarkSpec,\n ICommonSpec,\n IPolygonMarkSpec,\n IPyramid3dMarkSpec,\n ILinkPathMarkSpec,\n IRippleMarkSpec,\n ICellMarkSpec,\n ILiquidMarkSpec,\n ConvertToMarkStyleSpec\n} from '../typings/visual';\n\nexport {\n LineMark,\n SymbolMark,\n GroupMark,\n RuleMark,\n TextMark,\n AreaMark,\n Rect3dMark,\n RectMark,\n PathMark,\n Arc3dMark,\n ArcMark,\n ComponentMark,\n PolygonMark,\n Pyramid3dMark,\n RippleMark,\n ImageMark,\n BaseMark,\n LinkPathMark\n};\n\nexport {\n registerLineMark,\n registerSymbolMark,\n registerGroupMark,\n registerRuleMark,\n registerTextMark,\n registerAreaMark,\n registerRectMark,\n registerRect3dMark,\n registerPathMark,\n registerArcMark,\n registerArc3dMark,\n registerPolygonMark,\n registerPyramid3dMark,\n registerRippleMark,\n registerImageMark,\n registerComponentMark,\n registerLinkPathMark\n};\n\nexport const registerAllMarks = () => {\n registerGroupMark();\n registerLineMark();\n registerSymbolMark();\n registerRuleMark();\n registerTextMark();\n registerAreaMark();\n registerRectMark();\n registerPathMark();\n registerArcMark();\n registerPolygonMark();\n registerImageMark();\n registerRippleMark();\n registerComponentMark();\n registerArc3dMark();\n registerRect3dMark();\n registerPyramid3dMark();\n};\n"]}
|
|
@@ -8,6 +8,8 @@ export interface IChartPlugin<T extends IChartPluginService = any> extends IBase
|
|
|
8
8
|
onAfterChartSpecTransform?: (service: T, chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;
|
|
9
9
|
onAfterModelSpecTransform?: (service: T, chartSpec: any, chartSpecInfo: IChartSpecInfo, actionSource: VChartRenderActionSource) => MaybePromise<void>;
|
|
10
10
|
onBeforeInitChart?: (service: T, chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;
|
|
11
|
+
onLayoutRectUpdate?: (service: T) => void;
|
|
12
|
+
onAfterRender?: (service: T) => void;
|
|
11
13
|
}
|
|
12
14
|
export interface IChartPluginConstructor {
|
|
13
15
|
readonly pluginType: 'chart';
|
|
@@ -22,4 +24,6 @@ export interface IChartPluginService<T extends IChartPlugin = any> extends IBase
|
|
|
22
24
|
onAfterChartSpecTransform?: (chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;
|
|
23
25
|
onAfterModelSpecTransform?: (chartSpec: any, chartSpecInfo: IChartSpecInfo, actionSource: VChartRenderActionSource) => MaybePromise<void>;
|
|
24
26
|
onBeforeInitChart?: (chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;
|
|
27
|
+
onLayoutRectUpdate?: () => void;
|
|
28
|
+
onAfterRender?: () => void;
|
|
25
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin/chart/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IChartSpecInfo } from '../../chart/interface';\nimport type { VChartRenderActionSource, IVChart } from '../../core/interface';\nimport type { IBasePlugin, IBasePluginService, MaybePromise } from '../base/interface';\n\nexport interface IChartPlugin<T extends IChartPluginService = any> extends IBasePlugin<T> {\n specKey?: string;\n onInit?: (service: T, chartSpec: any) => MaybePromise<void>;\n onBeforeResize?: (service: T, width: number, height: number) => MaybePromise<void>;\n onAfterChartSpecTransform?: (\n service: T,\n chartSpec: any,\n actionSource: VChartRenderActionSource\n ) => MaybePromise<void>;\n onAfterModelSpecTransform?: (\n service: T,\n chartSpec: any,\n chartSpecInfo: IChartSpecInfo,\n actionSource: VChartRenderActionSource\n ) => MaybePromise<void>;\n onBeforeInitChart?: (service: T, chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;\n}\n\nexport interface IChartPluginConstructor {\n readonly pluginType: 'chart';\n readonly specKey?: string;\n readonly type: string;\n new (): IChartPlugin;\n}\n\nexport interface IChartPluginService<T extends IChartPlugin = any> extends IBasePluginService<T> {\n globalInstance: IVChart;\n onInit?: (chartSpec: any) => MaybePromise<void>;\n onBeforeResize?: (width: number, height: number) => MaybePromise<void>;\n onAfterChartSpecTransform?: (chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;\n onAfterModelSpecTransform?: (\n chartSpec: any,\n chartSpecInfo: IChartSpecInfo,\n actionSource: VChartRenderActionSource\n ) => MaybePromise<void>;\n onBeforeInitChart?: (chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/plugin/chart/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IChartSpecInfo } from '../../chart/interface';\nimport type { VChartRenderActionSource, IVChart } from '../../core/interface';\nimport type { IBasePlugin, IBasePluginService, MaybePromise } from '../base/interface';\n\nexport interface IChartPlugin<T extends IChartPluginService = any> extends IBasePlugin<T> {\n specKey?: string;\n onInit?: (service: T, chartSpec: any) => MaybePromise<void>;\n onBeforeResize?: (service: T, width: number, height: number) => MaybePromise<void>;\n onAfterChartSpecTransform?: (\n service: T,\n chartSpec: any,\n actionSource: VChartRenderActionSource\n ) => MaybePromise<void>;\n onAfterModelSpecTransform?: (\n service: T,\n chartSpec: any,\n chartSpecInfo: IChartSpecInfo,\n actionSource: VChartRenderActionSource\n ) => MaybePromise<void>;\n onBeforeInitChart?: (service: T, chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;\n onLayoutRectUpdate?: (service: T) => void;\n onAfterRender?: (service: T) => void;\n}\n\nexport interface IChartPluginConstructor {\n readonly pluginType: 'chart';\n readonly specKey?: string;\n readonly type: string;\n new (): IChartPlugin;\n}\n\nexport interface IChartPluginService<T extends IChartPlugin = any> extends IBasePluginService<T> {\n globalInstance: IVChart;\n onInit?: (chartSpec: any) => MaybePromise<void>;\n onBeforeResize?: (width: number, height: number) => MaybePromise<void>;\n onAfterChartSpecTransform?: (chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;\n onAfterModelSpecTransform?: (\n chartSpec: any,\n chartSpecInfo: IChartSpecInfo,\n actionSource: VChartRenderActionSource\n ) => MaybePromise<void>;\n onBeforeInitChart?: (chartSpec: any, actionSource: VChartRenderActionSource) => MaybePromise<void>;\n onLayoutRectUpdate?: () => void;\n onAfterRender?: () => void;\n}\n"]}
|
|
@@ -11,5 +11,7 @@ export declare class ChartPluginService<T extends IChartPlugin = IChartPlugin> e
|
|
|
11
11
|
onAfterChartSpecTransform(chartSpec: any, actionSource: VChartRenderActionSource): void;
|
|
12
12
|
onAfterModelSpecTransform(chartSpec: any, chartSpecInfo: IChartSpecInfo, actionSource: VChartRenderActionSource): void;
|
|
13
13
|
onBeforeInitChart(chartSpec: any, actionSource: VChartRenderActionSource): void;
|
|
14
|
+
onLayoutRectUpdate(): void;
|
|
15
|
+
onAfterRender(): void;
|
|
14
16
|
releaseAll(): void;
|
|
15
17
|
}
|
|
@@ -29,6 +29,16 @@ export class ChartPluginService extends BasePluginService {
|
|
|
29
29
|
plugin.onBeforeInitChart && plugin.onBeforeInitChart(this, chartSpec, actionSource);
|
|
30
30
|
}));
|
|
31
31
|
}
|
|
32
|
+
onLayoutRectUpdate() {
|
|
33
|
+
this._plugins.forEach((plugin => {
|
|
34
|
+
plugin.onLayoutRectUpdate && plugin.onLayoutRectUpdate(this);
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
onAfterRender() {
|
|
38
|
+
this._plugins.forEach((plugin => {
|
|
39
|
+
plugin.onAfterRender && plugin.onAfterRender(this);
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
32
42
|
releaseAll() {
|
|
33
43
|
super.releaseAll(), this.globalInstance = null;
|
|
34
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin/chart/plugin-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,MAAM,OAAO,kBACX,SAAQ,iBAAoB;IAK5B,YAAY,cAAuB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,SAAc;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAc,EAAE,YAAsC;QAC9E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAc,EAAE,aAA6B,EAAE,YAAsC;QAC7G,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,yBAAyB;gBAC9B,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,SAAc,EAAE,YAAsC;QACtE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF","file":"plugin-service.js","sourcesContent":["import type { IChartPlugin, IChartPluginService } from './interface';\nimport type { IVChart } from '../../core';\nimport { BasePluginService } from '../base/base-plugin-service';\nimport type { VChartRenderActionSource } from '../../core/interface';\nimport type { IChartSpecInfo } from '../../chart/interface/common';\n\nexport class ChartPluginService<T extends IChartPlugin = IChartPlugin>\n extends BasePluginService<T>\n implements IChartPluginService<T>\n{\n globalInstance: IVChart;\n\n constructor(globalInstance: IVChart) {\n super();\n this.globalInstance = globalInstance;\n }\n\n onInit(chartSpec: any) {\n this._plugins.forEach(plugin => {\n plugin.onInit && plugin.onInit(this, chartSpec);\n });\n }\n\n onBeforeResize(width: number, height: number) {\n this._plugins.forEach(plugin => {\n plugin.onBeforeResize && plugin.onBeforeResize(this, width, height);\n });\n }\n\n onAfterChartSpecTransform(chartSpec: any, actionSource: VChartRenderActionSource) {\n this._plugins.forEach(plugin => {\n plugin.onAfterChartSpecTransform && plugin.onAfterChartSpecTransform(this, chartSpec, actionSource);\n });\n }\n\n onAfterModelSpecTransform(chartSpec: any, chartSpecInfo: IChartSpecInfo, actionSource: VChartRenderActionSource) {\n this._plugins.forEach(plugin => {\n plugin.onAfterModelSpecTransform &&\n plugin.onAfterModelSpecTransform(this, chartSpec, chartSpecInfo, actionSource);\n });\n }\n\n onBeforeInitChart(chartSpec: any, actionSource: VChartRenderActionSource) {\n this._plugins.forEach(plugin => {\n plugin.onBeforeInitChart && plugin.onBeforeInitChart(this, chartSpec, actionSource);\n });\n }\n\n releaseAll(): void {\n super.releaseAll();\n this.globalInstance = null;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/plugin/chart/plugin-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,MAAM,OAAO,kBACX,SAAQ,iBAAoB;IAK5B,YAAY,cAAuB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,SAAc;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAc,EAAE,YAAsC;QAC9E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAc,EAAE,aAA6B,EAAE,YAAsC;QAC7G,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,yBAAyB;gBAC9B,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,SAAc,EAAE,YAAsC;QACtE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF","file":"plugin-service.js","sourcesContent":["import type { IChartPlugin, IChartPluginService } from './interface';\nimport type { IVChart } from '../../core';\nimport { BasePluginService } from '../base/base-plugin-service';\nimport type { VChartRenderActionSource } from '../../core/interface';\nimport type { IChartSpecInfo } from '../../chart/interface/common';\n\nexport class ChartPluginService<T extends IChartPlugin = IChartPlugin>\n extends BasePluginService<T>\n implements IChartPluginService<T>\n{\n globalInstance: IVChart;\n\n constructor(globalInstance: IVChart) {\n super();\n this.globalInstance = globalInstance;\n }\n\n onInit(chartSpec: any) {\n this._plugins.forEach(plugin => {\n plugin.onInit && plugin.onInit(this, chartSpec);\n });\n }\n\n onBeforeResize(width: number, height: number) {\n this._plugins.forEach(plugin => {\n plugin.onBeforeResize && plugin.onBeforeResize(this, width, height);\n });\n }\n\n onAfterChartSpecTransform(chartSpec: any, actionSource: VChartRenderActionSource) {\n this._plugins.forEach(plugin => {\n plugin.onAfterChartSpecTransform && plugin.onAfterChartSpecTransform(this, chartSpec, actionSource);\n });\n }\n\n onAfterModelSpecTransform(chartSpec: any, chartSpecInfo: IChartSpecInfo, actionSource: VChartRenderActionSource) {\n this._plugins.forEach(plugin => {\n plugin.onAfterModelSpecTransform &&\n plugin.onAfterModelSpecTransform(this, chartSpec, chartSpecInfo, actionSource);\n });\n }\n\n onBeforeInitChart(chartSpec: any, actionSource: VChartRenderActionSource) {\n this._plugins.forEach(plugin => {\n plugin.onBeforeInitChart && plugin.onBeforeInitChart(this, chartSpec, actionSource);\n });\n }\n\n onLayoutRectUpdate() {\n this._plugins.forEach(plugin => {\n plugin.onLayoutRectUpdate && plugin.onLayoutRectUpdate(this);\n });\n }\n\n onAfterRender() {\n this._plugins.forEach(plugin => {\n plugin.onAfterRender && plugin.onAfterRender(this);\n });\n }\n\n releaseAll(): void {\n super.releaseAll();\n this.globalInstance = null;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/chart/scroll/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["/**\n * @description export all modules of scroll plugin\n * @since 1.0.0\n */\nexport * from './scroll';\nexport * from './interface';\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ScrollBarAttributes } from '@visactor/vrender-components';
|
|
2
|
+
import type { IChartPlugin } from '../interface';
|
|
3
|
+
export type IScrollPlugin = IChartPlugin;
|
|
4
|
+
export interface IScrollPluginSpec {
|
|
5
|
+
x?: {
|
|
6
|
+
enable: boolean;
|
|
7
|
+
} & Omit<ScrollBarAttributes, 'direction' | 'range'>;
|
|
8
|
+
y?: {
|
|
9
|
+
enable: boolean;
|
|
10
|
+
} & Omit<ScrollBarAttributes, 'direction' | 'range'>;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/chart/scroll/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ScrollBarAttributes } from '@visactor/vrender-components';\nimport type { IChartPlugin } from '../interface';\n\n/**\n * IScrollPlugin 接口定义\n * @since 1.0.0\n */\nexport type IScrollPlugin = IChartPlugin;\n\nexport interface IScrollPluginSpec {\n x?: {\n /**\n * 是否支持水平滚动\n */\n enable: boolean;\n } & Omit<ScrollBarAttributes, 'direction' | 'range'>;\n\n y?: {\n /**\n * 是否支持垂直滚动\n */\n enable: boolean;\n } & Omit<ScrollBarAttributes, 'direction' | 'range'>;\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { IGroup } from '@visactor/vrender-core';
|
|
2
|
+
import { BasePlugin } from '../../base/base-plugin';
|
|
3
|
+
import type { IChartPluginService } from '../interface';
|
|
4
|
+
import type { IScrollPlugin } from './interface';
|
|
5
|
+
export declare class ScrollPlugin extends BasePlugin implements IScrollPlugin {
|
|
6
|
+
static readonly pluginType: 'chart';
|
|
7
|
+
static readonly type: string;
|
|
8
|
+
readonly type: string;
|
|
9
|
+
private _service;
|
|
10
|
+
private _spec;
|
|
11
|
+
private _scrollLimit;
|
|
12
|
+
private _xScrollComponent;
|
|
13
|
+
private _yScrollComponent;
|
|
14
|
+
constructor();
|
|
15
|
+
onInit(service: IChartPluginService, chartSpec: any): void;
|
|
16
|
+
onLayoutRectUpdate(service: IChartPluginService): void;
|
|
17
|
+
onAfterRender(): void;
|
|
18
|
+
release(): void;
|
|
19
|
+
protected _bindEvent(service: IChartPluginService): void;
|
|
20
|
+
protected getRootMark(): IGroup;
|
|
21
|
+
protected onWheel: (e: WheelEvent) => void;
|
|
22
|
+
private _updateScrollY;
|
|
23
|
+
private _getYScrollComponent;
|
|
24
|
+
private _updateScrollX;
|
|
25
|
+
private _getXScrollComponent;
|
|
26
|
+
}
|
|
27
|
+
export declare const registerScrollPlugin: () => void;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
var __rest = this && this.__rest || function(s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
|
|
4
|
+
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
|
|
5
|
+
var i = 0;
|
|
6
|
+
for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
import { BasePlugin } from "../../base/base-plugin";
|
|
12
|
+
|
|
13
|
+
import { registerChartPlugin } from "../register";
|
|
14
|
+
|
|
15
|
+
import { ScrollBar as ScrollBarComponent } from "@visactor/vrender-components";
|
|
16
|
+
|
|
17
|
+
const scrollBarSize = 10;
|
|
18
|
+
|
|
19
|
+
export class ScrollPlugin extends BasePlugin {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(ScrollPlugin.type), this.type = "chartScroll", this._scrollLimit = {
|
|
22
|
+
x: {
|
|
23
|
+
min: 0,
|
|
24
|
+
max: 0,
|
|
25
|
+
percent: 0
|
|
26
|
+
},
|
|
27
|
+
y: {
|
|
28
|
+
min: 0,
|
|
29
|
+
max: 0,
|
|
30
|
+
percent: 0
|
|
31
|
+
}
|
|
32
|
+
}, this.onWheel = e => {
|
|
33
|
+
const scrollX = e.deltaX, scrollY = e.deltaY, rootMark = this.getRootMark();
|
|
34
|
+
rootMark && (this._updateScrollX(rootMark, rootMark.attribute.x - scrollX), this._updateScrollY(rootMark, rootMark.attribute.y - scrollY));
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
onInit(service, chartSpec) {
|
|
38
|
+
var _a;
|
|
39
|
+
this._spec = null !== (_a = chartSpec[ScrollPlugin.type]) && void 0 !== _a ? _a : {},
|
|
40
|
+
this._service = service, this._bindEvent(service);
|
|
41
|
+
}
|
|
42
|
+
onLayoutRectUpdate(service) {
|
|
43
|
+
const viewBoxSize = service.globalInstance.getChart().getViewRect(), canvasSize = service.globalInstance.getChart().getCanvasRect();
|
|
44
|
+
this._scrollLimit.x.min = Math.min(canvasSize.width - viewBoxSize.width, 0), this._scrollLimit.x.percent = Math.abs(canvasSize.width / viewBoxSize.width),
|
|
45
|
+
this._scrollLimit.y.min = Math.min(canvasSize.height - viewBoxSize.height, 0), this._scrollLimit.y.percent = Math.abs(canvasSize.height / viewBoxSize.height);
|
|
46
|
+
}
|
|
47
|
+
onAfterRender() {
|
|
48
|
+
const rootMark = this.getRootMark();
|
|
49
|
+
rootMark && (this._xScrollComponent || this._updateScrollX(rootMark, 0), this._yScrollComponent || this._updateScrollY(rootMark, 0));
|
|
50
|
+
}
|
|
51
|
+
release() {
|
|
52
|
+
var _a;
|
|
53
|
+
null === (_a = this._service.globalInstance.getStage()) || void 0 === _a || _a.off("wheel", this.onWheel);
|
|
54
|
+
}
|
|
55
|
+
_bindEvent(service) {
|
|
56
|
+
var _a;
|
|
57
|
+
null === (_a = service.globalInstance.getStage()) || void 0 === _a || _a.on("wheel", this.onWheel);
|
|
58
|
+
}
|
|
59
|
+
getRootMark() {
|
|
60
|
+
var _a;
|
|
61
|
+
return null === (_a = this._service.globalInstance.getStage()) || void 0 === _a ? void 0 : _a.find((node => "root" === node.name), !0);
|
|
62
|
+
}
|
|
63
|
+
_updateScrollY(rootMark, y) {
|
|
64
|
+
var _a;
|
|
65
|
+
if (!1 === (null === (_a = this._spec.y) || void 0 === _a ? void 0 : _a.enable)) return;
|
|
66
|
+
const finalY = Math.max(this._scrollLimit.y.min, Math.min(y, this._scrollLimit.y.max)), percent = Math.abs(finalY / this._scrollLimit.y.min);
|
|
67
|
+
this._getYScrollComponent().setAttribute("range", [ percent, percent + this._scrollLimit.y.percent ]),
|
|
68
|
+
rootMark.setAttributes({
|
|
69
|
+
y: finalY
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
_getYScrollComponent() {
|
|
73
|
+
var _a, _b, _c, _d, _e;
|
|
74
|
+
if (!this._yScrollComponent) {
|
|
75
|
+
const canvasSize = this._service.globalInstance.getChart().getCanvasRect(), viewSize = this._service.globalInstance.getChart().getViewRect(), _f = null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.y) && void 0 !== _b ? _b : {}, {enable: enable} = _f, rest = __rest(_f, [ "enable" ]);
|
|
76
|
+
this._yScrollComponent = new ScrollBarComponent(Object.assign(Object.assign({}, rest), {
|
|
77
|
+
zIndex: 9999,
|
|
78
|
+
x: canvasSize.width - 10,
|
|
79
|
+
y: 0,
|
|
80
|
+
width: 10,
|
|
81
|
+
height: canvasSize.height,
|
|
82
|
+
range: [ 0, canvasSize.height / viewSize.height ],
|
|
83
|
+
direction: "vertical",
|
|
84
|
+
delayTime: null !== (_c = null == rest ? void 0 : rest.delayTime) && void 0 !== _c ? _c : 30,
|
|
85
|
+
realTime: null === (_d = null == rest ? void 0 : rest.realTime) || void 0 === _d || _d,
|
|
86
|
+
sliderStyle: {
|
|
87
|
+
fill: "rgba(0,0,0,0.3)"
|
|
88
|
+
}
|
|
89
|
+
})), null === (_e = this.getRootMark().parent) || void 0 === _e || _e.addChild(this._yScrollComponent);
|
|
90
|
+
}
|
|
91
|
+
return this._yScrollComponent;
|
|
92
|
+
}
|
|
93
|
+
_updateScrollX(rootMark, x) {
|
|
94
|
+
var _a;
|
|
95
|
+
if (!1 === (null === (_a = this._spec.x) || void 0 === _a ? void 0 : _a.enable)) return;
|
|
96
|
+
const finalX = Math.max(this._scrollLimit.x.min, Math.min(x, this._scrollLimit.x.max)), percent = Math.abs(finalX / this._scrollLimit.x.min);
|
|
97
|
+
this._getXScrollComponent().setAttribute("range", [ percent, percent + this._scrollLimit.x.percent ]),
|
|
98
|
+
rootMark.setAttributes({
|
|
99
|
+
x: finalX
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
_getXScrollComponent() {
|
|
103
|
+
var _a, _b, _c, _d, _e;
|
|
104
|
+
if (!this._xScrollComponent) {
|
|
105
|
+
const canvasSize = this._service.globalInstance.getChart().getCanvasRect(), viewSize = this._service.globalInstance.getChart().getViewRect(), _f = null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.x) && void 0 !== _b ? _b : {}, {enable: enable} = _f, rest = __rest(_f, [ "enable" ]);
|
|
106
|
+
this._xScrollComponent = new ScrollBarComponent(Object.assign(Object.assign({}, rest), {
|
|
107
|
+
zIndex: 9999,
|
|
108
|
+
x: 0,
|
|
109
|
+
y: canvasSize.height - 10,
|
|
110
|
+
width: canvasSize.width,
|
|
111
|
+
height: 10,
|
|
112
|
+
range: [ 0, canvasSize.width / viewSize.width ],
|
|
113
|
+
direction: "horizontal",
|
|
114
|
+
delayTime: null !== (_c = null == rest ? void 0 : rest.delayTime) && void 0 !== _c ? _c : 30,
|
|
115
|
+
realTime: null === (_d = null == rest ? void 0 : rest.realTime) || void 0 === _d || _d
|
|
116
|
+
})), null === (_e = this.getRootMark().parent) || void 0 === _e || _e.addChild(this._xScrollComponent);
|
|
117
|
+
}
|
|
118
|
+
return this._xScrollComponent;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
ScrollPlugin.pluginType = "chart", ScrollPlugin.type = "chartScroll";
|
|
123
|
+
|
|
124
|
+
export const registerScrollPlugin = () => {
|
|
125
|
+
registerChartPlugin(ScrollPlugin);
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=scroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/chart/scroll/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import type { IGroup } from '@visactor/vrender-core';\nimport { BasePlugin } from '../../base/base-plugin';\nimport type { IChartPluginService } from '../interface';\nimport { registerChartPlugin } from '../register';\nimport type { IScrollPlugin, IScrollPluginSpec } from './interface';\nimport { ScrollBar as ScrollBarComponent } from '@visactor/vrender-components';\n\nconst scrollBarSize = 10;\n\n/**\n * ScrollPlugin 类\n * @since 1.0.0\n */\nexport class ScrollPlugin extends BasePlugin implements IScrollPlugin {\n static readonly pluginType: 'chart' = 'chart';\n static readonly type: string = 'chartScroll';\n readonly type: string = 'chartScroll';\n\n private _service: IChartPluginService;\n\n private _spec: IScrollPluginSpec;\n\n private _scrollLimit = {\n x: {\n min: 0,\n max: 0,\n percent: 0\n },\n y: {\n min: 0,\n max: 0,\n percent: 0\n }\n };\n\n private _xScrollComponent: ScrollBarComponent;\n private _yScrollComponent: ScrollBarComponent;\n\n constructor() {\n super(ScrollPlugin.type);\n }\n\n /**\n * 初始化插件\n * @param service\n * @param chartSpec\n */\n onInit(service: IChartPluginService, chartSpec: any) {\n this._spec = chartSpec[ScrollPlugin.type] ?? {};\n this._service = service;\n this._bindEvent(service);\n }\n\n onLayoutRectUpdate(service: IChartPluginService) {\n const viewBoxSize = service.globalInstance.getChart().getViewRect();\n const canvasSize = service.globalInstance.getChart().getCanvasRect();\n this._scrollLimit.x.min = Math.min(canvasSize.width - viewBoxSize.width, 0);\n this._scrollLimit.x.percent = Math.abs(canvasSize.width / viewBoxSize.width);\n this._scrollLimit.y.min = Math.min(canvasSize.height - viewBoxSize.height, 0);\n this._scrollLimit.y.percent = Math.abs(canvasSize.height / viewBoxSize.height);\n }\n\n onAfterRender() {\n const rootMark = this.getRootMark();\n if (rootMark) {\n if (!this._xScrollComponent) {\n this._updateScrollX(rootMark, 0);\n }\n if (!this._yScrollComponent) {\n this._updateScrollY(rootMark, 0);\n }\n }\n }\n\n /**\n * 释放插件资源\n */\n release() {\n this._service.globalInstance.getStage()?.off('wheel', this.onWheel);\n }\n\n protected _bindEvent(service: IChartPluginService) {\n service.globalInstance.getStage()?.on('wheel', this.onWheel);\n }\n\n protected getRootMark() {\n return this._service.globalInstance.getStage()?.find(node => node.name === 'root', true) as IGroup;\n }\n\n protected onWheel = (e: WheelEvent) => {\n const scrollX = e.deltaX;\n const scrollY = e.deltaY;\n const rootMark = this.getRootMark();\n if (!rootMark) {\n return;\n }\n this._updateScrollX(rootMark, rootMark.attribute.x - scrollX);\n this._updateScrollY(rootMark, rootMark.attribute.y - scrollY);\n };\n\n private _updateScrollY(rootMark: IGroup, y: number) {\n if (this._spec.y?.enable === false) {\n return;\n }\n const finalY = Math.max(this._scrollLimit.y.min, Math.min(y, this._scrollLimit.y.max));\n const percent = Math.abs(finalY / this._scrollLimit.y.min);\n const yScrollComponent = this._getYScrollComponent();\n yScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.y.percent]);\n rootMark.setAttributes({\n y: finalY\n });\n }\n\n private _getYScrollComponent() {\n if (!this._yScrollComponent) {\n const canvasSize = this._service.globalInstance.getChart().getCanvasRect();\n const viewSize = this._service.globalInstance.getChart().getViewRect();\n const { enable, ...rest } = this._spec?.y ?? ({} as IScrollPluginSpec['y']);\n this._yScrollComponent = new ScrollBarComponent({\n ...rest,\n zIndex: 9999,\n x: canvasSize.width - scrollBarSize,\n y: 0,\n width: scrollBarSize,\n height: canvasSize.height,\n range: [0, canvasSize.height / viewSize.height],\n direction: 'vertical',\n delayTime: rest?.delayTime ?? 30,\n realTime: rest?.realTime ?? true,\n sliderStyle: { fill: 'rgba(0,0,0,0.3)' }\n });\n this.getRootMark().parent?.addChild(this._yScrollComponent);\n }\n return this._yScrollComponent;\n }\n\n private _updateScrollX(rootMark: IGroup, x: number) {\n if (this._spec.x?.enable === false) {\n return;\n }\n const finalX = Math.max(this._scrollLimit.x.min, Math.min(x, this._scrollLimit.x.max));\n const percent = Math.abs(finalX / this._scrollLimit.x.min);\n const xScrollComponent = this._getXScrollComponent();\n xScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.x.percent]);\n\n rootMark.setAttributes({\n x: finalX\n });\n }\n\n private _getXScrollComponent() {\n if (!this._xScrollComponent) {\n const canvasSize = this._service.globalInstance.getChart().getCanvasRect();\n const viewSize = this._service.globalInstance.getChart().getViewRect();\n const { enable, ...rest } = this._spec?.x ?? ({} as IScrollPluginSpec['x']);\n this._xScrollComponent = new ScrollBarComponent({\n ...rest,\n zIndex: 9999,\n x: 0,\n y: canvasSize.height - scrollBarSize,\n width: canvasSize.width,\n height: scrollBarSize,\n range: [0, canvasSize.width / viewSize.width],\n direction: 'horizontal',\n delayTime: rest?.delayTime ?? 30,\n realTime: rest?.realTime ?? true\n });\n this.getRootMark().parent?.addChild(this._xScrollComponent);\n }\n return this._xScrollComponent;\n }\n}\n\n/**\n * 注册 ScrollPlugin\n * @since 1.0.0\n */\nexport const registerScrollPlugin = () => {\n registerChartPlugin(ScrollPlugin);\n};\n"]}
|
|
@@ -6,7 +6,7 @@ import { SeriesData } from '../base/series-data';
|
|
|
6
6
|
import type { ISankeySeriesSpec } from './interface';
|
|
7
7
|
import type { ExtendEventParam } from '../../event/interface';
|
|
8
8
|
import type { IElement, IGlyphElement, IMark as IVgrammarMark } from '@visactor/vgrammar-core';
|
|
9
|
-
import type { IMark, ITextMark } from '../../mark/interface';
|
|
9
|
+
import type { ILinkPathMark, IMark, IRectMark, ITextMark } from '../../mark/interface';
|
|
10
10
|
import { SankeySeriesSpecTransformer } from './sankey-transformer';
|
|
11
11
|
import type { ILabelSpec } from '../../component';
|
|
12
12
|
export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpec> extends CartesianSeries<T> {
|
|
@@ -15,8 +15,8 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
|
|
|
15
15
|
static readonly transformerConstructor: any;
|
|
16
16
|
readonly transformerConstructor: typeof SankeySeriesSpecTransformer;
|
|
17
17
|
static readonly mark: SeriesMarkMap;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
protected _nodeMark: IRectMark;
|
|
19
|
+
protected _linkMark: ILinkPathMark;
|
|
20
20
|
private _nodeLayoutZIndex;
|
|
21
21
|
private _labelLayoutZIndex;
|
|
22
22
|
protected _nodesSeriesData?: SeriesData;
|
|
@@ -25,7 +25,7 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
|
|
|
25
25
|
protected _categoryField: string;
|
|
26
26
|
private _colorScale;
|
|
27
27
|
private _nodeList;
|
|
28
|
-
|
|
28
|
+
protected _needClear: boolean;
|
|
29
29
|
get direction(): "vertical" | "horizontal";
|
|
30
30
|
getCategoryField(): string;
|
|
31
31
|
setCategoryField(f: string): string;
|
|
@@ -54,11 +54,11 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
|
|
|
54
54
|
private nodesSeriesDataUpdate;
|
|
55
55
|
private linksSeriesDataUpdate;
|
|
56
56
|
protected _handleEmphasisElement: (params: ExtendEventParam) => void;
|
|
57
|
-
protected _handleClearEmpty
|
|
57
|
+
protected _handleClearEmpty(highlightState: string, blurState: string): void;
|
|
58
58
|
protected _handleNodeAdjacencyClick: (element: IElement, highlightState: string, blurState: string) => void;
|
|
59
59
|
protected _handleLinkAdjacencyClick: (element: IGlyphElement, highlightState: string, blurState: string) => void;
|
|
60
|
-
protected _handleNodeRelatedClick
|
|
61
|
-
protected _handleLinkRelatedClick
|
|
60
|
+
protected _handleNodeRelatedClick(element: IElement, highlightState: string, blurState: string): void;
|
|
61
|
+
protected _handleLinkRelatedClick(element: IGlyphElement, highlightState: string, blurState: string): void;
|
|
62
62
|
protected _highLightElements(vGrammarElements: IVgrammarMark['elements'], highlightNodes: string[], highlightState: string, blurState: string): void;
|
|
63
63
|
protected initTooltip(): void;
|
|
64
64
|
_setNodeOrdinalColorScale(): void;
|