@visactor/vchart 1.13.22-alpha.1 → 1.13.22-alpha.3

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.
Files changed (40) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +14 -5
  3. package/build/index.js +14 -5
  4. package/build/index.min.js +1 -1
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/config.js +2 -1
  7. package/cjs/animation/utils.js +1 -2
  8. package/cjs/constant/funnel.js +1 -2
  9. package/cjs/constant/scatter.js +2 -1
  10. package/cjs/core/index.d.ts +1 -1
  11. package/cjs/core/index.js +1 -1
  12. package/cjs/core/index.js.map +1 -1
  13. package/cjs/core/interface.js +1 -2
  14. package/cjs/core/vchart.js +2 -1
  15. package/cjs/env/env.js +1 -1
  16. package/cjs/env/index.js +1 -1
  17. package/cjs/event/bubble.js +1 -1
  18. package/cjs/interaction/config.js +1 -1
  19. package/cjs/interaction/dimension-trigger.js +1 -1
  20. package/cjs/interaction/index.js +1 -1
  21. package/cjs/plugin/chart/scroll/scroll.js +5 -4
  22. package/cjs/plugin/chart/scroll/scroll.js.map +1 -1
  23. package/esm/animation/config.js +2 -1
  24. package/esm/animation/utils.js +1 -2
  25. package/esm/constant/funnel.js +1 -2
  26. package/esm/constant/scatter.js +2 -1
  27. package/esm/core/index.d.ts +1 -1
  28. package/esm/core/index.js +1 -1
  29. package/esm/core/index.js.map +1 -1
  30. package/esm/core/interface.js +1 -2
  31. package/esm/core/vchart.js +2 -1
  32. package/esm/env/env.js +1 -1
  33. package/esm/env/index.js +1 -1
  34. package/esm/event/bubble.js +1 -1
  35. package/esm/interaction/config.js +1 -1
  36. package/esm/interaction/dimension-trigger.js +1 -1
  37. package/esm/interaction/index.js +1 -1
  38. package/esm/plugin/chart/scroll/scroll.js +5 -4
  39. package/esm/plugin/chart/scroll/scroll.js.map +1 -1
  40. package/package.json +4 -4
@@ -166,4 +166,5 @@ const registerVGrammarPolygonAnimation = () => {
166
166
  vgrammar_core_1.View.useRegisters([ vgrammar_core_1.registerGrowPointsInAnimation, vgrammar_core_1.registerGrowPointsOutAnimation ]);
167
167
  };
168
168
 
169
- exports.registerVGrammarPolygonAnimation = registerVGrammarPolygonAnimation;
169
+ exports.registerVGrammarPolygonAnimation = registerVGrammarPolygonAnimation;
170
+ //# sourceMappingURL=config.js.map
@@ -130,5 +130,4 @@ exports.AnimationStates = [ ...Object.keys(config_1.DEFAULT_ANIMATION_CONFIG), "
130
130
  exports.animationConfig = animationConfig, exports.userAnimationConfig = userAnimationConfig,
131
131
  exports.shouldMarkDoMorph = shouldMarkDoMorph, exports.isTimeLineAnimation = isTimeLineAnimation,
132
132
  exports.isChannelAnimation = isChannelAnimation, exports.uniformAnimationConfig = uniformAnimationConfig,
133
- exports.isAnimationEnabledForSeries = isAnimationEnabledForSeries;
134
- //# sourceMappingURL=utils.js.map
133
+ exports.isAnimationEnabledForSeries = isAnimationEnabledForSeries;
@@ -12,5 +12,4 @@ exports.FUNNEL_LAST_VALUE_RATIO = `${base_1.PREFIX}_FUNNEL_LAST_VALUE_RATIO`, ex
12
12
  exports.FUNNEL_LAST_VALUE = `${base_1.PREFIX}_FUNNEL_LAST_VALUE`, exports.FUNNEL_CURRENT_VALUE = `${base_1.PREFIX}_FUNNEL_CURRENT_VALUE`,
13
13
  exports.FUNNEL_NEXT_VALUE = `${base_1.PREFIX}_FUNNEL_NEXT_VALUE`, exports.FUNNEL_TRANSFORM_LEVEL = `${base_1.PREFIX}_FUNNEL_TRANSFORM_LEVEL`,
14
14
  exports.FUNNEL_LABEL_LINE_LENGTH = 20, exports.FUNNEL_LABEL_SPACE_WIDTH = 5, exports.FUNNEL_MAX_SIZE = "80%",
15
- exports.FUNNEL_MIN_SIZE = 0;
16
- //# sourceMappingURL=funnel.js.map
15
+ exports.FUNNEL_MIN_SIZE = 0;
@@ -8,4 +8,5 @@ const vscale_1 = require("@visactor/vscale");
8
8
 
9
9
  exports.SCATTER_DEFAULT_SIZE = 10, exports.SCATTER_DEFAULT_RANGE_SIZE = [ 10, 20 ],
10
10
  exports.SCATTER_DEFAULT_SIZE_SCALE_TYPE = vscale_1.ScaleEnum.Linear, exports.SCATTER_DEFAULT_SHAPE = "circle",
11
- exports.SCATTER_DEFAULT_SHAPE_SCALE_TYPE = vscale_1.ScaleEnum.Ordinal, exports.SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
11
+ exports.SCATTER_DEFAULT_SHAPE_SCALE_TYPE = vscale_1.ScaleEnum.Ordinal, exports.SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
12
+ //# sourceMappingURL=scatter.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.13.22-alpha.1";
4
+ export declare const version = "1.13.22-alpha.3";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export type { IRegion } from '../region/interface';
package/cjs/core/index.js CHANGED
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "Factory", {
35
35
  get: function() {
36
36
  return factory_1.Factory;
37
37
  }
38
- }), exports.version = "1.13.22-alpha.1", __exportStar(require("../typings/spec/common"), exports),
38
+ }), exports.version = "1.13.22-alpha.3", __exportStar(require("../typings/spec/common"), exports),
39
39
  __exportStar(require("../event/interface"), exports), __exportStar(require("../theme/interface"), exports),
40
40
  __exportStar(require("../compile/mark/interface"), exports), __exportStar(require("./interface"), exports),
41
41
  __exportStar(require("../constant/base"), exports), __exportStar(require("../constant/data"), exports),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,iBAAiB,CAAC;AAOzC,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AACnC,4DAA0C;AAC1C,8CAA4B;AAG5B,mDAAiC;AACjC,mDAAiC;AAKjC,wDAAsC;AAGtC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAYgC;AAX9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AACZ,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.13.22-alpha.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../compile/mark/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol,\n ManualTicker,\n StreamLight\n} from '@visactor/vrender-core';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,iBAAiB,CAAC;AAOzC,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AACnC,4DAA0C;AAC1C,8CAA4B;AAG5B,mDAAiC;AACjC,mDAAiC;AAKjC,wDAAsC;AAGtC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAYgC;AAX9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AACZ,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.13.22-alpha.3\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../compile/mark/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol,\n ManualTicker,\n StreamLight\n} from '@visactor/vrender-core';\n"]}
@@ -2,5 +2,4 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- });
6
- //# sourceMappingURL=interface.js.map
5
+ });
@@ -922,4 +922,5 @@ const registerVChartCore = () => {
922
922
  (0, builtin_1.registerTheme)(builtin_1.darkTheme.name, builtin_1.darkTheme), vutils_1.Logger.getInstance(vutils_1.LoggerLevel.Error);
923
923
  };
924
924
 
925
- exports.registerVChartCore = registerVChartCore, (0, exports.registerVChartCore)();
925
+ exports.registerVChartCore = registerVChartCore, (0, exports.registerVChartCore)();
926
+ //# sourceMappingURL=vchart.js.map
package/cjs/env/env.js CHANGED
@@ -57,4 +57,4 @@ const registerHarmonyEnv = () => {
57
57
  };
58
58
 
59
59
  exports.registerHarmonyEnv = registerHarmonyEnv;
60
- //# sourceMappingURL=env.js.map
60
+ //# sourceMappingURL=env.js.map
package/cjs/env/index.js CHANGED
@@ -18,4 +18,4 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./env"), exports);
21
- //# sourceMappingURL=index.js.map
21
+ //# sourceMappingURL=index.js.map
@@ -51,4 +51,4 @@ class Bubble {
51
51
  }
52
52
 
53
53
  exports.Bubble = Bubble;
54
- //# sourceMappingURL=bubble.js.map
54
+ //# sourceMappingURL=bubble.js.map
@@ -31,4 +31,4 @@ function getDefaultInteractionConfigByMode(mode) {
31
31
  }
32
32
 
33
33
  exports.getDefaultInteractionConfigByMode = getDefaultInteractionConfigByMode;
34
- //# sourceMappingURL=config.js.map
34
+ //# sourceMappingURL=config.js.map
@@ -70,4 +70,4 @@ class DimensionTrigger {
70
70
  }
71
71
 
72
72
  exports.DimensionTrigger = DimensionTrigger;
73
- //# sourceMappingURL=dimension-trigger.js.map
73
+ //# sourceMappingURL=dimension-trigger.js.map
@@ -47,4 +47,4 @@ Object.defineProperty(exports, "registerElementActive", {
47
47
  return vgrammar_core_1.registerElementHighlightByKey;
48
48
  }
49
49
  });
50
- //# sourceMappingURL=index.js.map
50
+ //# sourceMappingURL=index.js.map
@@ -44,13 +44,14 @@ class ScrollPlugin extends base_plugin_1.BasePlugin {
44
44
  }
45
45
  }, this.onWheel = e => {
46
46
  var _a, _b;
47
- !1 !== this._spec.preventDefault && (e.preventDefault(), e.stopPropagation());
48
47
  const scrollX = e.deltaX, scrollY = e.deltaY, rootMark = this.getRootMark();
49
48
  if (!rootMark) return;
50
49
  const {percent: yPercent, y: y} = null !== (_a = this._computeFinalScrollY(rootMark.attribute.y - scrollY)) && void 0 !== _a ? _a : {}, {percent: xPercent, x: x} = null !== (_b = this._computeFinalScrollX(rootMark.attribute.x - scrollX)) && void 0 !== _b ? _b : {}, eventResult = {};
51
- (0, vutils_1.isValidNumber)(x) && (this._updateScrollX(rootMark, x, xPercent), eventResult.x = x),
52
- (0, vutils_1.isValidNumber)(y) && (this._updateScrollY(rootMark, y, yPercent), eventResult.y = y),
53
- this._event.emit("chartScroll", eventResult);
50
+ let isScroll = !1;
51
+ (0, vutils_1.isValidNumber)(x) && (0 !== e.deltaMode && this._lastScrollX !== x && (isScroll = !0),
52
+ this._updateScrollX(rootMark, x, xPercent), eventResult.x = x), (0, vutils_1.isValidNumber)(y) && (0 !== e.deltaMode && this._lastScrollY !== y && (isScroll = !0),
53
+ this._updateScrollY(rootMark, y, yPercent), eventResult.y = y), isScroll && !1 !== this._spec.preventDefault && (e.preventDefault(),
54
+ e.stopPropagation()), this._event.emit("chartScroll", eventResult);
54
55
  };
55
56
  }
56
57
  onInit(service, chartSpec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/chart/scroll/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import { isValidNumber, merge } from '@visactor/vutils';\nimport type { IGroup, IRectGraphicAttribute } 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';\nimport { Event } from '../../../event/event';\nimport type { ExtendEventParam } from '../../../event/interface';\n\n// 由vrender透出, 接入新版本后需修改\nconst SCROLLBAR_EVENT = 'scrollDrag';\nconst SCROLLBAR_END_EVENT = 'scrollUp';\n\nconst DefaultTheme: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n} = {\n size: 10,\n railStyle: undefined,\n sliderStyle: undefined\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 readonly name: string = ScrollPlugin.type;\n\n private _service: IChartPluginService;\n\n private _spec: IScrollPluginSpec;\n private _lastScrollX = 0;\n get lastScrollX() {\n return this._lastScrollX;\n }\n private _lastScrollY = 0;\n get lastScrollY() {\n return this._lastScrollY;\n }\n\n private _scrollLimit = {\n x: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n },\n y: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n }\n };\n\n private _xScrollComponent: ScrollBarComponent;\n private _yScrollComponent: ScrollBarComponent;\n private _event: Event;\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.x.size = 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 this._scrollLimit.y.size = viewBoxSize.height;\n\n if (!this._event) {\n this._event = new Event(this._service.globalInstance.getChart().getOption().eventDispatcher, null);\n }\n\n // 重新设置滚动条位置\n if (this._xScrollComponent) {\n this._xScrollComponent.setAttributes({\n width: canvasSize.width,\n y: canvasSize.height - DefaultTheme.size\n });\n this._xScrollComponent.setAttributes({\n visible: this._scrollLimit.x.percent < 1\n });\n }\n if (this._yScrollComponent) {\n this._yScrollComponent.setAttributes({\n height: canvasSize.height,\n x: canvasSize.width - DefaultTheme.size\n });\n\n this._yScrollComponent.setAttributes({\n visible: this._scrollLimit.y.percent < 1\n });\n }\n // this.scrollTo({ x: 0, y: 0 });\n }\n\n onAfterRender() {\n // const rootMark = this.getRootMark();\n // if (rootMark) {\n // if (!this._xScrollComponent) {\n // this._updateScrollX(rootMark, 0, 0);\n // }\n // if (!this._yScrollComponent) {\n // this._updateScrollY(rootMark, 0, 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 if (this._spec.preventDefault !== false) {\n e.preventDefault();\n e.stopPropagation();\n }\n const scrollX = e.deltaX;\n const scrollY = e.deltaY;\n const rootMark = this.getRootMark();\n if (!rootMark) {\n return;\n }\n const { percent: yPercent, y } = this._computeFinalScrollY(rootMark.attribute.y - scrollY) ?? {};\n const { percent: xPercent, x } = this._computeFinalScrollX(rootMark.attribute.x - scrollX) ?? {};\n const eventResult: { x?: number; y?: number } = {};\n if (isValidNumber(x)) {\n this._updateScrollX(rootMark, x, xPercent);\n eventResult.x = x;\n }\n if (isValidNumber(y)) {\n this._updateScrollY(rootMark, y, yPercent);\n eventResult.y = y;\n }\n\n this._event.emit('chartScroll', eventResult as ExtendEventParam);\n };\n\n private _computeFinalScrollY(y: number) {\n if (this._lastScrollY === y) {\n return null;\n }\n this._lastScrollY = y;\n if (this._spec.y?.enable === false) {\n return null;\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.size);\n return {\n y: finalY,\n percent\n };\n }\n private _computeFinalScrollX(x: number) {\n if (this._lastScrollX === x) {\n return null;\n }\n this._lastScrollX = x;\n if (this._spec.x?.enable === false) {\n return null;\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.size);\n return {\n x: finalX,\n percent\n };\n }\n\n private _updateScrollY(rootMark: IGroup, y: number, percent: number) {\n const yScrollComponent = this._getYScrollComponent();\n yScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.y.percent]);\n rootMark.setAttributes({\n y: y\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 - DefaultTheme.size,\n y: 0,\n width: DefaultTheme.size,\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 railStyle: DefaultTheme.railStyle,\n sliderStyle: DefaultTheme.sliderStyle,\n visible: canvasSize.height < viewSize.height\n });\n // 绑定事件,防抖,防止频繁触发\n this._yScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this._yScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._yScrollComponent);\n }\n return this._yScrollComponent;\n }\n\n private _updateScrollX(rootMark: IGroup, x: number, percent: number) {\n const xScrollComponent = this._getXScrollComponent();\n xScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.x.percent]);\n rootMark.setAttributes({\n x: x\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 - DefaultTheme.size,\n width: canvasSize.width,\n height: DefaultTheme.size,\n range: [0, canvasSize.width / viewSize.width],\n direction: 'horizontal',\n delayTime: rest?.delayTime ?? 30,\n realTime: rest?.realTime ?? true,\n sliderStyle: DefaultTheme.sliderStyle,\n railStyle: DefaultTheme.railStyle,\n visible: canvasSize.width < viewSize.width\n });\n // 绑定事件,防抖,防止频繁触发\n this._xScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this._xScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._xScrollComponent);\n }\n return this._xScrollComponent;\n }\n\n /**\n * api\n */\n scrollTo({ x, y }: { x?: number; y?: number }) {\n const rootMark = this.getRootMark();\n if (rootMark) {\n if (x !== undefined) {\n const { x: finalX, percent } = this._computeFinalScrollX(x) ?? {};\n if (finalX !== undefined && percent !== undefined) {\n this._updateScrollX(rootMark, finalX, percent);\n }\n }\n if (y !== undefined) {\n const { y: finalY, percent } = this._computeFinalScrollY(y) ?? {};\n if (finalY !== undefined && percent !== undefined) {\n this._updateScrollY(rootMark, finalY, percent);\n }\n }\n }\n }\n}\n\n/**\n * 注册 ScrollPlugin\n * @since 1.0.0\n */\nexport const registerScrollPlugin = (theme?: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n}) => {\n DefaultTheme.size = theme?.size ?? DefaultTheme.size;\n DefaultTheme.railStyle = merge({}, DefaultTheme.railStyle ?? {}, theme?.railStyle ?? {});\n DefaultTheme.sliderStyle = merge({}, DefaultTheme.sliderStyle ?? {}, theme?.sliderStyle ?? {});\n registerChartPlugin(ScrollPlugin);\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/chart/scroll/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import { isValidNumber, merge } from '@visactor/vutils';\nimport type { IGroup, IRectGraphicAttribute } 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';\nimport { Event } from '../../../event/event';\nimport type { ExtendEventParam } from '../../../event/interface';\n\n// 由vrender透出, 接入新版本后需修改\nconst SCROLLBAR_EVENT = 'scrollDrag';\nconst SCROLLBAR_END_EVENT = 'scrollUp';\n\nconst DefaultTheme: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n} = {\n size: 10,\n railStyle: undefined,\n sliderStyle: undefined\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 readonly name: string = ScrollPlugin.type;\n\n private _service: IChartPluginService;\n\n private _spec: IScrollPluginSpec;\n private _lastScrollX = 0;\n get lastScrollX() {\n return this._lastScrollX;\n }\n private _lastScrollY = 0;\n get lastScrollY() {\n return this._lastScrollY;\n }\n\n private _scrollLimit = {\n x: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n },\n y: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n }\n };\n\n private _xScrollComponent: ScrollBarComponent;\n private _yScrollComponent: ScrollBarComponent;\n private _event: Event;\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.x.size = 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 this._scrollLimit.y.size = viewBoxSize.height;\n\n if (!this._event) {\n this._event = new Event(this._service.globalInstance.getChart().getOption().eventDispatcher, null);\n }\n\n // 重新设置滚动条位置\n if (this._xScrollComponent) {\n this._xScrollComponent.setAttributes({\n width: canvasSize.width,\n y: canvasSize.height - DefaultTheme.size\n });\n this._xScrollComponent.setAttributes({\n visible: this._scrollLimit.x.percent < 1\n });\n }\n if (this._yScrollComponent) {\n this._yScrollComponent.setAttributes({\n height: canvasSize.height,\n x: canvasSize.width - DefaultTheme.size\n });\n\n this._yScrollComponent.setAttributes({\n visible: this._scrollLimit.y.percent < 1\n });\n }\n // this.scrollTo({ x: 0, y: 0 });\n }\n\n onAfterRender() {\n // const rootMark = this.getRootMark();\n // if (rootMark) {\n // if (!this._xScrollComponent) {\n // this._updateScrollX(rootMark, 0, 0);\n // }\n // if (!this._yScrollComponent) {\n // this._updateScrollY(rootMark, 0, 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 const { percent: yPercent, y } = this._computeFinalScrollY(rootMark.attribute.y - scrollY) ?? {};\n const { percent: xPercent, x } = this._computeFinalScrollX(rootMark.attribute.x - scrollX) ?? {};\n const eventResult: { x?: number; y?: number } = {};\n let isScroll = false;\n if (isValidNumber(x)) {\n if (e.deltaMode !== 0 && this._lastScrollX !== x) {\n isScroll = true;\n }\n this._updateScrollX(rootMark, x, xPercent);\n eventResult.x = x;\n }\n if (isValidNumber(y)) {\n if (e.deltaMode !== 0 && this._lastScrollY !== y) {\n isScroll = true;\n }\n this._updateScrollY(rootMark, y, yPercent);\n eventResult.y = y;\n }\n\n // 如果有触发滚动\n if (isScroll) {\n if (this._spec.preventDefault !== false) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n this._event.emit('chartScroll', eventResult as ExtendEventParam);\n };\n\n private _computeFinalScrollY(y: number) {\n if (this._lastScrollY === y) {\n return null;\n }\n this._lastScrollY = y;\n if (this._spec.y?.enable === false) {\n return null;\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.size);\n return {\n y: finalY,\n percent\n };\n }\n private _computeFinalScrollX(x: number) {\n if (this._lastScrollX === x) {\n return null;\n }\n this._lastScrollX = x;\n if (this._spec.x?.enable === false) {\n return null;\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.size);\n return {\n x: finalX,\n percent\n };\n }\n\n private _updateScrollY(rootMark: IGroup, y: number, percent: number) {\n const yScrollComponent = this._getYScrollComponent();\n yScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.y.percent]);\n rootMark.setAttributes({\n y: y\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 - DefaultTheme.size,\n y: 0,\n width: DefaultTheme.size,\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 railStyle: DefaultTheme.railStyle,\n sliderStyle: DefaultTheme.sliderStyle,\n visible: canvasSize.height < viewSize.height\n });\n // 绑定事件,防抖,防止频繁触发\n this._yScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this._yScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._yScrollComponent);\n }\n return this._yScrollComponent;\n }\n\n private _updateScrollX(rootMark: IGroup, x: number, percent: number) {\n const xScrollComponent = this._getXScrollComponent();\n xScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.x.percent]);\n rootMark.setAttributes({\n x: x\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 - DefaultTheme.size,\n width: canvasSize.width,\n height: DefaultTheme.size,\n range: [0, canvasSize.width / viewSize.width],\n direction: 'horizontal',\n delayTime: rest?.delayTime ?? 30,\n realTime: rest?.realTime ?? true,\n sliderStyle: DefaultTheme.sliderStyle,\n railStyle: DefaultTheme.railStyle,\n visible: canvasSize.width < viewSize.width\n });\n // 绑定事件,防抖,防止频繁触发\n this._xScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this._xScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._xScrollComponent);\n }\n return this._xScrollComponent;\n }\n\n /**\n * api\n */\n scrollTo({ x, y }: { x?: number; y?: number }) {\n const rootMark = this.getRootMark();\n if (rootMark) {\n if (x !== undefined) {\n const { x: finalX, percent } = this._computeFinalScrollX(x) ?? {};\n if (finalX !== undefined && percent !== undefined) {\n this._updateScrollX(rootMark, finalX, percent);\n }\n }\n if (y !== undefined) {\n const { y: finalY, percent } = this._computeFinalScrollY(y) ?? {};\n if (finalY !== undefined && percent !== undefined) {\n this._updateScrollY(rootMark, finalY, percent);\n }\n }\n }\n }\n}\n\n/**\n * 注册 ScrollPlugin\n * @since 1.0.0\n */\nexport const registerScrollPlugin = (theme?: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n}) => {\n DefaultTheme.size = theme?.size ?? DefaultTheme.size;\n DefaultTheme.railStyle = merge({}, DefaultTheme.railStyle ?? {}, theme?.railStyle ?? {});\n DefaultTheme.sliderStyle = merge({}, DefaultTheme.sliderStyle ?? {}, theme?.sliderStyle ?? {});\n registerChartPlugin(ScrollPlugin);\n};\n"]}
@@ -152,4 +152,5 @@ export const registerVGrammarLineOrAreaAnimation = () => {
152
152
 
153
153
  export const registerVGrammarPolygonAnimation = () => {
154
154
  View.useRegisters([ registerGrowPointsInAnimation, registerGrowPointsOutAnimation ]);
155
- };
155
+ };
156
+ //# sourceMappingURL=config.js.map
@@ -124,5 +124,4 @@ export function isAnimationEnabledForSeries(series) {
124
124
  config && (config.large && config.largeThreshold && (animationThreshold = Math.min(animationThreshold, config.largeThreshold)),
125
125
  config.progressiveThreshold && (animationThreshold = Math.min(animationThreshold, config.progressiveThreshold)));
126
126
  })), !((null === (_d = null === (_c = series.getRawData()) || void 0 === _c ? void 0 : _c.latestData) || void 0 === _d ? void 0 : _d.length) >= animationThreshold);
127
- }
128
- //# sourceMappingURL=utils.js.map
127
+ }
@@ -26,5 +26,4 @@ export const FUNNEL_LABEL_SPACE_WIDTH = 5;
26
26
 
27
27
  export const FUNNEL_MAX_SIZE = "80%";
28
28
 
29
- export const FUNNEL_MIN_SIZE = 0;
30
- //# sourceMappingURL=funnel.js.map
29
+ export const FUNNEL_MIN_SIZE = 0;
@@ -10,4 +10,5 @@ export const SCATTER_DEFAULT_SHAPE = "circle";
10
10
 
11
11
  export const SCATTER_DEFAULT_SHAPE_SCALE_TYPE = ScaleEnum.Ordinal;
12
12
 
13
- export const SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
13
+ export const SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
14
+ //# sourceMappingURL=scatter.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.13.22-alpha.1";
4
+ export declare const version = "1.13.22-alpha.3";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export type { IRegion } from '../region/interface';
package/esm/core/index.js CHANGED
@@ -4,7 +4,7 @@ import { Factory } from "./factory";
4
4
 
5
5
  export { VChart, Factory };
6
6
 
7
- export const version = "1.13.22-alpha.1";
7
+ export const version = "1.13.22-alpha.3";
8
8
 
9
9
  export * from "../typings/spec/common";
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAOzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAKjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.13.22-alpha.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../compile/mark/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol,\n ManualTicker,\n StreamLight\n} from '@visactor/vrender-core';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAOzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAKjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.13.22-alpha.3\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../compile/mark/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol,\n ManualTicker,\n StreamLight\n} from '@visactor/vrender-core';\n"]}
@@ -1,2 +1 @@
1
- export { };
2
- //# sourceMappingURL=interface.js.map
1
+ export { };
@@ -981,4 +981,5 @@ export const registerVChartCore = () => {
981
981
 
982
982
  Factory.registerRegion("region", Region), Factory.registerLayout("base", Layout),
983
983
  registerGroupMark(), View.useRegisters([ registerGesturePlugin ]), registerHoverInteraction(),
984
- registerSelectInteraction(), registerTheme(darkTheme.name, darkTheme), Logger.getInstance(LoggerLevel.Error);
984
+ registerSelectInteraction(), registerTheme(darkTheme.name, darkTheme), Logger.getInstance(LoggerLevel.Error);
985
+ //# sourceMappingURL=vchart.js.map
package/esm/env/env.js CHANGED
@@ -37,4 +37,4 @@ export const registerTTEnv = () => {
37
37
  export const registerHarmonyEnv = () => {
38
38
  loadHarmonyEnv(container);
39
39
  };
40
- //# sourceMappingURL=env.js.map
40
+ //# sourceMappingURL=env.js.map
package/esm/env/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from "./env";
2
- //# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -43,4 +43,4 @@ export class Bubble {
43
43
  this._map.clear(), this._levelNodes.clear();
44
44
  }
45
45
  }
46
- //# sourceMappingURL=bubble.js.map
46
+ //# sourceMappingURL=bubble.js.map
@@ -25,4 +25,4 @@ export function getDefaultInteractionConfigByMode(mode) {
25
25
  }
26
26
  } : null;
27
27
  }
28
- //# sourceMappingURL=config.js.map
28
+ //# sourceMappingURL=config.js.map
@@ -67,4 +67,4 @@ export class DimensionTrigger {
67
67
  })), items;
68
68
  }
69
69
  }
70
- //# sourceMappingURL=dimension-trigger.js.map
70
+ //# sourceMappingURL=dimension-trigger.js.map
@@ -1,2 +1,2 @@
1
1
  export { registerElementActive, registerElementHighlight, registerElementSelect, registerElementActiveByLegend, registerElementHighlightByLegend, registerElementHighlightByName, registerElementHighlightByGroup, registerElementHighlightByKey } from "@visactor/vgrammar-core";
2
- //# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -48,13 +48,14 @@ export class ScrollPlugin extends BasePlugin {
48
48
  }
49
49
  }, this.onWheel = e => {
50
50
  var _a, _b;
51
- !1 !== this._spec.preventDefault && (e.preventDefault(), e.stopPropagation());
52
51
  const scrollX = e.deltaX, scrollY = e.deltaY, rootMark = this.getRootMark();
53
52
  if (!rootMark) return;
54
53
  const {percent: yPercent, y: y} = null !== (_a = this._computeFinalScrollY(rootMark.attribute.y - scrollY)) && void 0 !== _a ? _a : {}, {percent: xPercent, x: x} = null !== (_b = this._computeFinalScrollX(rootMark.attribute.x - scrollX)) && void 0 !== _b ? _b : {}, eventResult = {};
55
- isValidNumber(x) && (this._updateScrollX(rootMark, x, xPercent), eventResult.x = x),
56
- isValidNumber(y) && (this._updateScrollY(rootMark, y, yPercent), eventResult.y = y),
57
- this._event.emit("chartScroll", eventResult);
54
+ let isScroll = !1;
55
+ isValidNumber(x) && (0 !== e.deltaMode && this._lastScrollX !== x && (isScroll = !0),
56
+ this._updateScrollX(rootMark, x, xPercent), eventResult.x = x), isValidNumber(y) && (0 !== e.deltaMode && this._lastScrollY !== y && (isScroll = !0),
57
+ this._updateScrollY(rootMark, y, yPercent), eventResult.y = y), isScroll && !1 !== this._spec.preventDefault && (e.preventDefault(),
58
+ e.stopPropagation()), this._event.emit("chartScroll", eventResult);
58
59
  };
59
60
  }
60
61
  onInit(service, chartSpec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/chart/scroll/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import { isValidNumber, merge } from '@visactor/vutils';\nimport type { IGroup, IRectGraphicAttribute } 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';\nimport { Event } from '../../../event/event';\nimport type { ExtendEventParam } from '../../../event/interface';\n\n// 由vrender透出, 接入新版本后需修改\nconst SCROLLBAR_EVENT = 'scrollDrag';\nconst SCROLLBAR_END_EVENT = 'scrollUp';\n\nconst DefaultTheme: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n} = {\n size: 10,\n railStyle: undefined,\n sliderStyle: undefined\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 readonly name: string = ScrollPlugin.type;\n\n private _service: IChartPluginService;\n\n private _spec: IScrollPluginSpec;\n private _lastScrollX = 0;\n get lastScrollX() {\n return this._lastScrollX;\n }\n private _lastScrollY = 0;\n get lastScrollY() {\n return this._lastScrollY;\n }\n\n private _scrollLimit = {\n x: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n },\n y: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n }\n };\n\n private _xScrollComponent: ScrollBarComponent;\n private _yScrollComponent: ScrollBarComponent;\n private _event: Event;\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.x.size = 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 this._scrollLimit.y.size = viewBoxSize.height;\n\n if (!this._event) {\n this._event = new Event(this._service.globalInstance.getChart().getOption().eventDispatcher, null);\n }\n\n // 重新设置滚动条位置\n if (this._xScrollComponent) {\n this._xScrollComponent.setAttributes({\n width: canvasSize.width,\n y: canvasSize.height - DefaultTheme.size\n });\n this._xScrollComponent.setAttributes({\n visible: this._scrollLimit.x.percent < 1\n });\n }\n if (this._yScrollComponent) {\n this._yScrollComponent.setAttributes({\n height: canvasSize.height,\n x: canvasSize.width - DefaultTheme.size\n });\n\n this._yScrollComponent.setAttributes({\n visible: this._scrollLimit.y.percent < 1\n });\n }\n // this.scrollTo({ x: 0, y: 0 });\n }\n\n onAfterRender() {\n // const rootMark = this.getRootMark();\n // if (rootMark) {\n // if (!this._xScrollComponent) {\n // this._updateScrollX(rootMark, 0, 0);\n // }\n // if (!this._yScrollComponent) {\n // this._updateScrollY(rootMark, 0, 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 if (this._spec.preventDefault !== false) {\n e.preventDefault();\n e.stopPropagation();\n }\n const scrollX = e.deltaX;\n const scrollY = e.deltaY;\n const rootMark = this.getRootMark();\n if (!rootMark) {\n return;\n }\n const { percent: yPercent, y } = this._computeFinalScrollY(rootMark.attribute.y - scrollY) ?? {};\n const { percent: xPercent, x } = this._computeFinalScrollX(rootMark.attribute.x - scrollX) ?? {};\n const eventResult: { x?: number; y?: number } = {};\n if (isValidNumber(x)) {\n this._updateScrollX(rootMark, x, xPercent);\n eventResult.x = x;\n }\n if (isValidNumber(y)) {\n this._updateScrollY(rootMark, y, yPercent);\n eventResult.y = y;\n }\n\n this._event.emit('chartScroll', eventResult as ExtendEventParam);\n };\n\n private _computeFinalScrollY(y: number) {\n if (this._lastScrollY === y) {\n return null;\n }\n this._lastScrollY = y;\n if (this._spec.y?.enable === false) {\n return null;\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.size);\n return {\n y: finalY,\n percent\n };\n }\n private _computeFinalScrollX(x: number) {\n if (this._lastScrollX === x) {\n return null;\n }\n this._lastScrollX = x;\n if (this._spec.x?.enable === false) {\n return null;\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.size);\n return {\n x: finalX,\n percent\n };\n }\n\n private _updateScrollY(rootMark: IGroup, y: number, percent: number) {\n const yScrollComponent = this._getYScrollComponent();\n yScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.y.percent]);\n rootMark.setAttributes({\n y: y\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 - DefaultTheme.size,\n y: 0,\n width: DefaultTheme.size,\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 railStyle: DefaultTheme.railStyle,\n sliderStyle: DefaultTheme.sliderStyle,\n visible: canvasSize.height < viewSize.height\n });\n // 绑定事件,防抖,防止频繁触发\n this._yScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this._yScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._yScrollComponent);\n }\n return this._yScrollComponent;\n }\n\n private _updateScrollX(rootMark: IGroup, x: number, percent: number) {\n const xScrollComponent = this._getXScrollComponent();\n xScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.x.percent]);\n rootMark.setAttributes({\n x: x\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 - DefaultTheme.size,\n width: canvasSize.width,\n height: DefaultTheme.size,\n range: [0, canvasSize.width / viewSize.width],\n direction: 'horizontal',\n delayTime: rest?.delayTime ?? 30,\n realTime: rest?.realTime ?? true,\n sliderStyle: DefaultTheme.sliderStyle,\n railStyle: DefaultTheme.railStyle,\n visible: canvasSize.width < viewSize.width\n });\n // 绑定事件,防抖,防止频繁触发\n this._xScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this._xScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._xScrollComponent);\n }\n return this._xScrollComponent;\n }\n\n /**\n * api\n */\n scrollTo({ x, y }: { x?: number; y?: number }) {\n const rootMark = this.getRootMark();\n if (rootMark) {\n if (x !== undefined) {\n const { x: finalX, percent } = this._computeFinalScrollX(x) ?? {};\n if (finalX !== undefined && percent !== undefined) {\n this._updateScrollX(rootMark, finalX, percent);\n }\n }\n if (y !== undefined) {\n const { y: finalY, percent } = this._computeFinalScrollY(y) ?? {};\n if (finalY !== undefined && percent !== undefined) {\n this._updateScrollY(rootMark, finalY, percent);\n }\n }\n }\n }\n}\n\n/**\n * 注册 ScrollPlugin\n * @since 1.0.0\n */\nexport const registerScrollPlugin = (theme?: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n}) => {\n DefaultTheme.size = theme?.size ?? DefaultTheme.size;\n DefaultTheme.railStyle = merge({}, DefaultTheme.railStyle ?? {}, theme?.railStyle ?? {});\n DefaultTheme.sliderStyle = merge({}, DefaultTheme.sliderStyle ?? {}, theme?.sliderStyle ?? {});\n registerChartPlugin(ScrollPlugin);\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/chart/scroll/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import { isValidNumber, merge } from '@visactor/vutils';\nimport type { IGroup, IRectGraphicAttribute } 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';\nimport { Event } from '../../../event/event';\nimport type { ExtendEventParam } from '../../../event/interface';\n\n// 由vrender透出, 接入新版本后需修改\nconst SCROLLBAR_EVENT = 'scrollDrag';\nconst SCROLLBAR_END_EVENT = 'scrollUp';\n\nconst DefaultTheme: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n} = {\n size: 10,\n railStyle: undefined,\n sliderStyle: undefined\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 readonly name: string = ScrollPlugin.type;\n\n private _service: IChartPluginService;\n\n private _spec: IScrollPluginSpec;\n private _lastScrollX = 0;\n get lastScrollX() {\n return this._lastScrollX;\n }\n private _lastScrollY = 0;\n get lastScrollY() {\n return this._lastScrollY;\n }\n\n private _scrollLimit = {\n x: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n },\n y: {\n min: 0,\n max: 0,\n size: 0,\n percent: 0\n }\n };\n\n private _xScrollComponent: ScrollBarComponent;\n private _yScrollComponent: ScrollBarComponent;\n private _event: Event;\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.x.size = 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 this._scrollLimit.y.size = viewBoxSize.height;\n\n if (!this._event) {\n this._event = new Event(this._service.globalInstance.getChart().getOption().eventDispatcher, null);\n }\n\n // 重新设置滚动条位置\n if (this._xScrollComponent) {\n this._xScrollComponent.setAttributes({\n width: canvasSize.width,\n y: canvasSize.height - DefaultTheme.size\n });\n this._xScrollComponent.setAttributes({\n visible: this._scrollLimit.x.percent < 1\n });\n }\n if (this._yScrollComponent) {\n this._yScrollComponent.setAttributes({\n height: canvasSize.height,\n x: canvasSize.width - DefaultTheme.size\n });\n\n this._yScrollComponent.setAttributes({\n visible: this._scrollLimit.y.percent < 1\n });\n }\n // this.scrollTo({ x: 0, y: 0 });\n }\n\n onAfterRender() {\n // const rootMark = this.getRootMark();\n // if (rootMark) {\n // if (!this._xScrollComponent) {\n // this._updateScrollX(rootMark, 0, 0);\n // }\n // if (!this._yScrollComponent) {\n // this._updateScrollY(rootMark, 0, 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 const { percent: yPercent, y } = this._computeFinalScrollY(rootMark.attribute.y - scrollY) ?? {};\n const { percent: xPercent, x } = this._computeFinalScrollX(rootMark.attribute.x - scrollX) ?? {};\n const eventResult: { x?: number; y?: number } = {};\n let isScroll = false;\n if (isValidNumber(x)) {\n if (e.deltaMode !== 0 && this._lastScrollX !== x) {\n isScroll = true;\n }\n this._updateScrollX(rootMark, x, xPercent);\n eventResult.x = x;\n }\n if (isValidNumber(y)) {\n if (e.deltaMode !== 0 && this._lastScrollY !== y) {\n isScroll = true;\n }\n this._updateScrollY(rootMark, y, yPercent);\n eventResult.y = y;\n }\n\n // 如果有触发滚动\n if (isScroll) {\n if (this._spec.preventDefault !== false) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n this._event.emit('chartScroll', eventResult as ExtendEventParam);\n };\n\n private _computeFinalScrollY(y: number) {\n if (this._lastScrollY === y) {\n return null;\n }\n this._lastScrollY = y;\n if (this._spec.y?.enable === false) {\n return null;\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.size);\n return {\n y: finalY,\n percent\n };\n }\n private _computeFinalScrollX(x: number) {\n if (this._lastScrollX === x) {\n return null;\n }\n this._lastScrollX = x;\n if (this._spec.x?.enable === false) {\n return null;\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.size);\n return {\n x: finalX,\n percent\n };\n }\n\n private _updateScrollY(rootMark: IGroup, y: number, percent: number) {\n const yScrollComponent = this._getYScrollComponent();\n yScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.y.percent]);\n rootMark.setAttributes({\n y: y\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 - DefaultTheme.size,\n y: 0,\n width: DefaultTheme.size,\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 railStyle: DefaultTheme.railStyle,\n sliderStyle: DefaultTheme.sliderStyle,\n visible: canvasSize.height < viewSize.height\n });\n // 绑定事件,防抖,防止频繁触发\n this._yScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this._yScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, y } = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size) ?? {};\n if (percent !== undefined && y !== undefined) {\n this._updateScrollY(this.getRootMark(), y, percent);\n this._event.emit('chartScroll', { y } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._yScrollComponent);\n }\n return this._yScrollComponent;\n }\n\n private _updateScrollX(rootMark: IGroup, x: number, percent: number) {\n const xScrollComponent = this._getXScrollComponent();\n xScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.x.percent]);\n rootMark.setAttributes({\n x: x\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 - DefaultTheme.size,\n width: canvasSize.width,\n height: DefaultTheme.size,\n range: [0, canvasSize.width / viewSize.width],\n direction: 'horizontal',\n delayTime: rest?.delayTime ?? 30,\n realTime: rest?.realTime ?? true,\n sliderStyle: DefaultTheme.sliderStyle,\n railStyle: DefaultTheme.railStyle,\n visible: canvasSize.width < viewSize.width\n });\n // 绑定事件,防抖,防止频繁触发\n this._xScrollComponent.addEventListener(SCROLLBAR_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this._xScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e: any) => {\n const value = e.detail.value;\n const { percent, x } = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size) ?? {};\n if (percent !== undefined && x !== undefined) {\n this._updateScrollX(this.getRootMark(), x, percent);\n this._event.emit('chartScroll', { x } as ExtendEventParam);\n }\n });\n this.getRootMark().parent?.addChild(this._xScrollComponent);\n }\n return this._xScrollComponent;\n }\n\n /**\n * api\n */\n scrollTo({ x, y }: { x?: number; y?: number }) {\n const rootMark = this.getRootMark();\n if (rootMark) {\n if (x !== undefined) {\n const { x: finalX, percent } = this._computeFinalScrollX(x) ?? {};\n if (finalX !== undefined && percent !== undefined) {\n this._updateScrollX(rootMark, finalX, percent);\n }\n }\n if (y !== undefined) {\n const { y: finalY, percent } = this._computeFinalScrollY(y) ?? {};\n if (finalY !== undefined && percent !== undefined) {\n this._updateScrollY(rootMark, finalY, percent);\n }\n }\n }\n }\n}\n\n/**\n * 注册 ScrollPlugin\n * @since 1.0.0\n */\nexport const registerScrollPlugin = (theme?: {\n size?: number;\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n}) => {\n DefaultTheme.size = theme?.size ?? DefaultTheme.size;\n DefaultTheme.railStyle = merge({}, DefaultTheme.railStyle ?? {}, theme?.railStyle ?? {});\n DefaultTheme.sliderStyle = merge({}, DefaultTheme.sliderStyle ?? {}, theme?.sliderStyle ?? {});\n registerChartPlugin(ScrollPlugin);\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart",
3
- "version": "1.13.22-alpha.1",
3
+ "version": "1.13.22-alpha.3",
4
4
  "description": "charts lib based @visactor/VGrammar",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -83,8 +83,8 @@
83
83
  "cross-env": "^7.0.3",
84
84
  "@internal/typescript-json-schema": "0.0.1",
85
85
  "@internal/bundler": "0.0.1",
86
- "@internal/eslint-config": "0.0.1",
87
- "@internal/ts-config": "0.0.1"
86
+ "@internal/ts-config": "0.0.1",
87
+ "@internal/eslint-config": "0.0.1"
88
88
  },
89
89
  "dependencies": {
90
90
  "@visactor/vutils": "~0.19.7",
@@ -101,7 +101,7 @@
101
101
  "@visactor/vgrammar-sankey": "0.16.15",
102
102
  "@visactor/vgrammar-venn": "0.16.15",
103
103
  "@visactor/vgrammar-util": "0.16.15",
104
- "@visactor/vutils-extension": "1.13.22-alpha.1"
104
+ "@visactor/vutils-extension": "1.13.22-alpha.3"
105
105
  },
106
106
  "publishConfig": {
107
107
  "access": "public",