@visactor/vchart 1.13.9-alpha.4 → 1.13.9-alpha.6

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.js CHANGED
@@ -31431,10 +31431,6 @@
31431
31431
  const SCROLLBAR_EVENT$1 = "scrollDrag";
31432
31432
  const SCROLLBAR_END_EVENT$1 = "scrollUp";
31433
31433
 
31434
- function getEndTriggersOfDrag() {
31435
- return "browser" === vglobal.env ? ["pointerup", "pointerleave", "pointercancel"] : ["pointerup", "pointerleave", "pointerupoutside"];
31436
- }
31437
-
31438
31434
  const delayMap$3 = {
31439
31435
  debounce: debounce,
31440
31436
  throttle: throttle
@@ -31467,7 +31463,6 @@
31467
31463
  }
31468
31464
  this.setScrollRange([currentScrollValue - (range[1] - range[0]) / 2, currentScrollValue + (range[1] - range[0]) / 2], !1), this.stage && !this.stage.autoRender && this.stage.renderNextFrame();
31469
31465
  }, this._onSliderPointerDown = e => {
31470
- this._clearDragEvents();
31471
31466
  const {
31472
31467
  stopSliderDownPropagation = !0
31473
31468
  } = this.attribute;
@@ -31482,14 +31477,11 @@
31482
31477
  this._prePos = "horizontal" === direction ? x : y, this._dispatchEvent(SCROLLBAR_START_EVENT, {
31483
31478
  pos: this._prePos,
31484
31479
  event: e
31485
- });
31486
- const triggers = getEndTriggersOfDrag(),
31487
- obj = "browser" === vglobal.env ? vglobal : this.stage;
31488
- obj.addEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31480
+ }), "browser" === vglobal.env ? (vglobal.addEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31489
31481
  capture: !0
31490
- }), triggers.forEach(trigger => {
31491
- obj.addEventListener(trigger, this._onSliderPointerUp);
31492
- });
31482
+ }), vglobal.addEventListener("pointerup", this._onSliderPointerUp)) : (this.stage.addEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31483
+ capture: !0
31484
+ }), this.stage.addEventListener("pointerup", this._onSliderPointerUp), this.stage.addEventListener("pointerupoutside", this._onSliderPointerUp));
31493
31485
  }, this._computeScrollValue = e => {
31494
31486
  const {
31495
31487
  direction: direction
@@ -31526,7 +31518,11 @@
31526
31518
  this._dispatchEvent(SCROLLBAR_END_EVENT$1, {
31527
31519
  pre: preRange,
31528
31520
  value: clampRange$1(range, limitRange[0], limitRange[1])
31529
- }), this._clearDragEvents();
31521
+ }), "browser" === vglobal.env ? (vglobal.removeEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31522
+ capture: !0
31523
+ }), vglobal.removeEventListener("pointerup", this._onSliderPointerUp)) : (this.stage.removeEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31524
+ capture: !0
31525
+ }), this.stage.removeEventListener("pointerup", this._onSliderPointerUp), this.stage.removeEventListener("pointerupoutside", this._onSliderPointerUp));
31530
31526
  };
31531
31527
  }
31532
31528
  setScrollRange(range) {
@@ -31675,15 +31671,6 @@
31675
31671
  sliderSize = this._sliderSize;
31676
31672
  return "horizontal" === direction ? clampRange$1([x1 + min * width, x1 + max * width], x1, width - sliderSize) : clampRange$1([y1 + min * height, y1 + max * height], y1, height - sliderSize);
31677
31673
  }
31678
- _clearDragEvents() {
31679
- const triggers = getEndTriggersOfDrag(),
31680
- obj = "browser" === vglobal.env ? vglobal : this.stage;
31681
- obj.removeEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31682
- capture: !0
31683
- }), triggers.forEach(trigger => {
31684
- obj.removeEventListener(trigger, this._onSliderPointerUp);
31685
- });
31686
- }
31687
31674
  _reset() {
31688
31675
  this._sliderRenderBounds = null, this._sliderLimitRange = null;
31689
31676
  }
@@ -39033,13 +39020,10 @@
39033
39020
  start: 0,
39034
39021
  end: 1
39035
39022
  }, this._statePointToData = state => state, this._onHandlerPointerDown = (e, tag) => {
39036
- this._clearDragEvents(), e.stopPropagation(), "start" === tag ? (this._activeTag = DataZoomActiveTag.startHandler, this._activeItem = this._startHandlerMask) : "end" === tag ? (this._activeTag = DataZoomActiveTag.endHandler, this._activeItem = this._endHandlerMask) : "middleRect" === tag ? (this._activeTag = DataZoomActiveTag.middleHandler, this._activeItem = this._middleHandlerRect) : "middleSymbol" === tag ? (this._activeTag = DataZoomActiveTag.middleHandler, this._activeItem = this._middleHandlerSymbol) : "background" === tag && (this._activeTag = DataZoomActiveTag.background, this._activeItem = this._background), this._activeState = !0, this._activeCache.startPos = this.eventPosToStagePos(e), this._activeCache.lastPos = this.eventPosToStagePos(e);
39037
- const evtTarget = "browser" === vglobal.env ? vglobal : this.stage,
39038
- triggers = getEndTriggersOfDrag();
39039
- evtTarget.addEventListener("pointermove", this._onHandlerPointerMove, {
39023
+ e.stopPropagation(), "start" === tag ? (this._activeTag = DataZoomActiveTag.startHandler, this._activeItem = this._startHandlerMask) : "end" === tag ? (this._activeTag = DataZoomActiveTag.endHandler, this._activeItem = this._endHandlerMask) : "middleRect" === tag ? (this._activeTag = DataZoomActiveTag.middleHandler, this._activeItem = this._middleHandlerRect) : "middleSymbol" === tag ? (this._activeTag = DataZoomActiveTag.middleHandler, this._activeItem = this._middleHandlerSymbol) : "background" === tag && (this._activeTag = DataZoomActiveTag.background, this._activeItem = this._background), this._activeState = !0, this._activeCache.startPos = this.eventPosToStagePos(e), this._activeCache.lastPos = this.eventPosToStagePos(e), "browser" === vglobal.env && (vglobal.addEventListener("pointermove", this._onHandlerPointerMove, {
39024
+ capture: !0
39025
+ }), vglobal.addEventListener("pointerup", this._onHandlerPointerUp)), this.addEventListener("pointermove", this._onHandlerPointerMove, {
39040
39026
  capture: !0
39041
- }), triggers.forEach(trigger => {
39042
- evtTarget.addEventListener(trigger, this._onHandlerPointerUp);
39043
39027
  });
39044
39028
  }, this._pointerMove = e => {
39045
39029
  e.stopPropagation();
@@ -39080,7 +39064,11 @@
39080
39064
  start: this.state.start,
39081
39065
  end: this.state.end,
39082
39066
  tag: this._activeTag
39083
- }), this._clearDragEvents();
39067
+ }), "browser" === vglobal.env && (vglobal.removeEventListener("pointermove", this._onHandlerPointerMove, {
39068
+ capture: !0
39069
+ }), vglobal.removeEventListener("pointerup", this._onHandlerPointerUp)), this.removeEventListener("pointermove", this._onHandlerPointerMove, {
39070
+ capture: !0
39071
+ }), this.removeEventListener("pointerup", this._onHandlerPointerUp);
39084
39072
  };
39085
39073
  const {
39086
39074
  position: position,
@@ -39099,7 +39087,7 @@
39099
39087
  } = this.attribute;
39100
39088
  this._startHandlerMask && this._startHandlerMask.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "start")), this._endHandlerMask && this._endHandlerMask.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "end")), this._middleHandlerSymbol && this._middleHandlerSymbol.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "middleSymbol")), this._middleHandlerRect && this._middleHandlerRect.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "middleRect"));
39101
39089
  const selectedTag = brushSelect ? "background" : "middleRect";
39102
- this._selectedBackground && this._selectedBackground.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, selectedTag)), brushSelect && this._background && this._background.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "background")), brushSelect && this._previewGroup && this._previewGroup.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "background")), this._selectedPreviewGroup && this._selectedPreviewGroup.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, selectedTag)), "auto" === showDetail && (this.addEventListener("pointerenter", this._onHandlerPointerEnter), this.addEventListener("pointerleave", this._onHandlerPointerLeave));
39090
+ this._selectedBackground && this._selectedBackground.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, selectedTag)), brushSelect && this._background && this._background.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "background")), brushSelect && this._previewGroup && this._previewGroup.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, "background")), this._selectedPreviewGroup && this._selectedPreviewGroup.addEventListener("pointerdown", e => this._onHandlerPointerDown(e, selectedTag)), this.addEventListener("pointerup", this._onHandlerPointerUp), this.addEventListener("pointerupoutside", this._onHandlerPointerUp), "auto" === showDetail && (this.addEventListener("pointerenter", this._onHandlerPointerEnter), this.addEventListener("pointerleave", this._onHandlerPointerLeave));
39103
39091
  }
39104
39092
  dragMaskSize() {
39105
39093
  const {
@@ -39130,15 +39118,6 @@
39130
39118
  y: 0
39131
39119
  };
39132
39120
  }
39133
- _clearDragEvents() {
39134
- const evtTarget = "browser" === vglobal.env ? vglobal : this.stage,
39135
- triggers = getEndTriggersOfDrag();
39136
- evtTarget.removeEventListener("pointermove", this._onHandlerPointerMove, {
39137
- capture: !0
39138
- }), triggers.forEach(trigger => {
39139
- evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);
39140
- });
39141
- }
39142
39121
  _onHandlerPointerEnter(e) {
39143
39122
  e.stopPropagation(), this._showText = !0, this.renderText();
39144
39123
  }
@@ -42623,19 +42602,16 @@
42623
42602
  } = this.attribute;
42624
42603
  tooltip && tooltip.alwaysShow || (this._tooltipState = null, this._tooltipShape && this._tooltipShape.setAttribute("visible", !1), this._tooltipText && this._tooltipText.setAttribute("visible", !1), this._dispatchTooltipEvent("sliderTooltipHide"));
42625
42604
  }, this._onHandlerPointerdown = e => {
42626
- e.stopPropagation(), this._clearAllDragEvents(), this._isChanging = !0;
42605
+ e.stopPropagation(), this._isChanging = !0;
42627
42606
  const {
42628
42607
  x: x,
42629
42608
  y: y
42630
42609
  } = this.stage.eventPointTransform(e);
42631
- this._currentHandler = e.target, this._prePos = this._isHorizontal ? x : y;
42632
- const triggers = getEndTriggersOfDrag(),
42633
- obj = "browser" === vglobal.env ? vglobal : this.stage;
42634
- obj.addEventListener("pointermove", this._onHandlerPointerMove, {
42610
+ this._currentHandler = e.target, this._prePos = this._isHorizontal ? x : y, "browser" === vglobal.env ? (vglobal.addEventListener("pointermove", this._onHandlerPointerMove, {
42635
42611
  capture: !0
42636
- }), triggers.forEach(trigger => {
42637
- obj.addEventListener(trigger, this._onHandlerPointerUp);
42638
- });
42612
+ }), vglobal.addEventListener("pointerup", this._onHandlerPointerUp)) : (this.stage.addEventListener("pointermove", this._onHandlerPointerMove, {
42613
+ capture: !0
42614
+ }), this.stage.addEventListener("pointerup", this._onHandlerPointerUp), this.stage.addEventListener("pointerupoutside", this._onHandlerPointerUp));
42639
42615
  }, this._onHandlerPointerMove = e => {
42640
42616
  var _a, _b;
42641
42617
  e.stopPropagation(), this._isChanging = !0;
@@ -42659,21 +42635,22 @@
42659
42635
  currentValue = this.calculateValueByPos(newPos);
42660
42636
  "text" === this._currentHandler.type ? this._updateHandlerText(this._currentHandler, newPos, currentValue) : this._updateHandler(this._currentHandler, newPos, currentValue), this._updateTrack(), this._prePos = currentPos, this._dispatchChangeEvent();
42661
42637
  }, this._onHandlerPointerUp = e => {
42662
- e.preventDefault(), this._isChanging = !1, this._currentHandler = null, this._clearAllDragEvents();
42638
+ e.preventDefault(), this._isChanging = !1, this._currentHandler = null, "browser" === vglobal.env ? (vglobal.removeEventListener("pointermove", this._onHandlerPointerMove, {
42639
+ capture: !0
42640
+ }), vglobal.removeEventListener("pointerup", this._onHandlerPointerUp)) : (this.stage.removeEventListener("pointermove", this._onHandlerPointerMove, {
42641
+ capture: !0
42642
+ }), this.stage.removeEventListener("pointerup", this._onHandlerPointerUp), this.stage.removeEventListener("pointerupoutside", this._onHandlerPointerUp));
42663
42643
  }, this._onTrackPointerdown = e => {
42664
- e.stopPropagation(), this._clearAllDragEvents(), this._isChanging = !0;
42644
+ e.stopPropagation(), this._isChanging = !0;
42665
42645
  const {
42666
42646
  x: x,
42667
42647
  y: y
42668
42648
  } = this.stage.eventPointTransform(e);
42669
- this._prePos = this._isHorizontal ? x : y;
42670
- const triggers = getEndTriggersOfDrag(),
42671
- obj = "browser" === vglobal.env ? vglobal : this.stage;
42672
- obj.addEventListener("pointermove", this._onTrackPointerMove, {
42649
+ this._prePos = this._isHorizontal ? x : y, "browser" === vglobal.env ? (vglobal.addEventListener("pointermove", this._onTrackPointerMove, {
42673
42650
  capture: !0
42674
- }), triggers.forEach(trigger => {
42675
- obj.addEventListener(trigger, this._onTrackPointerUp);
42676
- });
42651
+ }), vglobal.addEventListener("pointerup", this._onTrackPointerUp)) : (this.stage.addEventListener("pointermove", this._onTrackPointerMove, {
42652
+ capture: !0
42653
+ }), this.stage.addEventListener("pointerup", this._onTrackPointerUp), this.stage.addEventListener("pointerupoutside", this._onTrackPointerUp));
42677
42654
  }, this._onTrackPointerMove = e => {
42678
42655
  e.stopPropagation(), this._isChanging = !0;
42679
42656
  const {
@@ -42716,9 +42693,13 @@
42716
42693
  }
42717
42694
  this._prePos = currentPos, this._dispatchChangeEvent();
42718
42695
  }, this._onTrackPointerUp = e => {
42719
- e.preventDefault(), this._isChanging = !1, this._clearAllDragEvents();
42696
+ e.preventDefault(), this._isChanging = !1, "browser" === vglobal.env ? (vglobal.removeEventListener("pointermove", this._onTrackPointerMove, {
42697
+ capture: !0
42698
+ }), vglobal.removeEventListener("pointerup", this._onTrackPointerUp)) : (this.stage.removeEventListener("pointermove", this._onTrackPointerMove, {
42699
+ capture: !0
42700
+ }), this.stage.removeEventListener("pointerup", this._onTrackPointerUp), this.stage.removeEventListener("pointerupoutside", this._onTrackPointerUp));
42720
42701
  }, this._onRailPointerDown = e => {
42721
- e.stopPropagation(), this._clearAllDragEvents(), this._isChanging = !0;
42702
+ e.stopPropagation(), this._isChanging = !0;
42722
42703
  const {
42723
42704
  railWidth: railWidth,
42724
42705
  railHeight: railHeight,
@@ -43044,19 +43025,6 @@
43044
43025
  _bindTooltipEvents() {
43045
43026
  this.attribute.disableTriggerEvent || (this._mainContainer.addEventListener("pointerenter", this._onTooltipShow), this._mainContainer.addEventListener("pointermove", this._onTooltipUpdate), this._mainContainer.addEventListener("pointerleave", this._onTooltipHide));
43046
43027
  }
43047
- _clearAllDragEvents() {
43048
- const triggers = getEndTriggersOfDrag(),
43049
- obj = "browser" === vglobal.env ? vglobal : this.stage;
43050
- obj.removeEventListener("pointermove", this._onHandlerPointerMove, {
43051
- capture: !0
43052
- }), triggers.forEach(trigger => {
43053
- obj.removeEventListener(trigger, this._onHandlerPointerUp);
43054
- }), obj.removeEventListener("pointermove", this._onTrackPointerMove, {
43055
- capture: !0
43056
- }), triggers.forEach(trigger => {
43057
- obj.removeEventListener(trigger, this._onTrackPointerUp);
43058
- });
43059
- }
43060
43028
  _updateTrack() {
43061
43029
  const {
43062
43030
  inverse: inverse,
@@ -63694,7 +63662,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
63694
63662
  };
63695
63663
  registerVChartCore();
63696
63664
 
63697
- const version = "1.13.9-alpha.4";
63665
+ const version = "1.13.9-alpha.6";
63698
63666
 
63699
63667
  const addVChartProperty = (data, op) => {
63700
63668
  const context = op.beforeCall();
@@ -71106,58 +71074,83 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
71106
71074
  }
71107
71075
  });
71108
71076
  }
71109
- _setStateInDatum(stateKey, checkReverse, datum, filter, region) {
71077
+ filterGraphicsByDatum(datum, opt = {}) {
71078
+ var _a;
71110
71079
  datum = datum ? array(datum) : null;
71111
71080
  const keys = !datum ? null : Object.keys(datum[0]);
71112
- this.getRegionsInQuerier(region).forEach(r => {
71113
- if (!datum) {
71114
- r.interaction.clearEventElement(stateKey, true);
71115
- return;
71116
- }
71117
- r.getSeries().forEach(s => {
71118
- s.getMarks().forEach(m => {
71119
- if (!m.getProduct()) {
71120
- return;
71121
- }
71122
- if (!filter || (isFunction$1(filter) && filter(s, m))) {
71123
- const isCollect = m.getProduct().isCollectionMark();
71124
- const elements = m.getProduct().elements;
71125
- let pickElements = [];
71126
- if (isCollect) {
71127
- pickElements = elements.filter(e => {
71128
- const elDatum = e.getDatum();
71129
- datum.every((d, index) => keys.every(k => d[k] == elDatum[index][k]));
71130
- });
71081
+ const allElements = [];
71082
+ const getDatumOfElement = (_a = opt.getDatum) !== null && _a !== void 0 ? _a : ((el) => el.getDatum());
71083
+ this.getRegionsInQuerier(opt.region).forEach(r => {
71084
+ const pickElements = [];
71085
+ datum &&
71086
+ r.getSeries().forEach(s => {
71087
+ s.getMarks().forEach(m => {
71088
+ if (!m.getProduct()) {
71089
+ return;
71131
71090
  }
71132
- else {
71133
- if (datum.length > 1) {
71134
- const datumTemp = datum.slice();
71135
- pickElements = elements.filter(e => {
71136
- if (datumTemp.length === 0) {
71137
- return false;
71138
- }
71139
- const elDatum = e.getDatum();
71140
- const index = datumTemp.findIndex(d => keys.every(k => d[k] == elDatum[k]));
71141
- if (index >= 0) {
71142
- datumTemp.splice(index, 1);
71143
- return true;
71091
+ if (!opt.filter || (isFunction$1(opt.filter) && opt.filter(s, m))) {
71092
+ const isCollect = m.getProduct().isCollectionMark();
71093
+ const elements = m.getProduct().elements;
71094
+ if (isCollect) {
71095
+ elements.filter(e => {
71096
+ const elDatum = getDatumOfElement(e, m, s, r);
71097
+ const isPick = elDatum && datum.every((d, index) => keys.every(k => d[k] == elDatum[index][k]));
71098
+ if (isPick) {
71099
+ pickElements.push(e);
71100
+ allElements.push(e);
71101
+ opt.callback && opt.callback(e, m, s, r);
71144
71102
  }
71145
- return false;
71146
71103
  });
71147
71104
  }
71148
71105
  else {
71149
- const el = elements.find(e => keys.every(k => datum[0][k] == e.getDatum()[k]));
71150
- el && (pickElements = [el]);
71106
+ if (datum.length > 1) {
71107
+ const datumTemp = datum.slice();
71108
+ elements.forEach(e => {
71109
+ const elDatum = getDatumOfElement(e, m, s, r);
71110
+ const index = elDatum && datumTemp.findIndex(d => keys.every(k => d[k] == elDatum[k]));
71111
+ if (index >= 0) {
71112
+ datumTemp.splice(index, 1);
71113
+ pickElements.push(e);
71114
+ allElements.push(e);
71115
+ opt.callback && opt.callback(e, m, s, r);
71116
+ }
71117
+ });
71118
+ }
71119
+ else {
71120
+ const el = elements.find(e => {
71121
+ const elDatum = getDatumOfElement(e, m, s, r);
71122
+ return elDatum && keys.every(k => datum[0][k] == elDatum[k]);
71123
+ });
71124
+ if (el) {
71125
+ pickElements.push(el);
71126
+ allElements.push(el);
71127
+ opt.callback && opt.callback(el, m, s, r);
71128
+ }
71129
+ }
71151
71130
  }
71152
71131
  }
71153
- pickElements.forEach(element => {
71154
- r.interaction.startInteraction(stateKey, element);
71155
- });
71156
- }
71132
+ });
71157
71133
  });
71158
- });
71159
- if (checkReverse) {
71160
- r.interaction.reverseEventElement(stateKey);
71134
+ opt.regionCallback && opt.regionCallback(pickElements, r);
71135
+ });
71136
+ return allElements;
71137
+ }
71138
+ _setStateInDatum(stateKey, checkReverse, datum, filter, region) {
71139
+ this.filterGraphicsByDatum(datum, {
71140
+ filter,
71141
+ region,
71142
+ regionCallback: (elements, r) => {
71143
+ if (!datum) {
71144
+ r.interaction.clearEventElement(stateKey, true);
71145
+ }
71146
+ else if (elements.length) {
71147
+ elements.forEach(e => {
71148
+ r.interaction.startInteraction(stateKey, e);
71149
+ });
71150
+ if (checkReverse) {
71151
+ r.interaction.reverseEventElement(stateKey);
71152
+ }
71153
+ }
71161
71154
  }
71162
71155
  });
71163
71156
  }
@@ -92016,49 +92009,40 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
92016
92009
  }
92017
92010
  _setStateInDatum(stateKey, checkReverse, datum, filter, region) {
92018
92011
  const activeDatum = isArray$1(datum) ? datum[0] : datum;
92019
- const keys = !activeDatum ? null : Object.keys(activeDatum);
92020
- this.getRegionsInQuerier(region).forEach(r => {
92021
- if (!activeDatum) {
92022
- r.interaction.clearEventElement(stateKey, true);
92023
- return;
92024
- }
92025
- let hasPick = false;
92026
- r.getSeries().forEach(s => {
92027
- var _a, _b;
92028
- let activeNodeOrLink = null;
92029
- s.getMarksWithoutRoot().forEach(m => {
92030
- if (m.type === 'text') {
92031
- return;
92032
- }
92033
- let pickElement = null;
92034
- const mark = m.getProduct();
92035
- if (!mark) {
92036
- return;
92037
- }
92038
- if (!filter || (isFunction$1(filter) && filter(s, m))) {
92039
- pickElement = mark.elements.find((e) => keys.every(k => {
92040
- var _a;
92041
- let datum = (_a = e.getDatum()) === null || _a === void 0 ? void 0 : _a.datum;
92042
- if (isArray$1(datum)) {
92043
- datum = datum[0];
92044
- }
92045
- return activeDatum[k] == (datum === null || datum === void 0 ? void 0 : datum[k]);
92046
- }));
92047
- }
92048
- if (pickElement) {
92049
- hasPick = true;
92050
- r.interaction.startInteraction(stateKey, pickElement);
92051
- if (mark.id().includes('node') || mark.id().includes('link')) {
92052
- activeNodeOrLink = pickElement;
92053
- }
92012
+ const markFilter = (series, mark) => {
92013
+ return mark.type !== 'text' && mark.getProduct() && (!filter || filter(series, mark));
92014
+ };
92015
+ this.filterGraphicsByDatum(activeDatum, {
92016
+ filter: markFilter,
92017
+ region,
92018
+ getDatum: e => {
92019
+ var _a;
92020
+ let d = (_a = e.getDatum()) === null || _a === void 0 ? void 0 : _a.datum;
92021
+ if (isArray$1(d)) {
92022
+ d = d[0];
92023
+ }
92024
+ return d;
92025
+ },
92026
+ callback: (element, mark, s, r) => {
92027
+ var _a, _b, _c;
92028
+ const id = (_a = mark.getProduct()) === null || _a === void 0 ? void 0 : _a.id();
92029
+ if (id && (id.includes('node') || id.includes('link'))) {
92030
+ (_c = (_b = s)._handleEmphasisElement) === null || _c === void 0 ? void 0 : _c.call(_b, { item: element });
92031
+ }
92032
+ },
92033
+ regionCallback: (elements, r) => {
92034
+ if (!activeDatum) {
92035
+ r.interaction.clearEventElement(stateKey, true);
92036
+ return;
92037
+ }
92038
+ else if (elements.length) {
92039
+ elements.forEach(e => {
92040
+ r.interaction.startInteraction(stateKey, e);
92041
+ });
92042
+ if (checkReverse) {
92043
+ r.interaction.reverseEventElement(stateKey);
92054
92044
  }
92055
- });
92056
- if (activeNodeOrLink) {
92057
- (_b = (_a = s)._handleEmphasisElement) === null || _b === void 0 ? void 0 : _b.call(_a, { item: activeNodeOrLink });
92058
92045
  }
92059
- });
92060
- if (checkReverse && hasPick) {
92061
- r.interaction.reverseEventElement(stateKey);
92062
92046
  }
92063
92047
  });
92064
92048
  }