@visactor/vrender-components 1.1.12 → 1.1.14

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/dist/index.es.js CHANGED
@@ -63,10 +63,11 @@ class FederatedEvent {
63
63
  }
64
64
  }
65
65
  preventDefault() {
66
+ var _a;
66
67
  try {
67
68
  this.nativeEvent instanceof Event && this.nativeEvent.cancelable && this.nativeEvent.preventDefault();
68
69
  } catch (err) {
69
- this.nativeEvent.preventDefault && isFunction(this.nativeEvent.preventDefault) && this.nativeEvent.preventDefault();
70
+ (null === (_a = this.nativeEvent) || void 0 === _a ? void 0 : _a.preventDefault) && isFunction(this.nativeEvent.preventDefault) && this.nativeEvent.preventDefault();
70
71
  }
71
72
  this.defaultPrevented = !0;
72
73
  }
@@ -10082,6 +10083,7 @@ const TransformUtil = Symbol.for("TransformUtil");
10082
10083
  const GraphicUtil = Symbol.for("GraphicUtil");
10083
10084
  const LayerService = Symbol.for("LayerService");
10084
10085
  const StaticLayerHandlerContribution = Symbol.for("StaticLayerHandlerContribution");
10086
+ const VirtualLayerHandlerContribution = Symbol.for("VirtualLayerHandlerContribution");
10085
10087
 
10086
10088
  const RenderService = Symbol.for("RenderService");
10087
10089
 
@@ -12051,10 +12053,43 @@ class CanvasLayerHandlerContribution {
12051
12053
  }
12052
12054
  }
12053
12055
 
12056
+ class EmptyLayerHandlerContribution {
12057
+ constructor() {
12058
+ this.offscreen = !1, this.type = "virtual", this.global = application.global;
12059
+ }
12060
+ setDpr(dpr) {}
12061
+ init(layer, window, params) {
12062
+ if (this.layer = layer, this.window = window, params.main) throw new Error("virtual layer不能作为main layer");
12063
+ this.main = !1, this.canvas = null, this.context = null;
12064
+ }
12065
+ resize(w, h) {}
12066
+ resizeView(w, h) {}
12067
+ render(group, params, userParams) {
12068
+ this.mainHandler.render(group, params, Object.assign(Object.assign({}, userParams), {
12069
+ clear: !1
12070
+ }));
12071
+ }
12072
+ merge(layerHandlers) {}
12073
+ prepare(dirtyBounds, params) {}
12074
+ drawTo(target, group, params) {
12075
+ var _a;
12076
+ const context = target.getContext();
12077
+ params.renderService.render(group, Object.assign(Object.assign({
12078
+ context: context
12079
+ }, params), {
12080
+ clear: params.clear ? null !== (_a = params.background) && void 0 !== _a ? _a : "#fff" : void 0
12081
+ }));
12082
+ }
12083
+ getContext() {
12084
+ return null;
12085
+ }
12086
+ release() {}
12087
+ }
12088
+
12054
12089
  function bindLayerHandlerModules({
12055
12090
  bind: bind
12056
12091
  }) {
12057
- bind(CanvasLayerHandlerContribution).toSelf(), bind(StaticLayerHandlerContribution).toService(CanvasLayerHandlerContribution);
12092
+ bind(CanvasLayerHandlerContribution).toSelf(), bind(EmptyLayerHandlerContribution).toSelf(), bind(StaticLayerHandlerContribution).toService(CanvasLayerHandlerContribution), bind(VirtualLayerHandlerContribution).toService(EmptyLayerHandlerContribution);
12058
12093
  }
12059
12094
 
12060
12095
  function load$1(container) {
@@ -13290,7 +13325,19 @@ class InteractiveDrawItemInterceptorContribution {
13290
13325
  const {
13291
13326
  context: context
13292
13327
  } = drawContext;
13293
- return context.highPerformanceSave(), context.setTransformFromMatrix(baseGraphic.parent.globalTransMatrix, !0), baseGraphic.isContainer ? drawContribution.renderGroup(baseGraphic, drawContext, baseGraphic.parent.globalTransMatrix) : drawContribution.renderItem(baseGraphic, drawContext), context.highPerformanceRestore(), this.processing = !1, !0;
13328
+ context.highPerformanceSave();
13329
+ const parent = baseGraphic.parent.globalTransMatrix,
13330
+ matrix = matrixAllocate.allocateByObj(parent);
13331
+ if (drawContext.transMatrix) {
13332
+ const outer = drawContext.transMatrix;
13333
+ matrix.setValue(outer.a, outer.b, outer.c, outer.d, outer.e, outer.f), matrix.multiply(parent.a, parent.b, parent.c, parent.d, parent.e, parent.f);
13334
+ }
13335
+ try {
13336
+ context.setTransformFromMatrix(matrix, !0), baseGraphic.isContainer ? drawContribution.renderGroup(baseGraphic, drawContext, matrix) : drawContribution.renderItem(baseGraphic, drawContext);
13337
+ } finally {
13338
+ context.highPerformanceRestore(), matrixAllocate.free(matrix), this.processing = !1;
13339
+ }
13340
+ return !0;
13294
13341
  }
13295
13342
  return !1;
13296
13343
  }
@@ -26638,13 +26685,17 @@ class DataZoomInteraction extends EventEmitter {
26638
26685
  attSize: 'width',
26639
26686
  size: 0
26640
26687
  };
26641
- this._handleTouchMove = (e) => {
26642
- if (this._activeState) {
26643
- e.preventDefault();
26644
- }
26645
- };
26688
+ this._finishing = false;
26689
+ this._pending = false;
26690
+ this._pendingPoint = { x: 0, y: 0 };
26691
+ this._delayTime = DEFAULT_DATA_ZOOM_ATTRIBUTES.delayTime;
26692
+ this._delayType = DEFAULT_DATA_ZOOM_ATTRIBUTES.delayType;
26646
26693
  this._onHandlerPointerDown = (e, tag) => {
26694
+ if (this._activeState || this._finishing) {
26695
+ return;
26696
+ }
26647
26697
  this.clearDragEvents();
26698
+ this._activePointerId = e.pointerId;
26648
26699
  if (tag === 'start') {
26649
26700
  this._activeTag = DataZoomActiveTag.startHandler;
26650
26701
  this._activeItem = this._startHandlerMask;
@@ -26668,20 +26719,32 @@ class DataZoomInteraction extends EventEmitter {
26668
26719
  this._activeState = true;
26669
26720
  this._activeCache.startPos = this._eventPosToStagePos(e);
26670
26721
  this._activeCache.lastPos = this._eventPosToStagePos(e);
26671
- const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;
26672
- const triggers = getEndTriggersOfDrag();
26673
- evtTarget.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
26674
- this.on('pointermove', this._onHandlerPointerMove, {
26675
- capture: true
26676
- });
26677
- triggers.forEach((trigger) => {
26678
- evtTarget.addEventListener(trigger, this._onHandlerPointerUp);
26679
- });
26722
+ this._inputSource = this.stage.eventSystem.input.window;
26723
+ this._inputSource.on('pointermove', this._onHandlerPointerMove);
26724
+ this._inputSource.on('pointerup', this._onHandlerPointerUp);
26725
+ this._inputSource.on('pointercancel', this._onHandlerPointerCancel);
26726
+ };
26727
+ this._onHandlerPointerMove = (e) => {
26728
+ if (e.pointerId !== this._activePointerId || this._finishing) {
26729
+ return;
26730
+ }
26731
+ if (e.pointerType === 'touch') {
26732
+ e.preventDefault();
26733
+ }
26734
+ this._eventPosToStagePos(e, this._pendingPoint);
26735
+ this._pending = true;
26736
+ this._scheduleMove();
26680
26737
  };
26681
- this._pointerMove = (e) => {
26738
+ this._applyPendingPoint = () => {
26739
+ if (!this._pending || !this._activeState) {
26740
+ return;
26741
+ }
26742
+ this._pending = false;
26743
+ this._pointerMove(this._pendingPoint);
26744
+ };
26745
+ this._pointerMove = (pos) => {
26682
26746
  const { brushSelect } = this.attribute;
26683
26747
  const { position } = this._getLayoutAttrFromConfig();
26684
- const pos = this._eventPosToStagePos(e);
26685
26748
  const { attPos, size, attSize } = this._layoutCache;
26686
26749
  const dis = (pos[attPos] - this._activeCache.lastPos[attPos]) / size;
26687
26750
  const statePos = (pos[attPos] - position[attPos]) / this._getLayoutAttrFromConfig()[attSize];
@@ -26702,7 +26765,8 @@ class DataZoomInteraction extends EventEmitter {
26702
26765
  shouldRender = false;
26703
26766
  this._dispatchEvent(IDataZoomInteractiveEvent.maskUpdate);
26704
26767
  }
26705
- this._activeCache.lastPos = pos;
26768
+ this._activeCache.lastPos.x = pos.x;
26769
+ this._activeCache.lastPos.y = pos.y;
26706
26770
  }
26707
26771
  if (this._getState().start !== start || this._getState().end !== end) {
26708
26772
  this._setStateAttr(start, end);
@@ -26722,36 +26786,23 @@ class DataZoomInteraction extends EventEmitter {
26722
26786
  }
26723
26787
  }
26724
26788
  };
26725
- this._onHandlerPointerUp = (e) => {
26726
- if (this._activeState) {
26727
- if (this._activeTag === DataZoomActiveTag.background) {
26728
- this._setStateAttr(this._getState().start, this._getState().end);
26729
- this._dispatchEvent(IDataZoomInteractiveEvent.stateUpdate, {
26730
- start: this._getState().start,
26731
- end: this._getState().end,
26732
- shouldRender: true,
26733
- tag: this._activeTag
26734
- });
26735
- }
26736
- }
26737
- this._activeState = false;
26738
- this._dispatchEvent(IDataZoomInteractiveEvent.dataZoomUpdate, {
26739
- start: this._getState().start,
26740
- end: this._getState().end,
26741
- shouldRender: true,
26742
- tag: this._activeTag
26743
- });
26744
- this.clearDragEvents();
26745
- };
26746
- this._initAttrs(props);
26789
+ this._onHandlerPointerUp = (e) => this._finish(e, false);
26790
+ this._onHandlerPointerCancel = (e) => this._finish(e, true);
26791
+ this._scheduleMove = this._applyPendingPoint;
26792
+ this.setAttributes(props);
26747
26793
  }
26748
26794
  setAttributes(props) {
26749
- var _a, _b, _c, _d, _e, _f;
26795
+ var _a, _b;
26796
+ const delayTime = (_a = props.attribute.delayTime) !== null && _a !== void 0 ? _a : DEFAULT_DATA_ZOOM_ATTRIBUTES.delayTime;
26797
+ const delayType = (_b = props.attribute.delayType) !== null && _b !== void 0 ? _b : DEFAULT_DATA_ZOOM_ATTRIBUTES.delayType;
26798
+ if (delayTime !== this._delayTime || (delayTime !== 0 && delayType !== this._delayType)) {
26799
+ this.clearDragEvents();
26800
+ this._scheduleMove =
26801
+ delayTime === 0 ? this._applyPendingPoint : delayMap$1[delayType](this._applyPendingPoint, delayTime);
26802
+ }
26803
+ this._delayTime = delayTime;
26804
+ this._delayType = delayType;
26750
26805
  this._initAttrs(props);
26751
- this._onHandlerPointerMove =
26752
- ((_b = (_a = this.attribute) === null || _a === void 0 ? void 0 : _a.delayTime) !== null && _b !== void 0 ? _b : 0) === 0
26753
- ? this._pointerMove
26754
- : delayMap$1[(_d = (_c = this.attribute) === null || _c === void 0 ? void 0 : _c.delayType) !== null && _d !== void 0 ? _d : 'debounce'](this._pointerMove, (_f = (_e = this.attribute) === null || _e === void 0 ? void 0 : _e.delayTime) !== null && _f !== void 0 ? _f : 0);
26755
26806
  }
26756
26807
  _initAttrs(props) {
26757
26808
  this.stage = props.stage;
@@ -26776,20 +26827,15 @@ class DataZoomInteraction extends EventEmitter {
26776
26827
  this._getGlobalTransMatrix = props.getGlobalTransMatrix;
26777
26828
  }
26778
26829
  clearDragEvents() {
26779
- const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;
26780
- const triggers = getEndTriggersOfDrag();
26781
- evtTarget.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
26782
- triggers.forEach((trigger) => {
26783
- evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);
26784
- });
26785
- this.off('pointermove', this._onHandlerPointerMove, {
26786
- capture: true
26787
- });
26788
- }
26789
- clearVGlobalEvents() {
26790
- (vglobal.env === 'browser' ? vglobal : this.stage).removeEventListener('touchmove', this._handleTouchMove, {
26791
- passive: false
26792
- });
26830
+ var _a, _b, _c, _d, _e;
26831
+ (_b = (_a = this._scheduleMove) === null || _a === void 0 ? void 0 : _a.cancel) === null || _b === void 0 ? void 0 : _b.call(_a);
26832
+ this._pending = false;
26833
+ (_c = this._inputSource) === null || _c === void 0 ? void 0 : _c.off('pointermove', this._onHandlerPointerMove);
26834
+ (_d = this._inputSource) === null || _d === void 0 ? void 0 : _d.off('pointerup', this._onHandlerPointerUp);
26835
+ (_e = this._inputSource) === null || _e === void 0 ? void 0 : _e.off('pointercancel', this._onHandlerPointerCancel);
26836
+ this._inputSource = undefined;
26837
+ this._activePointerId = undefined;
26838
+ this._activeState = false;
26793
26839
  }
26794
26840
  bindEvents() {
26795
26841
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -26805,9 +26851,6 @@ class DataZoomInteraction extends EventEmitter {
26805
26851
  brushSelect &&
26806
26852
  ((_g = this._previewGroup) === null || _g === void 0 ? void 0 : _g.addEventListener('pointerdown', (e) => this._onHandlerPointerDown(e, 'background')));
26807
26853
  (_h = this._selectedPreviewGroup) === null || _h === void 0 ? void 0 : _h.addEventListener('pointerdown', (e) => this._onHandlerPointerDown(e, selectedTag));
26808
- (vglobal.env === 'browser' ? vglobal : this.stage).addEventListener('touchmove', this._handleTouchMove, {
26809
- passive: false
26810
- });
26811
26854
  }
26812
26855
  _setStateAttr(start, end) {
26813
26856
  const { zoomLock = false, minSpan = 0, maxSpan = 1 } = this.attribute;
@@ -26873,9 +26916,31 @@ class DataZoomInteraction extends EventEmitter {
26873
26916
  }
26874
26917
  return { start, end };
26875
26918
  }
26876
- _eventPosToStagePos(e) {
26919
+ _finish(e, cancel) {
26920
+ var _a, _b;
26921
+ if (e.pointerId !== this._activePointerId || this._finishing) {
26922
+ return;
26923
+ }
26924
+ this._finishing = true;
26925
+ try {
26926
+ (_b = (_a = this._scheduleMove).cancel) === null || _b === void 0 ? void 0 : _b.call(_a);
26927
+ if (!cancel) {
26928
+ this._applyPendingPoint();
26929
+ }
26930
+ const tag = this._activeTag;
26931
+ this.clearDragEvents();
26932
+ if (tag === DataZoomActiveTag.background) {
26933
+ this._dispatchEvent(IDataZoomInteractiveEvent.stateUpdate, Object.assign(Object.assign({}, this._getState()), { shouldRender: true, tag }));
26934
+ }
26935
+ this._dispatchEvent(IDataZoomInteractiveEvent.dataZoomUpdate, Object.assign(Object.assign({}, this._getState()), { shouldRender: true, tag }));
26936
+ }
26937
+ finally {
26938
+ this.clearDragEvents();
26939
+ this._finishing = false;
26940
+ }
26941
+ }
26942
+ _eventPosToStagePos(e, result = { x: 0, y: 0 }) {
26877
26943
  var _a, _b;
26878
- const result = { x: 0, y: 0 };
26879
26944
  const stagePoints = (_b = (_a = this.stage) === null || _a === void 0 ? void 0 : _a.eventPointTransform(e)) !== null && _b !== void 0 ? _b : { x: 0, y: 0 };
26880
26945
  this._getGlobalTransMatrix().transformPoint(stagePoints, result);
26881
26946
  return result;
@@ -27075,8 +27140,8 @@ class DataZoom extends AbstractComponent {
27075
27140
  this._interaction.setAttributes(this._getInteractionAttrs());
27076
27141
  }
27077
27142
  release(all) {
27078
- super.release(all);
27079
27143
  this._interaction.clearDragEvents();
27144
+ super.release(all);
27080
27145
  }
27081
27146
  setStartAndEnd(start, end) {
27082
27147
  const { start: startState, end: endState } = this._state;
@@ -31724,20 +31789,25 @@ class Slider extends AbstractComponent {
31724
31789
  this._dispatchTooltipEvent('sliderTooltipHide');
31725
31790
  };
31726
31791
  this._onHandlerPointerdown = (e) => {
31792
+ if (this._activePointerId !== undefined) {
31793
+ return;
31794
+ }
31727
31795
  this._clearAllDragEvents();
31796
+ this._activePointerId = e.pointerId;
31728
31797
  this._isChanging = true;
31729
31798
  const { x, y } = this.stage.eventPointTransform(e);
31730
31799
  this._currentHandler = e.target;
31731
31800
  this._prePos = this._isHorizontal ? x : y;
31732
- const triggers = getEndTriggersOfDrag();
31733
- const obj = vglobal.env === 'browser' ? vglobal : this.stage;
31734
- obj.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
31735
- triggers.forEach((trigger) => {
31736
- obj.addEventListener(trigger, this._onHandlerPointerUp);
31737
- });
31801
+ this._bindDragEvents(this._onHandlerPointerMove);
31738
31802
  };
31739
31803
  this._onHandlerPointerMove = (e) => {
31740
31804
  var _a, _b;
31805
+ if (e.pointerId !== this._activePointerId) {
31806
+ return;
31807
+ }
31808
+ if (e.pointerType === 'touch') {
31809
+ e.preventDefault();
31810
+ }
31741
31811
  this._isChanging = true;
31742
31812
  const { railWidth, railHeight, min, max } = this.attribute;
31743
31813
  if (max === min) {
@@ -31773,28 +31843,32 @@ class Slider extends AbstractComponent {
31773
31843
  this._dispatchChangeEvent();
31774
31844
  };
31775
31845
  this._onHandlerPointerUp = (e) => {
31846
+ if (e.pointerId !== this._activePointerId) {
31847
+ return;
31848
+ }
31776
31849
  this._isChanging = false;
31777
31850
  this._currentHandler = null;
31778
31851
  this._clearAllDragEvents();
31779
31852
  };
31780
- this._handleTouchMove = (e) => {
31781
- if (this._isChanging) {
31782
- e.preventDefault();
31783
- }
31784
- };
31785
31853
  this._onTrackPointerdown = (e) => {
31854
+ e.stopPropagation();
31855
+ if (this._activePointerId !== undefined) {
31856
+ return;
31857
+ }
31786
31858
  this._clearAllDragEvents();
31859
+ this._activePointerId = e.pointerId;
31787
31860
  this._isChanging = true;
31788
31861
  const { x, y } = this.stage.eventPointTransform(e);
31789
31862
  this._prePos = this._isHorizontal ? x : y;
31790
- const triggers = getEndTriggersOfDrag();
31791
- const obj = vglobal.env === 'browser' ? vglobal : this.stage;
31792
- obj.addEventListener('pointermove', this._onTrackPointerMove, { capture: true });
31793
- triggers.forEach((trigger) => {
31794
- obj.addEventListener(trigger, this._onTrackPointerUp);
31795
- });
31863
+ this._bindDragEvents(this._onTrackPointerMove);
31796
31864
  };
31797
31865
  this._onTrackPointerMove = (e) => {
31866
+ if (e.pointerId !== this._activePointerId) {
31867
+ return;
31868
+ }
31869
+ if (e.pointerType === 'touch') {
31870
+ e.preventDefault();
31871
+ }
31798
31872
  this._isChanging = true;
31799
31873
  const { railWidth, railHeight, min, max, inverse } = this.attribute;
31800
31874
  if (max === min) {
@@ -31845,13 +31919,11 @@ class Slider extends AbstractComponent {
31845
31919
  this._prePos = currentPos;
31846
31920
  this._dispatchChangeEvent();
31847
31921
  };
31848
- this._onTrackPointerUp = (e) => {
31849
- this._isChanging = false;
31850
- this._clearAllDragEvents();
31851
- };
31852
31922
  this._onRailPointerDown = (e) => {
31923
+ if (this._activePointerId !== undefined) {
31924
+ return;
31925
+ }
31853
31926
  this._clearAllDragEvents();
31854
- this._isChanging = true;
31855
31927
  const { railWidth, railHeight, min, max } = this.attribute;
31856
31928
  if (max === min) {
31857
31929
  return;
@@ -32246,9 +32318,6 @@ class Slider extends AbstractComponent {
32246
32318
  this._track.addEventListener('pointerdown', this._onTrackPointerdown);
32247
32319
  }
32248
32320
  this._railContainer.addEventListener('pointerdown', this._onRailPointerDown);
32249
- (vglobal.env === 'browser' ? vglobal : this.stage).addEventListener('touchmove', this._handleTouchMove, {
32250
- passive: false
32251
- });
32252
32321
  }
32253
32322
  }
32254
32323
  _bindTooltipEvents() {
@@ -32259,17 +32328,22 @@ class Slider extends AbstractComponent {
32259
32328
  this._mainContainer.addEventListener('pointermove', this._onTooltipUpdate);
32260
32329
  this._mainContainer.addEventListener('pointerleave', this._onTooltipHide);
32261
32330
  }
32331
+ _bindDragEvents(move) {
32332
+ this._inputSource = this.stage.eventSystem.input.window;
32333
+ this._inputSource.on('pointermove', move);
32334
+ this._inputSource.on('pointerup', this._onHandlerPointerUp);
32335
+ this._inputSource.on('pointercancel', this._onHandlerPointerUp);
32336
+ }
32262
32337
  _clearAllDragEvents() {
32263
- const triggers = getEndTriggersOfDrag();
32264
- const obj = vglobal.env === 'browser' ? vglobal : this.stage;
32265
- obj.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
32266
- triggers.forEach((trigger) => {
32267
- obj.removeEventListener(trigger, this._onHandlerPointerUp);
32268
- });
32269
- obj.removeEventListener('pointermove', this._onTrackPointerMove, { capture: true });
32270
- triggers.forEach((trigger) => {
32271
- obj.removeEventListener(trigger, this._onTrackPointerUp);
32272
- });
32338
+ var _a, _b, _c, _d;
32339
+ (_a = this._inputSource) === null || _a === void 0 ? void 0 : _a.off('pointermove', this._onHandlerPointerMove);
32340
+ (_b = this._inputSource) === null || _b === void 0 ? void 0 : _b.off('pointermove', this._onTrackPointerMove);
32341
+ (_c = this._inputSource) === null || _c === void 0 ? void 0 : _c.off('pointerup', this._onHandlerPointerUp);
32342
+ (_d = this._inputSource) === null || _d === void 0 ? void 0 : _d.off('pointercancel', this._onHandlerPointerUp);
32343
+ this._inputSource = undefined;
32344
+ this._activePointerId = undefined;
32345
+ this._isChanging = false;
32346
+ this._currentHandler = null;
32273
32347
  }
32274
32348
  _updateTrack() {
32275
32349
  const { inverse, railWidth, railHeight } = this.attribute;
@@ -32412,11 +32486,8 @@ class Slider extends AbstractComponent {
32412
32486
  };
32413
32487
  }
32414
32488
  release(all) {
32415
- super.release(all);
32416
- (vglobal.env === 'browser' ? vglobal : this.stage).removeEventListener('touchmove', this._handleTouchMove, {
32417
- passive: false
32418
- });
32419
32489
  this._clearAllDragEvents();
32490
+ super.release(all);
32420
32491
  }
32421
32492
  }
32422
32493
  Slider.defaultAttributes = {
@@ -37040,6 +37111,6 @@ TableSeriesNumber.defaultAttributes = {
37040
37111
  select: true
37041
37112
  };
37042
37113
 
37043
- const version = "1.1.12";
37114
+ const version = "1.1.14";
37044
37115
 
37045
37116
  export { AXIS_ELEMENT_NAME, AbstractComponent, ArcInfo, ArcLabel, ArcSegment, AxisStateValue, BasePlayer, Brush, CheckBox, CircleAxis, CircleAxisGrid, CircleCrosshair, ColorContinuousLegend, ContinuousPlayer, DEFAULT_ITEM_SPACE_COL, DEFAULT_ITEM_SPACE_ROW, DEFAULT_LABEL_SPACE, DEFAULT_PAGER_SPACE, DEFAULT_SHAPE_SIZE, DEFAULT_SHAPE_SPACE, DEFAULT_STATES$1 as DEFAULT_STATES, DEFAULT_TITLE_SPACE, DEFAULT_VALUE_SPACE, DataLabel, DataZoom, DataZoomActiveTag, DirectionEnum, DiscreteLegend, DiscretePlayer, EmptyTip, GroupTransition, IDataZoomEvent, IDataZoomInteractiveEvent, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkLineLabelPosition, IMarkPointItemPosition, IOperateType, Indicator, LEGEND_ELEMENT_NAME, LabelBase, LegendEvent, LegendStateValue, LineAxis, LineAxisGrid, LineCrosshair, LineLabel, LinkPath, MarkArcArea, MarkArcLine, MarkArea, MarkLine, MarkPoint, Pager, PlayerEventEnum, PolygonCrosshair, PolygonSectorCrosshair, PopTip, Radio, RectCrosshair, RectLabel, SLIDER_ELEMENT_NAME, ScrollBar, SectorCrosshair, Segment, SeriesNumberCellStateValue, SeriesNumberEvent, SizeContinuousLegend, Slider, StoryLabelItem, Switch, SymbolLabel, TableSeriesNumber, Tag, Timeline, Title, Tooltip, TopZIndex, VTag, WeatherBox, alignTextInLine, angle, angleLabelOrientAttribute, angleTo, cartesianTicks, clampRadian, computeOffsetForlimit, continuousTicks, contrastAccessibilityChecker, convertDomainToTickData, createTextGraphicByType, deltaXYToAngle, fuzzyEqualNumber, getAxisBreakSymbolAttrs, getCircleLabelPosition, getCirclePoints, getCircleVerticalVector, getElMap, getHorizontalPath, getMarksByName, getNoneGroupMarksByName, getPolarAngleLabelPosition, getPolygonPath, getSizeHandlerPath, getTextAlignAttrOfVerticalDir, getTextType, getVerticalCoord, getVerticalPath, hasOverlap, htmlAttributeTransform, initTextMeasure, installPoptipToApp, installScrollbarToApp, isInRange, isPostiveXAxis, isRichText, isVisible, labelSmartInvert, length, limitShapeInBounds, linearDiscreteTicks, loadPoptip, loadScrollbar, measureTextSize, normalize, polarAngleAxisDiscreteTicks, polarTicks, reactAttributeTransform, registerArcDataLabel, registerLineDataLabel, registerMarkArcAreaAnimate, registerMarkArcLineAnimate, registerMarkAreaAnimate, registerMarkLineAnimate, registerMarkPointAnimate, registerRectDataLabel, registerSymbolDataLabel, removeRepeatPoint, richTextAttributeTransform, scale, setPoptipTheme, smartInvertStrategy, tan2AngleToAngle, textIntersect, ticks, traverseGroup, version };
@@ -26,4 +26,5 @@ export const DEFAULT_STATES = {
26
26
  [AxisStateValue.hoverReverse]: {}
27
27
  };
28
28
 
29
- export const TopZIndex = 999;
29
+ export const TopZIndex = 999;
30
+ //# sourceMappingURL=constant.js.map
package/es/brush/type.js CHANGED
@@ -4,5 +4,4 @@ export var IOperateType;
4
4
  IOperateType.drawStart = "drawStart", IOperateType.drawEnd = "drawEnd", IOperateType.drawing = "drawing",
5
5
  IOperateType.moving = "moving", IOperateType.moveStart = "moveStart", IOperateType.moveEnd = "moveEnd",
6
6
  IOperateType.brushActive = "brushActive", IOperateType.brushClear = "brushClear";
7
- }(IOperateType || (IOperateType = {}));
8
- //# sourceMappingURL=type.js.map
7
+ }(IOperateType || (IOperateType = {}));
@@ -116,7 +116,7 @@ export class DataZoom extends AbstractComponent {
116
116
  this._renderer.renderDataZoom(), this._interaction.setAttributes(this._getInteractionAttrs());
117
117
  }
118
118
  release(all) {
119
- super.release(all), this._interaction.clearDragEvents();
119
+ this._interaction.clearDragEvents(), super.release(all);
120
120
  }
121
121
  setStartAndEnd(start, end) {
122
122
  const {start: startState, end: endState} = this._state;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import { type IGroup } from '@visactor/vrender-core';\nimport { array, isFunction, isValid, merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport { IDataZoomEvent, IDataZoomInteractiveEvent, type DataZoomAttributes } from './type';\nimport type { ComponentOptions } from '../interface';\nimport { DataZoomRenderer, type DataZoomRendererAttrs } from './renderer';\nimport { DataZoomInteraction, type InteractionAttributes } from './interaction';\nimport { loadDataZoomComponent } from './register';\nimport { DEFAULT_DATA_ZOOM_ATTRIBUTES } from './config';\n\nloadDataZoomComponent();\nexport class DataZoom extends AbstractComponent<Required<DataZoomAttributes>> {\n name = 'dataZoom';\n static defaultAttributes = DEFAULT_DATA_ZOOM_ATTRIBUTES;\n /** 交互控制 */\n private _interaction: DataZoomInteraction;\n /** 渲染控制 */\n private _renderer: DataZoomRenderer;\n /** 共享变量: 容器 */\n private _container: IGroup;\n /** 共享变量: 状态 */\n private _state: { start: number; end: number } = { start: 0, end: 1 };\n /** 共享变量: 布局 */\n private _layoutCacheFromConfig: any;\n\n /** 中间量 */\n private _isHorizontal: boolean;\n\n constructor(attributes: DataZoomAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, DataZoom.defaultAttributes, attributes));\n const { start, end, orient } = this.attribute as DataZoomAttributes;\n this._isHorizontal = orient === 'top' || orient === 'bottom';\n start && (this._state.start = start);\n end && (this._state.end = end);\n this._renderer = new DataZoomRenderer(this._getRendererAttrs());\n this._interaction = new DataZoomInteraction(this._getInteractionAttrs());\n }\n\n /**\n * 获取背景框中的位置和宽高\n * @description 实际绘制的背景框中的高度或宽度 减去 中间手柄的高度或宽度\n */\n getLayoutAttrFromConfig = () => {\n if (this._layoutCacheFromConfig) {\n return this._layoutCacheFromConfig;\n }\n const {\n position: positionConfig,\n size,\n orient,\n middleHandlerStyle = {},\n startHandlerStyle = {},\n endHandlerStyle = {},\n backgroundStyle = {}\n } = this.attribute as DataZoomAttributes;\n const { width: widthConfig, height: heightConfig } = size;\n const middleHandlerSize = middleHandlerStyle.background?.size ?? 10;\n\n // 如果middleHandler显示的话,要将其宽高计入datazoom宽高\n let width;\n let height;\n let position;\n if (middleHandlerStyle.visible) {\n if (this._isHorizontal) {\n width = widthConfig;\n height = heightConfig - middleHandlerSize;\n position = {\n x: positionConfig.x,\n y: positionConfig.y + middleHandlerSize\n };\n } else {\n width = widthConfig - middleHandlerSize;\n height = heightConfig;\n position = {\n x: positionConfig.x + (orient === 'left' ? middleHandlerSize : 0),\n y: positionConfig.y\n };\n }\n } else {\n width = widthConfig;\n height = heightConfig;\n position = positionConfig;\n }\n\n const startHandlerSize = (startHandlerStyle.size as number) ?? (this._isHorizontal ? height : width);\n const endHandlerSize = (endHandlerStyle.size as number) ?? (this._isHorizontal ? height : width);\n // 如果startHandler显示的话,要将其宽高计入dataZoom宽高\n if (startHandlerStyle.visible) {\n if (this._isHorizontal) {\n width -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x + startHandlerSize / 2,\n y: position.y\n };\n } else {\n height -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x,\n y: position.y + startHandlerSize / 2\n };\n }\n }\n\n // stroke 需计入宽高, 否则dataZoom在画布边缘会被裁剪lineWidth / 2\n height += (backgroundStyle.lineWidth ?? 2) / 2;\n width += (backgroundStyle.lineWidth ?? 2) / 2;\n\n this._layoutCacheFromConfig = {\n position,\n width,\n height\n };\n return this._layoutCacheFromConfig;\n };\n\n private _getRendererAttrs(): DataZoomRendererAttrs {\n return {\n attribute: this.attribute,\n getLayoutAttrFromConfig: this.getLayoutAttrFromConfig,\n setState: (state: { start: number; end: number }) => {\n this._state = state;\n },\n getState: () => this._state,\n getContainer: () => this._container\n };\n }\n\n private _getInteractionAttrs(): InteractionAttributes {\n return {\n stage: this.stage,\n attribute: this.attribute,\n startHandlerMask: this._renderer.startHandlerMask,\n endHandlerMask: this._renderer.endHandlerMask,\n middleHandlerSymbol: this._renderer.middleHandlerSymbol,\n middleHandlerRect: this._renderer.middleHandlerRect,\n selectedBackground: this._renderer.selectedBackground,\n background: this._renderer.background,\n previewGroup: this._renderer.previewGroup,\n selectedPreviewGroup: this._renderer.selectedPreviewGroup,\n getLayoutAttrFromConfig: this.getLayoutAttrFromConfig,\n setState: (state: { start: number; end: number }) => {\n this._state = state;\n },\n getState: () => this._state,\n getGlobalTransMatrix: () => this.globalTransMatrix\n };\n }\n\n bindEvents(): void {\n if (this.attribute.disableTriggerEvent) {\n this.setAttribute('childrenPickable', false);\n return;\n }\n this._interaction.bindEvents();\n this._interaction.on(IDataZoomInteractiveEvent.stateUpdate, ({ shouldRender }) => {\n if (shouldRender) {\n this._renderer.renderDataZoom(true);\n }\n });\n this._interaction.on(IDataZoomInteractiveEvent.dataZoomUpdate, ({ start, end, tag }) => {\n this._dispatchEvent(IDataZoomEvent.dataZoomChange, { start, end, tag });\n });\n this._interaction.on(IDataZoomInteractiveEvent.maskUpdate, () => {\n this._renderer.renderDragMask();\n });\n if (this.attribute.showDetail === 'auto') {\n this._container.addEventListener('pointerenter', () => {\n this._renderer.showText = true;\n this._renderer.renderText();\n });\n this._container.addEventListener('pointerleave', () => {\n this._renderer.showText = false;\n this._renderer.renderText();\n });\n }\n }\n\n setAttributes(params: Partial<Required<DataZoomAttributes>>, forceUpdateTag?: boolean): void {\n const { start, end } = this.attribute as DataZoomAttributes;\n start && (this._state.start = params.start ?? start);\n end && (this._state.end = params.end ?? end);\n\n this._renderer.setAttributes(this._getRendererAttrs());\n this._interaction.setAttributes(this._getInteractionAttrs());\n super.setAttributes(params, forceUpdateTag);\n }\n\n render(): void {\n this._layoutCacheFromConfig = null;\n this._container = this.createOrUpdateChild('datazoom-container', {}, 'group') as IGroup;\n this._renderer.renderDataZoom();\n this._interaction.setAttributes(this._getInteractionAttrs());\n }\n\n release(all?: boolean): void {\n /**\n * 浏览器上的事件必须解绑,防止内存泄漏,场景树上的事件会自动解绑\n */\n super.release(all);\n this._interaction.clearDragEvents();\n }\n\n /** 外部重置组件的起始状态 */\n setStartAndEnd(start?: number, end?: number) {\n const { start: startState, end: endState } = this._state;\n if (isValid(start) && isValid(end) && (start !== startState || end !== endState)) {\n this._state = { start, end };\n this._renderer.renderDataZoom(true);\n this._dispatchEvent(IDataZoomEvent.dataZoomChange, {\n start,\n end\n });\n }\n }\n\n /** 外部更新背景图表的数据 */\n setPreviewData(data: any[]) {\n this._renderer.previewData = data;\n }\n\n /** 外部更新手柄文字 */\n setText(text: string, tag: 'start' | 'end') {\n if (tag === 'start') {\n this._renderer.startText.setAttribute('text', text);\n } else {\n this._renderer.endText.setAttribute('text', text);\n }\n }\n\n /** 外部获取起始点数据值 */\n getStartValue() {\n return this._renderer.startValue;\n }\n\n getEndTextValue() {\n return this._renderer.endValue;\n }\n\n getMiddleHandlerSize() {\n const { middleHandlerStyle = {} } = this.attribute as DataZoomAttributes;\n const middleHandlerRectSize = middleHandlerStyle.background?.size ?? 10;\n const middleHandlerSymbolSize = middleHandlerStyle.icon?.size ?? 10;\n return Math.max(middleHandlerRectSize, ...array(middleHandlerSymbolSize));\n }\n\n /** 外部传入数据映射 */\n setPreviewPointsX(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsX = callback);\n }\n setPreviewPointsY(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsY = callback);\n }\n setPreviewPointsX1(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsX1 = callback);\n }\n setPreviewPointsY1(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsY1 = callback);\n }\n setStatePointToData(callback: (state: number) => any) {\n isFunction(callback) && (this._renderer.statePointToData = callback);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import { type IGroup } from '@visactor/vrender-core';\nimport { array, isFunction, isValid, merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport { IDataZoomEvent, IDataZoomInteractiveEvent, type DataZoomAttributes } from './type';\nimport type { ComponentOptions } from '../interface';\nimport { DataZoomRenderer, type DataZoomRendererAttrs } from './renderer';\nimport { DataZoomInteraction, type InteractionAttributes } from './interaction';\nimport { loadDataZoomComponent } from './register';\nimport { DEFAULT_DATA_ZOOM_ATTRIBUTES } from './config';\n\nloadDataZoomComponent();\nexport class DataZoom extends AbstractComponent<Required<DataZoomAttributes>> {\n name = 'dataZoom';\n static defaultAttributes = DEFAULT_DATA_ZOOM_ATTRIBUTES;\n /** 交互控制 */\n private _interaction: DataZoomInteraction;\n /** 渲染控制 */\n private _renderer: DataZoomRenderer;\n /** 共享变量: 容器 */\n private _container: IGroup;\n /** 共享变量: 状态 */\n private _state: { start: number; end: number } = { start: 0, end: 1 };\n /** 共享变量: 布局 */\n private _layoutCacheFromConfig: any;\n\n /** 中间量 */\n private _isHorizontal: boolean;\n\n constructor(attributes: DataZoomAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, DataZoom.defaultAttributes, attributes));\n const { start, end, orient } = this.attribute as DataZoomAttributes;\n this._isHorizontal = orient === 'top' || orient === 'bottom';\n start && (this._state.start = start);\n end && (this._state.end = end);\n this._renderer = new DataZoomRenderer(this._getRendererAttrs());\n this._interaction = new DataZoomInteraction(this._getInteractionAttrs());\n }\n\n /**\n * 获取背景框中的位置和宽高\n * @description 实际绘制的背景框中的高度或宽度 减去 中间手柄的高度或宽度\n */\n getLayoutAttrFromConfig = () => {\n if (this._layoutCacheFromConfig) {\n return this._layoutCacheFromConfig;\n }\n const {\n position: positionConfig,\n size,\n orient,\n middleHandlerStyle = {},\n startHandlerStyle = {},\n endHandlerStyle = {},\n backgroundStyle = {}\n } = this.attribute as DataZoomAttributes;\n const { width: widthConfig, height: heightConfig } = size;\n const middleHandlerSize = middleHandlerStyle.background?.size ?? 10;\n\n // 如果middleHandler显示的话,要将其宽高计入datazoom宽高\n let width;\n let height;\n let position;\n if (middleHandlerStyle.visible) {\n if (this._isHorizontal) {\n width = widthConfig;\n height = heightConfig - middleHandlerSize;\n position = {\n x: positionConfig.x,\n y: positionConfig.y + middleHandlerSize\n };\n } else {\n width = widthConfig - middleHandlerSize;\n height = heightConfig;\n position = {\n x: positionConfig.x + (orient === 'left' ? middleHandlerSize : 0),\n y: positionConfig.y\n };\n }\n } else {\n width = widthConfig;\n height = heightConfig;\n position = positionConfig;\n }\n\n const startHandlerSize = (startHandlerStyle.size as number) ?? (this._isHorizontal ? height : width);\n const endHandlerSize = (endHandlerStyle.size as number) ?? (this._isHorizontal ? height : width);\n // 如果startHandler显示的话,要将其宽高计入dataZoom宽高\n if (startHandlerStyle.visible) {\n if (this._isHorizontal) {\n width -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x + startHandlerSize / 2,\n y: position.y\n };\n } else {\n height -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x,\n y: position.y + startHandlerSize / 2\n };\n }\n }\n\n // stroke 需计入宽高, 否则dataZoom在画布边缘会被裁剪lineWidth / 2\n height += (backgroundStyle.lineWidth ?? 2) / 2;\n width += (backgroundStyle.lineWidth ?? 2) / 2;\n\n this._layoutCacheFromConfig = {\n position,\n width,\n height\n };\n return this._layoutCacheFromConfig;\n };\n\n private _getRendererAttrs(): DataZoomRendererAttrs {\n return {\n attribute: this.attribute,\n getLayoutAttrFromConfig: this.getLayoutAttrFromConfig,\n setState: (state: { start: number; end: number }) => {\n this._state = state;\n },\n getState: () => this._state,\n getContainer: () => this._container\n };\n }\n\n private _getInteractionAttrs(): InteractionAttributes {\n return {\n stage: this.stage,\n attribute: this.attribute,\n startHandlerMask: this._renderer.startHandlerMask,\n endHandlerMask: this._renderer.endHandlerMask,\n middleHandlerSymbol: this._renderer.middleHandlerSymbol,\n middleHandlerRect: this._renderer.middleHandlerRect,\n selectedBackground: this._renderer.selectedBackground,\n background: this._renderer.background,\n previewGroup: this._renderer.previewGroup,\n selectedPreviewGroup: this._renderer.selectedPreviewGroup,\n getLayoutAttrFromConfig: this.getLayoutAttrFromConfig,\n setState: (state: { start: number; end: number }) => {\n this._state = state;\n },\n getState: () => this._state,\n getGlobalTransMatrix: () => this.globalTransMatrix\n };\n }\n\n bindEvents(): void {\n if (this.attribute.disableTriggerEvent) {\n this.setAttribute('childrenPickable', false);\n return;\n }\n this._interaction.bindEvents();\n this._interaction.on(IDataZoomInteractiveEvent.stateUpdate, ({ shouldRender }) => {\n if (shouldRender) {\n this._renderer.renderDataZoom(true);\n }\n });\n this._interaction.on(IDataZoomInteractiveEvent.dataZoomUpdate, ({ start, end, tag }) => {\n this._dispatchEvent(IDataZoomEvent.dataZoomChange, { start, end, tag });\n });\n this._interaction.on(IDataZoomInteractiveEvent.maskUpdate, () => {\n this._renderer.renderDragMask();\n });\n if (this.attribute.showDetail === 'auto') {\n this._container.addEventListener('pointerenter', () => {\n this._renderer.showText = true;\n this._renderer.renderText();\n });\n this._container.addEventListener('pointerleave', () => {\n this._renderer.showText = false;\n this._renderer.renderText();\n });\n }\n }\n\n setAttributes(params: Partial<Required<DataZoomAttributes>>, forceUpdateTag?: boolean): void {\n const { start, end } = this.attribute as DataZoomAttributes;\n start && (this._state.start = params.start ?? start);\n end && (this._state.end = params.end ?? end);\n\n this._renderer.setAttributes(this._getRendererAttrs());\n this._interaction.setAttributes(this._getInteractionAttrs());\n super.setAttributes(params, forceUpdateTag);\n }\n\n render(): void {\n this._layoutCacheFromConfig = null;\n this._container = this.createOrUpdateChild('datazoom-container', {}, 'group') as IGroup;\n this._renderer.renderDataZoom();\n this._interaction.setAttributes(this._getInteractionAttrs());\n }\n\n release(all?: boolean): void {\n /**\n * 浏览器上的事件必须解绑,防止内存泄漏,场景树上的事件会自动解绑\n */\n this._interaction.clearDragEvents();\n super.release(all);\n }\n\n /** 外部重置组件的起始状态 */\n setStartAndEnd(start?: number, end?: number) {\n const { start: startState, end: endState } = this._state;\n if (isValid(start) && isValid(end) && (start !== startState || end !== endState)) {\n this._state = { start, end };\n this._renderer.renderDataZoom(true);\n this._dispatchEvent(IDataZoomEvent.dataZoomChange, {\n start,\n end\n });\n }\n }\n\n /** 外部更新背景图表的数据 */\n setPreviewData(data: any[]) {\n this._renderer.previewData = data;\n }\n\n /** 外部更新手柄文字 */\n setText(text: string, tag: 'start' | 'end') {\n if (tag === 'start') {\n this._renderer.startText.setAttribute('text', text);\n } else {\n this._renderer.endText.setAttribute('text', text);\n }\n }\n\n /** 外部获取起始点数据值 */\n getStartValue() {\n return this._renderer.startValue;\n }\n\n getEndTextValue() {\n return this._renderer.endValue;\n }\n\n getMiddleHandlerSize() {\n const { middleHandlerStyle = {} } = this.attribute as DataZoomAttributes;\n const middleHandlerRectSize = middleHandlerStyle.background?.size ?? 10;\n const middleHandlerSymbolSize = middleHandlerStyle.icon?.size ?? 10;\n return Math.max(middleHandlerRectSize, ...array(middleHandlerSymbolSize));\n }\n\n /** 外部传入数据映射 */\n setPreviewPointsX(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsX = callback);\n }\n setPreviewPointsY(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsY = callback);\n }\n setPreviewPointsX1(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsX1 = callback);\n }\n setPreviewPointsY1(callback: (d: any) => number) {\n isFunction(callback) && (this._renderer.previewPointsY1 = callback);\n }\n setStatePointToData(callback: (state: number) => any) {\n isFunction(callback) && (this._renderer.statePointToData = callback);\n }\n}\n"]}
@@ -45,21 +45,30 @@ export declare class DataZoomInteraction extends EventEmitter {
45
45
  private _activeCache;
46
46
  private _layoutCache;
47
47
  private _spanCache;
48
- private _onHandlerPointerMove;
48
+ private _inputSource?;
49
+ private _activePointerId?;
50
+ private _finishing;
51
+ private _pending;
52
+ private _pendingPoint;
53
+ private _scheduleMove;
54
+ private _delayTime;
55
+ private _delayType;
49
56
  constructor(props: InteractionAttributes);
50
57
  setAttributes(props: InteractionAttributes): void;
51
58
  private _initAttrs;
52
59
  clearDragEvents(): void;
53
- clearVGlobalEvents(): void;
54
60
  bindEvents(): void;
55
- private _handleTouchMove;
56
61
  private _onHandlerPointerDown;
62
+ private _onHandlerPointerMove;
63
+ private _applyPendingPoint;
57
64
  private _pointerMove;
58
65
  private _setStateAttr;
59
66
  private _moveZoomWithMiddle;
60
67
  private _moveZoomWithHandler;
61
68
  private _moveZoomWithBackground;
62
69
  private _onHandlerPointerUp;
70
+ private _onHandlerPointerCancel;
71
+ private _finish;
63
72
  private _eventPosToStagePos;
64
73
  protected _dispatchEvent(eventName: IDataZoomInteractiveEvent, details?: Dict<any>): void;
65
74
  }