@visactor/vrender-components 0.19.3 → 0.19.4-alpha.1

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 (125) hide show
  1. package/cjs/axis/util.js +1 -2
  2. package/cjs/brush/brush.js +2 -1
  3. package/cjs/index.d.ts +1 -1
  4. package/cjs/index.js +1 -1
  5. package/cjs/index.js.map +1 -1
  6. package/cjs/label/index.js +2 -1
  7. package/cjs/label/line.js +1 -1
  8. package/cjs/label/polygon.js +1 -1
  9. package/cjs/label/rect.js +1 -1
  10. package/cjs/label/register.js +1 -1
  11. package/cjs/label/symbol.js +1 -1
  12. package/cjs/label/type.js +1 -1
  13. package/cjs/legend/base.js +1 -1
  14. package/cjs/legend/constant.js +1 -1
  15. package/cjs/legend/index.js +1 -1
  16. package/cjs/legend/register.js +1 -1
  17. package/cjs/legend/type.js +1 -2
  18. package/cjs/legend/util.js +1 -1
  19. package/cjs/marker/animate/common.js +8 -4
  20. package/cjs/marker/animate/common.js.map +1 -1
  21. package/cjs/marker/arc-area.js +10 -4
  22. package/cjs/marker/arc-area.js.map +1 -1
  23. package/cjs/marker/arc-line.js +7 -2
  24. package/cjs/marker/arc-line.js.map +1 -1
  25. package/cjs/marker/area.js +10 -4
  26. package/cjs/marker/area.js.map +1 -1
  27. package/cjs/marker/base.d.ts +1 -1
  28. package/cjs/marker/base.js.map +1 -1
  29. package/cjs/marker/common-line.d.ts +1 -1
  30. package/cjs/marker/common-line.js +10 -5
  31. package/cjs/marker/common-line.js.map +1 -1
  32. package/cjs/marker/config.d.ts +16 -4
  33. package/cjs/marker/config.js +132 -56
  34. package/cjs/marker/config.js.map +1 -1
  35. package/cjs/marker/line.d.ts +3 -3
  36. package/cjs/marker/line.js +19 -7
  37. package/cjs/marker/line.js.map +1 -1
  38. package/cjs/marker/point.d.ts +41 -7
  39. package/cjs/marker/point.js +141 -69
  40. package/cjs/marker/point.js.map +1 -1
  41. package/cjs/marker/register.js +2 -2
  42. package/cjs/marker/register.js.map +1 -1
  43. package/cjs/marker/type.d.ts +12 -4
  44. package/cjs/marker/type.js.map +1 -1
  45. package/cjs/segment/arc-segment.d.ts +3 -0
  46. package/cjs/segment/arc-segment.js +7 -1
  47. package/cjs/segment/arc-segment.js.map +1 -1
  48. package/cjs/segment/register.d.ts +2 -2
  49. package/cjs/segment/register.js +2 -2
  50. package/cjs/segment/register.js.map +1 -1
  51. package/cjs/segment/segment.d.ts +1 -0
  52. package/cjs/segment/segment.js +1 -1
  53. package/cjs/segment/segment.js.map +1 -1
  54. package/cjs/util/common.d.ts +3 -0
  55. package/cjs/util/common.js +13 -2
  56. package/cjs/util/common.js.map +1 -1
  57. package/cjs/util/index.d.ts +1 -0
  58. package/cjs/util/index.js +2 -1
  59. package/cjs/util/index.js.map +1 -1
  60. package/cjs/util/polar.d.ts +2 -0
  61. package/cjs/util/polar.js +17 -0
  62. package/cjs/util/polar.js.map +1 -0
  63. package/es/axis/util.js +1 -2
  64. package/es/brush/brush.js +2 -1
  65. package/es/index.d.ts +1 -1
  66. package/es/index.js +1 -1
  67. package/es/index.js.map +1 -1
  68. package/es/label/index.js +2 -1
  69. package/es/label/line.js +1 -1
  70. package/es/label/polygon.js +1 -1
  71. package/es/label/rect.js +1 -1
  72. package/es/label/register.js +1 -1
  73. package/es/label/symbol.js +1 -1
  74. package/es/label/type.js +1 -1
  75. package/es/legend/base.js +1 -1
  76. package/es/legend/constant.js +1 -1
  77. package/es/legend/index.js +1 -1
  78. package/es/legend/register.js +1 -1
  79. package/es/legend/type.js +1 -2
  80. package/es/legend/util.js +1 -1
  81. package/es/marker/animate/common.js +8 -4
  82. package/es/marker/animate/common.js.map +1 -1
  83. package/es/marker/arc-area.js +10 -4
  84. package/es/marker/arc-area.js.map +1 -1
  85. package/es/marker/arc-line.js +7 -2
  86. package/es/marker/arc-line.js.map +1 -1
  87. package/es/marker/area.js +10 -4
  88. package/es/marker/area.js.map +1 -1
  89. package/es/marker/base.d.ts +1 -1
  90. package/es/marker/base.js.map +1 -1
  91. package/es/marker/common-line.d.ts +1 -1
  92. package/es/marker/common-line.js +10 -5
  93. package/es/marker/common-line.js.map +1 -1
  94. package/es/marker/config.d.ts +16 -4
  95. package/es/marker/config.js +132 -56
  96. package/es/marker/config.js.map +1 -1
  97. package/es/marker/line.d.ts +3 -3
  98. package/es/marker/line.js +20 -6
  99. package/es/marker/line.js.map +1 -1
  100. package/es/marker/point.d.ts +41 -7
  101. package/es/marker/point.js +142 -69
  102. package/es/marker/point.js.map +1 -1
  103. package/es/marker/register.js +2 -1
  104. package/es/marker/register.js.map +1 -1
  105. package/es/marker/type.d.ts +12 -4
  106. package/es/marker/type.js.map +1 -1
  107. package/es/segment/arc-segment.d.ts +3 -0
  108. package/es/segment/arc-segment.js +7 -1
  109. package/es/segment/arc-segment.js.map +1 -1
  110. package/es/segment/register.d.ts +2 -2
  111. package/es/segment/register.js +2 -2
  112. package/es/segment/register.js.map +1 -1
  113. package/es/segment/segment.d.ts +1 -0
  114. package/es/segment/segment.js +1 -1
  115. package/es/segment/segment.js.map +1 -1
  116. package/es/util/common.d.ts +3 -0
  117. package/es/util/common.js +10 -0
  118. package/es/util/common.js.map +1 -1
  119. package/es/util/index.d.ts +1 -0
  120. package/es/util/index.js +2 -0
  121. package/es/util/index.js.map +1 -1
  122. package/es/util/polar.d.ts +2 -0
  123. package/es/util/polar.js +7 -0
  124. package/es/util/polar.js.map +1 -0
  125. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/segment/arc-segment.ts"],"names":[],"mappings":"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","file":"arc-segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { isEmpty, merge } from '@visactor/vutils';\nimport type { IArc } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { ArcSegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadArcSegmentComponent } from './register';\nimport { Segment } from './segment';\n\nloadArcSegmentComponent();\nexport class ArcSegment extends Segment {\n name = 'arc-segment';\n line?: IArc;\n\n constructor(attributes: ArcSegmentAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Segment.defaultAttributes, attributes));\n }\n\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n protected _computeRotate(angle: number) {\n return angle + Math.PI;\n }\n\n protected render() {\n this.removeAllChild(true);\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n radius,\n startAngle,\n endAngle,\n center\n } = this.attribute as ArcSegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n\n // 绘制start和end symbol\n const startPoint: Point = {\n x: center.x + radius * Math.cos(this._startAngle),\n y: center.y + radius * Math.sin(this._startAngle)\n };\n const endPoint: Point = {\n x: center.x + radius * Math.cos(this._endAngle),\n y: center.y + radius * Math.sin(this._endAngle)\n };\n this._mainSegmentPoints = [startPoint, endPoint];\n\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, this._mainSegmentPoints, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, this._mainSegmentPoints, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n const line = graphicCreator.arc({\n x: center.x,\n y: center.y,\n startAngle,\n endAngle,\n innerRadius: radius,\n outerRadius: radius,\n ...lineStyle\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('arc');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n this.line = line;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/segment/arc-segment.ts"],"names":[],"mappings":"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","file":"arc-segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { isEmpty, merge } from '@visactor/vutils';\nimport type { IArc } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { ArcSegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadArcSegmentComponent } from './register';\nimport { Segment } from './segment';\n\nloadArcSegmentComponent();\nexport class ArcSegment extends Segment {\n name = 'arc-segment';\n key = 'arc-segment';\n line?: IArc;\n\n constructor(attributes: ArcSegmentAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Segment.defaultAttributes, attributes));\n }\n\n /**\n * 外部获取segment起点正方向\n */\n getStartAngle() {\n return this._startAngle - Math.PI / 2;\n }\n\n /**\n * 外部获取segment终点正方向\n */\n getEndAngle() {\n return this._endAngle - Math.PI / 2;\n }\n\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n protected _computeRotate(angle: number) {\n return angle + Math.PI;\n }\n\n protected render() {\n this.removeAllChild(true);\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n radius,\n startAngle,\n endAngle,\n center\n } = this.attribute as ArcSegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n\n // 绘制start和end symbol\n const startPoint: Point = {\n x: center.x + radius * Math.cos(this._startAngle),\n y: center.y + radius * Math.sin(this._startAngle)\n };\n const endPoint: Point = {\n x: center.x + radius * Math.cos(this._endAngle),\n y: center.y + radius * Math.sin(this._endAngle)\n };\n this._mainSegmentPoints = [startPoint, endPoint];\n\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, this._mainSegmentPoints, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, this._mainSegmentPoints, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n const line = graphicCreator.arc({\n x: center.x,\n y: center.y,\n startAngle,\n endAngle,\n innerRadius: radius,\n outerRadius: radius,\n ...lineStyle\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('arc');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n this.line = line;\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare function loadSegmentComponent(enableAnimation?: boolean): void;
2
- export declare function loadArcSegmentComponent(enableAnimation?: boolean): void;
1
+ export declare function loadSegmentComponent(): void;
2
+ export declare function loadArcSegmentComponent(): void;
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
 
7
7
  const vrender_kits_1 = require("@visactor/vrender-kits");
8
8
 
9
- function loadSegmentComponent(enableAnimation = !1) {
9
+ function loadSegmentComponent() {
10
10
  (0, vrender_kits_1.registerGroup)(), (0, vrender_kits_1.registerLine)(), (0, vrender_kits_1.registerPolygon)(),
11
11
  (0, vrender_kits_1.registerSymbol)();
12
12
  }
13
13
 
14
- function loadArcSegmentComponent(enableAnimation = !1) {
14
+ function loadArcSegmentComponent() {
15
15
  (0, vrender_kits_1.registerGroup)(), (0, vrender_kits_1.registerLine)(), (0, vrender_kits_1.registerArc)(),
16
16
  (0, vrender_kits_1.registerSymbol)();
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/segment/register.ts"],"names":[],"mappings":";;;AAAA,yDAAmH;AAEnH,SAAgB,oBAAoB,CAAC,kBAA2B,KAAK;IACnE,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,8BAAe,GAAE,CAAC;IAClB,IAAA,6BAAc,GAAE,CAAC;AACnB,CAAC;AALD,oDAKC;AAED,SAAgB,uBAAuB,CAAC,kBAA2B,KAAK;IACtE,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,6BAAc,GAAE,CAAC;AACnB,CAAC;AALD,0DAKC","file":"register.js","sourcesContent":["import { registerGroup, registerLine, registerPolygon, registerSymbol, registerArc } from '@visactor/vrender-kits';\n\nexport function loadSegmentComponent(enableAnimation: boolean = false) {\n registerGroup();\n registerLine();\n registerPolygon();\n registerSymbol();\n}\n\nexport function loadArcSegmentComponent(enableAnimation: boolean = false) {\n registerGroup();\n registerLine();\n registerArc();\n registerSymbol();\n}\n"]}
1
+ {"version":3,"sources":["../src/segment/register.ts"],"names":[],"mappings":";;;AAAA,yDAAmH;AAEnH,SAAgB,oBAAoB;IAClC,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,8BAAe,GAAE,CAAC;IAClB,IAAA,6BAAc,GAAE,CAAC;AACnB,CAAC;AALD,oDAKC;AAED,SAAgB,uBAAuB;IACrC,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,6BAAc,GAAE,CAAC;AACnB,CAAC;AALD,0DAKC","file":"register.js","sourcesContent":["import { registerGroup, registerLine, registerPolygon, registerSymbol, registerArc } from '@visactor/vrender-kits';\n\nexport function loadSegmentComponent() {\n registerGroup();\n registerLine();\n registerPolygon();\n registerSymbol();\n}\n\nexport function loadArcSegmentComponent() {\n registerGroup();\n registerLine();\n registerArc();\n registerSymbol();\n}\n"]}
@@ -5,6 +5,7 @@ import type { Point } from '../core/type';
5
5
  import type { ComponentOptions } from '../interface';
6
6
  export declare class Segment extends AbstractComponent<Required<SegmentAttributes>> {
7
7
  name: string;
8
+ key: string;
8
9
  startSymbol?: ISymbol;
9
10
  endSymbol?: ISymbol;
10
11
  lines?: ILine[];
@@ -20,7 +20,7 @@ class Segment extends base_1.AbstractComponent {
20
20
  }
21
21
  constructor(attributes, options) {
22
22
  super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, Segment.defaultAttributes, attributes)),
23
- this.name = "segment", this.lines = [];
23
+ this.name = "segment", this.key = "segment", this.lines = [];
24
24
  }
25
25
  render() {
26
26
  this.removeAllChild(!0), this._reset();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/segment/segment.ts"],"names":[],"mappings":"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","file":"segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { array, flattenArray, isArray, isEmpty, isValidNumber, merge } from '@visactor/vutils';\nimport type { ILine, ISymbol } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { ILineGraphicWithCornerRadius, SegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadSegmentComponent } from './register';\n\nloadSegmentComponent();\nexport class Segment extends AbstractComponent<Required<SegmentAttributes>> {\n name = 'segment';\n\n startSymbol?: ISymbol;\n endSymbol?: ISymbol;\n lines?: ILine[] = [];\n // animate?: (startSymbol, endSymbol, lines) => void;\n\n protected _startAngle!: number;\n /**\n * 外部获取segment起点正方向\n */\n getStartAngle() {\n return this._startAngle;\n }\n\n protected _endAngle!: number;\n /**\n * 外部获取segment终点正方向\n */\n getEndAngle() {\n return this._endAngle;\n }\n\n protected _mainSegmentPoints: Point[]; // 组成主线段的点\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n static defaultAttributes: Partial<SegmentAttributes> = {\n visible: true,\n lineStyle: {\n lineWidth: 1,\n stroke: '#000'\n },\n startSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n },\n endSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n }\n };\n\n constructor(attributes: SegmentAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Segment.defaultAttributes, attributes));\n }\n\n protected render() {\n this.removeAllChild(true);\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n multiSegment,\n mainSegmentIndex\n } = this.attribute as SegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n // 计算线的起点和终点角度\n // 计算角度的原因:\n // 1. segment symbol的自动旋转提供参数\n // 2. 使用segment时,需要根据line的角度对附加元素进行自动旋转(比如:markLine的标签, markPoint的装饰线)\n this._computeLineAngle();\n\n // 绘制start和end symbol\n const points = this._getMainSegmentPoints();\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, points, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, points, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n if (multiSegment) {\n const points = [...this.attribute.points];\n if (isValidNumber(mainSegmentIndex)) {\n points[mainSegmentIndex] = this._clipPoints(points[mainSegmentIndex] as Point[]);\n } else {\n const clipPoints = this._clipPoints(flattenArray(points) as Point[]);\n points[0][0] = clipPoints[0];\n (points[points.length - 1] as Point[])[(points[points.length - 1] as Point[]).length - 1] =\n clipPoints[clipPoints.length - 1];\n }\n points.forEach((point: Point[], index) => {\n const line = graphicCreator.line({\n points: point,\n ...(isArray(lineStyle) ? lineStyle[index] ?? lineStyle[lineStyle.length - 1] : lineStyle),\n fill: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line' + index);\n if (!isEmpty(state?.line)) {\n line.states = isArray(state.line) ? state.line[index] ?? state.line[state.line.length - 1] : state.line;\n }\n this.add(line);\n this.lines.push(line);\n });\n } else {\n // 如果配置了cornerRadius, 则绘制polygon, 否则绘制line\n let lineCreator = graphicCreator.line;\n if ((array(lineStyle)[0] as ILineGraphicWithCornerRadius).cornerRadius) {\n lineCreator = graphicCreator.polygon;\n }\n const line = lineCreator({\n points: this._clipPoints(this.attribute.points as Point[]),\n ...array(lineStyle)[0],\n fill: false,\n closePath: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n this.lines.push(line);\n }\n\n // if(Segment.animate) {\n // console.log('animate', this.animate)\n // Segment.animate(this.startSymbol, this.endSymbol, this.lines)\n // }\n }\n\n protected _computeRotate(angle: number) {\n return angle + Math.PI / 2;\n }\n\n protected _renderSymbol(attribute: SymbolAttributes, points: Point[], dim: string): ISymbol | undefined {\n if (!points.length) {\n return;\n }\n const { autoRotate = true } = attribute;\n let symbol;\n if (attribute && attribute.visible) {\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const { state } = this.attribute as SegmentAttributes;\n const start = points[0];\n const end = points[points.length - 1];\n const { refX = 0, refY = 0, refAngle = 0, style, symbolType, size = 12 } = attribute;\n let position;\n let rotate;\n if (dim === 'start') {\n position = {\n x:\n start.x +\n (isValidNumber(startAngle) ? refX * Math.cos(startAngle) + refY * Math.cos(startAngle - Math.PI / 2) : 0),\n y:\n start.y +\n (isValidNumber(startAngle) ? refX * Math.sin(startAngle) + refY * Math.sin(startAngle - Math.PI / 2) : 0)\n };\n rotate = this._computeRotate(startAngle); // @chensiji - 加Math.PI / 2是因为:默认symbol的包围盒垂直于line,所以在做自动旋转时需要在line正方向基础上做90度偏移\n } else {\n position = {\n x:\n end.x + (isValidNumber(endAngle) ? refX * Math.cos(endAngle) + refY * Math.cos(endAngle - Math.PI / 2) : 0),\n y: end.y + (isValidNumber(endAngle) ? refX * Math.sin(endAngle) + refY * Math.sin(endAngle - Math.PI / 2) : 0)\n };\n rotate = this._computeRotate(endAngle);\n }\n\n symbol = graphicCreator.symbol({\n ...position,\n symbolType: symbolType as string,\n size,\n angle: autoRotate ? rotate + refAngle : 0,\n strokeBoundsBuffer: 0,\n ...style\n });\n symbol.name = `${this.name}-${dim}-symbol`;\n symbol.id = this._getNodeId(`${dim}-symbol`);\n\n // 兼容旧逻辑, state.symbol同时应用到startSymbol和endSymbol\n if (!isEmpty(state?.symbol)) {\n symbol.states = state.symbol;\n }\n\n // 新逻辑, state.startSymbol和state.endSymbol做不同匹配\n if (dim === 'start') {\n if (!isEmpty(state?.startSymbol)) {\n symbol.states = state.startSymbol;\n }\n } else {\n if (!isEmpty(state?.endSymbol)) {\n symbol.states = state.endSymbol;\n }\n }\n\n this.add(symbol);\n }\n return symbol;\n }\n\n private _getMainSegmentPoints(): Point[] {\n if (this._mainSegmentPoints) {\n return this._mainSegmentPoints;\n }\n const { points: originPoints, multiSegment, mainSegmentIndex } = this.attribute as SegmentAttributes;\n\n let points: Point[];\n // 需要做下约束判断\n if (multiSegment) {\n if (isValidNumber(mainSegmentIndex)) {\n points = originPoints[mainSegmentIndex] as Point[];\n } else {\n points = flattenArray(originPoints);\n }\n } else {\n points = originPoints as Point[];\n }\n this._mainSegmentPoints = points;\n\n return points;\n }\n\n private _clipPoints(points: Point[]) {\n const { startSymbol = {} as SegmentAttributes['startSymbol'], endSymbol = {} as SegmentAttributes['endSymbol'] } =\n this.attribute as SegmentAttributes;\n // 通过改变line起点和终点的方式达到symbol在fill为false的情况下,也可以遮盖line的效果\n let pointsAfterClip = points;\n if (startSymbol.visible) {\n const startSize = startSymbol.clip ? startSymbol.size || 10 : 0;\n const pointsStart = {\n x: points[0].x - (startSize / 2) * (Math.cos(this._startAngle) || 0),\n y: points[0].y - (startSize / 2) * (Math.sin(this._startAngle) || 0)\n };\n pointsAfterClip = [pointsStart, ...pointsAfterClip.slice(1)];\n }\n if (endSymbol.visible) {\n const endSize = endSymbol.clip ? endSymbol.size || 10 : 0;\n const pointsEnd = {\n x: points[points.length - 1].x - (endSize / 2) * (Math.cos(this._endAngle) || 0),\n y: points[points.length - 1].y - (endSize / 2) * (Math.sin(this._endAngle) || 0)\n };\n pointsAfterClip = [...pointsAfterClip.slice(0, pointsAfterClip.length - 1), pointsEnd];\n }\n\n return pointsAfterClip;\n }\n\n private _computeLineAngle() {\n const points = this._getMainSegmentPoints();\n if (points.length <= 1) {\n return;\n }\n const start = points[0];\n const startInside = points[1];\n const endInside = points[points.length - 2];\n const end = points[points.length - 1];\n const startVector = [start.x - startInside.x, start.y - startInside.y]; // 起点正方向向量\n const startAngle = Math.atan2(startVector[1], startVector[0]); // 起点正方向角度\n const endVector = [end.x - endInside.x, end.y - endInside.y]; // 终点正方向向量\n const endAngle = Math.atan2(endVector[1], endVector[0]); // 终点正方向角度\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n }\n\n protected _reset() {\n this.startSymbol = null;\n this.endSymbol = null;\n this._startAngle = null;\n this._endAngle = null;\n this._mainSegmentPoints = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/segment/segment.ts"],"names":[],"mappings":";;;AAGA,6CAA+F;AAG/F,yDAAwD;AACxD,uCAAiD;AAIjD,yCAAkD;AAElD,IAAA,+BAAoB,GAAE,CAAC;AACvB,MAAa,OAAQ,SAAQ,wBAA8C;IAYzE,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAMD,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAGD,oBAAoB;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAoCD,YAAY,UAA6B,EAAE,OAA0B;QACnE,KAAK,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;QA/D9F,SAAI,GAAG,SAAS,CAAC;QACjB,QAAG,GAAG,SAAS,CAAC;QAGhB,UAAK,GAAa,EAAE,CAAC;IA4DrB,CAAC;IAES,MAAM;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,EAEJ,WAAW,EACX,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,GAAG,IAAI,EACd,YAAY,EACZ,gBAAgB,EACjB,GAAG,IAAI,CAAC,SAA8B,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAMD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,WAA+B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9F,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,SAA6B,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAExF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;QAEhC,IAAI,YAAY,EAAE;YAChB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,IAAA,sBAAa,EAAC,gBAAgB,CAAC,EAAE;gBACnC,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAY,CAAC,CAAC;aAClF;iBAAM;gBACL,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAY,CAAC,CAAC;gBACrE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAa,CAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAa,CAAC,MAAM,GAAG,CAAC,CAAC;oBACvF,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACrC;YACD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAc,EAAE,KAAK,EAAE,EAAE;;gBACvC,MAAM,IAAI,GAAG,6BAAc,CAAC,IAAI,+BAC9B,MAAM,EAAE,KAAK,IACV,CAAC,IAAA,gBAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAA,SAAS,CAAC,KAAK,CAAC,mCAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KACzF,IAAI,EAAE,KAAK,IACX,CAAC;gBAEH,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC;gBAChC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,EAAE;oBACzB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;iBACzG;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;aAAM;YAEL,IAAI,WAAW,GAAG,6BAAc,CAAC,IAAI,CAAC;YACtC,IAAK,IAAA,cAAK,EAAC,SAAS,CAAC,CAAC,CAAC,CAAkC,CAAC,YAAY,EAAE;gBACtE,WAAW,GAAG,6BAAc,CAAC,OAAO,CAAC;aACtC;YACD,MAAM,IAAI,GAAG,WAAW,+BACtB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAiB,CAAC,IACvD,IAAA,cAAK,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KACtB,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,KAAK,IAChB,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC;YAChC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;IACH,CAAC;IAES,cAAc,CAAC,KAAa;QACpC,OAAO,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAES,aAAa,CAAC,SAA2B,EAAE,MAAe,EAAE,GAAW;QAC/E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,OAAO;SACR;QACD,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,MAAM,CAAC;QACX,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAA8B,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC;YACrF,IAAI,QAAQ,CAAC;YACb,IAAI,MAAM,CAAC;YACX,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,QAAQ,GAAG;oBACT,CAAC,EACC,KAAK,CAAC,CAAC;wBACP,CAAC,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3G,CAAC,EACC,KAAK,CAAC,CAAC;wBACP,CAAC,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5G,CAAC;gBACF,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aAC1C;iBAAM;gBACL,QAAQ,GAAG;oBACT,CAAC,EACC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7G,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/G,CAAC;gBACF,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aACxC;YAED,MAAM,GAAG,6BAAc,CAAC,MAAM,+CACzB,QAAQ,KACX,UAAU,EAAE,UAAoB,EAChC,IAAI,EACJ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzC,kBAAkB,EAAE,CAAC,KAClB,KAAK,EACR,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,SAAS,CAAC;YAC3C,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;YAG7C,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,EAAE;gBAC3B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;aAC9B;YAGD,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAC,EAAE;oBAChC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;iBACnC;aACF;iBAAM;gBACL,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,EAAE;oBAC9B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;iBACjC;aACF;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAClB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;QACD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,SAA8B,CAAC;QAErG,IAAI,MAAe,CAAC;QAEpB,IAAI,YAAY,EAAE;YAChB,IAAI,IAAA,sBAAa,EAAC,gBAAgB,CAAC,EAAE;gBACnC,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAY,CAAC;aACpD;iBAAM;gBACL,MAAM,GAAG,IAAA,qBAAY,EAAC,YAAY,CAAC,CAAC;aACrC;SACF;aAAM;YACL,MAAM,GAAG,YAAuB,CAAC;SAClC;QACD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QAGjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,MAAe;QACjC,MAAM,EAAE,WAAW,GAAG,EAAsC,EAAE,SAAS,GAAG,EAAoC,EAAE,GAC9G,IAAI,CAAC,SAA8B,CAAC;QAEtC,IAAI,eAAe,GAAG,MAAM,CAAC;QAC7B,IAAI,WAAW,CAAC,OAAO,EAAE;YACvB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG;gBAClB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACrE,CAAC;YACF,eAAe,GAAG,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D;QACD,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG;gBAChB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChF,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACjF,CAAC;YACF,eAAe,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACxF;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,iBAAiB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;YACtB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAES,MAAM;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;;AAjSH,0BAkSC;AArQQ,yBAAiB,GAA+B;IACrD,OAAO,EAAE,IAAI;IACb,SAAS,EAAE;QACT,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,MAAM;KACf;IACD,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,CAAC;SACV;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,CAAC;SACV;KACF;CACF,CAAC","file":"segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { array, flattenArray, isArray, isEmpty, isValidNumber, merge } from '@visactor/vutils';\nimport type { ILine, ISymbol } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { ILineGraphicWithCornerRadius, SegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadSegmentComponent } from './register';\n\nloadSegmentComponent();\nexport class Segment extends AbstractComponent<Required<SegmentAttributes>> {\n name = 'segment';\n key = 'segment';\n startSymbol?: ISymbol;\n endSymbol?: ISymbol;\n lines?: ILine[] = [];\n // animate?: (startSymbol, endSymbol, lines) => void;\n\n protected _startAngle!: number;\n /**\n * 外部获取segment起点正方向\n */\n getStartAngle() {\n return this._startAngle;\n }\n\n protected _endAngle!: number;\n /**\n * 外部获取segment终点正方向\n */\n getEndAngle() {\n return this._endAngle;\n }\n\n protected _mainSegmentPoints: Point[]; // 组成主线段的点\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n static defaultAttributes: Partial<SegmentAttributes> = {\n visible: true,\n lineStyle: {\n lineWidth: 1,\n stroke: '#000'\n },\n startSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n },\n endSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n }\n };\n\n constructor(attributes: SegmentAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Segment.defaultAttributes, attributes));\n }\n\n protected render() {\n this.removeAllChild(true);\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n multiSegment,\n mainSegmentIndex\n } = this.attribute as SegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n // 计算线的起点和终点角度\n // 计算角度的原因:\n // 1. segment symbol的自动旋转提供参数\n // 2. 使用segment时,需要根据line的角度对附加元素进行自动旋转(比如:markLine的标签, markPoint的装饰线)\n this._computeLineAngle();\n\n // 绘制start和end symbol\n const points = this._getMainSegmentPoints();\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, points, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, points, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n if (multiSegment) {\n const points = [...this.attribute.points];\n if (isValidNumber(mainSegmentIndex)) {\n points[mainSegmentIndex] = this._clipPoints(points[mainSegmentIndex] as Point[]);\n } else {\n const clipPoints = this._clipPoints(flattenArray(points) as Point[]);\n points[0][0] = clipPoints[0];\n (points[points.length - 1] as Point[])[(points[points.length - 1] as Point[]).length - 1] =\n clipPoints[clipPoints.length - 1];\n }\n points.forEach((point: Point[], index) => {\n const line = graphicCreator.line({\n points: point,\n ...(isArray(lineStyle) ? lineStyle[index] ?? lineStyle[lineStyle.length - 1] : lineStyle),\n fill: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line' + index);\n if (!isEmpty(state?.line)) {\n line.states = isArray(state.line) ? state.line[index] ?? state.line[state.line.length - 1] : state.line;\n }\n this.add(line);\n this.lines.push(line);\n });\n } else {\n // 如果配置了cornerRadius, 则绘制polygon, 否则绘制line\n let lineCreator = graphicCreator.line;\n if ((array(lineStyle)[0] as ILineGraphicWithCornerRadius).cornerRadius) {\n lineCreator = graphicCreator.polygon;\n }\n const line = lineCreator({\n points: this._clipPoints(this.attribute.points as Point[]),\n ...array(lineStyle)[0],\n fill: false,\n closePath: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n this.lines.push(line);\n }\n }\n\n protected _computeRotate(angle: number) {\n return angle + Math.PI / 2;\n }\n\n protected _renderSymbol(attribute: SymbolAttributes, points: Point[], dim: string): ISymbol | undefined {\n if (!points.length) {\n return;\n }\n const { autoRotate = true } = attribute;\n let symbol;\n if (attribute && attribute.visible) {\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const { state } = this.attribute as SegmentAttributes;\n const start = points[0];\n const end = points[points.length - 1];\n const { refX = 0, refY = 0, refAngle = 0, style, symbolType, size = 12 } = attribute;\n let position;\n let rotate;\n if (dim === 'start') {\n position = {\n x:\n start.x +\n (isValidNumber(startAngle) ? refX * Math.cos(startAngle) + refY * Math.cos(startAngle - Math.PI / 2) : 0),\n y:\n start.y +\n (isValidNumber(startAngle) ? refX * Math.sin(startAngle) + refY * Math.sin(startAngle - Math.PI / 2) : 0)\n };\n rotate = this._computeRotate(startAngle); // @chensiji - 加Math.PI / 2是因为:默认symbol的包围盒垂直于line,所以在做自动旋转时需要在line正方向基础上做90度偏移\n } else {\n position = {\n x:\n end.x + (isValidNumber(endAngle) ? refX * Math.cos(endAngle) + refY * Math.cos(endAngle - Math.PI / 2) : 0),\n y: end.y + (isValidNumber(endAngle) ? refX * Math.sin(endAngle) + refY * Math.sin(endAngle - Math.PI / 2) : 0)\n };\n rotate = this._computeRotate(endAngle);\n }\n\n symbol = graphicCreator.symbol({\n ...position,\n symbolType: symbolType as string,\n size,\n angle: autoRotate ? rotate + refAngle : 0,\n strokeBoundsBuffer: 0,\n ...style\n });\n symbol.name = `${this.name}-${dim}-symbol`;\n symbol.id = this._getNodeId(`${dim}-symbol`);\n\n // 兼容旧逻辑, state.symbol同时应用到startSymbol和endSymbol\n if (!isEmpty(state?.symbol)) {\n symbol.states = state.symbol;\n }\n\n // 新逻辑, state.startSymbol和state.endSymbol做不同匹配\n if (dim === 'start') {\n if (!isEmpty(state?.startSymbol)) {\n symbol.states = state.startSymbol;\n }\n } else {\n if (!isEmpty(state?.endSymbol)) {\n symbol.states = state.endSymbol;\n }\n }\n\n this.add(symbol);\n }\n return symbol;\n }\n\n private _getMainSegmentPoints(): Point[] {\n if (this._mainSegmentPoints) {\n return this._mainSegmentPoints;\n }\n const { points: originPoints, multiSegment, mainSegmentIndex } = this.attribute as SegmentAttributes;\n\n let points: Point[];\n // 需要做下约束判断\n if (multiSegment) {\n if (isValidNumber(mainSegmentIndex)) {\n points = originPoints[mainSegmentIndex] as Point[];\n } else {\n points = flattenArray(originPoints);\n }\n } else {\n points = originPoints as Point[];\n }\n this._mainSegmentPoints = points;\n // 去除重复的点, 目前发现计算startAngle和endAngle时会有问题\n\n return points;\n }\n\n private _clipPoints(points: Point[]) {\n const { startSymbol = {} as SegmentAttributes['startSymbol'], endSymbol = {} as SegmentAttributes['endSymbol'] } =\n this.attribute as SegmentAttributes;\n // 通过改变line起点和终点的方式达到symbol在fill为false的情况下,也可以遮盖line的效果\n let pointsAfterClip = points;\n if (startSymbol.visible) {\n const startSize = startSymbol.clip ? startSymbol.size || 10 : 0;\n const pointsStart = {\n x: points[0].x - (startSize / 2) * (Math.cos(this._startAngle) || 0),\n y: points[0].y - (startSize / 2) * (Math.sin(this._startAngle) || 0)\n };\n pointsAfterClip = [pointsStart, ...pointsAfterClip.slice(1)];\n }\n if (endSymbol.visible) {\n const endSize = endSymbol.clip ? endSymbol.size || 10 : 0;\n const pointsEnd = {\n x: points[points.length - 1].x - (endSize / 2) * (Math.cos(this._endAngle) || 0),\n y: points[points.length - 1].y - (endSize / 2) * (Math.sin(this._endAngle) || 0)\n };\n pointsAfterClip = [...pointsAfterClip.slice(0, pointsAfterClip.length - 1), pointsEnd];\n }\n\n return pointsAfterClip;\n }\n\n private _computeLineAngle() {\n const points = this._getMainSegmentPoints();\n if (points.length <= 1) {\n return;\n }\n const start = points[0];\n const startInside = points[1];\n const endInside = points[points.length - 2];\n const end = points[points.length - 1];\n const startVector = [start.x - startInside.x, start.y - startInside.y]; // 起点正方向向量\n const startAngle = Math.atan2(startVector[1], startVector[0]); // 起点正方向角度\n const endVector = [end.x - endInside.x, end.y - endInside.y]; // 终点正方向向量\n const endAngle = Math.atan2(endVector[1], endVector[0]); // 终点正方向角度\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n }\n\n protected _reset() {\n this.startSymbol = null;\n this.endSymbol = null;\n this._startAngle = null;\n this._endAngle = null;\n this._mainSegmentPoints = null;\n }\n}\n"]}
@@ -1,5 +1,8 @@
1
1
  import type { IGraphicAttribute, IGraphic, IGroup } from '@visactor/vrender-core';
2
+ import type { Point } from '../core/type';
2
3
  export declare function traverseGroup(group: IGraphic, cb: (node: IGraphic) => boolean | void): void;
3
4
  export declare const isVisible: (obj?: Partial<IGraphicAttribute>) => boolean;
4
5
  export declare function getMarksByName(root: IGroup, name: string): IGraphic<Partial<IGraphicAttribute>>[];
5
6
  export declare function getNoneGroupMarksByName(root: IGroup, name: string): IGraphic<Partial<IGraphicAttribute>>[];
7
+ export declare function removeRepeatPoint(points: Point[]): Point[];
8
+ export declare function isPostiveXAxis(angle: number): boolean;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.getNoneGroupMarksByName = exports.getMarksByName = exports.isVisible = exports.traverseGroup = void 0;
5
+ }), exports.isPostiveXAxis = exports.removeRepeatPoint = exports.getNoneGroupMarksByName = exports.getMarksByName = exports.isVisible = exports.traverseGroup = void 0;
6
6
 
7
7
  const vutils_1 = require("@visactor/vutils");
8
8
 
@@ -29,5 +29,16 @@ function getNoneGroupMarksByName(root, name) {
29
29
  return group ? group.findAll((node => "group" !== node.type), !0) : [];
30
30
  }
31
31
 
32
- exports.isVisible = isVisible, exports.getMarksByName = getMarksByName, exports.getNoneGroupMarksByName = getNoneGroupMarksByName;
32
+ function removeRepeatPoint(points) {
33
+ const result = [ points[0] ];
34
+ for (let i = 1; i < points.length; i++) points[i].x === points[i - 1].x && points[i].y === points[i - 1].y || result.push(points[i]);
35
+ return result;
36
+ }
37
+
38
+ function isPostiveXAxis(angle) {
39
+ return angle > -Math.PI / 2 && angle < Math.PI / 2;
40
+ }
41
+
42
+ exports.isVisible = isVisible, exports.getMarksByName = getMarksByName, exports.getNoneGroupMarksByName = getNoneGroupMarksByName,
43
+ exports.removeRepeatPoint = removeRepeatPoint, exports.isPostiveXAxis = isPostiveXAxis;
33
44
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/common.ts"],"names":[],"mappings":";;;AAIA,6CAAyC;AAEzC,SAAgB,aAAa,CAAC,KAAe,EAAE,EAAsC;IACnF,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,IAAgB,CAAC,CAAC;QACrC,IAAK,IAAe,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE;YAC5C,aAAa,CAAC,IAAgB,EAAE,EAAE,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,sCAOC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAgC,EAAW,EAAE;IACrE,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IACD,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;AAC/B,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB;AAEF,SAAgB,cAAc,CAAC,IAAY,EAAE,IAAY;IACvD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAW,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IACD,OAAO,KAAK,CAAC,WAAW,EAAgB,CAAC;AAC3C,CAAC;AATD,wCASC;AAED,SAAgB,uBAAuB,CAAC,IAAY,EAAE,IAAY;IAChE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAW,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,IAAI,CAA0B,CAAC;AACrF,CAAC;AATD,0DASC","file":"common.js","sourcesContent":["/**\n * @description 存放工具函数\n */\nimport type { IGraphicAttribute, IGraphic, IGroup } from '@visactor/vrender-core';\nimport { isNil } from '@visactor/vutils';\n\nexport function traverseGroup(group: IGraphic, cb: (node: IGraphic) => boolean | void) {\n group.forEachChildren(node => {\n const stopped = cb(node as IGraphic);\n if ((node as IGroup).isContainer && !stopped) {\n traverseGroup(node as IGraphic, cb);\n }\n });\n}\n\nexport const isVisible = (obj?: Partial<IGraphicAttribute>): boolean => {\n if (isNil(obj)) {\n return false;\n }\n return obj.visible !== false;\n};\n\nexport function getMarksByName(root: IGroup, name: string) {\n if (!name) {\n return [];\n }\n const group = root.find(node => node.name === name, true) as IGroup;\n if (!group) {\n return [];\n }\n return group.getChildren() as IGraphic[];\n}\n\nexport function getNoneGroupMarksByName(root: IGroup, name: string) {\n if (!name) {\n return [];\n }\n const group = root.find(node => node.name === name, true) as IGroup;\n if (!group) {\n return [];\n }\n return group.findAll(node => node.type !== 'group', true) as unknown as IGraphic[];\n}\n"]}
1
+ {"version":3,"sources":["../src/util/common.ts"],"names":[],"mappings":";;;AAIA,6CAAyC;AAGzC,SAAgB,aAAa,CAAC,KAAe,EAAE,EAAsC;IACnF,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,IAAgB,CAAC,CAAC;QACrC,IAAK,IAAe,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE;YAC5C,aAAa,CAAC,IAAgB,EAAE,EAAE,CAAC,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,sCAOC;AAEM,MAAM,SAAS,GAAG,CAAC,GAAgC,EAAW,EAAE;IACrE,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IACD,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;AAC/B,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB;AAEF,SAAgB,cAAc,CAAC,IAAY,EAAE,IAAY;IACvD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAW,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IACD,OAAO,KAAK,CAAC,WAAW,EAAgB,CAAC;AAC3C,CAAC;AATD,wCASC;AAED,SAAgB,uBAAuB,CAAC,IAAY,EAAE,IAAY;IAChE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAW,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,IAAI,CAA0B,CAAC;AACrF,CAAC;AATD,0DASC;AAED,SAAgB,iBAAiB,CAAC,MAAe;IAC/C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACtE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACxB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,8CAQC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAFD,wCAEC","file":"common.js","sourcesContent":["/**\n * @description 存放工具函数\n */\nimport type { IGraphicAttribute, IGraphic, IGroup } from '@visactor/vrender-core';\nimport { isNil } from '@visactor/vutils';\nimport type { Point } from '../core/type';\n\nexport function traverseGroup(group: IGraphic, cb: (node: IGraphic) => boolean | void) {\n group.forEachChildren(node => {\n const stopped = cb(node as IGraphic);\n if ((node as IGroup).isContainer && !stopped) {\n traverseGroup(node as IGraphic, cb);\n }\n });\n}\n\nexport const isVisible = (obj?: Partial<IGraphicAttribute>): boolean => {\n if (isNil(obj)) {\n return false;\n }\n return obj.visible !== false;\n};\n\nexport function getMarksByName(root: IGroup, name: string) {\n if (!name) {\n return [];\n }\n const group = root.find(node => node.name === name, true) as IGroup;\n if (!group) {\n return [];\n }\n return group.getChildren() as IGraphic[];\n}\n\nexport function getNoneGroupMarksByName(root: IGroup, name: string) {\n if (!name) {\n return [];\n }\n const group = root.find(node => node.name === name, true) as IGroup;\n if (!group) {\n return [];\n }\n return group.findAll(node => node.type !== 'group', true) as unknown as IGraphic[];\n}\n\nexport function removeRepeatPoint(points: Point[]) {\n const result = [points[0]];\n for (let i = 1; i < points.length; i++) {\n if (points[i].x !== points[i - 1].x || points[i].y !== points[i - 1].y) {\n result.push(points[i]);\n }\n }\n return result;\n}\n\nexport function isPostiveXAxis(angle: number) {\n return angle > -Math.PI / 2 && angle < Math.PI / 2;\n}\n"]}
@@ -2,3 +2,4 @@ export * from './common';
2
2
  export * from './label-smartInvert';
3
3
  export * from './matrix';
4
4
  export * from './text';
5
+ export * from './polar';
package/cjs/util/index.js CHANGED
@@ -18,5 +18,6 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./common"), exports), __exportStar(require("./label-smartInvert"), exports),
21
- __exportStar(require("./matrix"), exports), __exportStar(require("./text"), exports);
21
+ __exportStar(require("./matrix"), exports), __exportStar(require("./text"), exports),
22
+ __exportStar(require("./polar"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,sDAAoC;AACpC,2CAAyB;AACzB,yCAAuB","file":"index.js","sourcesContent":["export * from './common';\nexport * from './label-smartInvert';\nexport * from './matrix';\nexport * from './text';\n"]}
1
+ {"version":3,"sources":["../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,sDAAoC;AACpC,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB","file":"index.js","sourcesContent":["export * from './common';\nexport * from './label-smartInvert';\nexport * from './matrix';\nexport * from './text';\nexport * from './polar';\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const deltaXYToAngle: (y: number, x: number) => number;
2
+ export declare const tan2AngleToAngle: (angle: number) => number;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.tan2AngleToAngle = exports.deltaXYToAngle = void 0;
6
+
7
+ const deltaXYToAngle = (y, x) => {
8
+ const angle = Math.atan2(y, x);
9
+ return angle < 0 ? angle + 2 * Math.PI : angle;
10
+ };
11
+
12
+ exports.deltaXYToAngle = deltaXYToAngle;
13
+
14
+ const tan2AngleToAngle = angle => angle < 0 ? angle + 2 * Math.PI : angle;
15
+
16
+ exports.tan2AngleToAngle = tan2AngleToAngle;
17
+ //# sourceMappingURL=polar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/util/polar.ts"],"names":[],"mappings":";;;AAMO,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;IAChD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B","file":"polar.js","sourcesContent":["/**\n *\n * @param x x方向到圆心距离\n * @param y y方向到圆心距离\n * @returns 在圆上的角度(顺时针方向, 与arc图元绘制方向一致)\n */\nexport const deltaXYToAngle = (y: number, x: number) => {\n const angle = Math.atan2(y, x);\n // ref: https://jsbin.com/taxozoyaja/2/edit?html,js,output\n return angle < 0 ? angle + Math.PI * 2 : angle;\n};\n\nexport const tan2AngleToAngle = (angle: number) => {\n return angle < 0 ? angle + Math.PI * 2 : angle;\n};\n"]}
package/es/axis/util.js CHANGED
@@ -47,5 +47,4 @@ export function getVerticalCoord(point, vector) {
47
47
  export function getCircleVerticalVector(offset, point, center, inside = !1, axisInside = !1) {
48
48
  const vector = [ point.x - center.x, point.y - center.y ];
49
49
  return scale(vector, (inside ? -1 : 1) * (axisInside ? -1 : 1) * offset / length(vector));
50
- }
51
- //# sourceMappingURL=util.js.map
50
+ }
package/es/brush/brush.js CHANGED
@@ -193,4 +193,5 @@ export class Brush extends AbstractComponent {
193
193
  }
194
194
  }
195
195
 
196
- Brush.defaultAttributes = DEFAULT_BRUSH_ATTRIBUTES;
196
+ Brush.defaultAttributes = DEFAULT_BRUSH_ATTRIBUTES;
197
+ //# sourceMappingURL=brush.js.map
package/es/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const version = "0.19.3";
1
+ export declare const version = "0.19.4-alpha.1";
2
2
  export * from './core/base';
3
3
  export * from './core/type';
4
4
  export * from './scrollbar';
package/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export const version = "0.19.3";
1
+ export const version = "0.19.4-alpha.1";
2
2
 
3
3
  export * from "./core/base";
4
4
 
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEhC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.19.3\";\n\nexport * from './core/base';\nexport * from './core/type';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './radio';\nexport * from './util';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAExC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.19.4-alpha.1\";\n\nexport * from './core/base';\nexport * from './core/type';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\nexport * from './radio';\nexport * from './util';\n"]}
package/es/label/index.js CHANGED
@@ -14,4 +14,5 @@ export * from "./area";
14
14
 
15
15
  export * from "./line-data";
16
16
 
17
- export * from "./dataLabel";
17
+ export * from "./dataLabel";
18
+ //# sourceMappingURL=index.js.map
package/es/label/line.js CHANGED
@@ -31,4 +31,4 @@ LineLabel.defaultAttributes = {
31
31
  position: "end",
32
32
  offset: 6
33
33
  };
34
- //# sourceMappingURL=line.js.map
34
+ //# sourceMappingURL=line.js.map
@@ -24,4 +24,4 @@ PolygonLabel.defaultAttributes = {
24
24
  position: "center",
25
25
  offset: 6
26
26
  };
27
- //# sourceMappingURL=polygon.js.map
27
+ //# sourceMappingURL=polygon.js.map
package/es/label/rect.js CHANGED
@@ -36,4 +36,4 @@ RectLabel.tag = "rect-label", RectLabel.defaultAttributes = {
36
36
  position: "top",
37
37
  offset: 5
38
38
  };
39
- //# sourceMappingURL=rect.js.map
39
+ //# sourceMappingURL=rect.js.map
@@ -3,4 +3,4 @@ import { registerGroup, registerLine, registerRichtext, registerText } from "@vi
3
3
  export function loadLabelComponent() {
4
4
  registerGroup(), registerText(), registerRichtext(), registerLine();
5
5
  }
6
- //# sourceMappingURL=register.js.map
6
+ //# sourceMappingURL=register.js.map
@@ -21,4 +21,4 @@ SymbolLabel.defaultAttributes = {
21
21
  position: "top",
22
22
  offset: 5
23
23
  };
24
- //# sourceMappingURL=symbol.js.map
24
+ //# sourceMappingURL=symbol.js.map
package/es/label/type.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=type.js.map
2
+ //# sourceMappingURL=type.js.map
package/es/legend/base.js CHANGED
@@ -53,4 +53,4 @@ export class LegendBase extends AbstractComponent {
53
53
  }
54
54
  }
55
55
  }
56
- //# sourceMappingURL=base.js.map
56
+ //# sourceMappingURL=base.js.map
@@ -37,4 +37,4 @@ export var LEGEND_ELEMENT_NAME;
37
37
  LEGEND_ELEMENT_NAME.itemLabel = "legendItemLabel", LEGEND_ELEMENT_NAME.itemValue = "legendItemValue",
38
38
  LEGEND_ELEMENT_NAME.focus = "legendItemFocus";
39
39
  }(LEGEND_ELEMENT_NAME || (LEGEND_ELEMENT_NAME = {}));
40
- //# sourceMappingURL=constant.js.map
40
+ //# sourceMappingURL=constant.js.map
@@ -15,4 +15,4 @@ export * from "./type";
15
15
  export * from "./constant";
16
16
 
17
17
  export * from "./util";
18
- //# sourceMappingURL=index.js.map
18
+ //# sourceMappingURL=index.js.map
@@ -23,4 +23,4 @@ export function loadColorContinuousLegendComponent() {
23
23
  export function loadSizeContinuousLegendComponent() {
24
24
  loadBaseLegend(), loadSliderComponent(), registerPath();
25
25
  }
26
- //# sourceMappingURL=register.js.map
26
+ //# sourceMappingURL=register.js.map
package/es/legend/type.js CHANGED
@@ -1,2 +1 @@
1
- export { };
2
- //# sourceMappingURL=type.js.map
1
+ export { };
package/es/legend/util.js CHANGED
@@ -4,4 +4,4 @@ export function getSizeHandlerPath(align = "bottom") {
4
4
  `\n M${centerX - 6},0L${centerX - 6 + 2.5},-3.5\n h5\n v7\n h-5\n Z\n`) : "right" === align ? (centerX = -1,
5
5
  `\n M${centerX + 6},0L${centerX + 6 - 2.5},-3.5\n h-5\n v7\n h5\n Z\n `) : `\n M${centerX},6L${centerX - 3.5},2.5\n v-5\n h7\n v5\n Z\n`;
6
6
  }
7
- //# sourceMappingURL=util.js.map
7
+ //# sourceMappingURL=util.js.map
@@ -1,11 +1,15 @@
1
1
  export function graphicFadeIn(graphic, delay, duration, easing) {
2
- graphic && (graphic.setAttributes({
2
+ var _a, _b, _c, _d, _e;
3
+ if (!graphic) return;
4
+ null === (_a = null == graphic ? void 0 : graphic.animates) || void 0 === _a || _a.forEach((a => a.stop("end")));
5
+ const fillOpacityConfig = null !== (_c = null === (_b = graphic.attribute) || void 0 === _b ? void 0 : _b.fillOpacity) && void 0 !== _c ? _c : 1, strokeOpacityConfig = null !== (_e = null === (_d = graphic.attribute) || void 0 === _d ? void 0 : _d.strokeOpacity) && void 0 !== _e ? _e : 1;
6
+ graphic.setAttributes({
3
7
  fillOpacity: 0,
4
8
  strokeOpacity: 0
5
9
  }), graphic.animate().wait(delay).to({
6
- fillOpacity: 1,
7
- strokeOpacity: 1
8
- }, duration, easing));
10
+ fillOpacity: fillOpacityConfig,
11
+ strokeOpacity: strokeOpacityConfig
12
+ }, duration, easing);
9
13
  }
10
14
 
11
15
  export function segmentFadeIn(segment, delay, duration, easing) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/animate/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { EasingType, IGraphic } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\n\n/** fade-in */\nexport function graphicFadeIn(graphic: IGraphic, delay: number, duration: number, easing: EasingType) {\n if (!graphic) {\n return;\n }\n\n graphic.setAttributes({\n fillOpacity: 0,\n strokeOpacity: 0\n });\n\n graphic.animate().wait(delay).to({ fillOpacity: 1, strokeOpacity: 1 }, duration, easing);\n}\n\nexport function segmentFadeIn(segment: Segment, delay: number, duration: number, easing: EasingType) {\n if (!segment) {\n return;\n }\n\n // start symbol\n graphicFadeIn(segment.startSymbol, delay, duration, easing);\n\n // line\n segment.lines.forEach(line => graphicFadeIn(line, delay, duration, easing));\n graphicFadeIn((segment as ArcSegment).line, delay, duration, easing);\n\n // end symbol\n graphicFadeIn(segment.endSymbol, delay, duration, easing);\n}\n\nexport function tagFadeIn(tag: Tag, delay: number, duration: number, easing: EasingType) {\n if (!tag) {\n return;\n }\n\n // text\n graphicFadeIn(tag.getTextShape(), delay, duration, easing);\n\n // text background\n graphicFadeIn(tag.getBgRect(), delay, duration, easing);\n}\n\n/** fade-out */\nexport function graphicFadeOut(graphic: IGraphic, delay: number, duration: number, easing: EasingType) {\n if (!graphic) {\n return;\n }\n\n graphic.setAttributes({\n fillOpacity: graphic.attribute?.fillOpacity ?? 1,\n strokeOpacity: graphic.attribute?.strokeOpacity ?? 1\n });\n\n graphic.animate().wait(delay).to({ fillOpacity: 0, strokeOpacity: 0 }, duration, easing);\n}\n\nexport function segmentFadeOut(segment: Segment | ArcSegment, delay: number, duration: number, easing: EasingType) {\n if (!segment) {\n return;\n }\n\n // start symbol\n graphicFadeOut(segment.startSymbol, delay, duration, easing);\n\n // line\n segment.lines.forEach(line => graphicFadeOut(line, delay, duration, easing));\n graphicFadeOut((segment as ArcSegment).line, delay, duration, easing);\n\n // end symbol\n graphicFadeOut(segment.endSymbol, delay, duration, easing);\n}\n\nexport function tagFadeOut(tag: Tag, delay: number, duration: number, easing: EasingType) {\n if (!tag) {\n return;\n }\n\n // text\n graphicFadeOut(tag.getTextShape(), delay, duration, easing);\n\n // text background\n graphicFadeOut(tag.getBgRect(), delay, duration, easing);\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/animate/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { EasingType, IGraphic } from '@visactor/vrender-core';\nimport type { ArcSegment, Segment } from '../../segment';\nimport type { Tag } from '../../tag';\n\n/** fade-in */\nexport function graphicFadeIn(graphic: IGraphic, delay: number, duration: number, easing: EasingType) {\n if (!graphic) {\n return;\n }\n graphic?.animates?.forEach(a => a.stop('end'));\n const fillOpacityConfig = graphic.attribute?.fillOpacity ?? 1;\n const strokeOpacityConfig = graphic.attribute?.strokeOpacity ?? 1;\n\n graphic.setAttributes({\n fillOpacity: 0,\n strokeOpacity: 0\n });\n\n graphic.animate().wait(delay).to(\n {\n fillOpacity: fillOpacityConfig,\n strokeOpacity: strokeOpacityConfig\n },\n duration,\n easing\n );\n}\n\nexport function segmentFadeIn(segment: Segment, delay: number, duration: number, easing: EasingType) {\n if (!segment) {\n return;\n }\n\n // start symbol\n graphicFadeIn(segment.startSymbol, delay, duration, easing);\n\n // line\n segment.lines.forEach(line => graphicFadeIn(line, delay, duration, easing));\n graphicFadeIn((segment as ArcSegment).line, delay, duration, easing);\n\n // end symbol\n graphicFadeIn(segment.endSymbol, delay, duration, easing);\n}\n\nexport function tagFadeIn(tag: Tag, delay: number, duration: number, easing: EasingType) {\n if (!tag) {\n return;\n }\n\n // text\n graphicFadeIn(tag.getTextShape(), delay, duration, easing);\n\n // text background\n graphicFadeIn(tag.getBgRect(), delay, duration, easing);\n}\n\n/** fade-out */\nexport function graphicFadeOut(graphic: IGraphic, delay: number, duration: number, easing: EasingType) {\n if (!graphic) {\n return;\n }\n\n graphic.setAttributes({\n fillOpacity: graphic.attribute?.fillOpacity ?? 1,\n strokeOpacity: graphic.attribute?.strokeOpacity ?? 1\n });\n\n graphic.animate().wait(delay).to({ fillOpacity: 0, strokeOpacity: 0 }, duration, easing);\n}\n\nexport function segmentFadeOut(segment: Segment | ArcSegment, delay: number, duration: number, easing: EasingType) {\n if (!segment) {\n return;\n }\n\n // start symbol\n graphicFadeOut(segment.startSymbol, delay, duration, easing);\n\n // line\n segment.lines.forEach(line => graphicFadeOut(line, delay, duration, easing));\n graphicFadeOut((segment as ArcSegment).line, delay, duration, easing);\n\n // end symbol\n graphicFadeOut(segment.endSymbol, delay, duration, easing);\n}\n\nexport function tagFadeOut(tag: Tag, delay: number, duration: number, easing: EasingType) {\n if (!tag) {\n return;\n }\n\n // text\n graphicFadeOut(tag.getTextShape(), delay, duration, easing);\n\n // text background\n graphicFadeOut(tag.getBgRect(), delay, duration, easing);\n}\n"]}
@@ -124,18 +124,24 @@ export class MarkArcArea extends Marker {
124
124
  this.setLabelPos();
125
125
  }
126
126
  updateMarker() {
127
- const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label} = this.attribute;
128
- this._area && this._area.setAttributes(Object.assign({
127
+ const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label, state: state} = this.attribute;
128
+ this._area && (this._area.setAttributes(Object.assign({
129
129
  x: center.x,
130
130
  y: center.y,
131
131
  innerRadius: innerRadius,
132
132
  outerRadius: outerRadius,
133
133
  startAngle: startAngle,
134
134
  endAngle: endAngle
135
- }, areaStyle)), this._area && this._label.setAttributes(Object.assign({
135
+ }, areaStyle)), this._area.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.area)),
136
+ this._label && (this._label.setAttributes(Object.assign(Object.assign({
136
137
  dx: 0,
137
138
  dy: 0
138
- }, label)), this.setLabelPos();
139
+ }, label), {
140
+ state: {
141
+ panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
142
+ text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
143
+ }
144
+ })), this.setLabelPos());
139
145
  }
140
146
  isValidPoints() {
141
147
  return !0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/arc-area.ts"],"names":[],"mappings":"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","file":"arc-area.js","sourcesContent":["import type { IArc, IGroup, INode } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_ARC_AREA_THEME, DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP } from './config';\nimport type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkArcAreaComponent } from './register';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markArcAreaAnimate } from './animate/animate';\n\nloadMarkArcAreaComponent();\n\nexport function registerMarkArcAreaAnimate() {\n MarkArcArea._animate = markArcAreaAnimate;\n}\n\nexport class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArcArea';\n static defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;\n private _area!: IArc;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArcArea._animate && this._animationConfig) {\n MarkArcArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n getArea() {\n return this._area;\n }\n\n getLabel() {\n return this._label;\n }\n\n constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions) {\n // eslint-disable-next-line max-len\n super(\n options?.skipDefault\n ? attributes\n : merge({}, MarkArcArea.defaultAttributes, attributes, { label: { autoRotate: true } })\n );\n }\n\n protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, label } = this.attribute as MarkArcAreaAttrs;\n const { refX = 0, refY = 0 } = label;\n\n let radius;\n let angle;\n\n switch (position) {\n case IMarkCommonArcLabelPosition.center:\n radius = (innerRadius + outerRadius) / 2;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n radius = innerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n radius = outerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n radius = innerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n radius = outerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n radius = outerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n default: // default arcInnerMiddle\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n }\n\n return {\n position: {\n x: center.x + (radius + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),\n y: center.y + (radius + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)\n },\n angle\n };\n }\n\n protected setLabelPos() {\n if (this._label && this._area) {\n const { label = {} } = this.attribute as MarkArcAreaAttrs;\n const { position: labelPosition = 'arcInnerMiddle', autoRotate } = label;\n const labelAttr = this.getPointAttrByPosition(labelPosition as IMarkCommonArcLabelPosition);\n\n this._label.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (label.refAngle ?? 0) : 0,\n textStyle: {\n ...DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition],\n ...label.textStyle\n }\n });\n\n if (this.attribute.limitRect && label.confine) {\n const { x, y, width, height } = this.attribute.limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n }\n\n protected initMarker(container: IGroup) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this\n .attribute as MarkArcAreaAttrs;\n const area = graphicCreator.arc({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'polar-mark-area-area';\n this._area = area;\n container.add(area);\n\n const markLabel = new Tag({\n ...(label as TagAttributes),\n state: {\n panel: merge({}, DEFAULT_STATES, state?.labelBackground),\n text: merge({}, DEFAULT_STATES, state?.label)\n }\n });\n markLabel.name = 'mark-area-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label } = this\n .attribute as MarkArcAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n }\n if (this._area) {\n this._label.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...(label as TagAttributes)\n });\n }\n this.setLabelPos();\n }\n\n protected isValidPoints() {\n return true;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/arc-area.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,MAAM,UAAU,CAAC;AAG5F,OAAO,EAAE,2BAA2B,EAAyB,MAAM,QAAQ,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEnH,wBAAwB,EAAE,CAAC;AAE3B,MAAM,UAAU,0BAA0B;IACxC,WAAW,CAAC,QAAQ,GAAG,kBAAkB,CAAC;AAC5C,CAAC;AAED,MAAM,OAAO,WAAY,SAAQ,MAAqD;IAQ1E,aAAa,CAAC,KAA2B;QACjD,IAAI,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACjD,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SAC7E;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,YAAY,UAA4B,EAAE,OAA0B;QAElE,KAAK,CACH,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;YAClB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAC1F,CAAC;QA3BJ,SAAI,GAAG,aAAa,CAAC;QAKrB,2BAAsB,GAAG,8BAA8B,CAAC;QACxD,yBAAoB,GAAG,0BAA0B,CAAC;IAsBlD,CAAC;IAES,sBAAsB,CAAC,QAAqC;QACpE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAA6B,CAAC;QAC7G,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;QAErC,IAAI,MAAM,CAAC;QACX,IAAI,KAAK,CAAC;QAEV,QAAQ,QAAQ,EAAE;YAChB,KAAK,2BAA2B,CAAC,MAAM;gBACrC,MAAM,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBACzC,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,2BAA2B,CAAC,aAAa;gBAC5C,MAAM,GAAG,WAAW,CAAC;gBACrB,KAAK,GAAG,UAAU,CAAC;gBACnB,MAAM;YACR,KAAK,2BAA2B,CAAC,aAAa;gBAC5C,MAAM,GAAG,WAAW,CAAC;gBACrB,KAAK,GAAG,UAAU,CAAC;gBACnB,MAAM;YACR,KAAK,2BAA2B,CAAC,WAAW;gBAC1C,MAAM,GAAG,WAAW,CAAC;gBACrB,KAAK,GAAG,QAAQ,CAAC;gBACjB,MAAM;YACR,KAAK,2BAA2B,CAAC,WAAW;gBAC1C,MAAM,GAAG,WAAW,CAAC;gBACrB,KAAK,GAAG,QAAQ,CAAC;gBACjB,MAAM;YACR,KAAK,2BAA2B,CAAC,cAAc;gBAC7C,MAAM,GAAG,WAAW,CAAC;gBACrB,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,2BAA2B,CAAC,cAAc;gBAC7C,MAAM,GAAG,WAAW,CAAC;gBACrB,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM;YACR;gBACE,MAAM,GAAG,WAAW,CAAC;gBACrB,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtF,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACvF;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IAES,WAAW;;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,SAA6B,CAAC;YAC1D,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,gBAAgB,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YACzE,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAA4C,CAAC,CAAC;YAE5F,IAAI,CAAC,MAAM,CAAC,aAAa,iCACpB,SAAS,CAAC,QAAQ,KACrB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7E,SAAS,kCACJ,mCAAmC,CAAC,aAAa,CAAC,GAClD,KAAK,CAAC,SAAS,KAEpB,CAAC;YAEH,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE;gBAC7C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBACzD,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC9B,EAAE,EAAE,CAAC;oBACL,EAAE,EAAE,CAAC;oBACL,EAAE,EAAE,CAAC,GAAG,KAAK;oBACb,EAAE,EAAE,CAAC,GAAG,MAAM;iBACf,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAES,UAAU,CAAC,SAAiB;QACpC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI;aAC7F,SAA6B,CAAC;QACjC,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,iBAC7B,CAAC,EAAE,MAAM,CAAC,CAAC,EACX,CAAC,EAAE,MAAM,CAAC,CAAC,EACX,WAAW;YACX,WAAW;YACX,UAAU;YACV,QAAQ,IACL,SAAS,EACZ,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpB,MAAM,SAAS,GAAG,IAAI,GAAG,iCACnB,KAAuB,KAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;gBACxD,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;aAC9C,IACD,CAAC;QACH,SAAS,CAAC,IAAI,GAAG,iBAAiB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,SAAS,CAAC,GAAG,CAAC,SAA6B,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,YAAY;QACpB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI;aAC7F,SAA6B,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,aAAa,iBACtB,CAAC,EAAE,MAAM,CAAC,CAAC,EACX,CAAC,EAAE,MAAM,CAAC,CAAC,EACX,WAAW;gBACX,WAAW;gBACX,UAAU;gBACV,QAAQ,IACL,SAAS,EACZ,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,CAAC;SAC5D;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,aAAa,+BACvB,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,IACD,KAAuB,KAC3B,KAAK,EAAE;oBACL,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;oBACxD,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;iBAC9C,IACD,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;;AAvKM,6BAAiB,GAAG,2BAA2B,CAAC","file":"arc-area.js","sourcesContent":["import type { IArc, IGroup, INode } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_ARC_AREA_THEME, DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP } from './config';\nimport type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkArcAreaComponent } from './register';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markArcAreaAnimate } from './animate/animate';\n\nloadMarkArcAreaComponent();\n\nexport function registerMarkArcAreaAnimate() {\n MarkArcArea._animate = markArcAreaAnimate;\n}\n\nexport class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArcArea';\n static defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;\n private _area!: IArc;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArcArea._animate && this._animationConfig) {\n MarkArcArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n getArea() {\n return this._area;\n }\n\n getLabel() {\n return this._label;\n }\n\n constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions) {\n // eslint-disable-next-line max-len\n super(\n options?.skipDefault\n ? attributes\n : merge({}, MarkArcArea.defaultAttributes, attributes, { label: { autoRotate: true } })\n );\n }\n\n protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, label } = this.attribute as MarkArcAreaAttrs;\n const { refX = 0, refY = 0 } = label;\n\n let radius;\n let angle;\n\n switch (position) {\n case IMarkCommonArcLabelPosition.center:\n radius = (innerRadius + outerRadius) / 2;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n radius = innerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n radius = outerRadius;\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n radius = innerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n radius = outerRadius;\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n radius = outerRadius;\n angle = (startAngle + endAngle) / 2;\n break;\n default: // default arcInnerMiddle\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n }\n\n return {\n position: {\n x: center.x + (radius + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),\n y: center.y + (radius + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)\n },\n angle\n };\n }\n\n protected setLabelPos() {\n if (this._label && this._area) {\n const { label = {} } = this.attribute as MarkArcAreaAttrs;\n const { position: labelPosition = 'arcInnerMiddle', autoRotate } = label;\n const labelAttr = this.getPointAttrByPosition(labelPosition as IMarkCommonArcLabelPosition);\n\n this._label.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (label.refAngle ?? 0) : 0,\n textStyle: {\n ...DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[labelPosition],\n ...label.textStyle\n }\n });\n\n if (this.attribute.limitRect && label.confine) {\n const { x, y, width, height } = this.attribute.limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n }\n\n protected initMarker(container: IGroup) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this\n .attribute as MarkArcAreaAttrs;\n const area = graphicCreator.arc({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'polar-mark-area-area';\n this._area = area;\n container.add(area);\n\n const markLabel = new Tag({\n ...(label as TagAttributes),\n state: {\n panel: merge({}, DEFAULT_STATES, state?.labelBackground),\n text: merge({}, DEFAULT_STATES, state?.label)\n }\n });\n markLabel.name = 'mark-area-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this\n .attribute as MarkArcAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n this._area.states = merge({}, DEFAULT_STATES, state?.area);\n }\n if (this._label) {\n this._label.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...(label as TagAttributes),\n state: {\n panel: merge({}, DEFAULT_STATES, state?.labelBackground),\n text: merge({}, DEFAULT_STATES, state?.label)\n }\n });\n this.setLabelPos();\n }\n }\n\n protected isValidPoints() {\n return true;\n }\n}\n"]}
@@ -88,7 +88,7 @@ export class MarkArcLine extends MarkCommonLine {
88
88
  });
89
89
  }
90
90
  setLineAttributes() {
91
- const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle} = this.attribute;
91
+ const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, state: state} = this.attribute;
92
92
  this._line && this._line.setAttributes({
93
93
  center: center,
94
94
  radius: radius,
@@ -96,7 +96,12 @@ export class MarkArcLine extends MarkCommonLine {
96
96
  endAngle: endAngle,
97
97
  startSymbol: startSymbol,
98
98
  endSymbol: endSymbol,
99
- lineStyle: lineStyle
99
+ lineStyle: lineStyle,
100
+ state: {
101
+ line: merge({}, DEFAULT_STATES, null == state ? void 0 : state.line),
102
+ startSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineStartSymbol),
103
+ endSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineEndSymbol)
104
+ }
100
105
  });
101
106
  }
102
107
  isValidPoints() {