@visactor/vrender-components 0.16.3 → 0.16.4

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 (47) hide show
  1. package/cjs/brush/type.d.ts +1 -1
  2. package/cjs/brush/type.js.map +1 -1
  3. package/cjs/data-zoom/config.d.ts +6 -0
  4. package/cjs/data-zoom/config.js +6 -0
  5. package/cjs/data-zoom/config.js.map +1 -1
  6. package/cjs/data-zoom/data-zoom.d.ts +16 -8
  7. package/cjs/data-zoom/data-zoom.js +54 -49
  8. package/cjs/data-zoom/data-zoom.js.map +1 -1
  9. package/cjs/data-zoom/type.d.ts +10 -5
  10. package/cjs/data-zoom/type.js.map +1 -1
  11. package/cjs/index.d.ts +1 -1
  12. package/cjs/index.js +1 -1
  13. package/cjs/index.js.map +1 -1
  14. package/cjs/interface.d.ts +1 -0
  15. package/cjs/interface.js.map +1 -1
  16. package/cjs/scrollbar/scrollbar.d.ts +4 -0
  17. package/cjs/scrollbar/scrollbar.js +31 -15
  18. package/cjs/scrollbar/scrollbar.js.map +1 -1
  19. package/cjs/scrollbar/type.d.ts +4 -1
  20. package/cjs/scrollbar/type.js.map +1 -1
  21. package/cjs/slider/slider.js +10 -14
  22. package/cjs/slider/slider.js.map +1 -1
  23. package/dist/index.js +125 -82
  24. package/dist/index.min.js +1 -1
  25. package/es/brush/type.d.ts +1 -1
  26. package/es/brush/type.js.map +1 -1
  27. package/es/data-zoom/config.d.ts +6 -0
  28. package/es/data-zoom/config.js +6 -0
  29. package/es/data-zoom/config.js.map +1 -1
  30. package/es/data-zoom/data-zoom.d.ts +16 -8
  31. package/es/data-zoom/data-zoom.js +55 -49
  32. package/es/data-zoom/data-zoom.js.map +1 -1
  33. package/es/data-zoom/type.d.ts +10 -5
  34. package/es/data-zoom/type.js.map +1 -1
  35. package/es/index.d.ts +1 -1
  36. package/es/index.js +1 -1
  37. package/es/index.js.map +1 -1
  38. package/es/interface.d.ts +1 -0
  39. package/es/interface.js.map +1 -1
  40. package/es/scrollbar/scrollbar.d.ts +4 -0
  41. package/es/scrollbar/scrollbar.js +33 -15
  42. package/es/scrollbar/scrollbar.js.map +1 -1
  43. package/es/scrollbar/type.d.ts +4 -1
  44. package/es/scrollbar/type.js.map +1 -1
  45. package/es/slider/slider.js +10 -14
  46. package/es/slider/slider.js.map +1 -1
  47. package/package.json +5 -5
@@ -1,4 +1,5 @@
1
1
  import type { GraphicEventType, IGroupGraphicAttribute, IPolygonGraphicAttribute } from '@visactor/vrender-core';
2
+ import type { IDelayType } from '../interface';
2
3
  export interface BrushAttributes extends IGroupGraphicAttribute {
3
4
  trigger?: GraphicEventType;
4
5
  updateTrigger?: GraphicEventType;
@@ -25,7 +26,6 @@ export interface BrushAttributes extends IGroupGraphicAttribute {
25
26
  }
26
27
  export type IBrushType = 'x' | 'y' | 'rect' | 'polygon';
27
28
  export type IBrushMode = 'single' | 'multiple';
28
- export type IDelayType = 'debounce' | 'throttle';
29
29
  export declare enum IOperateType {
30
30
  drawStart = "drawStart",
31
31
  drawEnd = "drawEnd",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/brush/type.ts"],"names":[],"mappings":";;;AA0FA,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';\n\nexport interface BrushAttributes extends IGroupGraphicAttribute {\n /**\n * 触发框选的事件名称\n */\n trigger?: GraphicEventType;\n /**\n * 更新框选的事件名称\n */\n updateTrigger?: GraphicEventType;\n /**\n * 结束框选的事件名称\n */\n endTrigger?: GraphicEventType;\n /**\n * 清空框选的事件名称\n */\n resetTrigger?: 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 type IDelayType = 'debounce' | 'throttle';\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,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;\n /**\n * 更新框选的事件名称\n */\n updateTrigger?: GraphicEventType;\n /**\n * 结束框选的事件名称\n */\n endTrigger?: GraphicEventType;\n /**\n * 清空框选的事件名称\n */\n resetTrigger?: 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"]}
@@ -8,6 +8,12 @@ export declare const DEFAULT_DATA_ZOOM_ATTRIBUTES: {
8
8
  orient: string;
9
9
  showDetail: string;
10
10
  brushSelect: boolean;
11
+ zoomLock: boolean;
12
+ minSpan: number;
13
+ maxSpan: number;
14
+ delayType: string;
15
+ delayTime: number;
16
+ realTime: boolean;
11
17
  backgroundStyle: {
12
18
  fill: string;
13
19
  stroke: string;
@@ -12,6 +12,12 @@ exports.DEFAULT_DATA_ZOOM_ATTRIBUTES = {
12
12
  orient: "bottom",
13
13
  showDetail: "auto",
14
14
  brushSelect: !0,
15
+ zoomLock: !1,
16
+ minSpan: 0,
17
+ maxSpan: 1,
18
+ delayType: "throttle",
19
+ delayTime: 0,
20
+ realTime: !0,
15
21
  backgroundStyle: {
16
22
  fill: "white",
17
23
  stroke: "#D1DBEE",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-zoom/config.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,8CAAyB,CAAA;AAC3B,CAAC,EALW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAK5B;AACY,QAAA,4BAA4B,GAAG;IAC1C,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE;QACf,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;KAChB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,GAAG;KACjB;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,SAAS;SAChB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;SACb;KACF;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,GAAG;KACjB;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,SAAS;SAChB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;SACb;KACF;IACD,kBAAkB,EAAE;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,CAAC;aAChB;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;YACjB,UAAU,EAER,8PAA8P;YAChQ,SAAS,EAAE,GAAG;SACf;KACF;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,UAAU,EAER,yiBAAyiB;QAE3iB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;KACf;IACD,eAAe,EAAE;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAER,yiBAAyiB;QAE3iB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;KACf;IACD,cAAc,EAAE;QACd,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;SAChB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;SAChB;KACF;CACF,CAAC","file":"config.js","sourcesContent":["export enum DataZoomActiveTag {\n startHandler = 'startHandler',\n endHandler = 'endHandler',\n middleHandler = 'middleHandler',\n background = 'background'\n}\nexport const DEFAULT_DATA_ZOOM_ATTRIBUTES = {\n orient: 'bottom',\n showDetail: 'auto',\n brushSelect: true,\n backgroundStyle: {\n fill: 'white',\n stroke: '#D1DBEE',\n lineWidth: 1,\n cornerRadius: 2\n },\n dragMaskStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.2\n },\n backgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1,\n fill: '#F6F8FC'\n },\n line: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1\n }\n },\n selectedBackgroundStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.5\n },\n selectedBackgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#B0C8F9',\n lineWidth: 1,\n fill: '#fbb934'\n },\n line: {\n visible: true,\n stroke: '#fbb934',\n lineWidth: 1\n }\n },\n middleHandlerStyle: {\n visible: true,\n background: {\n size: 8,\n style: {\n fill: 'white',\n stroke: '#B0C8F9',\n cornerRadius: 2\n }\n },\n icon: {\n size: 6,\n fill: 'white',\n stroke: '#B0C8F9',\n symbolType:\n // eslint-disable-next-line max-len\n 'M 0.3 -0.5 C 0.41 -0.5 0.5 -0.41 0.5 -0.3 C 0.5 -0.3 0.5 0.3 0.5 0.3 C 0.5 0.41 0.41 0.5 0.3 0.5 C 0.3 0.5 -0.3 0.5 -0.3 0.5 C -0.41 0.5 -0.5 0.41 -0.5 0.3 C -0.5 0.3 -0.5 -0.3 -0.5 -0.3 C -0.5 -0.41 -0.41 -0.5 -0.3 -0.5 C -0.3 -0.5 0.3 -0.5 0.3 -0.5 Z',\n lineWidth: 0.5\n }\n },\n startHandlerStyle: {\n visible: true,\n symbolType:\n // eslint-disable-next-line max-len\n 'M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z',\n // size: 40,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n endHandlerStyle: {\n visible: true,\n symbolType:\n // eslint-disable-next-line max-len\n 'M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z',\n // size: 40,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n startTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n },\n endTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/data-zoom/config.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,8CAAyB,CAAA;AAC3B,CAAC,EALW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAK5B;AACY,QAAA,4BAA4B,GAAG;IAC1C,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE;QACf,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;KAChB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,GAAG;KACjB;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,SAAS;SAChB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;SACb;KACF;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,GAAG;KACjB;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,SAAS;SAChB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;SACb;KACF;IACD,kBAAkB,EAAE;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,CAAC;aAChB;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;YACjB,UAAU,EAER,8PAA8P;YAChQ,SAAS,EAAE,GAAG;SACf;KACF;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,UAAU,EAER,yiBAAyiB;QAE3iB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;KACf;IACD,eAAe,EAAE;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAER,yiBAAyiB;QAE3iB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;KACf;IACD,cAAc,EAAE;QACd,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;SAChB;KACF;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;SAChB;KACF;CACF,CAAC","file":"config.js","sourcesContent":["export enum DataZoomActiveTag {\n startHandler = 'startHandler',\n endHandler = 'endHandler',\n middleHandler = 'middleHandler',\n background = 'background'\n}\nexport const DEFAULT_DATA_ZOOM_ATTRIBUTES = {\n orient: 'bottom',\n showDetail: 'auto',\n brushSelect: true,\n zoomLock: false,\n minSpan: 0,\n maxSpan: 1,\n delayType: 'throttle',\n delayTime: 0,\n realTime: true,\n backgroundStyle: {\n fill: 'white',\n stroke: '#D1DBEE',\n lineWidth: 1,\n cornerRadius: 2\n },\n dragMaskStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.2\n },\n backgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1,\n fill: '#F6F8FC'\n },\n line: {\n visible: true,\n stroke: '#D1DBEE',\n lineWidth: 1\n }\n },\n selectedBackgroundStyle: {\n fill: '#B0C8F9',\n fillOpacity: 0.5\n },\n selectedBackgroundChartStyle: {\n area: {\n visible: true,\n stroke: '#B0C8F9',\n lineWidth: 1,\n fill: '#fbb934'\n },\n line: {\n visible: true,\n stroke: '#fbb934',\n lineWidth: 1\n }\n },\n middleHandlerStyle: {\n visible: true,\n background: {\n size: 8,\n style: {\n fill: 'white',\n stroke: '#B0C8F9',\n cornerRadius: 2\n }\n },\n icon: {\n size: 6,\n fill: 'white',\n stroke: '#B0C8F9',\n symbolType:\n // eslint-disable-next-line max-len\n 'M 0.3 -0.5 C 0.41 -0.5 0.5 -0.41 0.5 -0.3 C 0.5 -0.3 0.5 0.3 0.5 0.3 C 0.5 0.41 0.41 0.5 0.3 0.5 C 0.3 0.5 -0.3 0.5 -0.3 0.5 C -0.41 0.5 -0.5 0.41 -0.5 0.3 C -0.5 0.3 -0.5 -0.3 -0.5 -0.3 C -0.5 -0.41 -0.41 -0.5 -0.3 -0.5 C -0.3 -0.5 0.3 -0.5 0.3 -0.5 Z',\n lineWidth: 0.5\n }\n },\n startHandlerStyle: {\n visible: true,\n symbolType:\n // eslint-disable-next-line max-len\n 'M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z',\n // size: 40,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n endHandlerStyle: {\n visible: true,\n symbolType:\n // eslint-disable-next-line max-len\n 'M -0.0544 0.25 C -0.0742 0.25 -0.0901 0.234 -0.0901 0.2143 L -0.0901 -0.1786 C -0.0901 -0.1983 -0.0742 -0.2143 -0.0544 -0.2143 L -0.0187 -0.2143 L -0.0187 -0.5 L 0.017 -0.5 L 0.017 -0.2143 L 0.0527 -0.2143 C 0.0724 -0.2143 0.0884 -0.1983 0.0884 -0.1786 L 0.0884 0.2143 C 0.0884 0.234 0.0724 0.25 0.0527 0.25 L 0.017 0.25 L 0.017 0.5 L -0.0187 0.5 L -0.0187 0.25 L -0.0544 0.25 Z M -0.0187 -0.1429 L -0.0544 -0.1429 L -0.0544 0.1786 L -0.0187 0.1786 L -0.0187 -0.1429 Z M 0.0527 -0.1429 L 0.017 -0.1429 L 0.017 0.1786 L 0.0527 0.1786 L 0.0527 -0.1429 Z',\n // size: 40,\n fill: 'white',\n stroke: '#B0C8F9',\n lineWidth: 0.5\n },\n startTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n },\n endTextStyle: {\n padding: 4,\n textStyle: {\n fontSize: 10,\n fill: '#6F6F6F'\n }\n }\n};\n"]}
@@ -10,6 +10,12 @@ export declare class DataZoom extends AbstractComponent<Required<DataZoomAttribu
10
10
  orient: string;
11
11
  showDetail: string;
12
12
  brushSelect: boolean;
13
+ zoomLock: boolean;
14
+ minSpan: number;
15
+ maxSpan: number;
16
+ delayType: string;
17
+ delayTime: number;
18
+ realTime: boolean;
13
19
  backgroundStyle: {
14
20
  fill: string;
15
21
  stroke: string;
@@ -135,16 +141,18 @@ export declare class DataZoom extends AbstractComponent<Required<DataZoomAttribu
135
141
  start: number;
136
142
  end: number;
137
143
  };
138
- private _previewCallbackX;
139
- private _previewCallbackY;
140
- private _previewCallbackX1;
141
- private _previewCallbackY1;
144
+ protected _spanCache: number;
145
+ private _previewPointsX;
146
+ private _previewPointsY;
147
+ private _previewPointsX1;
148
+ private _previewPointsY1;
142
149
  private _updateStateCallback;
143
150
  private _statePointToData;
144
151
  private _layoutAttrFromConfig;
145
152
  constructor(attributes: DataZoomAttributes);
146
153
  protected bindEvents(): void;
147
154
  protected dragMaskSize(): number;
155
+ protected setStateAttr(start: number, end: number, shouldRender: boolean): void;
148
156
  protected eventPosToStagePos(e: FederatedPointerEvent): {
149
157
  x: number;
150
158
  y: number;
@@ -177,9 +185,9 @@ export declare class DataZoom extends AbstractComponent<Required<DataZoomAttribu
177
185
  getEndTextValue(): string | number;
178
186
  getMiddleHandlerSize(): number;
179
187
  setUpdateStateCallback(callback: (start: number, end: number) => void): void;
180
- setPreviewCallbackX(callback: (d: any) => number): void;
181
- setPreviewCallbackY(callback: (d: any) => number): void;
182
- setPreviewCallbackX1(callback: (d: any) => number): void;
183
- setPreviewCallbackY1(callback: (d: any) => number): void;
188
+ setPreviewPointsX(callback: (d: any) => number): void;
189
+ setPreviewPointsY(callback: (d: any) => number): void;
190
+ setPreviewPointsX1(callback: (d: any) => number): void;
191
+ setPreviewPointsY1(callback: (d: any) => number): void;
184
192
  setStatePointToData(callback: (state: number) => any): void;
185
193
  }
@@ -14,7 +14,10 @@ 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");
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"), delayMap = {
18
+ debounce: vutils_1.debounce,
19
+ throttle: vutils_1.throttle
20
+ };
18
21
 
19
22
  class DataZoom extends base_1.AbstractComponent {
20
23
  constructor(attributes) {
@@ -45,31 +48,30 @@ class DataZoom extends base_1.AbstractComponent {
45
48
  this._activeCache.lastPos = this.eventPosToStagePos(e);
46
49
  }, this._onHandlerPointerMove = e => {
47
50
  e.stopPropagation();
48
- const {start: start, end: end, brushSelect: brushSelect} = this.attribute, pos = this.eventPosToStagePos(e), {attPos: attPos, max: max} = this._layoutCache, dis = (pos[attPos] - this._activeCache.lastPos[attPos]) / max;
49
- this._activeState && (this._activeTag === config_1.DataZoomActiveTag.middleHandler ? this.moveZoomWithMiddle((this.state.start + this.state.end) / 2 + dis) : this._activeTag === config_1.DataZoomActiveTag.startHandler ? this.state.start + dis > this.state.end ? (this.state.start = this.state.end,
50
- this.state.end = this.state.start + dis, this._activeTag = config_1.DataZoomActiveTag.endHandler) : this.state.start = this.state.start + dis : this._activeTag === config_1.DataZoomActiveTag.endHandler && (this.state.end + dis < this.state.start ? (this.state.end = this.state.start,
51
- this.state.start = this.state.end + dis, this._activeTag = config_1.DataZoomActiveTag.startHandler) : this.state.end = this.state.end + dis),
52
- this._activeCache.lastPos = pos, brushSelect && this.renderDragMask()), this.state.start = Math.min(Math.max(this.state.start, 0), 1),
53
- this.state.end = Math.min(Math.max(this.state.end, 0), 1), start === this.state.start && end === this.state.end || (this.setAttributes({
54
- start: this.state.start,
55
- end: this.state.end
56
- }), this._updateStateCallback && this._updateStateCallback(this.state.start, this.state.end),
57
- this._dispatchChangeEvent(this.state.start, this.state.end));
51
+ 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;
52
+ let {start: start, end: end} = this.state;
53
+ this._activeState && (this._activeTag === config_1.DataZoomActiveTag.middleHandler ? this.moveZoomWithMiddle((this.state.start + this.state.end) / 2 + dis) : this._activeTag === config_1.DataZoomActiveTag.startHandler ? start + dis > end ? (start = end,
54
+ end = start + dis, this._activeTag = config_1.DataZoomActiveTag.endHandler) : start += dis : this._activeTag === config_1.DataZoomActiveTag.endHandler && (end + dis < start ? (end = start,
55
+ start = end + dis, this._activeTag = config_1.DataZoomActiveTag.startHandler) : end += dis),
56
+ this._activeCache.lastPos = pos, brushSelect && this.renderDragMask()), start = Math.min(Math.max(start, 0), 1),
57
+ end = Math.min(Math.max(end, 0), 1), startAttr === start && endAttr === end || (this.setStateAttr(start, end, !0),
58
+ realTime && this._updateStateCallback && this._updateStateCallback(start, end),
59
+ this._dispatchChangeEvent(start, end));
58
60
  };
59
- const {start: start, end: end, size: size, orient: orient, showDetail: showDetail, position: position, previewData: previewData, previewCallbackX: previewCallbackX, previewCallbackY: previewCallbackY, previewCallbackX1: previewCallbackX1, previewCallbackY1: previewCallbackY1, updateStateCallback: updateStateCallback} = this.attribute, {width: width, height: height} = size;
60
- start && (this.state.start = start), end && (this.state.end = end), this._isHorizontal = "top" === orient || "bottom" === orient,
61
- this._layoutCache.max = this._isHorizontal ? width : height, this._layoutCache.attPos = this._isHorizontal ? "x" : "y",
62
- this._layoutCache.attSize = this._isHorizontal ? "width" : "height", this._activeCache.startPos = position,
63
- this._activeCache.lastPos = position, this._showText = "auto" !== showDetail && showDetail,
64
- previewData && (this._previewData = previewData), (0, vutils_1.isFunction)(previewCallbackX) && (this._previewCallbackX = previewCallbackX),
65
- (0, vutils_1.isFunction)(previewCallbackY) && (this._previewCallbackY = previewCallbackY),
66
- (0, vutils_1.isFunction)(previewCallbackX1) && (this._previewCallbackX1 = previewCallbackX1),
67
- (0, vutils_1.isFunction)(previewCallbackY1) && (this._previewCallbackY1 = previewCallbackY1),
61
+ const {start: start, end: end, size: size, orient: orient, showDetail: showDetail, position: position, previewData: previewData, previewPointsX: previewPointsX, previewPointsY: previewPointsY, previewPointsX1: previewPointsX1, previewPointsY1: previewPointsY1, updateStateCallback: updateStateCallback} = this.attribute, {width: width, height: height} = size;
62
+ start && (this.state.start = start), end && (this.state.end = end), this._spanCache = this.state.end - this.state.start,
63
+ this._isHorizontal = "top" === orient || "bottom" === orient, this._layoutCache.max = this._isHorizontal ? width : height,
64
+ this._layoutCache.attPos = this._isHorizontal ? "x" : "y", this._layoutCache.attSize = this._isHorizontal ? "width" : "height",
65
+ this._activeCache.startPos = position, this._activeCache.lastPos = position, this._showText = "auto" !== showDetail && showDetail,
66
+ previewData && (this._previewData = previewData), (0, vutils_1.isFunction)(previewPointsX) && (this._previewPointsX = previewPointsX),
67
+ (0, vutils_1.isFunction)(previewPointsY) && (this._previewPointsY = previewPointsY),
68
+ (0, vutils_1.isFunction)(previewPointsX1) && (this._previewPointsX1 = previewPointsX1),
69
+ (0, vutils_1.isFunction)(previewPointsY1) && (this._previewPointsY1 = previewPointsY1),
68
70
  (0, vutils_1.isFunction)(updateStateCallback) && (this._updateStateCallback = updateStateCallback);
69
71
  }
70
72
  bindEvents() {
71
73
  if (this.attribute.disableTriggerEvent) return;
72
- const {showDetail: showDetail, brushSelect: brushSelect} = this.attribute;
74
+ const {showDetail: showDetail, brushSelect: brushSelect, delayType: delayType = "throttle", delayTime: delayTime = 0} = this.attribute;
73
75
  this._startHandler && this._startHandler.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, "start"))),
74
76
  this._endHandler && this._endHandler.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, "end"))),
75
77
  this._middleHandlerSymbol && this._middleHandlerSymbol.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, "middleSymbol"))),
@@ -79,10 +81,10 @@ class DataZoom extends base_1.AbstractComponent {
79
81
  brushSelect && this._background && this._background.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, "background"))),
80
82
  brushSelect && this._previewGroup && this._previewGroup.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, "background"))),
81
83
  this._selectedPreviewGroup && this._selectedPreviewGroup.addEventListener("pointerdown", (e => this._onHandlerPointerDown(e, selectedTag))),
82
- "browser" === vrender_core_1.vglobal.env && (vrender_core_1.vglobal.addEventListener("pointermove", this._onHandlerPointerMove.bind(this), {
84
+ "browser" === vrender_core_1.vglobal.env && (vrender_core_1.vglobal.addEventListener("pointermove", delayMap[delayType](this._onHandlerPointerMove.bind(this), delayTime), {
83
85
  capture: !0
84
86
  }), vrender_core_1.vglobal.addEventListener("pointerup", this._onHandlerPointerUp.bind(this))),
85
- this.addEventListener("pointermove", this._onHandlerPointerMove, {
87
+ this.addEventListener("pointermove", delayMap[delayType](this._onHandlerPointerMove, delayTime), {
86
88
  capture: !0
87
89
  }), this.addEventListener("pointerup", this._onHandlerPointerUp), this.addEventListener("pointerupoutside", this._onHandlerPointerUp),
88
90
  "auto" === showDetail && (this.addEventListener("pointerenter", this._onHandlerPointerEnter),
@@ -92,6 +94,14 @@ class DataZoom extends base_1.AbstractComponent {
92
94
  const {position: position} = this.attribute, {attPos: attPos, max: max} = this._layoutCache;
93
95
  return this._activeCache.lastPos[attPos] - position[attPos] > max ? max + position[attPos] - this._activeCache.startPos[attPos] : this._activeCache.lastPos[attPos] - position[attPos] < 0 ? position[attPos] - this._activeCache.startPos[attPos] : this._activeCache.lastPos[attPos] - this._activeCache.startPos[attPos];
94
96
  }
97
+ setStateAttr(start, end, shouldRender) {
98
+ const {zoomLock: zoomLock = !1, minSpan: minSpan = 0, maxSpan: maxSpan = 1} = this.attribute, span = end - start;
99
+ span !== this._spanCache && (zoomLock || span < minSpan || span > maxSpan) || (this._spanCache = span,
100
+ this.state.start = start, this.state.end = end, shouldRender && this.setAttributes({
101
+ start: start,
102
+ end: end
103
+ }));
104
+ }
95
105
  eventPosToStagePos(e) {
96
106
  var _a, _b, _c;
97
107
  const stagePosition = null === (_a = this.stage) || void 0 === _a ? void 0 : _a.window.getBoundingClientRect();
@@ -102,15 +112,13 @@ class DataZoom extends base_1.AbstractComponent {
102
112
  }
103
113
  _onHandlerPointerUp(e) {
104
114
  e.preventDefault();
105
- const {start: start, end: end, brushSelect: brushSelect} = this.attribute;
115
+ const {start: start, end: end, brushSelect: brushSelect, realTime: realTime = !0} = this.attribute;
106
116
  if (this._activeState && this._activeTag === config_1.DataZoomActiveTag.background) {
107
117
  const pos = this.eventPosToStagePos(e);
108
118
  this.backgroundDragZoom(this._activeCache.startPos, pos);
109
119
  }
110
- this._activeState = !1, brushSelect && this.renderDragMask(), start === this.state.start && end === this.state.end || (this.setAttributes({
111
- start: this.state.start,
112
- end: this.state.end
113
- }), this._updateStateCallback && this._updateStateCallback(this.state.start, this.state.end),
120
+ this._activeState = !1, brushSelect && this.renderDragMask(), realTime && start === this.state.start && end === this.state.end || (this.setStateAttr(this.state.start, this.state.end, !0),
121
+ this._updateStateCallback && this._updateStateCallback(this.state.start, this.state.end),
114
122
  this._dispatchChangeEvent(this.state.start, this.state.end));
115
123
  }
116
124
  _onHandlerPointerEnter(e) {
@@ -121,13 +129,12 @@ class DataZoom extends base_1.AbstractComponent {
121
129
  }
122
130
  backgroundDragZoom(startPos, endPos) {
123
131
  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);
124
- Math.abs(start - end) < .01 ? this.moveZoomWithMiddle(start) : (this.state.start = start,
125
- this.state.end = end);
132
+ Math.abs(start - end) < .01 ? this.moveZoomWithMiddle(start) : this.setStateAttr(start, end, !1);
126
133
  }
127
134
  moveZoomWithMiddle(middle) {
128
135
  let offset = middle - (this.state.start + this.state.end) / 2;
129
136
  0 !== offset && (offset > 0 ? this.state.end + offset > 1 && (offset = 1 - this.state.end) : offset < 0 && this.state.start + offset < 0 && (offset = -this.state.start),
130
- this.state.start = this.state.start + offset, this.state.end = this.state.end + offset);
137
+ this.setStateAttr(this.state.start + offset, this.state.end + offset, !1));
131
138
  }
132
139
  renderDragMask() {
133
140
  const {dragMaskStyle: dragMaskStyle} = this.attribute, {position: position, width: width, height: height} = this.getLayoutAttrFromConfig();
@@ -344,8 +351,8 @@ class DataZoom extends base_1.AbstractComponent {
344
351
  }
345
352
  getPreviewLinePoints() {
346
353
  const previewPoints = this._previewData.map((d => ({
347
- x: this._previewCallbackX && this._previewCallbackX(d),
348
- y: this._previewCallbackY && this._previewCallbackY(d)
354
+ x: this._previewPointsX && this._previewPointsX(d),
355
+ y: this._previewPointsY && this._previewPointsY(d)
349
356
  })));
350
357
  if (0 === previewPoints.length) return previewPoints;
351
358
  const {basePointStart: basePointStart, basePointEnd: basePointEnd} = this.computeBasePoints();
@@ -353,10 +360,10 @@ class DataZoom extends base_1.AbstractComponent {
353
360
  }
354
361
  getPreviewAreaPoints() {
355
362
  const previewPoints = this._previewData.map((d => ({
356
- x: this._previewCallbackX && this._previewCallbackX(d),
357
- y: this._previewCallbackY && this._previewCallbackY(d),
358
- x1: this._previewCallbackX1 && this._previewCallbackX1(d),
359
- y1: this._previewCallbackY1 && this._previewCallbackY1(d)
363
+ x: this._previewPointsX && this._previewPointsX(d),
364
+ y: this._previewPointsY && this._previewPointsY(d),
365
+ x1: this._previewPointsX1 && this._previewPointsX1(d),
366
+ y1: this._previewPointsY1 && this._previewPointsY1(d)
360
367
  })));
361
368
  if (0 === previewPoints.length) return previewPoints;
362
369
  const {basePointStart: basePointStart, basePointEnd: basePointEnd} = this.computeBasePoints();
@@ -428,10 +435,8 @@ class DataZoom extends base_1.AbstractComponent {
428
435
  setStartAndEnd(start, end) {
429
436
  const {start: startAttr, end: endAttr} = this.attribute;
430
437
  (0, vutils_1.isValid)(start) && (0, vutils_1.isValid)(end) && (start !== this.state.start || end !== this.state.end) && (this.state.start = start,
431
- this.state.end = end, startAttr === this.state.start && endAttr === this.state.end || (this.setAttributes({
432
- start: start,
433
- end: end
434
- }), this._updateStateCallback && this._updateStateCallback(start, end), this._dispatchChangeEvent(start, end)));
438
+ this.state.end = end, startAttr === this.state.start && endAttr === this.state.end || (this.setStateAttr(start, end, !0),
439
+ this._updateStateCallback && this._updateStateCallback(start, end), this._dispatchChangeEvent(start, end)));
435
440
  }
436
441
  setPreviewData(data) {
437
442
  this._previewData = data;
@@ -453,17 +458,17 @@ class DataZoom extends base_1.AbstractComponent {
453
458
  setUpdateStateCallback(callback) {
454
459
  (0, vutils_1.isFunction)(callback) && (this._updateStateCallback = callback);
455
460
  }
456
- setPreviewCallbackX(callback) {
457
- (0, vutils_1.isFunction)(callback) && (this._previewCallbackX = callback);
461
+ setPreviewPointsX(callback) {
462
+ (0, vutils_1.isFunction)(callback) && (this._previewPointsX = callback);
458
463
  }
459
- setPreviewCallbackY(callback) {
460
- (0, vutils_1.isFunction)(callback) && (this._previewCallbackY = callback);
464
+ setPreviewPointsY(callback) {
465
+ (0, vutils_1.isFunction)(callback) && (this._previewPointsY = callback);
461
466
  }
462
- setPreviewCallbackX1(callback) {
463
- (0, vutils_1.isFunction)(callback) && (this._previewCallbackX1 = callback);
467
+ setPreviewPointsX1(callback) {
468
+ (0, vutils_1.isFunction)(callback) && (this._previewPointsX1 = callback);
464
469
  }
465
- setPreviewCallbackY1(callback) {
466
- (0, vutils_1.isFunction)(callback) && (this._previewCallbackY1 = callback);
470
+ setPreviewPointsY1(callback) {
471
+ (0, vutils_1.isFunction)(callback) && (this._previewPointsY1 = callback);
467
472
  }
468
473
  setStatePointToData(callback) {
469
474
  (0, vutils_1.isFunction)(callback) && (this._statePointToData = callback);