@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.es.js CHANGED
@@ -31425,10 +31425,6 @@ const SCROLLBAR_START_EVENT = "scrollDown";
31425
31425
  const SCROLLBAR_EVENT$1 = "scrollDrag";
31426
31426
  const SCROLLBAR_END_EVENT$1 = "scrollUp";
31427
31427
 
31428
- function getEndTriggersOfDrag() {
31429
- return "browser" === vglobal.env ? ["pointerup", "pointerleave", "pointercancel"] : ["pointerup", "pointerleave", "pointerupoutside"];
31430
- }
31431
-
31432
31428
  const delayMap$3 = {
31433
31429
  debounce: debounce,
31434
31430
  throttle: throttle
@@ -31461,7 +31457,6 @@ let ScrollBar$1 = class ScrollBar extends AbstractComponent {
31461
31457
  }
31462
31458
  this.setScrollRange([currentScrollValue - (range[1] - range[0]) / 2, currentScrollValue + (range[1] - range[0]) / 2], !1), this.stage && !this.stage.autoRender && this.stage.renderNextFrame();
31463
31459
  }, this._onSliderPointerDown = e => {
31464
- this._clearDragEvents();
31465
31460
  const {
31466
31461
  stopSliderDownPropagation = !0
31467
31462
  } = this.attribute;
@@ -31476,14 +31471,11 @@ let ScrollBar$1 = class ScrollBar extends AbstractComponent {
31476
31471
  this._prePos = "horizontal" === direction ? x : y, this._dispatchEvent(SCROLLBAR_START_EVENT, {
31477
31472
  pos: this._prePos,
31478
31473
  event: e
31479
- });
31480
- const triggers = getEndTriggersOfDrag(),
31481
- obj = "browser" === vglobal.env ? vglobal : this.stage;
31482
- obj.addEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31474
+ }), "browser" === vglobal.env ? (vglobal.addEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31483
31475
  capture: !0
31484
- }), triggers.forEach(trigger => {
31485
- obj.addEventListener(trigger, this._onSliderPointerUp);
31486
- });
31476
+ }), vglobal.addEventListener("pointerup", this._onSliderPointerUp)) : (this.stage.addEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31477
+ capture: !0
31478
+ }), this.stage.addEventListener("pointerup", this._onSliderPointerUp), this.stage.addEventListener("pointerupoutside", this._onSliderPointerUp));
31487
31479
  }, this._computeScrollValue = e => {
31488
31480
  const {
31489
31481
  direction: direction
@@ -31520,7 +31512,11 @@ let ScrollBar$1 = class ScrollBar extends AbstractComponent {
31520
31512
  this._dispatchEvent(SCROLLBAR_END_EVENT$1, {
31521
31513
  pre: preRange,
31522
31514
  value: clampRange$1(range, limitRange[0], limitRange[1])
31523
- }), this._clearDragEvents();
31515
+ }), "browser" === vglobal.env ? (vglobal.removeEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31516
+ capture: !0
31517
+ }), vglobal.removeEventListener("pointerup", this._onSliderPointerUp)) : (this.stage.removeEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31518
+ capture: !0
31519
+ }), this.stage.removeEventListener("pointerup", this._onSliderPointerUp), this.stage.removeEventListener("pointerupoutside", this._onSliderPointerUp));
31524
31520
  };
31525
31521
  }
31526
31522
  setScrollRange(range) {
@@ -31669,15 +31665,6 @@ let ScrollBar$1 = class ScrollBar extends AbstractComponent {
31669
31665
  sliderSize = this._sliderSize;
31670
31666
  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);
31671
31667
  }
31672
- _clearDragEvents() {
31673
- const triggers = getEndTriggersOfDrag(),
31674
- obj = "browser" === vglobal.env ? vglobal : this.stage;
31675
- obj.removeEventListener("pointermove", this._onSliderPointerMoveWithDelay, {
31676
- capture: !0
31677
- }), triggers.forEach(trigger => {
31678
- obj.removeEventListener(trigger, this._onSliderPointerUp);
31679
- });
31680
- }
31681
31668
  _reset() {
31682
31669
  this._sliderRenderBounds = null, this._sliderLimitRange = null;
31683
31670
  }
@@ -39027,13 +39014,10 @@ let DataZoom$1 = class DataZoom extends AbstractComponent {
39027
39014
  start: 0,
39028
39015
  end: 1
39029
39016
  }, this._statePointToData = state => state, this._onHandlerPointerDown = (e, tag) => {
39030
- 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);
39031
- const evtTarget = "browser" === vglobal.env ? vglobal : this.stage,
39032
- triggers = getEndTriggersOfDrag();
39033
- evtTarget.addEventListener("pointermove", this._onHandlerPointerMove, {
39017
+ 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, {
39018
+ capture: !0
39019
+ }), vglobal.addEventListener("pointerup", this._onHandlerPointerUp)), this.addEventListener("pointermove", this._onHandlerPointerMove, {
39034
39020
  capture: !0
39035
- }), triggers.forEach(trigger => {
39036
- evtTarget.addEventListener(trigger, this._onHandlerPointerUp);
39037
39021
  });
39038
39022
  }, this._pointerMove = e => {
39039
39023
  e.stopPropagation();
@@ -39074,7 +39058,11 @@ let DataZoom$1 = class DataZoom extends AbstractComponent {
39074
39058
  start: this.state.start,
39075
39059
  end: this.state.end,
39076
39060
  tag: this._activeTag
39077
- }), this._clearDragEvents();
39061
+ }), "browser" === vglobal.env && (vglobal.removeEventListener("pointermove", this._onHandlerPointerMove, {
39062
+ capture: !0
39063
+ }), vglobal.removeEventListener("pointerup", this._onHandlerPointerUp)), this.removeEventListener("pointermove", this._onHandlerPointerMove, {
39064
+ capture: !0
39065
+ }), this.removeEventListener("pointerup", this._onHandlerPointerUp);
39078
39066
  };
39079
39067
  const {
39080
39068
  position: position,
@@ -39093,7 +39081,7 @@ let DataZoom$1 = class DataZoom extends AbstractComponent {
39093
39081
  } = this.attribute;
39094
39082
  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"));
39095
39083
  const selectedTag = brushSelect ? "background" : "middleRect";
39096
- 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));
39084
+ 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));
39097
39085
  }
39098
39086
  dragMaskSize() {
39099
39087
  const {
@@ -39124,15 +39112,6 @@ let DataZoom$1 = class DataZoom extends AbstractComponent {
39124
39112
  y: 0
39125
39113
  };
39126
39114
  }
39127
- _clearDragEvents() {
39128
- const evtTarget = "browser" === vglobal.env ? vglobal : this.stage,
39129
- triggers = getEndTriggersOfDrag();
39130
- evtTarget.removeEventListener("pointermove", this._onHandlerPointerMove, {
39131
- capture: !0
39132
- }), triggers.forEach(trigger => {
39133
- evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);
39134
- });
39135
- }
39136
39115
  _onHandlerPointerEnter(e) {
39137
39116
  e.stopPropagation(), this._showText = !0, this.renderText();
39138
39117
  }
@@ -42617,19 +42596,16 @@ class Slider extends AbstractComponent {
42617
42596
  } = this.attribute;
42618
42597
  tooltip && tooltip.alwaysShow || (this._tooltipState = null, this._tooltipShape && this._tooltipShape.setAttribute("visible", !1), this._tooltipText && this._tooltipText.setAttribute("visible", !1), this._dispatchTooltipEvent("sliderTooltipHide"));
42619
42598
  }, this._onHandlerPointerdown = e => {
42620
- e.stopPropagation(), this._clearAllDragEvents(), this._isChanging = !0;
42599
+ e.stopPropagation(), this._isChanging = !0;
42621
42600
  const {
42622
42601
  x: x,
42623
42602
  y: y
42624
42603
  } = this.stage.eventPointTransform(e);
42625
- this._currentHandler = e.target, this._prePos = this._isHorizontal ? x : y;
42626
- const triggers = getEndTriggersOfDrag(),
42627
- obj = "browser" === vglobal.env ? vglobal : this.stage;
42628
- obj.addEventListener("pointermove", this._onHandlerPointerMove, {
42604
+ this._currentHandler = e.target, this._prePos = this._isHorizontal ? x : y, "browser" === vglobal.env ? (vglobal.addEventListener("pointermove", this._onHandlerPointerMove, {
42629
42605
  capture: !0
42630
- }), triggers.forEach(trigger => {
42631
- obj.addEventListener(trigger, this._onHandlerPointerUp);
42632
- });
42606
+ }), vglobal.addEventListener("pointerup", this._onHandlerPointerUp)) : (this.stage.addEventListener("pointermove", this._onHandlerPointerMove, {
42607
+ capture: !0
42608
+ }), this.stage.addEventListener("pointerup", this._onHandlerPointerUp), this.stage.addEventListener("pointerupoutside", this._onHandlerPointerUp));
42633
42609
  }, this._onHandlerPointerMove = e => {
42634
42610
  var _a, _b;
42635
42611
  e.stopPropagation(), this._isChanging = !0;
@@ -42653,21 +42629,22 @@ class Slider extends AbstractComponent {
42653
42629
  currentValue = this.calculateValueByPos(newPos);
42654
42630
  "text" === this._currentHandler.type ? this._updateHandlerText(this._currentHandler, newPos, currentValue) : this._updateHandler(this._currentHandler, newPos, currentValue), this._updateTrack(), this._prePos = currentPos, this._dispatchChangeEvent();
42655
42631
  }, this._onHandlerPointerUp = e => {
42656
- e.preventDefault(), this._isChanging = !1, this._currentHandler = null, this._clearAllDragEvents();
42632
+ e.preventDefault(), this._isChanging = !1, this._currentHandler = null, "browser" === vglobal.env ? (vglobal.removeEventListener("pointermove", this._onHandlerPointerMove, {
42633
+ capture: !0
42634
+ }), vglobal.removeEventListener("pointerup", this._onHandlerPointerUp)) : (this.stage.removeEventListener("pointermove", this._onHandlerPointerMove, {
42635
+ capture: !0
42636
+ }), this.stage.removeEventListener("pointerup", this._onHandlerPointerUp), this.stage.removeEventListener("pointerupoutside", this._onHandlerPointerUp));
42657
42637
  }, this._onTrackPointerdown = e => {
42658
- e.stopPropagation(), this._clearAllDragEvents(), this._isChanging = !0;
42638
+ e.stopPropagation(), this._isChanging = !0;
42659
42639
  const {
42660
42640
  x: x,
42661
42641
  y: y
42662
42642
  } = this.stage.eventPointTransform(e);
42663
- this._prePos = this._isHorizontal ? x : y;
42664
- const triggers = getEndTriggersOfDrag(),
42665
- obj = "browser" === vglobal.env ? vglobal : this.stage;
42666
- obj.addEventListener("pointermove", this._onTrackPointerMove, {
42643
+ this._prePos = this._isHorizontal ? x : y, "browser" === vglobal.env ? (vglobal.addEventListener("pointermove", this._onTrackPointerMove, {
42667
42644
  capture: !0
42668
- }), triggers.forEach(trigger => {
42669
- obj.addEventListener(trigger, this._onTrackPointerUp);
42670
- });
42645
+ }), vglobal.addEventListener("pointerup", this._onTrackPointerUp)) : (this.stage.addEventListener("pointermove", this._onTrackPointerMove, {
42646
+ capture: !0
42647
+ }), this.stage.addEventListener("pointerup", this._onTrackPointerUp), this.stage.addEventListener("pointerupoutside", this._onTrackPointerUp));
42671
42648
  }, this._onTrackPointerMove = e => {
42672
42649
  e.stopPropagation(), this._isChanging = !0;
42673
42650
  const {
@@ -42710,9 +42687,13 @@ class Slider extends AbstractComponent {
42710
42687
  }
42711
42688
  this._prePos = currentPos, this._dispatchChangeEvent();
42712
42689
  }, this._onTrackPointerUp = e => {
42713
- e.preventDefault(), this._isChanging = !1, this._clearAllDragEvents();
42690
+ e.preventDefault(), this._isChanging = !1, "browser" === vglobal.env ? (vglobal.removeEventListener("pointermove", this._onTrackPointerMove, {
42691
+ capture: !0
42692
+ }), vglobal.removeEventListener("pointerup", this._onTrackPointerUp)) : (this.stage.removeEventListener("pointermove", this._onTrackPointerMove, {
42693
+ capture: !0
42694
+ }), this.stage.removeEventListener("pointerup", this._onTrackPointerUp), this.stage.removeEventListener("pointerupoutside", this._onTrackPointerUp));
42714
42695
  }, this._onRailPointerDown = e => {
42715
- e.stopPropagation(), this._clearAllDragEvents(), this._isChanging = !0;
42696
+ e.stopPropagation(), this._isChanging = !0;
42716
42697
  const {
42717
42698
  railWidth: railWidth,
42718
42699
  railHeight: railHeight,
@@ -43038,19 +43019,6 @@ class Slider extends AbstractComponent {
43038
43019
  _bindTooltipEvents() {
43039
43020
  this.attribute.disableTriggerEvent || (this._mainContainer.addEventListener("pointerenter", this._onTooltipShow), this._mainContainer.addEventListener("pointermove", this._onTooltipUpdate), this._mainContainer.addEventListener("pointerleave", this._onTooltipHide));
43040
43021
  }
43041
- _clearAllDragEvents() {
43042
- const triggers = getEndTriggersOfDrag(),
43043
- obj = "browser" === vglobal.env ? vglobal : this.stage;
43044
- obj.removeEventListener("pointermove", this._onHandlerPointerMove, {
43045
- capture: !0
43046
- }), triggers.forEach(trigger => {
43047
- obj.removeEventListener(trigger, this._onHandlerPointerUp);
43048
- }), obj.removeEventListener("pointermove", this._onTrackPointerMove, {
43049
- capture: !0
43050
- }), triggers.forEach(trigger => {
43051
- obj.removeEventListener(trigger, this._onTrackPointerUp);
43052
- });
43053
- }
43054
43022
  _updateTrack() {
43055
43023
  const {
43056
43024
  inverse: inverse,
@@ -63688,7 +63656,7 @@ const registerVChartCore = () => {
63688
63656
  };
63689
63657
  registerVChartCore();
63690
63658
 
63691
- const version = "1.13.9-alpha.4";
63659
+ const version = "1.13.9-alpha.6";
63692
63660
 
63693
63661
  const addVChartProperty = (data, op) => {
63694
63662
  const context = op.beforeCall();
@@ -71100,58 +71068,83 @@ class BaseChart extends CompilableBase {
71100
71068
  }
71101
71069
  });
71102
71070
  }
71103
- _setStateInDatum(stateKey, checkReverse, datum, filter, region) {
71071
+ filterGraphicsByDatum(datum, opt = {}) {
71072
+ var _a;
71104
71073
  datum = datum ? array(datum) : null;
71105
71074
  const keys = !datum ? null : Object.keys(datum[0]);
71106
- this.getRegionsInQuerier(region).forEach(r => {
71107
- if (!datum) {
71108
- r.interaction.clearEventElement(stateKey, true);
71109
- return;
71110
- }
71111
- r.getSeries().forEach(s => {
71112
- s.getMarks().forEach(m => {
71113
- if (!m.getProduct()) {
71114
- return;
71115
- }
71116
- if (!filter || (isFunction$1(filter) && filter(s, m))) {
71117
- const isCollect = m.getProduct().isCollectionMark();
71118
- const elements = m.getProduct().elements;
71119
- let pickElements = [];
71120
- if (isCollect) {
71121
- pickElements = elements.filter(e => {
71122
- const elDatum = e.getDatum();
71123
- datum.every((d, index) => keys.every(k => d[k] == elDatum[index][k]));
71124
- });
71075
+ const allElements = [];
71076
+ const getDatumOfElement = (_a = opt.getDatum) !== null && _a !== void 0 ? _a : ((el) => el.getDatum());
71077
+ this.getRegionsInQuerier(opt.region).forEach(r => {
71078
+ const pickElements = [];
71079
+ datum &&
71080
+ r.getSeries().forEach(s => {
71081
+ s.getMarks().forEach(m => {
71082
+ if (!m.getProduct()) {
71083
+ return;
71125
71084
  }
71126
- else {
71127
- if (datum.length > 1) {
71128
- const datumTemp = datum.slice();
71129
- pickElements = elements.filter(e => {
71130
- if (datumTemp.length === 0) {
71131
- return false;
71132
- }
71133
- const elDatum = e.getDatum();
71134
- const index = datumTemp.findIndex(d => keys.every(k => d[k] == elDatum[k]));
71135
- if (index >= 0) {
71136
- datumTemp.splice(index, 1);
71137
- return true;
71085
+ if (!opt.filter || (isFunction$1(opt.filter) && opt.filter(s, m))) {
71086
+ const isCollect = m.getProduct().isCollectionMark();
71087
+ const elements = m.getProduct().elements;
71088
+ if (isCollect) {
71089
+ elements.filter(e => {
71090
+ const elDatum = getDatumOfElement(e, m, s, r);
71091
+ const isPick = elDatum && datum.every((d, index) => keys.every(k => d[k] == elDatum[index][k]));
71092
+ if (isPick) {
71093
+ pickElements.push(e);
71094
+ allElements.push(e);
71095
+ opt.callback && opt.callback(e, m, s, r);
71138
71096
  }
71139
- return false;
71140
71097
  });
71141
71098
  }
71142
71099
  else {
71143
- const el = elements.find(e => keys.every(k => datum[0][k] == e.getDatum()[k]));
71144
- el && (pickElements = [el]);
71100
+ if (datum.length > 1) {
71101
+ const datumTemp = datum.slice();
71102
+ elements.forEach(e => {
71103
+ const elDatum = getDatumOfElement(e, m, s, r);
71104
+ const index = elDatum && datumTemp.findIndex(d => keys.every(k => d[k] == elDatum[k]));
71105
+ if (index >= 0) {
71106
+ datumTemp.splice(index, 1);
71107
+ pickElements.push(e);
71108
+ allElements.push(e);
71109
+ opt.callback && opt.callback(e, m, s, r);
71110
+ }
71111
+ });
71112
+ }
71113
+ else {
71114
+ const el = elements.find(e => {
71115
+ const elDatum = getDatumOfElement(e, m, s, r);
71116
+ return elDatum && keys.every(k => datum[0][k] == elDatum[k]);
71117
+ });
71118
+ if (el) {
71119
+ pickElements.push(el);
71120
+ allElements.push(el);
71121
+ opt.callback && opt.callback(el, m, s, r);
71122
+ }
71123
+ }
71145
71124
  }
71146
71125
  }
71147
- pickElements.forEach(element => {
71148
- r.interaction.startInteraction(stateKey, element);
71149
- });
71150
- }
71126
+ });
71151
71127
  });
71152
- });
71153
- if (checkReverse) {
71154
- r.interaction.reverseEventElement(stateKey);
71128
+ opt.regionCallback && opt.regionCallback(pickElements, r);
71129
+ });
71130
+ return allElements;
71131
+ }
71132
+ _setStateInDatum(stateKey, checkReverse, datum, filter, region) {
71133
+ this.filterGraphicsByDatum(datum, {
71134
+ filter,
71135
+ region,
71136
+ regionCallback: (elements, r) => {
71137
+ if (!datum) {
71138
+ r.interaction.clearEventElement(stateKey, true);
71139
+ }
71140
+ else if (elements.length) {
71141
+ elements.forEach(e => {
71142
+ r.interaction.startInteraction(stateKey, e);
71143
+ });
71144
+ if (checkReverse) {
71145
+ r.interaction.reverseEventElement(stateKey);
71146
+ }
71147
+ }
71155
71148
  }
71156
71149
  });
71157
71150
  }
@@ -92010,49 +92003,40 @@ class SankeyChart extends BaseChart {
92010
92003
  }
92011
92004
  _setStateInDatum(stateKey, checkReverse, datum, filter, region) {
92012
92005
  const activeDatum = isArray$1(datum) ? datum[0] : datum;
92013
- const keys = !activeDatum ? null : Object.keys(activeDatum);
92014
- this.getRegionsInQuerier(region).forEach(r => {
92015
- if (!activeDatum) {
92016
- r.interaction.clearEventElement(stateKey, true);
92017
- return;
92018
- }
92019
- let hasPick = false;
92020
- r.getSeries().forEach(s => {
92021
- var _a, _b;
92022
- let activeNodeOrLink = null;
92023
- s.getMarksWithoutRoot().forEach(m => {
92024
- if (m.type === 'text') {
92025
- return;
92026
- }
92027
- let pickElement = null;
92028
- const mark = m.getProduct();
92029
- if (!mark) {
92030
- return;
92031
- }
92032
- if (!filter || (isFunction$1(filter) && filter(s, m))) {
92033
- pickElement = mark.elements.find((e) => keys.every(k => {
92034
- var _a;
92035
- let datum = (_a = e.getDatum()) === null || _a === void 0 ? void 0 : _a.datum;
92036
- if (isArray$1(datum)) {
92037
- datum = datum[0];
92038
- }
92039
- return activeDatum[k] == (datum === null || datum === void 0 ? void 0 : datum[k]);
92040
- }));
92041
- }
92042
- if (pickElement) {
92043
- hasPick = true;
92044
- r.interaction.startInteraction(stateKey, pickElement);
92045
- if (mark.id().includes('node') || mark.id().includes('link')) {
92046
- activeNodeOrLink = pickElement;
92047
- }
92006
+ const markFilter = (series, mark) => {
92007
+ return mark.type !== 'text' && mark.getProduct() && (!filter || filter(series, mark));
92008
+ };
92009
+ this.filterGraphicsByDatum(activeDatum, {
92010
+ filter: markFilter,
92011
+ region,
92012
+ getDatum: e => {
92013
+ var _a;
92014
+ let d = (_a = e.getDatum()) === null || _a === void 0 ? void 0 : _a.datum;
92015
+ if (isArray$1(d)) {
92016
+ d = d[0];
92017
+ }
92018
+ return d;
92019
+ },
92020
+ callback: (element, mark, s, r) => {
92021
+ var _a, _b, _c;
92022
+ const id = (_a = mark.getProduct()) === null || _a === void 0 ? void 0 : _a.id();
92023
+ if (id && (id.includes('node') || id.includes('link'))) {
92024
+ (_c = (_b = s)._handleEmphasisElement) === null || _c === void 0 ? void 0 : _c.call(_b, { item: element });
92025
+ }
92026
+ },
92027
+ regionCallback: (elements, r) => {
92028
+ if (!activeDatum) {
92029
+ r.interaction.clearEventElement(stateKey, true);
92030
+ return;
92031
+ }
92032
+ else if (elements.length) {
92033
+ elements.forEach(e => {
92034
+ r.interaction.startInteraction(stateKey, e);
92035
+ });
92036
+ if (checkReverse) {
92037
+ r.interaction.reverseEventElement(stateKey);
92048
92038
  }
92049
- });
92050
- if (activeNodeOrLink) {
92051
- (_b = (_a = s)._handleEmphasisElement) === null || _b === void 0 ? void 0 : _b.call(_a, { item: activeNodeOrLink });
92052
92039
  }
92053
- });
92054
- if (checkReverse && hasPick) {
92055
- r.interaction.reverseEventElement(stateKey);
92056
92040
  }
92057
92041
  });
92058
92042
  }