@visactor/vrender-components 1.0.0-alpha.5 → 1.0.0-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.
Files changed (138) hide show
  1. package/cjs/animation/axis-animate.js +4 -4
  2. package/cjs/animation/axis-animate.js.map +1 -1
  3. package/cjs/axis/util.js +5 -5
  4. package/cjs/axis/util.js.map +1 -1
  5. package/cjs/brush/brush.d.ts +16 -10
  6. package/cjs/brush/brush.js +81 -93
  7. package/cjs/brush/brush.js.map +1 -1
  8. package/cjs/brush/config.d.ts +5 -5
  9. package/cjs/brush/config.js +5 -5
  10. package/cjs/brush/config.js.map +1 -1
  11. package/cjs/brush/type.d.ts +1 -0
  12. package/cjs/brush/type.js +1 -1
  13. package/cjs/brush/type.js.map +1 -1
  14. package/cjs/data-zoom/data-zoom.d.ts +3 -0
  15. package/cjs/data-zoom/data-zoom.js +36 -19
  16. package/cjs/data-zoom/data-zoom.js.map +1 -1
  17. package/cjs/index.d.ts +1 -1
  18. package/cjs/index.js +1 -1
  19. package/cjs/index.js.map +1 -1
  20. package/cjs/label/base.js +17 -3
  21. package/cjs/label/base.js.map +1 -1
  22. package/cjs/marker/animate/animate.d.ts +3 -3
  23. package/cjs/marker/animate/animate.js.map +1 -1
  24. package/cjs/marker/animate/clip-in.d.ts +1 -1
  25. package/cjs/marker/animate/clip-in.js +6 -3
  26. package/cjs/marker/animate/clip-in.js.map +1 -1
  27. package/cjs/marker/animate/fade-in.d.ts +3 -3
  28. package/cjs/marker/animate/fade-in.js +10 -4
  29. package/cjs/marker/animate/fade-in.js.map +1 -1
  30. package/cjs/marker/animate/fade-out.d.ts +3 -3
  31. package/cjs/marker/animate/fade-out.js +10 -4
  32. package/cjs/marker/animate/fade-out.js.map +1 -1
  33. package/cjs/marker/arc-area.d.ts +8 -5
  34. package/cjs/marker/arc-area.js +18 -39
  35. package/cjs/marker/arc-area.js.map +1 -1
  36. package/cjs/marker/arc-line.d.ts +6 -4
  37. package/cjs/marker/arc-line.js +12 -9
  38. package/cjs/marker/arc-line.js.map +1 -1
  39. package/cjs/marker/area.d.ts +6 -4
  40. package/cjs/marker/area.js +14 -32
  41. package/cjs/marker/area.js.map +1 -1
  42. package/cjs/marker/base.d.ts +2 -3
  43. package/cjs/marker/base.js.map +1 -1
  44. package/cjs/marker/common-line.d.ts +11 -7
  45. package/cjs/marker/common-line.js +11 -31
  46. package/cjs/marker/common-line.js.map +1 -1
  47. package/cjs/marker/config.d.ts +2 -0
  48. package/cjs/marker/config.js +2 -0
  49. package/cjs/marker/config.js.map +1 -1
  50. package/cjs/marker/line.d.ts +6 -4
  51. package/cjs/marker/line.js +10 -4
  52. package/cjs/marker/line.js.map +1 -1
  53. package/cjs/marker/mixin/label.d.ts +16 -0
  54. package/cjs/marker/mixin/label.js +57 -0
  55. package/cjs/marker/mixin/label.js.map +1 -0
  56. package/cjs/marker/type.d.ts +19 -16
  57. package/cjs/marker/type.js.map +1 -1
  58. package/cjs/scrollbar/scrollbar.d.ts +1 -0
  59. package/cjs/scrollbar/scrollbar.js +21 -12
  60. package/cjs/scrollbar/scrollbar.js.map +1 -1
  61. package/cjs/slider/slider.d.ts +3 -0
  62. package/cjs/slider/slider.js +48 -27
  63. package/cjs/slider/slider.js.map +1 -1
  64. package/cjs/switch/switch.js +2 -2
  65. package/cjs/switch/switch.js.map +1 -1
  66. package/cjs/util/event.d.ts +1 -0
  67. package/cjs/util/event.js +14 -0
  68. package/cjs/util/event.js.map +1 -0
  69. package/dist/index.es.js +1580 -916
  70. package/es/animation/axis-animate.js +4 -4
  71. package/es/animation/axis-animate.js.map +1 -1
  72. package/es/axis/util.js +5 -6
  73. package/es/axis/util.js.map +1 -1
  74. package/es/brush/brush.d.ts +16 -10
  75. package/es/brush/brush.js +83 -95
  76. package/es/brush/brush.js.map +1 -1
  77. package/es/brush/config.d.ts +5 -5
  78. package/es/brush/config.js +5 -5
  79. package/es/brush/config.js.map +1 -1
  80. package/es/brush/type.d.ts +1 -0
  81. package/es/brush/type.js +1 -1
  82. package/es/brush/type.js.map +1 -1
  83. package/es/data-zoom/data-zoom.d.ts +3 -0
  84. package/es/data-zoom/data-zoom.js +35 -16
  85. package/es/data-zoom/data-zoom.js.map +1 -1
  86. package/es/index.d.ts +1 -1
  87. package/es/index.js +1 -1
  88. package/es/index.js.map +1 -1
  89. package/es/label/base.js +17 -3
  90. package/es/label/base.js.map +1 -1
  91. package/es/marker/animate/animate.d.ts +3 -3
  92. package/es/marker/animate/animate.js.map +1 -1
  93. package/es/marker/animate/clip-in.d.ts +1 -1
  94. package/es/marker/animate/clip-in.js +6 -2
  95. package/es/marker/animate/clip-in.js.map +1 -1
  96. package/es/marker/animate/fade-in.d.ts +3 -3
  97. package/es/marker/animate/fade-in.js +11 -3
  98. package/es/marker/animate/fade-in.js.map +1 -1
  99. package/es/marker/animate/fade-out.d.ts +3 -3
  100. package/es/marker/animate/fade-out.js +11 -3
  101. package/es/marker/animate/fade-out.js.map +1 -1
  102. package/es/marker/arc-area.d.ts +8 -5
  103. package/es/marker/arc-area.js +19 -41
  104. package/es/marker/arc-area.js.map +1 -1
  105. package/es/marker/arc-line.d.ts +6 -4
  106. package/es/marker/arc-line.js +12 -9
  107. package/es/marker/arc-line.js.map +1 -1
  108. package/es/marker/area.d.ts +6 -4
  109. package/es/marker/area.js +15 -34
  110. package/es/marker/area.js.map +1 -1
  111. package/es/marker/base.d.ts +2 -3
  112. package/es/marker/base.js.map +1 -1
  113. package/es/marker/common-line.d.ts +11 -7
  114. package/es/marker/common-line.js +14 -34
  115. package/es/marker/common-line.js.map +1 -1
  116. package/es/marker/config.d.ts +2 -0
  117. package/es/marker/config.js +2 -0
  118. package/es/marker/config.js.map +1 -1
  119. package/es/marker/line.d.ts +6 -4
  120. package/es/marker/line.js +10 -4
  121. package/es/marker/line.js.map +1 -1
  122. package/es/marker/mixin/label.d.ts +16 -0
  123. package/es/marker/mixin/label.js +45 -0
  124. package/es/marker/mixin/label.js.map +1 -0
  125. package/es/marker/type.d.ts +19 -16
  126. package/es/marker/type.js.map +1 -1
  127. package/es/scrollbar/scrollbar.d.ts +1 -0
  128. package/es/scrollbar/scrollbar.js +22 -11
  129. package/es/scrollbar/scrollbar.js.map +1 -1
  130. package/es/slider/slider.d.ts +3 -0
  131. package/es/slider/slider.js +49 -26
  132. package/es/slider/slider.js.map +1 -1
  133. package/es/switch/switch.js +2 -2
  134. package/es/switch/switch.js.map +1 -1
  135. package/es/util/event.d.ts +1 -0
  136. package/es/util/event.js +6 -0
  137. package/es/util/event.js.map +1 -0
  138. package/package.json +6 -6
@@ -1,7 +1,7 @@
1
1
  export declare const DEFAULT_BRUSH_ATTRIBUTES: {
2
2
  trigger: string;
3
3
  updateTrigger: string;
4
- endTrigger: string;
4
+ endTrigger: string[];
5
5
  resetTrigger: string;
6
6
  hasMask: boolean;
7
7
  brushMode: string;
@@ -17,10 +17,10 @@ export declare const DEFAULT_BRUSH_ATTRIBUTES: {
17
17
  delayType: string;
18
18
  delayTime: number;
19
19
  interactiveRange: {
20
- y1: number;
21
- y2: number;
22
- x1: number;
23
- x2: number;
20
+ minY: number;
21
+ maxY: number;
22
+ minX: number;
23
+ maxX: number;
24
24
  };
25
25
  };
26
26
  export declare const DEFAULT_SIZE_THRESHOLD = 5;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.DEFAULT_BRUSH_ATTRIBUTES = {
7
7
  trigger: "pointerdown",
8
8
  updateTrigger: "pointermove",
9
- endTrigger: "pointerup",
9
+ endTrigger: [ "pointerup", "pointerleave" ],
10
10
  resetTrigger: "pointerupoutside",
11
11
  hasMask: !0,
12
12
  brushMode: "single",
@@ -22,9 +22,9 @@ exports.DEFAULT_BRUSH_ATTRIBUTES = {
22
22
  delayType: "throttle",
23
23
  delayTime: 10,
24
24
  interactiveRange: {
25
- y1: -1 / 0,
26
- y2: 1 / 0,
27
- x1: -1 / 0,
28
- x2: 1 / 0
25
+ minY: -1 / 0,
26
+ maxY: 1 / 0,
27
+ minX: -1 / 0,
28
+ maxX: 1 / 0
29
29
  }
30
30
  }, exports.DEFAULT_SIZE_THRESHOLD = 5;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/brush/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG;IACtC,OAAO,EAAE,aAAa;IACtB,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,WAAW;IACvB,YAAY,EAAE,kBAAkB;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC;KACf;IACD,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE;QAChB,EAAE,EAAE,CAAC,QAAQ;QACb,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,CAAC,QAAQ;QACb,EAAE,EAAE,QAAQ;KACb;CACF,CAAC;AAEW,QAAA,sBAAsB,GAAG,CAAC,CAAC","file":"config.js","sourcesContent":["export const DEFAULT_BRUSH_ATTRIBUTES = {\n trigger: 'pointerdown',\n updateTrigger: 'pointermove',\n endTrigger: 'pointerup',\n resetTrigger: 'pointerupoutside',\n hasMask: true,\n brushMode: 'single',\n brushType: 'rect',\n brushStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.2,\n stroke: '#B0C8F9',\n strokeWidth: 2\n },\n brushMoved: true,\n removeOnClick: true,\n delayType: 'throttle',\n delayTime: 10,\n interactiveRange: {\n y1: -Infinity,\n y2: Infinity,\n x1: -Infinity,\n x2: Infinity\n }\n};\n\nexport const DEFAULT_SIZE_THRESHOLD = 5;\n"]}
1
+ {"version":3,"sources":["../src/brush/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG;IACtC,OAAO,EAAE,aAAa;IACtB,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;IACzC,YAAY,EAAE,kBAAkB;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC;KACf;IACD,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE;QAChB,IAAI,EAAE,CAAC,QAAQ;QACf,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,QAAQ;QACf,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AAEW,QAAA,sBAAsB,GAAG,CAAC,CAAC","file":"config.js","sourcesContent":["export const DEFAULT_BRUSH_ATTRIBUTES = {\n trigger: 'pointerdown',\n updateTrigger: 'pointermove',\n endTrigger: ['pointerup', 'pointerleave'],\n resetTrigger: 'pointerupoutside',\n hasMask: true,\n brushMode: 'single',\n brushType: 'rect',\n brushStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.2,\n stroke: '#B0C8F9',\n strokeWidth: 2\n },\n brushMoved: true,\n removeOnClick: true,\n delayType: 'throttle',\n delayTime: 10,\n interactiveRange: {\n minY: -Infinity,\n maxY: Infinity,\n minX: -Infinity,\n maxX: Infinity\n }\n};\n\nexport const DEFAULT_SIZE_THRESHOLD = 5;\n"]}
@@ -33,5 +33,6 @@ export declare enum IOperateType {
33
33
  moving = "moving",
34
34
  moveStart = "moveStart",
35
35
  moveEnd = "moveEnd",
36
+ brushActive = "brushActive",
36
37
  brushClear = "brushClear"
37
38
  }
package/cjs/brush/type.js CHANGED
@@ -7,6 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  }), exports.IOperateType = void 0, function(IOperateType) {
8
8
  IOperateType.drawStart = "drawStart", IOperateType.drawEnd = "drawEnd", IOperateType.drawing = "drawing",
9
9
  IOperateType.moving = "moving", IOperateType.moveStart = "moveStart", IOperateType.moveEnd = "moveEnd",
10
- IOperateType.brushClear = "brushClear";
10
+ IOperateType.brushActive = "brushActive", IOperateType.brushClear = "brushClear";
11
11
  }(IOperateType = exports.IOperateType || (exports.IOperateType = {}));
12
12
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/brush/type.ts"],"names":[],"mappings":";;;AAyFA,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;AAC3B,CAAC,EARW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAQvB","file":"type.js","sourcesContent":["import type { GraphicEventType, IGroupGraphicAttribute, IPolygonGraphicAttribute } from '@visactor/vrender-core';\nimport type { IDelayType } from '../interface';\n\nexport interface BrushAttributes extends IGroupGraphicAttribute {\n /**\n * 触发框选的事件名称\n */\n trigger?: GraphicEventType | GraphicEventType[];\n /**\n * 更新框选的事件名称\n */\n updateTrigger?: GraphicEventType | GraphicEventType[];\n /**\n * 结束框选的事件名称\n */\n endTrigger?: GraphicEventType | GraphicEventType[];\n /**\n * 清空框选的事件名称\n */\n resetTrigger?: GraphicEventType | GraphicEventType[];\n /**\n * 可交互范围\n */\n interactiveRange?: {\n minX: number;\n maxX: number;\n minY: number;\n maxY: number;\n };\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * brushType为'y'时, x的左右边界位置, 不配置的话不会生效\n * @default [0,0]\n */\n xRange?: [number, number];\n /**\n * brushType为'x'时, y的左右边界位置, 不配置的话不会生效\n * @default [0,0]\n */\n yRange?: [number, number];\n /** 是否展示brush mask */\n hasMask?: boolean;\n /**\n * 框选区域的样式\n */\n brushStyle?: IPolygonGraphicAttribute;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * brushMode为'single'时,是否单击清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * brush选框的大小阈值\n */\n sizeThreshold?: number;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 0\n */\n delayTime?: number;\n /**\n * 关闭交互效果\n * @default false\n */\n disableTriggerEvent?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport enum IOperateType {\n drawStart = 'drawStart',\n drawEnd = 'drawEnd',\n drawing = 'drawing',\n moving = 'moving',\n moveStart = 'moveStart',\n moveEnd = 'moveEnd',\n brushClear = 'brushClear'\n}\n"]}
1
+ {"version":3,"sources":["../src/brush/type.ts"],"names":[],"mappings":";;;AAyFA,IAAY,YASX;AATD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,2CAA2B,CAAA;IAC3B,yCAAyB,CAAA;AAC3B,CAAC,EATW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QASvB","file":"type.js","sourcesContent":["import type { GraphicEventType, IGroupGraphicAttribute, IPolygonGraphicAttribute } from '@visactor/vrender-core';\nimport type { IDelayType } from '../interface';\n\nexport interface BrushAttributes extends IGroupGraphicAttribute {\n /**\n * 触发框选的事件名称\n */\n trigger?: GraphicEventType | GraphicEventType[];\n /**\n * 更新框选的事件名称\n */\n updateTrigger?: GraphicEventType | GraphicEventType[];\n /**\n * 结束框选的事件名称\n */\n endTrigger?: GraphicEventType | GraphicEventType[];\n /**\n * 清空框选的事件名称\n */\n resetTrigger?: GraphicEventType | GraphicEventType[];\n /**\n * 可交互范围\n */\n interactiveRange?: {\n minX: number;\n maxX: number;\n minY: number;\n maxY: number;\n };\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * brushType为'y'时, x的左右边界位置, 不配置的话不会生效\n * @default [0,0]\n */\n xRange?: [number, number];\n /**\n * brushType为'x'时, y的左右边界位置, 不配置的话不会生效\n * @default [0,0]\n */\n yRange?: [number, number];\n /** 是否展示brush mask */\n hasMask?: boolean;\n /**\n * 框选区域的样式\n */\n brushStyle?: IPolygonGraphicAttribute;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * 是否单击空白处, 清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * brush选框的大小阈值\n */\n sizeThreshold?: number;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 0\n */\n delayTime?: number;\n /**\n * 关闭交互效果\n * @default false\n */\n disableTriggerEvent?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport enum IOperateType {\n drawStart = 'drawStart',\n drawEnd = 'drawEnd',\n drawing = 'drawing',\n moving = 'moving',\n moveStart = 'moveStart',\n moveEnd = 'moveEnd',\n brushActive = 'brushActive',\n brushClear = 'brushClear'\n}\n"]}
@@ -158,12 +158,14 @@ export declare class DataZoom extends AbstractComponent<Required<DataZoomAttribu
158
158
  constructor(attributes: DataZoomAttributes, options?: ComponentOptions);
159
159
  setAttributes(params: Partial<Required<DataZoomAttributes>>, forceUpdateTag?: boolean): void;
160
160
  protected bindEvents(): void;
161
+ private _handleTouchMove;
161
162
  protected dragMaskSize(): number;
162
163
  protected setStateAttr(start: number, end: number, shouldRender: boolean): void;
163
164
  protected eventPosToStagePos(e: FederatedPointerEvent): {
164
165
  x: number;
165
166
  y: number;
166
167
  };
168
+ private _clearDragEvents;
167
169
  private _onHandlerPointerDown;
168
170
  private _pointerMove;
169
171
  private _onHandlerPointerMove;
@@ -199,4 +201,5 @@ export declare class DataZoom extends AbstractComponent<Required<DataZoomAttribu
199
201
  setPreviewPointsX1(callback: (d: any) => number): void;
200
202
  setPreviewPointsY1(callback: (d: any) => number): void;
201
203
  setStatePointToData(callback: (state: number) => any): void;
204
+ release(all?: boolean): void;
202
205
  }
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
14
14
  value: !0
15
15
  }), exports.DataZoom = void 0;
16
16
 
17
- const vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), base_1 = require("../core/base"), tag_1 = require("../tag"), config_1 = require("./config"), type_1 = require("./type"), register_1 = require("./register"), delayMap = {
17
+ const vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), base_1 = require("../core/base"), tag_1 = require("../tag"), config_1 = require("./config"), type_1 = require("./type"), register_1 = require("./register"), event_1 = require("../util/event"), delayMap = {
18
18
  debounce: vutils_1.debounce,
19
19
  throttle: vutils_1.throttle
20
20
  };
@@ -52,21 +52,27 @@ class DataZoom extends base_1.AbstractComponent {
52
52
  }, this.state = {
53
53
  start: 0,
54
54
  end: 1
55
- }, this._statePointToData = state => state, this._onHandlerPointerDown = (e, tag) => {
56
- e.stopPropagation(), "start" === tag ? (this._activeTag = type_1.DataZoomActiveTag.startHandler,
55
+ }, this._statePointToData = state => state, this._handleTouchMove = e => {
56
+ this._activeState && e.preventDefault();
57
+ }, this._onHandlerPointerDown = (e, tag) => {
58
+ this._clearDragEvents(), "start" === tag ? (this._activeTag = type_1.DataZoomActiveTag.startHandler,
57
59
  this._activeItem = this._startHandlerMask) : "end" === tag ? (this._activeTag = type_1.DataZoomActiveTag.endHandler,
58
60
  this._activeItem = this._endHandlerMask) : "middleRect" === tag ? (this._activeTag = type_1.DataZoomActiveTag.middleHandler,
59
61
  this._activeItem = this._middleHandlerRect) : "middleSymbol" === tag ? (this._activeTag = type_1.DataZoomActiveTag.middleHandler,
60
62
  this._activeItem = this._middleHandlerSymbol) : "background" === tag && (this._activeTag = type_1.DataZoomActiveTag.background,
61
63
  this._activeItem = this._background), this._activeState = !0, this._activeCache.startPos = this.eventPosToStagePos(e),
62
- this._activeCache.lastPos = this.eventPosToStagePos(e), "browser" === vrender_core_1.vglobal.env && (vrender_core_1.vglobal.addEventListener("pointermove", this._onHandlerPointerMove, {
64
+ this._activeCache.lastPos = this.eventPosToStagePos(e);
65
+ const evtTarget = "browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage, triggers = (0,
66
+ event_1.getEndTriggersOfDrag)();
67
+ evtTarget.addEventListener("pointermove", this._onHandlerPointerMove, {
63
68
  capture: !0
64
- }), vrender_core_1.vglobal.addEventListener("pointerup", this._onHandlerPointerUp)),
65
- this.addEventListener("pointermove", this._onHandlerPointerMove, {
69
+ }), this.addEventListener("pointermove", this._onHandlerPointerMove, {
66
70
  capture: !0
67
- });
71
+ }), triggers.forEach((trigger => {
72
+ evtTarget.addEventListener(trigger, this._onHandlerPointerUp);
73
+ }));
68
74
  }, this._pointerMove = e => {
69
- e.stopPropagation();
75
+ e.preventDefault();
70
76
  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;
71
77
  let {start: start, end: end} = this.state;
72
78
  this._activeState && (this._activeTag === type_1.DataZoomActiveTag.middleHandler ? this.moveZoomWithMiddle((this.state.start + this.state.end) / 2 + dis) : this._activeTag === type_1.DataZoomActiveTag.startHandler ? start + dis > end ? (start = end,
@@ -81,7 +87,6 @@ class DataZoom extends base_1.AbstractComponent {
81
87
  }));
82
88
  }, this._onHandlerPointerMove = 0 === this.attribute.delayTime ? this._pointerMove : delayMap[this.attribute.delayType](this._pointerMove, this.attribute.delayTime),
83
89
  this._onHandlerPointerUp = e => {
84
- e.preventDefault();
85
90
  const {start: start, end: end, brushSelect: brushSelect, realTime: realTime = !0} = this.attribute;
86
91
  if (this._activeState && this._activeTag === type_1.DataZoomActiveTag.background) {
87
92
  const pos = this.eventPosToStagePos(e);
@@ -91,12 +96,7 @@ class DataZoom extends base_1.AbstractComponent {
91
96
  start: this.state.start,
92
97
  end: this.state.end,
93
98
  tag: this._activeTag
94
- }), "browser" === vrender_core_1.vglobal.env && (vrender_core_1.vglobal.removeEventListener("pointermove", this._onHandlerPointerMove, {
95
- capture: !0
96
- }), vrender_core_1.vglobal.removeEventListener("pointerup", this._onHandlerPointerUp)),
97
- this.removeEventListener("pointermove", this._onHandlerPointerMove, {
98
- capture: !0
99
- }), this.removeEventListener("pointerup", this._onHandlerPointerUp);
99
+ }), this._clearDragEvents();
100
100
  };
101
101
  const {position: position, showDetail: showDetail} = attributes;
102
102
  this._activeCache.startPos = position, this._activeCache.lastPos = position, this._showText = "auto" !== showDetail && showDetail,
@@ -117,9 +117,10 @@ class DataZoom extends base_1.AbstractComponent {
117
117
  brushSelect && this._background && this._background.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, "background"))),
118
118
  brushSelect && this._previewGroup && this._previewGroup.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, "background"))),
119
119
  this._selectedPreviewGroup && this._selectedPreviewGroup.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, selectedTag))),
120
- this.addEventListener("pointerup", this._onHandlerPointerUp), this.addEventListener("pointerupoutside", this._onHandlerPointerUp),
121
120
  "auto" === showDetail && (this.addEventListener("pointerenter", this._onHandlerPointerEnter),
122
- this.addEventListener("pointerleave", this._onHandlerPointerLeave));
121
+ this.addEventListener("pointerleave", this._onHandlerPointerLeave)), ("browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage).addEventListener("touchmove", this._handleTouchMove, {
122
+ passive: !1
123
+ });
123
124
  }
124
125
  dragMaskSize() {
125
126
  const {position: position} = this.attribute, {attPos: attPos, max: max} = this._layoutCache;
@@ -140,11 +141,22 @@ class DataZoom extends base_1.AbstractComponent {
140
141
  y: 0
141
142
  };
142
143
  }
144
+ _clearDragEvents() {
145
+ const evtTarget = "browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage, triggers = (0,
146
+ event_1.getEndTriggersOfDrag)();
147
+ evtTarget.removeEventListener("pointermove", this._onHandlerPointerMove, {
148
+ capture: !0
149
+ }), triggers.forEach((trigger => {
150
+ evtTarget.removeEventListener(trigger, this._onHandlerPointerUp);
151
+ })), this.removeEventListener("pointermove", this._onHandlerPointerMove, {
152
+ capture: !0
153
+ });
154
+ }
143
155
  _onHandlerPointerEnter(e) {
144
- e.stopPropagation(), this._showText = !0, this.renderText();
156
+ this._showText = !0, this.renderText();
145
157
  }
146
158
  _onHandlerPointerLeave(e) {
147
- e.stopPropagation(), this._showText = !1, this.renderText();
159
+ this._showText = !1, this.renderText();
148
160
  }
149
161
  backgroundDragZoom(startPos, endPos) {
150
162
  const {attPos: attPos, max: max} = this._layoutCache, {position: position} = this.attribute, startPosInComponent = startPos[attPos] - position[attPos], endPosInComponent = endPos[attPos] - position[attPos], start = Math.min(Math.max(Math.min(startPosInComponent, endPosInComponent) / max, 0), 1), end = Math.min(Math.max(Math.max(startPosInComponent, endPosInComponent) / max, 0), 1);
@@ -574,6 +586,11 @@ class DataZoom extends base_1.AbstractComponent {
574
586
  setStatePointToData(callback) {
575
587
  (0, vutils_1.isFunction)(callback) && (this._statePointToData = callback);
576
588
  }
589
+ release(all) {
590
+ super.release(all), ("browser" === vrender_core_1.vglobal.env ? vrender_core_1.vglobal : this.stage).addEventListener("touchmove", this._handleTouchMove, {
591
+ passive: !1
592
+ }), this._clearDragEvents();
593
+ }
577
594
  }
578
595
 
579
596
  exports.DataZoom = DataZoom, DataZoom.defaultAttributes = config_1.DEFAULT_DATA_ZOOM_ATTRIBUTES;