@visactor/vchart 1.13.21-alpha.2 → 1.13.21-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.
package/build/index.es.js CHANGED
@@ -31833,8 +31833,8 @@ const DEFAULT_HTML_TEXT_SPEC = {
31833
31833
  style: {}
31834
31834
  };
31835
31835
  const SCROLLBAR_START_EVENT = "scrollDown";
31836
- const SCROLLBAR_EVENT$1 = "scrollDrag";
31837
- const SCROLLBAR_END_EVENT$1 = "scrollUp";
31836
+ const SCROLLBAR_EVENT$2 = "scrollDrag";
31837
+ const SCROLLBAR_END_EVENT$2 = "scrollUp";
31838
31838
 
31839
31839
  function getEndTriggersOfDrag() {
31840
31840
  return "browser" === vglobal.env ? ["pointerup", "pointerleave", "pointercancel"] : ["pointerup", "pointerleave", "pointerupoutside"];
@@ -31929,7 +31929,7 @@ let ScrollBar$1 = class ScrollBar extends AbstractComponent {
31929
31929
  preScrollRange = this.getScrollRange(),
31930
31930
  [currentPos, currentScrollValue] = this._computeScrollValue(e),
31931
31931
  range = [preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue];
31932
- this._prePos = null, this._dispatchEvent(SCROLLBAR_END_EVENT$1, {
31932
+ this._prePos = null, this._dispatchEvent(SCROLLBAR_END_EVENT$2, {
31933
31933
  pre: preRange,
31934
31934
  value: clampRange$1(range, limitRange[0], limitRange[1])
31935
31935
  }), this._clearDragEvents();
@@ -31957,7 +31957,7 @@ let ScrollBar$1 = class ScrollBar extends AbstractComponent {
31957
31957
  }, !0), this.stage && !this.stage.autoRender && this.stage.renderNextFrame();
31958
31958
  }
31959
31959
  }
31960
- this.attribute.range = currScrollRange, realTime && this._dispatchEvent(SCROLLBAR_EVENT$1, {
31960
+ this.attribute.range = currScrollRange, realTime && this._dispatchEvent(SCROLLBAR_EVENT$2, {
31961
31961
  pre: preRange,
31962
31962
  value: currScrollRange
31963
31963
  });
@@ -32196,7 +32196,7 @@ let ScrollBarPlugin = ScrollBarPlugin_1 = class {
32196
32196
  scrollbar.setAttribute("visibleAll", !0);
32197
32197
  }), scrollbar.addEventListener("pointerout", () => {
32198
32198
  scrollbar.setAttribute("visibleAll", !0);
32199
- }), scrollbar.addEventListener("scrollUp", this.handleScrollBarChange), scrollbar.addEventListener(SCROLLBAR_EVENT$1, this.handleScrollBarChange);
32199
+ }), scrollbar.addEventListener("scrollUp", this.handleScrollBarChange), scrollbar.addEventListener(SCROLLBAR_EVENT$2, this.handleScrollBarChange);
32200
32200
  }
32201
32201
  addOrUpdateScroll(showH, showV, container, scrollContainer) {
32202
32202
  if (showH) {
@@ -64274,7 +64274,7 @@ const registerVChartCore = () => {
64274
64274
  };
64275
64275
  registerVChartCore();
64276
64276
 
64277
- const version = "1.13.21-alpha.2";
64277
+ const version = "1.13.21-alpha.3";
64278
64278
 
64279
64279
  const addVChartProperty = (data, op) => {
64280
64280
  const context = op.beforeCall();
@@ -97516,8 +97516,8 @@ const registerDataZoom = () => {
97516
97516
  Factory$1.registerComponent(DataZoom.type, DataZoom);
97517
97517
  };
97518
97518
 
97519
- const SCROLLBAR_EVENT = 'scrollDrag';
97520
- const SCROLLBAR_END_EVENT = 'scrollUp';
97519
+ const SCROLLBAR_EVENT$1 = 'scrollDrag';
97520
+ const SCROLLBAR_END_EVENT$1 = 'scrollUp';
97521
97521
  class ScrollBar extends DataFilterBaseComponent {
97522
97522
  constructor(spec, options) {
97523
97523
  var _a;
@@ -97587,11 +97587,11 @@ class ScrollBar extends DataFilterBaseComponent {
97587
97587
  else {
97588
97588
  const container = this.getContainer();
97589
97589
  this._component = new ScrollBar$1(attrs);
97590
- this._component.addEventListener(SCROLLBAR_EVENT, (e) => {
97590
+ this._component.addEventListener(SCROLLBAR_EVENT$1, (e) => {
97591
97591
  const value = e.detail.value;
97592
97592
  this._handleChange(value[0], value[1]);
97593
97593
  });
97594
- this._component.addEventListener(SCROLLBAR_END_EVENT, (e) => {
97594
+ this._component.addEventListener(SCROLLBAR_END_EVENT$1, (e) => {
97595
97595
  const value = e.detail.value;
97596
97596
  this._handleChange(value[0], value[1]);
97597
97597
  });
@@ -104685,4 +104685,229 @@ const registerMediaQuery = () => {
104685
104685
  registerChartPlugin(MediaQuery);
104686
104686
  };
104687
104687
 
104688
- export { Arc3dMark, ArcMark, AreaChart, AreaMark, AreaSeries, AttributeLevel, AxisSyncPlugin, Bar3dChart, Bar3dSeries, BarChart, BarSeries, BaseChart, BaseChartSpecTransformer, BaseMark, BaseSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, ComponentMark, ComposedEventMapper, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, DiscreteLegend, DomTooltipHandler, DotSeries, Event$1 as Event, Factory$1 as Factory, FormatterPlugin, Funnel3dChart, Funnel3dSeries, FunnelChart, FunnelSeries, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, Histogram3dChart, HistogramChart, ImageMark, Indicator, Label, Layout$1 as Layout, Layout3d, LineChart, LineMark, LineSeries, LinearProgressChart, LinearProgressSeries, LinkPathMark, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, ManualTicker, MapChart, MapLabelComponent, MapSeries, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PictogramChart, PictogramSeries, Pie3dChart, Pie3dSeries, PieChart, PieSeries, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, ProgressLikeSeries, Pyramid3dMark, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumn3dChart, RangeColumn3dSeries, RangeColumnChart, RangeColumnSeries, Rect3dMark, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, STATE_VALUE_ENUM, STATE_VALUE_ENUM_REVERSE, SankeyChart, SankeyChartSpecTransformer, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, StreamLight, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager$1 as ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TreemapChart, TreemapSeries, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloud3dChart, WordCloud3dSeries, WordCloudChart, WordCloudSeries, alternatingWave, builtinThemes, centerToCorner, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeActualDataScheme, cornerToCenter, createArc, createArea, createGroup, createLine, createRect, createRichText, createSymbol, createText, darkTheme$1 as darkTheme, dataScheme, VChart as default, defaultThemeName, diagonalCenterToEdge, diagonalTopLeftToBottomRight, functionTransform, getActualColor, getCartesianDimensionInfo, getColorSchemeBySeries, getDataScheme, getFieldAlias, getMergedTheme, getPolarDimensionInfo, getRegionStackGroup, getTheme, hasThemeMerged, isColorKey, isProgressiveDataColorScheme, isTokenKey, lightTheme, mergeFields, particleEffect, pulseWave, queryColorFromColorScheme, queryToken, randomOpacity, register3DPlugin, registerAllEnv, registerAllMarks, registerAnimate, registerArc3dMark, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBar3dChart, registerBar3dSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomMark, registerDataSetInstanceParser, registerDataSetInstanceTransform, registerDataZoom, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerFormatPlugin, registerFunnel3dChart, registerFunnel3dSeries, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogram3dChart, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLayout3d, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkPathMark, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapLabel, registerMapSeries, registerMarkArea, registerMarkLine, registerMarkPoint, registerMediaQuery, registerMorph, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPictogramChart, registerPictogramSeries, registerPie3dChart, registerPie3dSeries, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonMark, registerPoptip, registerPyramid3dMark, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumn3dChart, registerRangeColumn3dSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRect3dMark, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerSequenceChart, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloud3dChart, registerWordCloud3dSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, rippleEffect, rotationScan, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, snakeWave, sortStackValueGroup, specTransform, spiralEffect, stack, stackGroup, stackMosaic, stackMosaicTotal, stackOffsetSilhouette, stackTotal, themeExist, themes, token, transformColorSchemeToStandardStruct, version, vglobal };
104688
+ const SCROLLBAR_EVENT = 'scrollDrag';
104689
+ const SCROLLBAR_END_EVENT = 'scrollUp';
104690
+ const DefaultTheme = {
104691
+ size: 10,
104692
+ railStyle: undefined,
104693
+ sliderStyle: undefined
104694
+ };
104695
+ class ScrollPlugin extends BasePlugin {
104696
+ constructor() {
104697
+ super(ScrollPlugin.type);
104698
+ this.type = 'chartScroll';
104699
+ this.name = ScrollPlugin.type;
104700
+ this._lastScrollX = 0;
104701
+ this._lastScrollY = 0;
104702
+ this._scrollLimit = {
104703
+ x: {
104704
+ min: 0,
104705
+ max: 0,
104706
+ size: 0,
104707
+ percent: 0
104708
+ },
104709
+ y: {
104710
+ min: 0,
104711
+ max: 0,
104712
+ size: 0,
104713
+ percent: 0
104714
+ }
104715
+ };
104716
+ this.onWheel = (e) => {
104717
+ var _a, _b;
104718
+ const scrollX = e.deltaX;
104719
+ const scrollY = e.deltaY;
104720
+ const rootMark = this.getRootMark();
104721
+ if (!rootMark) {
104722
+ return;
104723
+ }
104724
+ const { percent: yPercent, y } = (_a = this._computeFinalScrollY(rootMark.attribute.y - scrollY)) !== null && _a !== void 0 ? _a : {};
104725
+ const { percent: xPercent, x } = (_b = this._computeFinalScrollX(rootMark.attribute.x - scrollX)) !== null && _b !== void 0 ? _b : {};
104726
+ const eventResult = {};
104727
+ if (isValidNumber$1(x)) {
104728
+ this._updateScrollX(rootMark, x, xPercent);
104729
+ eventResult.x = x;
104730
+ }
104731
+ if (isValidNumber$1(y)) {
104732
+ this._updateScrollY(rootMark, y, yPercent);
104733
+ eventResult.y = y;
104734
+ }
104735
+ this._event.emit('chartScroll', eventResult);
104736
+ };
104737
+ }
104738
+ onInit(service, chartSpec) {
104739
+ var _a;
104740
+ this._spec = (_a = chartSpec[ScrollPlugin.type]) !== null && _a !== void 0 ? _a : {};
104741
+ this._service = service;
104742
+ this._bindEvent(service);
104743
+ }
104744
+ onLayoutRectUpdate(service) {
104745
+ const viewBoxSize = service.globalInstance.getChart().getViewRect();
104746
+ const canvasSize = service.globalInstance.getChart().getCanvasRect();
104747
+ this._scrollLimit.x.min = Math.min(canvasSize.width - viewBoxSize.width, 0);
104748
+ this._scrollLimit.x.percent = Math.abs(canvasSize.width / viewBoxSize.width);
104749
+ this._scrollLimit.x.size = viewBoxSize.width;
104750
+ this._scrollLimit.y.min = Math.min(canvasSize.height - viewBoxSize.height, 0);
104751
+ this._scrollLimit.y.percent = Math.abs(canvasSize.height / viewBoxSize.height);
104752
+ this._scrollLimit.y.size = viewBoxSize.height;
104753
+ if (!this._event) {
104754
+ this._event = new Event$1(this._service.globalInstance.getChart().getOption().eventDispatcher, null);
104755
+ }
104756
+ }
104757
+ onAfterRender() {
104758
+ const rootMark = this.getRootMark();
104759
+ if (rootMark) {
104760
+ if (!this._xScrollComponent) {
104761
+ this._updateScrollX(rootMark, 0, 0);
104762
+ }
104763
+ if (!this._yScrollComponent) {
104764
+ this._updateScrollY(rootMark, 0, 0);
104765
+ }
104766
+ }
104767
+ }
104768
+ release() {
104769
+ var _a;
104770
+ (_a = this._service.globalInstance.getStage()) === null || _a === void 0 ? void 0 : _a.off('wheel', this.onWheel);
104771
+ }
104772
+ _bindEvent(service) {
104773
+ var _a;
104774
+ (_a = service.globalInstance.getStage()) === null || _a === void 0 ? void 0 : _a.on('wheel', this.onWheel);
104775
+ }
104776
+ getRootMark() {
104777
+ var _a;
104778
+ return (_a = this._service.globalInstance.getStage()) === null || _a === void 0 ? void 0 : _a.find(node => node.name === 'root', true);
104779
+ }
104780
+ _computeFinalScrollY(y) {
104781
+ var _a;
104782
+ if (this._lastScrollY === y) {
104783
+ return null;
104784
+ }
104785
+ this._lastScrollY = y;
104786
+ if (((_a = this._spec.y) === null || _a === void 0 ? void 0 : _a.enable) === false) {
104787
+ return null;
104788
+ }
104789
+ const finalY = Math.max(this._scrollLimit.y.min, Math.min(y, this._scrollLimit.y.max));
104790
+ const percent = Math.abs(finalY / this._scrollLimit.y.size);
104791
+ return {
104792
+ y: finalY,
104793
+ percent
104794
+ };
104795
+ }
104796
+ _computeFinalScrollX(x) {
104797
+ var _a;
104798
+ if (this._lastScrollX === x) {
104799
+ return null;
104800
+ }
104801
+ this._lastScrollX = x;
104802
+ if (((_a = this._spec.x) === null || _a === void 0 ? void 0 : _a.enable) === false) {
104803
+ return null;
104804
+ }
104805
+ const finalX = Math.max(this._scrollLimit.x.min, Math.min(x, this._scrollLimit.x.max));
104806
+ const percent = Math.abs(finalX / this._scrollLimit.x.size);
104807
+ return {
104808
+ x: finalX,
104809
+ percent
104810
+ };
104811
+ }
104812
+ _updateScrollY(rootMark, y, percent) {
104813
+ const yScrollComponent = this._getYScrollComponent();
104814
+ yScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.y.percent]);
104815
+ rootMark.setAttributes({
104816
+ y: y
104817
+ });
104818
+ }
104819
+ _getYScrollComponent() {
104820
+ var _a, _b, _c, _d, _e;
104821
+ if (!this._yScrollComponent) {
104822
+ const canvasSize = this._service.globalInstance.getChart().getCanvasRect();
104823
+ const viewSize = this._service.globalInstance.getChart().getViewRect();
104824
+ const _f = (_b = (_a = this._spec) === null || _a === void 0 ? void 0 : _a.y) !== null && _b !== void 0 ? _b : {}, rest = __rest$e(_f, ["enable"]);
104825
+ this._yScrollComponent = new ScrollBar$1(Object.assign(Object.assign({}, rest), { zIndex: 9999, x: canvasSize.width - DefaultTheme.size, y: 0, width: DefaultTheme.size, height: canvasSize.height, range: [0, canvasSize.height / viewSize.height], direction: 'vertical', delayTime: (_c = rest === null || rest === void 0 ? void 0 : rest.delayTime) !== null && _c !== void 0 ? _c : 30, realTime: (_d = rest === null || rest === void 0 ? void 0 : rest.realTime) !== null && _d !== void 0 ? _d : true, railStyle: DefaultTheme.railStyle, sliderStyle: DefaultTheme.sliderStyle }));
104826
+ this._yScrollComponent.addEventListener(SCROLLBAR_EVENT, (e) => {
104827
+ var _a;
104828
+ const value = e.detail.value;
104829
+ const { percent, y } = (_a = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size)) !== null && _a !== void 0 ? _a : {};
104830
+ if (percent !== undefined && y !== undefined) {
104831
+ this._updateScrollY(this.getRootMark(), y, percent);
104832
+ this._event.emit('chartScroll', { y });
104833
+ }
104834
+ });
104835
+ this._yScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e) => {
104836
+ var _a;
104837
+ const value = e.detail.value;
104838
+ const { percent, y } = (_a = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size)) !== null && _a !== void 0 ? _a : {};
104839
+ if (percent !== undefined && y !== undefined) {
104840
+ this._updateScrollY(this.getRootMark(), y, percent);
104841
+ this._event.emit('chartScroll', { y });
104842
+ }
104843
+ });
104844
+ (_e = this.getRootMark().parent) === null || _e === void 0 ? void 0 : _e.addChild(this._yScrollComponent);
104845
+ }
104846
+ return this._yScrollComponent;
104847
+ }
104848
+ _updateScrollX(rootMark, x, percent) {
104849
+ const xScrollComponent = this._getXScrollComponent();
104850
+ xScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.x.percent]);
104851
+ rootMark.setAttributes({
104852
+ x: x
104853
+ });
104854
+ }
104855
+ _getXScrollComponent() {
104856
+ var _a, _b, _c, _d, _e;
104857
+ if (!this._xScrollComponent) {
104858
+ const canvasSize = this._service.globalInstance.getChart().getCanvasRect();
104859
+ const viewSize = this._service.globalInstance.getChart().getViewRect();
104860
+ const _f = (_b = (_a = this._spec) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : {}, rest = __rest$e(_f, ["enable"]);
104861
+ this._xScrollComponent = new ScrollBar$1(Object.assign(Object.assign({}, rest), { zIndex: 9999, x: 0, y: canvasSize.height - DefaultTheme.size, width: canvasSize.width, height: DefaultTheme.size, range: [0, canvasSize.width / viewSize.width], direction: 'horizontal', delayTime: (_c = rest === null || rest === void 0 ? void 0 : rest.delayTime) !== null && _c !== void 0 ? _c : 30, realTime: (_d = rest === null || rest === void 0 ? void 0 : rest.realTime) !== null && _d !== void 0 ? _d : true, sliderStyle: DefaultTheme.sliderStyle, railStyle: DefaultTheme.railStyle }));
104862
+ this._xScrollComponent.addEventListener(SCROLLBAR_EVENT, (e) => {
104863
+ var _a;
104864
+ const value = e.detail.value;
104865
+ const { percent, x } = (_a = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size)) !== null && _a !== void 0 ? _a : {};
104866
+ if (percent !== undefined && x !== undefined) {
104867
+ this._updateScrollX(this.getRootMark(), x, percent);
104868
+ this._event.emit('chartScroll', { x });
104869
+ }
104870
+ });
104871
+ this._xScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e) => {
104872
+ var _a;
104873
+ const value = e.detail.value;
104874
+ const { percent, x } = (_a = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size)) !== null && _a !== void 0 ? _a : {};
104875
+ if (percent !== undefined && x !== undefined) {
104876
+ this._updateScrollX(this.getRootMark(), x, percent);
104877
+ this._event.emit('chartScroll', { x });
104878
+ }
104879
+ });
104880
+ (_e = this.getRootMark().parent) === null || _e === void 0 ? void 0 : _e.addChild(this._xScrollComponent);
104881
+ }
104882
+ return this._xScrollComponent;
104883
+ }
104884
+ scrollTo({ x, y }) {
104885
+ var _a, _b;
104886
+ const rootMark = this.getRootMark();
104887
+ if (rootMark) {
104888
+ if (x !== undefined) {
104889
+ const { x: finalX, percent } = (_a = this._computeFinalScrollX(x)) !== null && _a !== void 0 ? _a : {};
104890
+ if (finalX !== undefined && percent !== undefined) {
104891
+ this._updateScrollX(rootMark, finalX, percent);
104892
+ }
104893
+ }
104894
+ if (y !== undefined) {
104895
+ const { y: finalY, percent } = (_b = this._computeFinalScrollY(y)) !== null && _b !== void 0 ? _b : {};
104896
+ if (finalY !== undefined && percent !== undefined) {
104897
+ this._updateScrollY(rootMark, finalY, percent);
104898
+ }
104899
+ }
104900
+ }
104901
+ }
104902
+ }
104903
+ ScrollPlugin.pluginType = 'chart';
104904
+ ScrollPlugin.type = 'chartScroll';
104905
+ const registerScrollPlugin = (theme) => {
104906
+ var _a, _b, _c, _d, _e;
104907
+ DefaultTheme.size = (_a = theme === null || theme === void 0 ? void 0 : theme.size) !== null && _a !== void 0 ? _a : DefaultTheme.size;
104908
+ DefaultTheme.railStyle = merge$1({}, (_b = DefaultTheme.railStyle) !== null && _b !== void 0 ? _b : {}, (_c = theme === null || theme === void 0 ? void 0 : theme.railStyle) !== null && _c !== void 0 ? _c : {});
104909
+ DefaultTheme.sliderStyle = merge$1({}, (_d = DefaultTheme.sliderStyle) !== null && _d !== void 0 ? _d : {}, (_e = theme === null || theme === void 0 ? void 0 : theme.sliderStyle) !== null && _e !== void 0 ? _e : {});
104910
+ registerChartPlugin(ScrollPlugin);
104911
+ };
104912
+
104913
+ export { Arc3dMark, ArcMark, AreaChart, AreaMark, AreaSeries, AttributeLevel, AxisSyncPlugin, Bar3dChart, Bar3dSeries, BarChart, BarSeries, BaseChart, BaseChartSpecTransformer, BaseMark, BaseSeries, BoxPlotChart, BoxPlotSeries, Brush, CanvasTooltipHandler, CartesianAxis, CartesianBandAxis, CartesianChartSpecTransformer, CartesianCrossHair, CartesianLinearAxis, CartesianLogAxis, CartesianMarkArea, CartesianMarkLine, CartesianMarkPoint, CartesianSeries, CartesianSymlogAxis, CartesianTimeAxis, CirclePackingChart, CirclePackingSeries, CircularProgressChart, CircularProgressSeries, CommonChart, CommonChartSpecTransformer, ComponentMark, ComposedEventMapper, ContinuousLegend, CorrelationChart, CorrelationSeries, CustomMark, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_DATA_INDEX, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD, DEFAULT_MEASURE_CANVAS_ID, DEFAULT_SERIES_STYLE_NAME, DataZoom, DimensionClickEvent, DimensionEventEnum, DimensionHoverEvent, DiscreteLegend, DomTooltipHandler, DotSeries, Event$1 as Event, Factory$1 as Factory, FormatterPlugin, Funnel3dChart, Funnel3dSeries, FunnelChart, FunnelSeries, GaugeChart, GaugePointerSeries, GaugeSeries, GeoCoordinate, GeoMarkPoint, GridLayout, GroupMark, HeatmapChart, HeatmapSeries, Histogram3dChart, HistogramChart, ImageMark, Indicator, Label, Layout$1 as Layout, Layout3d, LineChart, LineMark, LineSeries, LinearProgressChart, LinearProgressSeries, LinkPathMark, LinkSeries, LiquidChart, LiquidSeries, MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT, ManualTicker, MapChart, MapLabelComponent, MapSeries, MediaQuery, MosaicChart, MosaicSeries, PREFIX, PathMark, PictogramChart, PictogramSeries, Pie3dChart, Pie3dSeries, PieChart, PieSeries, Player, PolarAxis, PolarBandAxis, PolarCrossHair, PolarLinearAxis, PolarMarkArea, PolarMarkLine, PolarMarkPoint, PolarSeries, PolygonMark, ProgressLikeSeries, Pyramid3dMark, RadarChart, RadarSeries, RangeAreaChart, RangeAreaSeries, RangeColumn3dChart, RangeColumn3dSeries, RangeColumnChart, RangeColumnSeries, Rect3dMark, RectMark, RenderModeEnum, RippleMark, RoseChart, RoseLikeSeries, RoseSeries, RuleMark, SEGMENT_FIELD_END, SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_END_OffsetSilhouette, STACK_FIELD_END_PERCENT, STACK_FIELD_KEY, STACK_FIELD_START, STACK_FIELD_START_OffsetSilhouette, STACK_FIELD_START_PERCENT, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_BOTTOM, STACK_FIELD_TOTAL_PERCENT, STACK_FIELD_TOTAL_TOP, STATE_VALUE_ENUM, STATE_VALUE_ENUM_REVERSE, SankeyChart, SankeyChartSpecTransformer, SankeySeries, ScatterChart, ScatterSeries, ScrollBar, ScrollPlugin, SequenceChart, SeriesMarkNameEnum, SeriesTypeEnum, SeriesTypeForThemeEnum, StreamLight, SunburstChart, SunburstSeries, SymbolMark, TextMark, ThemeManager$1 as ThemeManager, Title, Tooltip, TooltipResult, TotalLabel, TreemapChart, TreemapSeries, VChart, VennChart, VennSeries, WaterfallChart, WaterfallSeries, WordCloud3dChart, WordCloud3dSeries, WordCloudChart, WordCloudSeries, alternatingWave, builtinThemes, centerToCorner, columnCenterToEdge, columnEdgeToCenter, columnLeftToRight, columnRightToLeft, computeActualDataScheme, cornerToCenter, createArc, createArea, createGroup, createLine, createRect, createRichText, createSymbol, createText, darkTheme$1 as darkTheme, dataScheme, VChart as default, defaultThemeName, diagonalCenterToEdge, diagonalTopLeftToBottomRight, functionTransform, getActualColor, getCartesianDimensionInfo, getColorSchemeBySeries, getDataScheme, getFieldAlias, getMergedTheme, getPolarDimensionInfo, getRegionStackGroup, getTheme, hasThemeMerged, isColorKey, isProgressiveDataColorScheme, isTokenKey, lightTheme, mergeFields, particleEffect, pulseWave, queryColorFromColorScheme, queryToken, randomOpacity, register3DPlugin, registerAllEnv, registerAllMarks, registerAnimate, registerArc3dMark, registerArcMark, registerAreaChart, registerAreaMark, registerAreaSeries, registerBar3dChart, registerBar3dSeries, registerBarChart, registerBarSeries, registerBoxplotChart, registerBoxplotSeries, registerBrowserEnv, registerBrush, registerCanvasTooltipHandler, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerChartPlugin, registerCirclePackingChart, registerCirclePackingSeries, registerCircularProgressChart, registerCircularProgressSeries, registerCommonChart, registerComponentMark, registerContinuousLegend, registerCorrelationChart, registerCustomMark, registerDataSetInstanceParser, registerDataSetInstanceTransform, registerDataZoom, registerDiscreteLegend, registerDomTooltipHandler, registerDotSeries, registerDragPlugin, registerFormatPlugin, registerFunnel3dChart, registerFunnel3dSeries, registerFunnelChart, registerFunnelSeries, registerGaugeChart, registerGaugePointerSeries, registerGaugeSeries, registerGeoCoordinate, registerGeoMarkPoint, registerGesturePlugin, registerGridLayout, registerGroupMark, registerHarmonyEnv, registerHeatmapChart, registerHeatmapSeries, registerHistogram3dChart, registerHistogramChart, registerHtmlAttributePlugin, registerImageMark, registerIndicator, registerLabel, registerLarkEnv, registerLayout3d, registerLineChart, registerLineMark, registerLineSeries, registerLinearProgressChart, registerLinearProgressSeries, registerLinkPathMark, registerLinkSeries, registerLiquidChart, registerLiquidSeries, registerLynxEnv, registerMapChart, registerMapLabel, registerMapSeries, registerMarkArea, registerMarkLine, registerMarkPoint, registerMediaQuery, registerMorph, registerMosaicChart, registerMosaicSeries, registerNodeEnv, registerPathMark, registerPictogramChart, registerPictogramSeries, registerPie3dChart, registerPie3dSeries, registerPieChart, registerPieSeries, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPolarMarkArea, registerPolarMarkLine, registerPolarMarkPoint, registerPolygonMark, registerPoptip, registerPyramid3dMark, registerRadarChart, registerRadarSeries, registerRangeAreaChart, registerRangeAreaSeries, registerRangeColumn3dChart, registerRangeColumn3dSeries, registerRangeColumnChart, registerRangeColumnSeries, registerReactAttributePlugin, registerRect3dMark, registerRectMark, registerRippleMark, registerRoseChart, registerRoseSeries, registerRuleMark, registerSankeyChart, registerSankeySeries, registerScatterChart, registerScatterSeries, registerScrollBar, registerScrollPlugin, registerSequenceChart, registerSunBurstSeries, registerSunburstChart, registerSymbolMark, registerTTEnv, registerTaroEnv, registerTextMark, registerTheme, registerTitle, registerTooltip, registerTotalLabel, registerTreemapChart, registerTreemapSeries, registerVennChart, registerVennSeries, registerWXEnv, registerWaterfallChart, registerWaterfallSeries, registerWordCloud3dChart, registerWordCloud3dSeries, registerWordCloudChart, registerWordCloudSeries, registerWordCloudShapeChart, removeTheme, rippleEffect, rotationScan, rowBottomToTop, rowCenterToEdge, rowEdgeToCenter, rowTopToBottom, snakeWave, sortStackValueGroup, specTransform, spiralEffect, stack, stackGroup, stackMosaic, stackMosaicTotal, stackOffsetSilhouette, stackTotal, themeExist, themes, token, transformColorSchemeToStandardStruct, version, vglobal };
package/build/index.js CHANGED
@@ -31839,8 +31839,8 @@
31839
31839
  style: {}
31840
31840
  };
31841
31841
  const SCROLLBAR_START_EVENT = "scrollDown";
31842
- const SCROLLBAR_EVENT$1 = "scrollDrag";
31843
- const SCROLLBAR_END_EVENT$1 = "scrollUp";
31842
+ const SCROLLBAR_EVENT$2 = "scrollDrag";
31843
+ const SCROLLBAR_END_EVENT$2 = "scrollUp";
31844
31844
 
31845
31845
  function getEndTriggersOfDrag() {
31846
31846
  return "browser" === vglobal.env ? ["pointerup", "pointerleave", "pointercancel"] : ["pointerup", "pointerleave", "pointerupoutside"];
@@ -31935,7 +31935,7 @@
31935
31935
  preScrollRange = this.getScrollRange(),
31936
31936
  [currentPos, currentScrollValue] = this._computeScrollValue(e),
31937
31937
  range = [preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue];
31938
- this._prePos = null, this._dispatchEvent(SCROLLBAR_END_EVENT$1, {
31938
+ this._prePos = null, this._dispatchEvent(SCROLLBAR_END_EVENT$2, {
31939
31939
  pre: preRange,
31940
31940
  value: clampRange$1(range, limitRange[0], limitRange[1])
31941
31941
  }), this._clearDragEvents();
@@ -31963,7 +31963,7 @@
31963
31963
  }, !0), this.stage && !this.stage.autoRender && this.stage.renderNextFrame();
31964
31964
  }
31965
31965
  }
31966
- this.attribute.range = currScrollRange, realTime && this._dispatchEvent(SCROLLBAR_EVENT$1, {
31966
+ this.attribute.range = currScrollRange, realTime && this._dispatchEvent(SCROLLBAR_EVENT$2, {
31967
31967
  pre: preRange,
31968
31968
  value: currScrollRange
31969
31969
  });
@@ -32202,7 +32202,7 @@
32202
32202
  scrollbar.setAttribute("visibleAll", !0);
32203
32203
  }), scrollbar.addEventListener("pointerout", () => {
32204
32204
  scrollbar.setAttribute("visibleAll", !0);
32205
- }), scrollbar.addEventListener("scrollUp", this.handleScrollBarChange), scrollbar.addEventListener(SCROLLBAR_EVENT$1, this.handleScrollBarChange);
32205
+ }), scrollbar.addEventListener("scrollUp", this.handleScrollBarChange), scrollbar.addEventListener(SCROLLBAR_EVENT$2, this.handleScrollBarChange);
32206
32206
  }
32207
32207
  addOrUpdateScroll(showH, showV, container, scrollContainer) {
32208
32208
  if (showH) {
@@ -64280,7 +64280,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
64280
64280
  };
64281
64281
  registerVChartCore();
64282
64282
 
64283
- const version = "1.13.21-alpha.2";
64283
+ const version = "1.13.21-alpha.3";
64284
64284
 
64285
64285
  const addVChartProperty = (data, op) => {
64286
64286
  const context = op.beforeCall();
@@ -97522,8 +97522,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
97522
97522
  Factory$1.registerComponent(DataZoom.type, DataZoom);
97523
97523
  };
97524
97524
 
97525
- const SCROLLBAR_EVENT = 'scrollDrag';
97526
- const SCROLLBAR_END_EVENT = 'scrollUp';
97525
+ const SCROLLBAR_EVENT$1 = 'scrollDrag';
97526
+ const SCROLLBAR_END_EVENT$1 = 'scrollUp';
97527
97527
  class ScrollBar extends DataFilterBaseComponent {
97528
97528
  constructor(spec, options) {
97529
97529
  var _a;
@@ -97593,11 +97593,11 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
97593
97593
  else {
97594
97594
  const container = this.getContainer();
97595
97595
  this._component = new ScrollBar$1(attrs);
97596
- this._component.addEventListener(SCROLLBAR_EVENT, (e) => {
97596
+ this._component.addEventListener(SCROLLBAR_EVENT$1, (e) => {
97597
97597
  const value = e.detail.value;
97598
97598
  this._handleChange(value[0], value[1]);
97599
97599
  });
97600
- this._component.addEventListener(SCROLLBAR_END_EVENT, (e) => {
97600
+ this._component.addEventListener(SCROLLBAR_END_EVENT$1, (e) => {
97601
97601
  const value = e.detail.value;
97602
97602
  this._handleChange(value[0], value[1]);
97603
97603
  });
@@ -104691,6 +104691,231 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
104691
104691
  registerChartPlugin(MediaQuery);
104692
104692
  };
104693
104693
 
104694
+ const SCROLLBAR_EVENT = 'scrollDrag';
104695
+ const SCROLLBAR_END_EVENT = 'scrollUp';
104696
+ const DefaultTheme = {
104697
+ size: 10,
104698
+ railStyle: undefined,
104699
+ sliderStyle: undefined
104700
+ };
104701
+ class ScrollPlugin extends BasePlugin {
104702
+ constructor() {
104703
+ super(ScrollPlugin.type);
104704
+ this.type = 'chartScroll';
104705
+ this.name = ScrollPlugin.type;
104706
+ this._lastScrollX = 0;
104707
+ this._lastScrollY = 0;
104708
+ this._scrollLimit = {
104709
+ x: {
104710
+ min: 0,
104711
+ max: 0,
104712
+ size: 0,
104713
+ percent: 0
104714
+ },
104715
+ y: {
104716
+ min: 0,
104717
+ max: 0,
104718
+ size: 0,
104719
+ percent: 0
104720
+ }
104721
+ };
104722
+ this.onWheel = (e) => {
104723
+ var _a, _b;
104724
+ const scrollX = e.deltaX;
104725
+ const scrollY = e.deltaY;
104726
+ const rootMark = this.getRootMark();
104727
+ if (!rootMark) {
104728
+ return;
104729
+ }
104730
+ const { percent: yPercent, y } = (_a = this._computeFinalScrollY(rootMark.attribute.y - scrollY)) !== null && _a !== void 0 ? _a : {};
104731
+ const { percent: xPercent, x } = (_b = this._computeFinalScrollX(rootMark.attribute.x - scrollX)) !== null && _b !== void 0 ? _b : {};
104732
+ const eventResult = {};
104733
+ if (isValidNumber$1(x)) {
104734
+ this._updateScrollX(rootMark, x, xPercent);
104735
+ eventResult.x = x;
104736
+ }
104737
+ if (isValidNumber$1(y)) {
104738
+ this._updateScrollY(rootMark, y, yPercent);
104739
+ eventResult.y = y;
104740
+ }
104741
+ this._event.emit('chartScroll', eventResult);
104742
+ };
104743
+ }
104744
+ onInit(service, chartSpec) {
104745
+ var _a;
104746
+ this._spec = (_a = chartSpec[ScrollPlugin.type]) !== null && _a !== void 0 ? _a : {};
104747
+ this._service = service;
104748
+ this._bindEvent(service);
104749
+ }
104750
+ onLayoutRectUpdate(service) {
104751
+ const viewBoxSize = service.globalInstance.getChart().getViewRect();
104752
+ const canvasSize = service.globalInstance.getChart().getCanvasRect();
104753
+ this._scrollLimit.x.min = Math.min(canvasSize.width - viewBoxSize.width, 0);
104754
+ this._scrollLimit.x.percent = Math.abs(canvasSize.width / viewBoxSize.width);
104755
+ this._scrollLimit.x.size = viewBoxSize.width;
104756
+ this._scrollLimit.y.min = Math.min(canvasSize.height - viewBoxSize.height, 0);
104757
+ this._scrollLimit.y.percent = Math.abs(canvasSize.height / viewBoxSize.height);
104758
+ this._scrollLimit.y.size = viewBoxSize.height;
104759
+ if (!this._event) {
104760
+ this._event = new Event$1(this._service.globalInstance.getChart().getOption().eventDispatcher, null);
104761
+ }
104762
+ }
104763
+ onAfterRender() {
104764
+ const rootMark = this.getRootMark();
104765
+ if (rootMark) {
104766
+ if (!this._xScrollComponent) {
104767
+ this._updateScrollX(rootMark, 0, 0);
104768
+ }
104769
+ if (!this._yScrollComponent) {
104770
+ this._updateScrollY(rootMark, 0, 0);
104771
+ }
104772
+ }
104773
+ }
104774
+ release() {
104775
+ var _a;
104776
+ (_a = this._service.globalInstance.getStage()) === null || _a === void 0 ? void 0 : _a.off('wheel', this.onWheel);
104777
+ }
104778
+ _bindEvent(service) {
104779
+ var _a;
104780
+ (_a = service.globalInstance.getStage()) === null || _a === void 0 ? void 0 : _a.on('wheel', this.onWheel);
104781
+ }
104782
+ getRootMark() {
104783
+ var _a;
104784
+ return (_a = this._service.globalInstance.getStage()) === null || _a === void 0 ? void 0 : _a.find(node => node.name === 'root', true);
104785
+ }
104786
+ _computeFinalScrollY(y) {
104787
+ var _a;
104788
+ if (this._lastScrollY === y) {
104789
+ return null;
104790
+ }
104791
+ this._lastScrollY = y;
104792
+ if (((_a = this._spec.y) === null || _a === void 0 ? void 0 : _a.enable) === false) {
104793
+ return null;
104794
+ }
104795
+ const finalY = Math.max(this._scrollLimit.y.min, Math.min(y, this._scrollLimit.y.max));
104796
+ const percent = Math.abs(finalY / this._scrollLimit.y.size);
104797
+ return {
104798
+ y: finalY,
104799
+ percent
104800
+ };
104801
+ }
104802
+ _computeFinalScrollX(x) {
104803
+ var _a;
104804
+ if (this._lastScrollX === x) {
104805
+ return null;
104806
+ }
104807
+ this._lastScrollX = x;
104808
+ if (((_a = this._spec.x) === null || _a === void 0 ? void 0 : _a.enable) === false) {
104809
+ return null;
104810
+ }
104811
+ const finalX = Math.max(this._scrollLimit.x.min, Math.min(x, this._scrollLimit.x.max));
104812
+ const percent = Math.abs(finalX / this._scrollLimit.x.size);
104813
+ return {
104814
+ x: finalX,
104815
+ percent
104816
+ };
104817
+ }
104818
+ _updateScrollY(rootMark, y, percent) {
104819
+ const yScrollComponent = this._getYScrollComponent();
104820
+ yScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.y.percent]);
104821
+ rootMark.setAttributes({
104822
+ y: y
104823
+ });
104824
+ }
104825
+ _getYScrollComponent() {
104826
+ var _a, _b, _c, _d, _e;
104827
+ if (!this._yScrollComponent) {
104828
+ const canvasSize = this._service.globalInstance.getChart().getCanvasRect();
104829
+ const viewSize = this._service.globalInstance.getChart().getViewRect();
104830
+ const _f = (_b = (_a = this._spec) === null || _a === void 0 ? void 0 : _a.y) !== null && _b !== void 0 ? _b : {}, rest = __rest$e(_f, ["enable"]);
104831
+ this._yScrollComponent = new ScrollBar$1(Object.assign(Object.assign({}, rest), { zIndex: 9999, x: canvasSize.width - DefaultTheme.size, y: 0, width: DefaultTheme.size, height: canvasSize.height, range: [0, canvasSize.height / viewSize.height], direction: 'vertical', delayTime: (_c = rest === null || rest === void 0 ? void 0 : rest.delayTime) !== null && _c !== void 0 ? _c : 30, realTime: (_d = rest === null || rest === void 0 ? void 0 : rest.realTime) !== null && _d !== void 0 ? _d : true, railStyle: DefaultTheme.railStyle, sliderStyle: DefaultTheme.sliderStyle }));
104832
+ this._yScrollComponent.addEventListener(SCROLLBAR_EVENT, (e) => {
104833
+ var _a;
104834
+ const value = e.detail.value;
104835
+ const { percent, y } = (_a = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size)) !== null && _a !== void 0 ? _a : {};
104836
+ if (percent !== undefined && y !== undefined) {
104837
+ this._updateScrollY(this.getRootMark(), y, percent);
104838
+ this._event.emit('chartScroll', { y });
104839
+ }
104840
+ });
104841
+ this._yScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e) => {
104842
+ var _a;
104843
+ const value = e.detail.value;
104844
+ const { percent, y } = (_a = this._computeFinalScrollY(-value[0] * this._scrollLimit.y.size)) !== null && _a !== void 0 ? _a : {};
104845
+ if (percent !== undefined && y !== undefined) {
104846
+ this._updateScrollY(this.getRootMark(), y, percent);
104847
+ this._event.emit('chartScroll', { y });
104848
+ }
104849
+ });
104850
+ (_e = this.getRootMark().parent) === null || _e === void 0 ? void 0 : _e.addChild(this._yScrollComponent);
104851
+ }
104852
+ return this._yScrollComponent;
104853
+ }
104854
+ _updateScrollX(rootMark, x, percent) {
104855
+ const xScrollComponent = this._getXScrollComponent();
104856
+ xScrollComponent.setAttribute('range', [percent, percent + this._scrollLimit.x.percent]);
104857
+ rootMark.setAttributes({
104858
+ x: x
104859
+ });
104860
+ }
104861
+ _getXScrollComponent() {
104862
+ var _a, _b, _c, _d, _e;
104863
+ if (!this._xScrollComponent) {
104864
+ const canvasSize = this._service.globalInstance.getChart().getCanvasRect();
104865
+ const viewSize = this._service.globalInstance.getChart().getViewRect();
104866
+ const _f = (_b = (_a = this._spec) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : {}, rest = __rest$e(_f, ["enable"]);
104867
+ this._xScrollComponent = new ScrollBar$1(Object.assign(Object.assign({}, rest), { zIndex: 9999, x: 0, y: canvasSize.height - DefaultTheme.size, width: canvasSize.width, height: DefaultTheme.size, range: [0, canvasSize.width / viewSize.width], direction: 'horizontal', delayTime: (_c = rest === null || rest === void 0 ? void 0 : rest.delayTime) !== null && _c !== void 0 ? _c : 30, realTime: (_d = rest === null || rest === void 0 ? void 0 : rest.realTime) !== null && _d !== void 0 ? _d : true, sliderStyle: DefaultTheme.sliderStyle, railStyle: DefaultTheme.railStyle }));
104868
+ this._xScrollComponent.addEventListener(SCROLLBAR_EVENT, (e) => {
104869
+ var _a;
104870
+ const value = e.detail.value;
104871
+ const { percent, x } = (_a = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size)) !== null && _a !== void 0 ? _a : {};
104872
+ if (percent !== undefined && x !== undefined) {
104873
+ this._updateScrollX(this.getRootMark(), x, percent);
104874
+ this._event.emit('chartScroll', { x });
104875
+ }
104876
+ });
104877
+ this._xScrollComponent.addEventListener(SCROLLBAR_END_EVENT, (e) => {
104878
+ var _a;
104879
+ const value = e.detail.value;
104880
+ const { percent, x } = (_a = this._computeFinalScrollX(-value[0] * this._scrollLimit.x.size)) !== null && _a !== void 0 ? _a : {};
104881
+ if (percent !== undefined && x !== undefined) {
104882
+ this._updateScrollX(this.getRootMark(), x, percent);
104883
+ this._event.emit('chartScroll', { x });
104884
+ }
104885
+ });
104886
+ (_e = this.getRootMark().parent) === null || _e === void 0 ? void 0 : _e.addChild(this._xScrollComponent);
104887
+ }
104888
+ return this._xScrollComponent;
104889
+ }
104890
+ scrollTo({ x, y }) {
104891
+ var _a, _b;
104892
+ const rootMark = this.getRootMark();
104893
+ if (rootMark) {
104894
+ if (x !== undefined) {
104895
+ const { x: finalX, percent } = (_a = this._computeFinalScrollX(x)) !== null && _a !== void 0 ? _a : {};
104896
+ if (finalX !== undefined && percent !== undefined) {
104897
+ this._updateScrollX(rootMark, finalX, percent);
104898
+ }
104899
+ }
104900
+ if (y !== undefined) {
104901
+ const { y: finalY, percent } = (_b = this._computeFinalScrollY(y)) !== null && _b !== void 0 ? _b : {};
104902
+ if (finalY !== undefined && percent !== undefined) {
104903
+ this._updateScrollY(rootMark, finalY, percent);
104904
+ }
104905
+ }
104906
+ }
104907
+ }
104908
+ }
104909
+ ScrollPlugin.pluginType = 'chart';
104910
+ ScrollPlugin.type = 'chartScroll';
104911
+ const registerScrollPlugin = (theme) => {
104912
+ var _a, _b, _c, _d, _e;
104913
+ DefaultTheme.size = (_a = theme === null || theme === void 0 ? void 0 : theme.size) !== null && _a !== void 0 ? _a : DefaultTheme.size;
104914
+ DefaultTheme.railStyle = merge$1({}, (_b = DefaultTheme.railStyle) !== null && _b !== void 0 ? _b : {}, (_c = theme === null || theme === void 0 ? void 0 : theme.railStyle) !== null && _c !== void 0 ? _c : {});
104915
+ DefaultTheme.sliderStyle = merge$1({}, (_d = DefaultTheme.sliderStyle) !== null && _d !== void 0 ? _d : {}, (_e = theme === null || theme === void 0 ? void 0 : theme.sliderStyle) !== null && _e !== void 0 ? _e : {});
104916
+ registerChartPlugin(ScrollPlugin);
104917
+ };
104918
+
104694
104919
  exports.Arc3dMark = Arc3dMark;
104695
104920
  exports.ArcMark = ArcMark;
104696
104921
  exports.AreaChart = AreaChart;
@@ -104843,6 +105068,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
104843
105068
  exports.ScatterChart = ScatterChart;
104844
105069
  exports.ScatterSeries = ScatterSeries;
104845
105070
  exports.ScrollBar = ScrollBar;
105071
+ exports.ScrollPlugin = ScrollPlugin;
104846
105072
  exports.SequenceChart = SequenceChart;
104847
105073
  exports.StreamLight = StreamLight;
104848
105074
  exports.SunburstChart = SunburstChart;
@@ -105031,6 +105257,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
105031
105257
  exports.registerScatterChart = registerScatterChart;
105032
105258
  exports.registerScatterSeries = registerScatterSeries;
105033
105259
  exports.registerScrollBar = registerScrollBar;
105260
+ exports.registerScrollPlugin = registerScrollPlugin;
105034
105261
  exports.registerSequenceChart = registerSequenceChart;
105035
105262
  exports.registerSunBurstSeries = registerSunBurstSeries;
105036
105263
  exports.registerSunburstChart = registerSunburstChart;