@visactor/vrender-components 1.0.0-alpha.17 → 1.0.0-alpha.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { tau, halfPi as halfPi$1, AABBBounds, degreeToRadian, Point, PointService, abs, max, min, atan2, epsilon, Matrix, pi2, Logger, pi, isArray, isPointInLine, isNumberClose, TextMeasure, EventEmitter, isBoolean, isObject, isFunction, cos, sin, isString, pointAt, isNumber, sqrt, Color, OBBBounds, isNil, normalTransform, isValidUrl, isBase64, acos, transformBoundsWithMatrix, getContextFont, rotatePoint, clampAngleByRadian, asin, arrayEqual, Bounds, getRectIntersect, isRectIntersect, isEqual, isPlainObject, merge, clamp, clampRange, normalizePadding, debounce, throttle, hexToRgb, crossProduct, isValid, isEmpty, array, rectInsideAnotherRect, radianToDegree, getAngleByPoint, polarToCartesian, normalizeAngle, isValidNumber, flattenArray, isRotateAABBIntersect, isLess, isGreater, aabbSeparation, obbSeparation, cloneDeep, get, last, mixin, interpolateString, minInArray, maxInArray, binaryFuzzySearchInNumberRange, pointInRect, calculateAnchorOfBounds, computeQuadrant, polygonContainPoint } from '@visactor/vutils';
1
+ import { tau, halfPi as halfPi$1, AABBBounds, degreeToRadian, Point, PointService, abs, max, min, atan2, epsilon, Matrix, pi2, Logger, pi, isArray, isPointInLine, isNumberClose, TextMeasure, EventEmitter, isBoolean, isObject, isFunction, cos, sin, isString, pointAt, isNumber, sqrt, Color, OBBBounds, isNil, normalTransform, isValidUrl, isBase64, acos, transformBoundsWithMatrix, getContextFont, rotatePoint, clampAngleByRadian, asin, arrayEqual, Bounds, getRectIntersect, isRectIntersect, isEqual, isPlainObject, merge, isValid, clamp, clampRange, normalizePadding, debounce, throttle, hexToRgb, crossProduct, isEmpty, array, rectInsideAnotherRect, radianToDegree, getAngleByPoint, polarToCartesian, normalizeAngle, isValidNumber, flattenArray, isRotateAABBIntersect, isLess, isGreater, aabbSeparation, obbSeparation, cloneDeep, get, last, mixin, interpolateString, minInArray, maxInArray, binaryFuzzySearchInNumberRange, pointInRect, calculateAnchorOfBounds, computeQuadrant, polygonContainPoint } from '@visactor/vutils';
2
2
  import { isContinuous, isDiscrete, LinearScale } from '@visactor/vscale';
3
3
 
4
4
  class Generator {
@@ -489,11 +489,14 @@ class Container {
489
489
  const ContributionProvider = Symbol("ContributionProvider");
490
490
  class ContributionProviderCache {
491
491
  constructor(serviceIdentifier, container) {
492
- this.serviceIdentifier = serviceIdentifier, this.container = container;
492
+ this.serviceIdentifier = serviceIdentifier, this.container = container, ContributionStore.setStore(this.serviceIdentifier, this);
493
493
  }
494
494
  getContributions() {
495
495
  return this.caches || (this.caches = [], this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier))), this.caches;
496
496
  }
497
+ refresh() {
498
+ this.caches && (this.caches.length = 0, this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier)));
499
+ }
497
500
  }
498
501
  function bindContributionProvider(bind, id) {
499
502
  bind(ContributionProvider).toDynamicValue(_ref => {
@@ -511,6 +514,20 @@ function bindContributionProviderNoSingletonScope(bind, id) {
511
514
  return new ContributionProviderCache(id, container);
512
515
  }).whenTargetNamed(id);
513
516
  }
517
+ class ContributionStore {
518
+ static getStore(id) {
519
+ return this.store.get(id);
520
+ }
521
+ static setStore(id, cache) {
522
+ this.store.set(id, cache);
523
+ }
524
+ static refreshAllContributions() {
525
+ this.store.forEach(cache => {
526
+ cache.refresh();
527
+ });
528
+ }
529
+ }
530
+ ContributionStore.store = new Map();
514
531
 
515
532
  class Hook {
516
533
  constructor(args, name) {
@@ -592,10 +609,52 @@ class PerformanceRAF {
592
609
  };
593
610
  }
594
611
  addAnimationFrameCb(callback) {
595
- return this.nextAnimationFrameCbs.push(callback), this.tryRunAnimationFrameNextFrame(), this.nextAnimationFrameCbs.length - 1;
612
+ return this.nextAnimationFrameCbs.push(callback), this.tryRunAnimationFrameNextFrame(), this.nextAnimationFrameCbs.length;
596
613
  }
597
614
  removeAnimationFrameCb(index) {
598
- return index >= 0 && index < this.nextAnimationFrameCbs.length && (this.nextAnimationFrameCbs[index] = null, !0);
615
+ return index > 0 && index <= this.nextAnimationFrameCbs.length && (this.nextAnimationFrameCbs[index - 1] = null, !0);
616
+ }
617
+ }
618
+
619
+ class EventListenerManager {
620
+ constructor() {
621
+ this._listenerMap = new Map(), this._eventListenerTransformer = event => event;
622
+ }
623
+ setEventListenerTransformer(transformer) {
624
+ this._eventListenerTransformer = transformer || (event => event);
625
+ }
626
+ addEventListener(type, listener, options) {
627
+ if (!listener) return;
628
+ const wrappedListener = event => {
629
+ const transformedEvent = this._eventListenerTransformer(event);
630
+ "function" == typeof listener ? listener(transformedEvent) : listener.handleEvent && listener.handleEvent(transformedEvent);
631
+ };
632
+ this._listenerMap.has(type) || this._listenerMap.set(type, new Map()), this._listenerMap.get(type).set(listener, wrappedListener), this._nativeAddEventListener(type, wrappedListener, options);
633
+ }
634
+ removeEventListener(type, listener, options) {
635
+ var _a;
636
+ if (!listener) return;
637
+ const wrappedListener = null === (_a = this._listenerMap.get(type)) || void 0 === _a ? void 0 : _a.get(listener);
638
+ wrappedListener && (this._nativeRemoveEventListener(type, wrappedListener, options), this._listenerMap.get(type).delete(listener), 0 === this._listenerMap.get(type).size && this._listenerMap.delete(type));
639
+ }
640
+ dispatchEvent(event) {
641
+ return this._nativeDispatchEvent(event);
642
+ }
643
+ clearAllEventListeners() {
644
+ this._listenerMap.forEach((listenersMap, type) => {
645
+ listenersMap.forEach((wrappedListener, originalListener) => {
646
+ this._nativeRemoveEventListener(type, wrappedListener, void 0);
647
+ });
648
+ }), this._listenerMap.clear();
649
+ }
650
+ _nativeAddEventListener(type, listener, options) {
651
+ throw new Error("_nativeAddEventListener must be implemented by derived classes");
652
+ }
653
+ _nativeRemoveEventListener(type, listener, options) {
654
+ throw new Error("_nativeRemoveEventListener must be implemented by derived classes");
655
+ }
656
+ _nativeDispatchEvent(event) {
657
+ throw new Error("_nativeDispatchEvent must be implemented by derived classes");
599
658
  }
600
659
  }
601
660
 
@@ -639,7 +698,7 @@ var __decorate$Q = undefined && undefined.__decorate || function (decorators, ta
639
698
  step((generator = generator.apply(thisArg, _arguments || [])).next());
640
699
  });
641
700
  };
642
- let DefaultGlobal = class {
701
+ let DefaultGlobal = class extends EventListenerManager {
643
702
  get env() {
644
703
  return this._env;
645
704
  }
@@ -683,10 +742,19 @@ let DefaultGlobal = class {
683
742
  this._env || this.setEnv("browser"), this.envContribution.applyStyles = support;
684
743
  }
685
744
  constructor(contributions) {
686
- this.contributions = contributions, this._isImageAnonymous = !0, this._performanceRAFList = [], this.id = Generator.GenAutoIncrementId(), this.hooks = {
745
+ super(), this.contributions = contributions, this._isImageAnonymous = !0, this._performanceRAFList = [], this.eventListenerTransformer = event => event, this.id = Generator.GenAutoIncrementId(), this.hooks = {
687
746
  onSetEnv: new SyncHook(["lastEnv", "env", "global"])
688
747
  }, this.measureTextMethod = "native", this.optimizeVisible = !1;
689
748
  }
749
+ _nativeAddEventListener(type, listener, options) {
750
+ return this._env || this.setEnv("browser"), this.envContribution.addEventListener(type, listener, options);
751
+ }
752
+ _nativeRemoveEventListener(type, listener, options) {
753
+ return this._env || this.setEnv("browser"), this.envContribution.removeEventListener(type, listener, options);
754
+ }
755
+ _nativeDispatchEvent(event) {
756
+ return this._env || this.setEnv("browser"), this.envContribution.dispatchEvent(event);
757
+ }
690
758
  bindContribution(params) {
691
759
  const promiseArr = [];
692
760
  if (this.contributions.getContributions().forEach(contribution => {
@@ -727,15 +795,6 @@ let DefaultGlobal = class {
727
795
  releaseCanvas(canvas) {
728
796
  return this._env || this.setEnv("browser"), this.envContribution.releaseCanvas(canvas);
729
797
  }
730
- addEventListener(type, listener, options) {
731
- return this._env || this.setEnv("browser"), this.envContribution.addEventListener(type, listener, options);
732
- }
733
- removeEventListener(type, listener, options) {
734
- return this._env || this.setEnv("browser"), this.envContribution.removeEventListener(type, listener, options);
735
- }
736
- dispatchEvent(event) {
737
- return this._env || this.setEnv("browser"), this.envContribution.dispatchEvent(event);
738
- }
739
798
  getRequestAnimationFrame() {
740
799
  return this._env || this.setEnv("browser"), this.envContribution.getRequestAnimationFrame();
741
800
  }
@@ -3789,7 +3848,7 @@ var __decorate$N = undefined && undefined.__decorate || function (decorators, ta
3789
3848
  };
3790
3849
  const VWindow = Symbol.for("VWindow");
3791
3850
  const WindowHandlerContribution = Symbol.for("WindowHandlerContribution");
3792
- let DefaultWindow = class {
3851
+ let DefaultWindow = class extends EventListenerManager {
3793
3852
  get width() {
3794
3853
  if (this._handler) {
3795
3854
  const wh = this._handler.getWH();
@@ -3808,7 +3867,7 @@ let DefaultWindow = class {
3808
3867
  return this._handler.getDpr();
3809
3868
  }
3810
3869
  constructor() {
3811
- this.hooks = {
3870
+ super(), this.hooks = {
3812
3871
  onChange: new SyncHook(["x", "y", "width", "height"])
3813
3872
  }, this.active = () => {
3814
3873
  const global = this.global;
@@ -3816,6 +3875,15 @@ let DefaultWindow = class {
3816
3875
  container.getNamed(WindowHandlerContribution, global.env).configure(this, global), this.actived = !0;
3817
3876
  }, this._uid = Generator.GenAutoIncrementId(), this.global = application.global, this.postInit();
3818
3877
  }
3878
+ _nativeAddEventListener(type, listener, options) {
3879
+ return this._handler.addEventListener(type, listener, options);
3880
+ }
3881
+ _nativeRemoveEventListener(type, listener, options) {
3882
+ return this._handler.removeEventListener(type, listener, options);
3883
+ }
3884
+ _nativeDispatchEvent(event) {
3885
+ return this._handler.dispatchEvent(event);
3886
+ }
3819
3887
  postInit() {
3820
3888
  this.global.hooks.onSetEnv.tap("window", this.active), this.active();
3821
3889
  }
@@ -3855,7 +3923,7 @@ let DefaultWindow = class {
3855
3923
  throw new Error("暂不支持");
3856
3924
  }
3857
3925
  release() {
3858
- return this.global.hooks.onSetEnv.unTap("window", this.active), this._handler.releaseWindow();
3926
+ return this.global.hooks.onSetEnv.unTap("window", this.active), this.clearAllEventListeners(), this._handler.releaseWindow();
3859
3927
  }
3860
3928
  getContext() {
3861
3929
  return this._handler.getContext();
@@ -3866,15 +3934,6 @@ let DefaultWindow = class {
3866
3934
  getImageBuffer(type) {
3867
3935
  return this._handler.getImageBuffer ? this._handler.getImageBuffer(type) : null;
3868
3936
  }
3869
- addEventListener(type, listener, options) {
3870
- return this._handler.addEventListener(type, listener, options);
3871
- }
3872
- removeEventListener(type, listener, options) {
3873
- return this._handler.removeEventListener(type, listener, options);
3874
- }
3875
- dispatchEvent(event) {
3876
- return this._handler.dispatchEvent(event);
3877
- }
3878
3937
  getBoundingClientRect() {
3879
3938
  return this._handler.getBoundingClientRect();
3880
3939
  }
@@ -10848,6 +10907,9 @@ class BaseRender {
10848
10907
  init(contributions) {
10849
10908
  contributions && (this._renderContribitions = contributions.getContributions()), this._renderContribitions || (this._renderContribitions = []), this.builtinContributions || (this.builtinContributions = []), this.builtinContributions.push(defaultBaseClipRenderBeforeContribution), this.builtinContributions.push(defaultBaseClipRenderAfterContribution), this.builtinContributions.forEach(item => this._renderContribitions.push(item)), this._renderContribitions.length && (this._renderContribitions.sort((a, b) => b.order - a.order), this._beforeRenderContribitions = this._renderContribitions.filter(c => c.time === BaseRenderContributionTime.beforeFillStroke), this._afterRenderContribitions = this._renderContribitions.filter(c => c.time === BaseRenderContributionTime.afterFillStroke));
10850
10909
  }
10910
+ reInit() {
10911
+ this.init(this.graphicRenderContributions);
10912
+ }
10851
10913
  beforeRenderStep(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, params) {
10852
10914
  this._beforeRenderContribitions && this._beforeRenderContribitions.forEach(c => {
10853
10915
  if (c.supportedAppName && graphic.stage && graphic.stage.params && graphic.stage.params.context && graphic.stage.params.context.appName) {
@@ -11017,8 +11079,8 @@ var __decorate$G = undefined && undefined.__decorate || function (decorators, ta
11017
11079
  };
11018
11080
  };
11019
11081
  let DefaultCanvasArcRender = class extends BaseRender {
11020
- constructor(arcRenderContribitions) {
11021
- super(), this.arcRenderContribitions = arcRenderContribitions, this.numberType = ARC_NUMBER_TYPE, this.builtinContributions = [defaultArcRenderContribution, defaultArcBackgroundRenderContribution, defaultArcTextureRenderContribution], this.init(arcRenderContribitions);
11082
+ constructor(graphicRenderContributions) {
11083
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = ARC_NUMBER_TYPE, this.builtinContributions = [defaultArcRenderContribution, defaultArcBackgroundRenderContribution, defaultArcTextureRenderContribution], this.init(graphicRenderContributions);
11022
11084
  }
11023
11085
  drawArcTailCapPath(arc, context, cx, cy, outerRadius, innerRadius, _sa, _ea) {
11024
11086
  const capAngle = _ea - _sa,
@@ -11190,8 +11252,8 @@ var __decorate$F = undefined && undefined.__decorate || function (decorators, ta
11190
11252
  };
11191
11253
  };
11192
11254
  let DefaultCanvasCircleRender = class extends BaseRender {
11193
- constructor(circleRenderContribitions) {
11194
- super(), this.circleRenderContribitions = circleRenderContribitions, this.numberType = CIRCLE_NUMBER_TYPE, this.builtinContributions = [defaultCircleRenderContribution, defaultCircleBackgroundRenderContribution, defaultCircleTextureRenderContribution], this.init(circleRenderContribitions);
11255
+ constructor(graphicRenderContributions) {
11256
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = CIRCLE_NUMBER_TYPE, this.builtinContributions = [defaultCircleRenderContribution, defaultCircleBackgroundRenderContribution, defaultCircleTextureRenderContribution], this.init(graphicRenderContributions);
11195
11257
  }
11196
11258
  drawShape(circle, context, x, y, drawContext, params, fillCb, strokeCb) {
11197
11259
  const circleAttribute = getTheme(circle, null == params ? void 0 : params.theme).circle,
@@ -11577,8 +11639,8 @@ var __decorate$D = undefined && undefined.__decorate || function (decorators, ta
11577
11639
  };
11578
11640
  };
11579
11641
  let DefaultCanvasAreaRender = class extends BaseRender {
11580
- constructor(areaRenderContribitions) {
11581
- super(), this.areaRenderContribitions = areaRenderContribitions, this.numberType = AREA_NUMBER_TYPE, this.builtinContributions = [defaultAreaTextureRenderContribution, defaultAreaBackgroundRenderContribution], this.init(areaRenderContribitions);
11642
+ constructor(graphicRenderContributions) {
11643
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = AREA_NUMBER_TYPE, this.builtinContributions = [defaultAreaTextureRenderContribution, defaultAreaBackgroundRenderContribution], this.init(graphicRenderContributions);
11582
11644
  }
11583
11645
  drawLinearAreaHighPerformance(area, context, fill, stroke, fillOpacity, strokeOpacity, offsetX, offsetY, areaAttribute, drawContext, params, fillCb, strokeCb) {
11584
11646
  var _a, _b, _c;
@@ -11821,8 +11883,8 @@ var __decorate$C = undefined && undefined.__decorate || function (decorators, ta
11821
11883
  };
11822
11884
  };
11823
11885
  let DefaultCanvasPathRender = class extends BaseRender {
11824
- constructor(pathRenderContribitions) {
11825
- super(), this.pathRenderContribitions = pathRenderContribitions, this.numberType = PATH_NUMBER_TYPE, this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution], this.init(pathRenderContribitions);
11886
+ constructor(graphicRenderContributions) {
11887
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = PATH_NUMBER_TYPE, this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution], this.init(graphicRenderContributions);
11826
11888
  }
11827
11889
  drawShape(path, context, x, y, drawContext, params, fillCb, strokeCb) {
11828
11890
  var _a, _b, _c;
@@ -11877,8 +11939,8 @@ var __decorate$B = undefined && undefined.__decorate || function (decorators, ta
11877
11939
  };
11878
11940
  };
11879
11941
  let DefaultCanvasRectRender = class extends BaseRender {
11880
- constructor(rectRenderContribitions) {
11881
- super(), this.rectRenderContribitions = rectRenderContribitions, this.type = "rect", this.numberType = RECT_NUMBER_TYPE, this.builtinContributions = [defaultRectRenderContribution, defaultRectBackgroundRenderContribution, defaultRectTextureRenderContribution], this.init(rectRenderContribitions);
11942
+ constructor(graphicRenderContributions) {
11943
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.type = "rect", this.numberType = RECT_NUMBER_TYPE, this.builtinContributions = [defaultRectRenderContribution, defaultRectBackgroundRenderContribution, defaultRectTextureRenderContribution], this.init(graphicRenderContributions);
11882
11944
  }
11883
11945
  drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb, rectAttribute) {
11884
11946
  rectAttribute = null != rectAttribute ? rectAttribute : getTheme(rect, null == params ? void 0 : params.theme).rect;
@@ -11947,8 +12009,8 @@ var __decorate$A = undefined && undefined.__decorate || function (decorators, ta
11947
12009
  };
11948
12010
  };
11949
12011
  let DefaultCanvasSymbolRender = class extends BaseRender {
11950
- constructor(symbolRenderContribitions) {
11951
- super(), this.symbolRenderContribitions = symbolRenderContribitions, this.numberType = SYMBOL_NUMBER_TYPE, this.builtinContributions = [defaultSymbolRenderContribution, defaultSymbolBackgroundRenderContribution, defaultSymbolTextureRenderContribution, defaultSymbolClipRangeStrokeRenderContribution], this.init(symbolRenderContribitions);
12012
+ constructor(graphicRenderContributions) {
12013
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = SYMBOL_NUMBER_TYPE, this.builtinContributions = [defaultSymbolRenderContribution, defaultSymbolBackgroundRenderContribution, defaultSymbolTextureRenderContribution, defaultSymbolClipRangeStrokeRenderContribution], this.init(graphicRenderContributions);
11952
12014
  }
11953
12015
  drawShape(symbol, context, x, y, drawContext, params, fillCb, strokeCb, symbolAttribute) {
11954
12016
  var _a;
@@ -12118,8 +12180,8 @@ var __decorate$z = undefined && undefined.__decorate || function (decorators, ta
12118
12180
  };
12119
12181
  };
12120
12182
  let DefaultCanvasTextRender = class extends BaseRender {
12121
- constructor(textRenderContribitions) {
12122
- super(), this.textRenderContribitions = textRenderContribitions, this.numberType = TEXT_NUMBER_TYPE, this.builtinContributions = [defaultTextBackgroundRenderContribution], this.init(textRenderContribitions);
12183
+ constructor(graphicRenderContributions) {
12184
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = TEXT_NUMBER_TYPE, this.builtinContributions = [defaultTextBackgroundRenderContribution], this.init(graphicRenderContributions);
12123
12185
  }
12124
12186
  drawShape(text, context, x, y, drawContext, params, fillCb, strokeCb) {
12125
12187
  var _a, _b, _c;
@@ -12254,8 +12316,10 @@ let DefaultCanvasTextRender = class extends BaseRender {
12254
12316
  DefaultCanvasTextRender = __decorate$z([injectable(), __param$q(0, inject(ContributionProvider)), __param$q(0, named(TextRenderContribution)), __metadata$t("design:paramtypes", [Object])], DefaultCanvasTextRender);
12255
12317
 
12256
12318
  function drawPolygon(path, points, x, y) {
12257
- path.moveTo(points[0].x + x, points[0].y + y);
12258
- for (let i = 1; i < points.length; i++) path.lineTo(points[i].x + x, points[i].y + y);
12319
+ if (points && points.length) {
12320
+ path.moveTo(points[0].x + x, points[0].y + y);
12321
+ for (let i = 1; i < points.length; i++) path.lineTo(points[i].x + x, points[i].y + y);
12322
+ }
12259
12323
  }
12260
12324
  function drawRoundedPolygon(path, points, x, y, cornerRadius) {
12261
12325
  let closePath = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : !0;
@@ -12323,8 +12387,8 @@ var __decorate$y = undefined && undefined.__decorate || function (decorators, ta
12323
12387
  };
12324
12388
  };
12325
12389
  let DefaultCanvasPolygonRender = class extends BaseRender {
12326
- constructor(polygonRenderContribitions) {
12327
- super(), this.polygonRenderContribitions = polygonRenderContribitions, this.numberType = POLYGON_NUMBER_TYPE, this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution], this.init(polygonRenderContribitions);
12390
+ constructor(graphicRenderContributions) {
12391
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = POLYGON_NUMBER_TYPE, this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution], this.init(graphicRenderContributions);
12328
12392
  }
12329
12393
  drawShape(polygon, context, x, y, drawContext, params, fillCb, strokeCb) {
12330
12394
  const polygonAttribute = getTheme(polygon, null == params ? void 0 : params.theme).polygon,
@@ -12379,6 +12443,9 @@ let DefaultCanvasGroupRender = class {
12379
12443
  constructor(groupRenderContribitions) {
12380
12444
  this.groupRenderContribitions = groupRenderContribitions, this.numberType = GROUP_NUMBER_TYPE;
12381
12445
  }
12446
+ reInit() {
12447
+ this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [], this._groupRenderContribitions.push(defaultGroupBackgroundRenderContribution);
12448
+ }
12382
12449
  drawShape(group, context, x, y, drawContext, params, fillCb, strokeCb, groupAttribute) {
12383
12450
  const {
12384
12451
  clip: clip,
@@ -12521,8 +12588,8 @@ var __decorate$w = undefined && undefined.__decorate || function (decorators, ta
12521
12588
  };
12522
12589
  const repeatStr = ["", "repeat-x", "repeat-y", "repeat"];
12523
12590
  let DefaultCanvasImageRender = class extends BaseRender {
12524
- constructor(imageRenderContribitions) {
12525
- super(), this.imageRenderContribitions = imageRenderContribitions, this.numberType = IMAGE_NUMBER_TYPE, this.builtinContributions = [defaultImageRenderContribution, defaultImageBackgroundRenderContribution], this.init(imageRenderContribitions);
12591
+ constructor(graphicRenderContributions) {
12592
+ super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = IMAGE_NUMBER_TYPE, this.builtinContributions = [defaultImageRenderContribution, defaultImageBackgroundRenderContribution], this.init(graphicRenderContributions);
12526
12593
  }
12527
12594
  drawShape(image, context, x, y, drawContext, params, fillCb, strokeCb) {
12528
12595
  const imageAttribute = getTheme(image).image,
@@ -12846,6 +12913,9 @@ let DefaultRenderService = class {
12846
12913
  afterDraw(params) {
12847
12914
  this.drawContribution.afterDraw && this.drawContribution.afterDraw(this, Object.assign({}, this.drawParams));
12848
12915
  }
12916
+ reInit() {
12917
+ this.drawContribution.reInit();
12918
+ }
12849
12919
  render(groups, params) {
12850
12920
  this.renderTreeRoots = groups, this.drawParams = params;
12851
12921
  const updateBounds = params.updateBounds;
@@ -13254,6 +13324,11 @@ let DefaultDrawContribution = class {
13254
13324
  }, !1, !!(null === (_a = drawContext.context) || void 0 === _a ? void 0 : _a.camera));
13255
13325
  }, this.currentRenderMap = new Map(), this.defaultRenderMap = new Map(), this.styleRenderMap = new Map(), this.dirtyBounds = new Bounds(), this.backupDirtyBounds = new Bounds(), this.global = application.global, this.layerService = application.layerService, isArray(this.contributions) || (this.contributions = [this.contributions]), this.init();
13256
13326
  }
13327
+ reInit() {
13328
+ this.init(), this.contributions.forEach(item => {
13329
+ item.reInit();
13330
+ });
13331
+ }
13257
13332
  init() {
13258
13333
  this.contributions.forEach(item => {
13259
13334
  if (item.style) {
@@ -14975,6 +15050,11 @@ class ScrollBar extends AbstractComponent {
14975
15050
  constructor(attributes, options) {
14976
15051
  super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, ScrollBar.defaultAttributes, attributes));
14977
15052
  this.name = 'scrollbar';
15053
+ this._handleTouchMove = (e) => {
15054
+ if (isValid(this._prePos)) {
15055
+ e.preventDefault();
15056
+ }
15057
+ };
14978
15058
  this._onRailPointerDown = (e) => {
14979
15059
  const { viewX, viewY } = e;
14980
15060
  const { direction, width, height, range } = this.attribute;
@@ -15013,7 +15093,7 @@ class ScrollBar extends AbstractComponent {
15013
15093
  });
15014
15094
  const triggers = getEndTriggersOfDrag();
15015
15095
  const obj = vglobal.env === 'browser' ? vglobal : this.stage;
15016
- obj.addEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true, passive: true });
15096
+ obj.addEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
15017
15097
  triggers.forEach((trigger) => {
15018
15098
  obj.addEventListener(trigger, this._onSliderPointerUp);
15019
15099
  });
@@ -15038,7 +15118,6 @@ class ScrollBar extends AbstractComponent {
15038
15118
  return [currentPos, currentScrollValue];
15039
15119
  };
15040
15120
  this._onSliderPointerMove = (e) => {
15041
- e.preventDefault();
15042
15121
  const { stopSliderMovePropagation = true } = this.attribute;
15043
15122
  if (stopSliderMovePropagation) {
15044
15123
  e.stopPropagation();
@@ -15056,6 +15135,7 @@ class ScrollBar extends AbstractComponent {
15056
15135
  const preScrollRange = this.getScrollRange();
15057
15136
  const [currentPos, currentScrollValue] = this._computeScrollValue(e);
15058
15137
  const range = [preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue];
15138
+ this._prePos = null;
15059
15139
  this._dispatchEvent(SCROLLBAR_END_EVENT, {
15060
15140
  pre: preRange,
15061
15141
  value: clampRange(range, limitRange[0], limitRange[1])
@@ -15110,6 +15190,9 @@ class ScrollBar extends AbstractComponent {
15110
15190
  if (this._slider) {
15111
15191
  this._slider.addEventListener('pointerdown', this._onSliderPointerDown);
15112
15192
  }
15193
+ (vglobal.env === 'browser' ? vglobal : this.stage).addEventListener('touchmove', this._handleTouchMove, {
15194
+ passive: false
15195
+ });
15113
15196
  }
15114
15197
  render() {
15115
15198
  this._reset();
@@ -15196,7 +15279,7 @@ class ScrollBar extends AbstractComponent {
15196
15279
  _clearDragEvents() {
15197
15280
  const triggers = getEndTriggersOfDrag();
15198
15281
  const obj = vglobal.env === 'browser' ? vglobal : this.stage;
15199
- obj.removeEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true, passive: false });
15282
+ obj.removeEventListener('pointermove', this._onSliderPointerMoveWithDelay, { capture: true });
15200
15283
  triggers.forEach((trigger) => {
15201
15284
  obj.removeEventListener(trigger, this._onSliderPointerUp);
15202
15285
  });
@@ -15205,6 +15288,13 @@ class ScrollBar extends AbstractComponent {
15205
15288
  this._sliderRenderBounds = null;
15206
15289
  this._sliderLimitRange = null;
15207
15290
  }
15291
+ release(all) {
15292
+ super.release(all);
15293
+ (vglobal.env === 'browser' ? vglobal : this.stage).addEventListener('touchmove', this._handleTouchMove, {
15294
+ passive: false
15295
+ });
15296
+ this._clearDragEvents();
15297
+ }
15208
15298
  }
15209
15299
  ScrollBar.defaultAttributes = {
15210
15300
  direction: 'horizontal',
@@ -24658,13 +24748,14 @@ class DataZoom extends AbstractComponent {
24658
24748
  const evtTarget = vglobal.env === 'browser' ? vglobal : this.stage;
24659
24749
  const triggers = getEndTriggersOfDrag();
24660
24750
  evtTarget.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
24661
- this.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
24751
+ this.addEventListener('pointermove', this._onHandlerPointerMove, {
24752
+ capture: true
24753
+ });
24662
24754
  triggers.forEach((trigger) => {
24663
24755
  evtTarget.addEventListener(trigger, this._onHandlerPointerUp);
24664
24756
  });
24665
24757
  };
24666
24758
  this._pointerMove = (e) => {
24667
- e.preventDefault();
24668
24759
  const { start: startAttr, end: endAttr, brushSelect, realTime = true } = this.attribute;
24669
24760
  const pos = this.eventPosToStagePos(e);
24670
24761
  const { attPos, max } = this._layoutCache;
@@ -24817,7 +24908,9 @@ class DataZoom extends AbstractComponent {
24817
24908
  triggers.forEach((trigger) => {
24818
24909
  evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);
24819
24910
  });
24820
- this.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
24911
+ this.removeEventListener('pointermove', this._onHandlerPointerMove, {
24912
+ capture: true
24913
+ });
24821
24914
  }
24822
24915
  _onHandlerPointerEnter(e) {
24823
24916
  this._showText = true;
@@ -28859,14 +28952,13 @@ class Slider extends AbstractComponent {
28859
28952
  this._prePos = this._isHorizontal ? x : y;
28860
28953
  const triggers = getEndTriggersOfDrag();
28861
28954
  const obj = vglobal.env === 'browser' ? vglobal : this.stage;
28862
- obj.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true, passive: false });
28955
+ obj.addEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
28863
28956
  triggers.forEach((trigger) => {
28864
28957
  obj.addEventListener(trigger, this._onHandlerPointerUp);
28865
28958
  });
28866
28959
  };
28867
28960
  this._onHandlerPointerMove = (e) => {
28868
28961
  var _a, _b;
28869
- e.preventDefault();
28870
28962
  this._isChanging = true;
28871
28963
  const { railWidth, railHeight, min, max } = this.attribute;
28872
28964
  if (max === min) {
@@ -28918,13 +29010,12 @@ class Slider extends AbstractComponent {
28918
29010
  this._prePos = this._isHorizontal ? x : y;
28919
29011
  const triggers = getEndTriggersOfDrag();
28920
29012
  const obj = vglobal.env === 'browser' ? vglobal : this.stage;
28921
- obj.addEventListener('pointermove', this._onTrackPointerMove, { capture: true, passive: false });
29013
+ obj.addEventListener('pointermove', this._onTrackPointerMove, { capture: true });
28922
29014
  triggers.forEach((trigger) => {
28923
29015
  obj.addEventListener(trigger, this._onTrackPointerUp);
28924
29016
  });
28925
29017
  };
28926
29018
  this._onTrackPointerMove = (e) => {
28927
- e.preventDefault();
28928
29019
  this._isChanging = true;
28929
29020
  const { railWidth, railHeight, min, max, inverse } = this.attribute;
28930
29021
  if (max === min) {
@@ -29374,11 +29465,11 @@ class Slider extends AbstractComponent {
29374
29465
  _clearAllDragEvents() {
29375
29466
  const triggers = getEndTriggersOfDrag();
29376
29467
  const obj = vglobal.env === 'browser' ? vglobal : this.stage;
29377
- obj.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true, passive: false });
29468
+ obj.removeEventListener('pointermove', this._onHandlerPointerMove, { capture: true });
29378
29469
  triggers.forEach((trigger) => {
29379
29470
  obj.removeEventListener(trigger, this._onHandlerPointerUp);
29380
29471
  });
29381
- obj.removeEventListener('pointermove', this._onTrackPointerMove, { capture: true, passive: false });
29472
+ obj.removeEventListener('pointermove', this._onTrackPointerMove, { capture: true });
29382
29473
  triggers.forEach((trigger) => {
29383
29474
  obj.removeEventListener(trigger, this._onTrackPointerUp);
29384
29475
  });
@@ -33032,6 +33123,6 @@ StoryLabelItem.defaultAttributes = {
33032
33123
  theme: 'default'
33033
33124
  };
33034
33125
 
33035
- const version = "1.0.0-alpha.17";
33126
+ const version = "1.0.0-alpha.19";
33036
33127
 
33037
33128
  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, 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, SizeContinuousLegend, Slider, StoryLabelItem, Switch, SymbolLabel, 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, 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, scrollbarModule, setPoptipTheme, smartInvertStrategy, tan2AngleToAngle, textIntersect, ticks, traverseGroup, version };
@@ -79,7 +79,6 @@ export class DataZoom extends AbstractComponent {
79
79
  evtTarget.addEventListener(trigger, this._onHandlerPointerUp);
80
80
  }));
81
81
  }, this._pointerMove = e => {
82
- e.preventDefault();
83
82
  const {start: startAttr, end: endAttr, brushSelect: brushSelect, realTime: realTime = !0} = this.attribute, pos = this.eventPosToStagePos(e), {attPos: attPos, max: max} = this._layoutCache, dis = (pos[attPos] - this._activeCache.lastPos[attPos]) / max;
84
83
  let {start: start, end: end} = this.state;
85
84
  this._activeState && (this._activeTag === DataZoomActiveTag.middleHandler ? this.moveZoomWithMiddle((this.state.start + this.state.end) / 2 + dis) : this._activeTag === DataZoomActiveTag.startHandler ? start + dis > end ? (start = end,