@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/cjs/mark/index.d.ts
CHANGED
|
@@ -10,12 +10,13 @@ import { PathMark, registerPathMark } from './path';
|
|
|
10
10
|
import { ArcMark, registerArcMark } from './arc';
|
|
11
11
|
import { Arc3dMark, registerArc3dMark } from './arc-3d';
|
|
12
12
|
import { ComponentMark, registerComponentMark } from './component';
|
|
13
|
+
import { LinkPathMark, registerLinkPathMark } from './link-path';
|
|
13
14
|
import { RippleMark, registerRippleMark } from './ripple';
|
|
14
15
|
import { BaseMark } from './base';
|
|
15
16
|
import { PolygonMark, registerPolygonMark } from './polygon/polygon';
|
|
16
17
|
import { Pyramid3dMark, registerPyramid3dMark } from './polygon/pyramid-3d';
|
|
17
18
|
import { ImageMark, registerImageMark } from './image';
|
|
18
19
|
export type { IBoxPlotMarkSpec, ILineMarkSpec, ISymbolMarkSpec, IGroupMarkSpec, IRuleMarkSpec, ITextMarkSpec, IAreaMarkSpec, IRect3dMarkSpec, IRectMarkSpec, IPathMarkSpec, IArcMarkSpec, IArc3dMarkSpec, ICommonSpec, IPolygonMarkSpec, IPyramid3dMarkSpec, ILinkPathMarkSpec, IRippleMarkSpec, ICellMarkSpec, ILiquidMarkSpec, ConvertToMarkStyleSpec } from '../typings/visual';
|
|
19
|
-
export { LineMark, SymbolMark, GroupMark, RuleMark, TextMark, AreaMark, Rect3dMark, RectMark, PathMark, Arc3dMark, ArcMark, ComponentMark, PolygonMark, Pyramid3dMark, RippleMark, ImageMark, BaseMark };
|
|
20
|
-
export { registerLineMark, registerSymbolMark, registerGroupMark, registerRuleMark, registerTextMark, registerAreaMark, registerRectMark, registerRect3dMark, registerPathMark, registerArcMark, registerArc3dMark, registerPolygonMark, registerPyramid3dMark, registerRippleMark, registerImageMark, registerComponentMark };
|
|
20
|
+
export { LineMark, SymbolMark, GroupMark, RuleMark, TextMark, AreaMark, Rect3dMark, RectMark, PathMark, Arc3dMark, ArcMark, ComponentMark, PolygonMark, Pyramid3dMark, RippleMark, ImageMark, BaseMark, LinkPathMark };
|
|
21
|
+
export { registerLineMark, registerSymbolMark, registerGroupMark, registerRuleMark, registerTextMark, registerAreaMark, registerRectMark, registerRect3dMark, registerPathMark, registerArcMark, registerArc3dMark, registerPolygonMark, registerPyramid3dMark, registerRippleMark, registerImageMark, registerComponentMark, registerLinkPathMark };
|
|
21
22
|
export declare const registerAllMarks: () => void;
|
package/cjs/mark/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.registerAllMarks = exports.registerComponentMark = exports.registerImageMark = exports.registerRippleMark = exports.registerPyramid3dMark = exports.registerPolygonMark = exports.registerArc3dMark = exports.registerArcMark = exports.registerPathMark = exports.registerRect3dMark = exports.registerRectMark = exports.registerAreaMark = exports.registerTextMark = exports.registerRuleMark = exports.registerGroupMark = exports.registerSymbolMark = exports.registerLineMark = exports.BaseMark = exports.ImageMark = exports.RippleMark = exports.Pyramid3dMark = exports.PolygonMark = exports.ComponentMark = exports.ArcMark = exports.Arc3dMark = exports.PathMark = exports.RectMark = exports.Rect3dMark = exports.AreaMark = exports.TextMark = exports.RuleMark = exports.GroupMark = exports.SymbolMark = exports.LineMark = void 0;
|
|
5
|
+
}), exports.registerAllMarks = exports.registerLinkPathMark = exports.registerComponentMark = exports.registerImageMark = exports.registerRippleMark = exports.registerPyramid3dMark = exports.registerPolygonMark = exports.registerArc3dMark = exports.registerArcMark = exports.registerPathMark = exports.registerRect3dMark = exports.registerRectMark = exports.registerAreaMark = exports.registerTextMark = exports.registerRuleMark = exports.registerGroupMark = exports.registerSymbolMark = exports.registerLineMark = exports.LinkPathMark = exports.BaseMark = exports.ImageMark = exports.RippleMark = exports.Pyramid3dMark = exports.PolygonMark = exports.ComponentMark = exports.ArcMark = exports.Arc3dMark = exports.PathMark = exports.RectMark = exports.Rect3dMark = exports.AreaMark = exports.TextMark = exports.RuleMark = exports.GroupMark = exports.SymbolMark = exports.LineMark = void 0;
|
|
6
6
|
|
|
7
7
|
const line_1 = require("./line");
|
|
8
8
|
|
|
@@ -172,6 +172,20 @@ Object.defineProperty(exports, "ComponentMark", {
|
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
174
|
|
|
175
|
+
const link_path_1 = require("./link-path");
|
|
176
|
+
|
|
177
|
+
Object.defineProperty(exports, "LinkPathMark", {
|
|
178
|
+
enumerable: !0,
|
|
179
|
+
get: function() {
|
|
180
|
+
return link_path_1.LinkPathMark;
|
|
181
|
+
}
|
|
182
|
+
}), Object.defineProperty(exports, "registerLinkPathMark", {
|
|
183
|
+
enumerable: !0,
|
|
184
|
+
get: function() {
|
|
185
|
+
return link_path_1.registerLinkPathMark;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
|
|
175
189
|
const ripple_1 = require("./ripple");
|
|
176
190
|
|
|
177
191
|
Object.defineProperty(exports, "RippleMark", {
|
package/cjs/mark/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/index.ts"],"names":[],"mappings":";;;AAGA,iCAAoD;
|
|
1
|
+
{"version":3,"sources":["../src/mark/index.ts"],"names":[],"mappings":";;;AAGA,iCAAoD;AAgDlD,yFAhDO,eAAQ,OAgDP;AAqBR,iGArEiB,uBAAgB,OAqEjB;AApElB,qCAA0D;AAgDxD,2FAhDO,mBAAU,OAgDP;AAqBV,mGArEmB,2BAAkB,OAqEnB;AApEpB,mCAAuD;AAgDrD,0FAhDO,iBAAS,OAgDP;AAqBT,kGArEkB,yBAAiB,OAqElB;AApEnB,iCAAoD;AAgDlD,yFAhDO,eAAQ,OAgDP;AAqBR,iGArEiB,uBAAgB,OAqEjB;AApElB,iCAAoD;AAgDlD,yFAhDO,eAAQ,OAgDP;AAqBR,iGArEiB,uBAAgB,OAqEjB;AApElB,iCAAoD;AAgDlD,yFAhDO,eAAQ,OAgDP;AAqBR,iGArEiB,uBAAgB,OAqEjB;AApElB,iCAAoD;AAiDlD,yFAjDO,eAAQ,OAiDP;AAoBR,iGArEiB,uBAAgB,OAqEjB;AApElB,uCAA2D;AA+CzD,2FA/CO,oBAAU,OA+CP;AAsBV,mGArEmB,4BAAkB,OAqEnB;AApEpB,iCAAoD;AAgDlD,yFAhDO,eAAQ,OAgDP;AAqBR,iGArEiB,uBAAgB,OAqEjB;AApElB,+BAAiD;AAiD/C,wFAjDO,aAAO,OAiDP;AAoBP,gGArEgB,qBAAe,OAqEhB;AApEjB,qCAAwD;AA+CtD,0FA/CO,kBAAS,OA+CP;AAsBT,kGArEkB,0BAAiB,OAqElB;AApEnB,2CAAmE;AAgDjE,8FAhDO,yBAAa,OAgDP;AAyBb,sGAzEsB,iCAAqB,OAyEtB;AAxEvB,2CAAiE;AAqD/D,6FArDO,wBAAY,OAqDP;AAoBZ,qGAzEqB,gCAAoB,OAyErB;AAxEtB,qCAA0D;AAiDxD,2FAjDO,mBAAU,OAiDP;AAoBV,mGArEmB,2BAAkB,OAqEnB;AAnEpB,iCAAkC;AAiDhC,yFAjDO,eAAQ,OAiDP;AAhDV,+CAAqE;AA4CnE,4FA5CO,qBAAW,OA4CP;AAoBX,oGAhEoB,6BAAmB,OAgEpB;AA/DrB,qDAA4E;AA4C1E,8FA5CO,0BAAa,OA4CP;AAoBb,sGAhEsB,kCAAqB,OAgEtB;AA/DvB,mCAAuD;AA6CrD,0FA7CO,iBAAS,OA6CP;AAoBT,kGAjEkB,yBAAiB,OAiElB;AAKZ,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAA,yBAAiB,GAAE,CAAC;IACpB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,2BAAkB,GAAE,CAAC;IACrB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,uBAAgB,GAAE,CAAC;IACnB,IAAA,qBAAe,GAAE,CAAC;IAClB,IAAA,6BAAmB,GAAE,CAAC;IACtB,IAAA,yBAAiB,GAAE,CAAC;IACpB,IAAA,2BAAkB,GAAE,CAAC;IACrB,IAAA,iCAAqB,GAAE,CAAC;IACxB,IAAA,0BAAiB,GAAE,CAAC;IACpB,IAAA,4BAAkB,GAAE,CAAC;IACrB,IAAA,kCAAqB,GAAE,CAAC;AAC1B,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B","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
|
}
|
|
@@ -35,6 +35,16 @@ class ChartPluginService extends base_plugin_service_1.BasePluginService {
|
|
|
35
35
|
plugin.onBeforeInitChart && plugin.onBeforeInitChart(this, chartSpec, actionSource);
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
|
+
onLayoutRectUpdate() {
|
|
39
|
+
this._plugins.forEach((plugin => {
|
|
40
|
+
plugin.onLayoutRectUpdate && plugin.onLayoutRectUpdate(this);
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
onAfterRender() {
|
|
44
|
+
this._plugins.forEach((plugin => {
|
|
45
|
+
plugin.onAfterRender && plugin.onAfterRender(this);
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
38
48
|
releaseAll() {
|
|
39
49
|
super.releaseAll(), this.globalInstance = null;
|
|
40
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin/chart/plugin-service.ts"],"names":[],"mappings":";;;AAEA,qEAAgE;AAIhE,MAAa,kBACX,SAAQ,uCAAoB;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;
|
|
1
|
+
{"version":3,"sources":["../src/plugin/chart/plugin-service.ts"],"names":[],"mappings":";;;AAEA,qEAAgE;AAIhE,MAAa,kBACX,SAAQ,uCAAoB;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;AA1DD,gDA0DC","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,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __exportStar = this && this.__exportStar || function(m, exports) {
|
|
15
|
+
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
Object.defineProperty(exports, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), __exportStar(require("./scroll"), exports), __exportStar(require("./interface"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/chart/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,2CAAyB;AACzB,8CAA4B","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,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __rest = this && this.__rest || function(s, e) {
|
|
4
|
+
var t = {};
|
|
5
|
+
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
|
|
6
|
+
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
|
|
7
|
+
var i = 0;
|
|
8
|
+
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]]);
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, "__esModule", {
|
|
14
|
+
value: !0
|
|
15
|
+
}), exports.registerScrollPlugin = exports.ScrollPlugin = void 0;
|
|
16
|
+
|
|
17
|
+
const base_plugin_1 = require("../../base/base-plugin"), register_1 = require("../register"), vrender_components_1 = require("@visactor/vrender-components"), scrollBarSize = 10;
|
|
18
|
+
|
|
19
|
+
class ScrollPlugin extends base_plugin_1.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 vrender_components_1.ScrollBar(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 vrender_components_1.ScrollBar(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
|
+
exports.ScrollPlugin = ScrollPlugin, ScrollPlugin.pluginType = "chart", ScrollPlugin.type = "chartScroll";
|
|
123
|
+
|
|
124
|
+
const registerScrollPlugin = () => {
|
|
125
|
+
(0, register_1.registerChartPlugin)(ScrollPlugin);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
exports.registerScrollPlugin = registerScrollPlugin;
|
|
129
|
+
//# 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;
|