@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/cjs/axis/constant.js +2 -1
- package/cjs/brush/type.js +1 -2
- package/cjs/data-zoom/data-zoom.js +1 -1
- package/cjs/data-zoom/data-zoom.js.map +1 -1
- package/cjs/data-zoom/interaction.d.ts +12 -3
- package/cjs/data-zoom/interaction.js +58 -58
- package/cjs/data-zoom/interaction.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/indicator/type.js +1 -1
- package/cjs/jsx/index.js +1 -1
- package/cjs/slider/slider.d.ts +3 -2
- package/cjs/slider/slider.js +28 -41
- package/cjs/slider/slider.js.map +1 -1
- package/dist/index.es.js +178 -107
- package/es/axis/constant.js +2 -1
- package/es/brush/type.js +1 -2
- package/es/data-zoom/data-zoom.js +1 -1
- package/es/data-zoom/data-zoom.js.map +1 -1
- package/es/data-zoom/interaction.d.ts +12 -3
- package/es/data-zoom/interaction.js +60 -60
- package/es/data-zoom/interaction.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/indicator/type.js +1 -1
- package/es/jsx/index.js +1 -1
- package/es/slider/slider.d.ts +3 -2
- package/es/slider/slider.js +27 -44
- package/es/slider/slider.js.map +1 -1
- package/package.json +5 -5
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
|
-
|
|
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.
|
|
26642
|
-
|
|
26643
|
-
|
|
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
|
-
|
|
26672
|
-
|
|
26673
|
-
|
|
26674
|
-
this.on('
|
|
26675
|
-
|
|
26676
|
-
|
|
26677
|
-
|
|
26678
|
-
|
|
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.
|
|
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
|
-
|
|
26727
|
-
|
|
26728
|
-
|
|
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
|
|
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
|
-
|
|
26780
|
-
|
|
26781
|
-
|
|
26782
|
-
|
|
26783
|
-
|
|
26784
|
-
|
|
26785
|
-
this.
|
|
26786
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32264
|
-
|
|
32265
|
-
|
|
32266
|
-
|
|
32267
|
-
|
|
32268
|
-
|
|
32269
|
-
|
|
32270
|
-
|
|
32271
|
-
|
|
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.
|
|
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 };
|
package/es/axis/constant.js
CHANGED
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
|
-
|
|
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
|
|
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
|
}
|