@visactor/vrender-components 0.18.14-alpha.0 → 0.19.0-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 (233) hide show
  1. package/cjs/axis/base.js +4 -20
  2. package/cjs/axis/base.js.map +1 -1
  3. package/cjs/brush/brush.js +14 -21
  4. package/cjs/brush/brush.js.map +1 -1
  5. package/cjs/checkbox/checkbox.d.ts +2 -2
  6. package/cjs/checkbox/checkbox.js +3 -4
  7. package/cjs/checkbox/checkbox.js.map +1 -1
  8. package/cjs/checkbox/register.js +1 -1
  9. package/cjs/checkbox/register.js.map +1 -1
  10. package/cjs/checkbox/type.d.ts +2 -2
  11. package/cjs/checkbox/type.js.map +1 -1
  12. package/cjs/data-zoom/data-zoom.js +6 -12
  13. package/cjs/data-zoom/data-zoom.js.map +1 -1
  14. package/cjs/index.d.ts +1 -2
  15. package/cjs/index.js +2 -3
  16. package/cjs/index.js.map +1 -1
  17. package/cjs/label/arc.d.ts +2 -2
  18. package/cjs/label/base.d.ts +2 -2
  19. package/cjs/marker/animate/animate.d.ts +13 -0
  20. package/cjs/marker/animate/animate.js +92 -0
  21. package/cjs/marker/animate/animate.js.map +1 -0
  22. package/cjs/marker/animate/call-in.d.ts +4 -0
  23. package/cjs/marker/animate/call-in.js +27 -0
  24. package/cjs/marker/animate/call-in.js.map +1 -0
  25. package/cjs/marker/animate/clip-in.d.ts +4 -0
  26. package/cjs/marker/animate/clip-in.js +23 -0
  27. package/cjs/marker/animate/clip-in.js.map +1 -0
  28. package/cjs/marker/animate/common.d.ts +9 -0
  29. package/cjs/marker/animate/common.js +48 -0
  30. package/cjs/marker/animate/common.js.map +1 -0
  31. package/cjs/marker/animate/fade-in.d.ts +7 -0
  32. package/cjs/marker/animate/fade-in.js +30 -0
  33. package/cjs/marker/animate/fade-in.js.map +1 -0
  34. package/cjs/marker/animate/fade-out.d.ts +7 -0
  35. package/cjs/marker/animate/fade-out.js +30 -0
  36. package/cjs/marker/animate/fade-out.js.map +1 -0
  37. package/cjs/marker/animate/index.js +3 -0
  38. package/cjs/marker/animate/index.js.map +1 -0
  39. package/cjs/marker/arc-area.d.ts +55 -0
  40. package/cjs/marker/arc-area.js +131 -0
  41. package/cjs/marker/arc-area.js.map +1 -0
  42. package/cjs/marker/arc-line.d.ts +25 -0
  43. package/cjs/marker/arc-line.js +106 -0
  44. package/cjs/marker/arc-line.js.map +1 -0
  45. package/cjs/marker/area.d.ts +14 -4
  46. package/cjs/marker/area.js +34 -21
  47. package/cjs/marker/area.js.map +1 -1
  48. package/cjs/marker/base.d.ts +21 -3
  49. package/cjs/marker/base.js +40 -5
  50. package/cjs/marker/base.js.map +1 -1
  51. package/cjs/marker/common-line.d.ts +22 -0
  52. package/cjs/marker/common-line.js +56 -0
  53. package/cjs/marker/common-line.js.map +1 -0
  54. package/cjs/marker/config.d.ts +79 -6
  55. package/cjs/marker/config.js +77 -37
  56. package/cjs/marker/config.js.map +1 -1
  57. package/cjs/marker/index.d.ts +2 -0
  58. package/cjs/marker/index.js +2 -1
  59. package/cjs/marker/index.js.map +1 -1
  60. package/cjs/marker/line.d.ts +24 -12
  61. package/cjs/marker/line.js +111 -45
  62. package/cjs/marker/line.js.map +1 -1
  63. package/cjs/marker/point.d.ts +8 -3
  64. package/cjs/marker/point.js +33 -9
  65. package/cjs/marker/point.js.map +1 -1
  66. package/cjs/marker/register.d.ts +2 -0
  67. package/cjs/marker/register.js +11 -2
  68. package/cjs/marker/register.js.map +1 -1
  69. package/cjs/marker/type.d.ts +102 -12
  70. package/cjs/marker/type.js +8 -2
  71. package/cjs/marker/type.js.map +1 -1
  72. package/cjs/poptip/poptip.js +4 -6
  73. package/cjs/poptip/poptip.js.map +1 -1
  74. package/cjs/poptip/register.js +2 -2
  75. package/cjs/poptip/register.js.map +1 -1
  76. package/cjs/segment/arc-segment.d.ts +13 -0
  77. package/cjs/segment/arc-segment.js +51 -0
  78. package/cjs/segment/arc-segment.js.map +1 -0
  79. package/cjs/segment/index.d.ts +1 -0
  80. package/cjs/segment/index.js +2 -1
  81. package/cjs/segment/index.js.map +1 -1
  82. package/cjs/segment/register.d.ts +2 -1
  83. package/cjs/segment/register.js +8 -3
  84. package/cjs/segment/register.js.map +1 -1
  85. package/cjs/segment/segment.d.ts +9 -7
  86. package/cjs/segment/segment.js +12 -8
  87. package/cjs/segment/segment.js.map +1 -1
  88. package/cjs/segment/type.d.ts +24 -4
  89. package/cjs/segment/type.js.map +1 -1
  90. package/cjs/slider/slider.js +4 -7
  91. package/cjs/slider/slider.js.map +1 -1
  92. package/cjs/tag/tag.d.ts +5 -0
  93. package/cjs/tag/tag.js +11 -2
  94. package/cjs/tag/tag.js.map +1 -1
  95. package/cjs/title/register.js +2 -1
  96. package/cjs/title/register.js.map +1 -1
  97. package/cjs/title/title.js +4 -6
  98. package/cjs/title/title.js.map +1 -1
  99. package/cjs/util/interaction.d.ts +4 -0
  100. package/cjs/util/interaction.js +37 -0
  101. package/cjs/util/interaction.js.map +1 -0
  102. package/es/axis/base.js +7 -21
  103. package/es/axis/base.js.map +1 -1
  104. package/es/brush/brush.js +14 -21
  105. package/es/brush/brush.js.map +1 -1
  106. package/es/checkbox/checkbox.d.ts +2 -2
  107. package/es/checkbox/checkbox.js +3 -5
  108. package/es/checkbox/checkbox.js.map +1 -1
  109. package/es/checkbox/register.js +2 -2
  110. package/es/checkbox/register.js.map +1 -1
  111. package/es/checkbox/type.d.ts +2 -2
  112. package/es/checkbox/type.js.map +1 -1
  113. package/es/data-zoom/data-zoom.js +6 -12
  114. package/es/data-zoom/data-zoom.js.map +1 -1
  115. package/es/index.d.ts +1 -2
  116. package/es/index.js +1 -3
  117. package/es/index.js.map +1 -1
  118. package/es/label/arc.d.ts +2 -2
  119. package/es/label/base.d.ts +2 -2
  120. package/es/marker/animate/animate.d.ts +13 -0
  121. package/es/marker/animate/animate.js +92 -0
  122. package/es/marker/animate/animate.js.map +1 -0
  123. package/es/marker/animate/call-in.d.ts +4 -0
  124. package/es/marker/animate/call-in.js +17 -0
  125. package/es/marker/animate/call-in.js.map +1 -0
  126. package/es/marker/animate/clip-in.d.ts +4 -0
  127. package/es/marker/animate/clip-in.js +15 -0
  128. package/es/marker/animate/clip-in.js.map +1 -0
  129. package/es/marker/animate/common.d.ts +9 -0
  130. package/es/marker/animate/common.js +39 -0
  131. package/es/marker/animate/common.js.map +1 -0
  132. package/es/marker/animate/fade-in.d.ts +7 -0
  133. package/es/marker/animate/fade-in.js +20 -0
  134. package/es/marker/animate/fade-in.js.map +1 -0
  135. package/es/marker/animate/fade-out.d.ts +7 -0
  136. package/es/marker/animate/fade-out.js +20 -0
  137. package/es/marker/animate/fade-out.js.map +1 -0
  138. package/es/marker/animate/index.js +3 -0
  139. package/es/marker/animate/index.js.map +1 -0
  140. package/es/marker/arc-area.d.ts +55 -0
  141. package/es/marker/arc-area.js +143 -0
  142. package/es/marker/arc-area.js.map +1 -0
  143. package/es/marker/arc-line.d.ts +25 -0
  144. package/es/marker/arc-line.js +114 -0
  145. package/es/marker/arc-line.js.map +1 -0
  146. package/es/marker/area.d.ts +14 -4
  147. package/es/marker/area.js +36 -19
  148. package/es/marker/area.js.map +1 -1
  149. package/es/marker/base.d.ts +21 -3
  150. package/es/marker/base.js +43 -4
  151. package/es/marker/base.js.map +1 -1
  152. package/es/marker/common-line.d.ts +22 -0
  153. package/es/marker/common-line.js +58 -0
  154. package/es/marker/common-line.js.map +1 -0
  155. package/es/marker/config.d.ts +79 -6
  156. package/es/marker/config.js +79 -37
  157. package/es/marker/config.js.map +1 -1
  158. package/es/marker/index.d.ts +2 -0
  159. package/es/marker/index.js +4 -0
  160. package/es/marker/index.js.map +1 -1
  161. package/es/marker/line.d.ts +24 -12
  162. package/es/marker/line.js +116 -48
  163. package/es/marker/line.js.map +1 -1
  164. package/es/marker/point.d.ts +8 -3
  165. package/es/marker/point.js +34 -6
  166. package/es/marker/point.js.map +1 -1
  167. package/es/marker/register.d.ts +2 -0
  168. package/es/marker/register.js +10 -2
  169. package/es/marker/register.js.map +1 -1
  170. package/es/marker/type.d.ts +102 -12
  171. package/es/marker/type.js +9 -0
  172. package/es/marker/type.js.map +1 -1
  173. package/es/poptip/poptip.js +4 -6
  174. package/es/poptip/poptip.js.map +1 -1
  175. package/es/poptip/register.js +2 -2
  176. package/es/poptip/register.js.map +1 -1
  177. package/es/segment/arc-segment.d.ts +13 -0
  178. package/es/segment/arc-segment.js +49 -0
  179. package/es/segment/arc-segment.js.map +1 -0
  180. package/es/segment/index.d.ts +1 -0
  181. package/es/segment/index.js +2 -0
  182. package/es/segment/index.js.map +1 -1
  183. package/es/segment/register.d.ts +2 -1
  184. package/es/segment/register.js +6 -2
  185. package/es/segment/register.js.map +1 -1
  186. package/es/segment/segment.d.ts +9 -7
  187. package/es/segment/segment.js +11 -8
  188. package/es/segment/segment.js.map +1 -1
  189. package/es/segment/type.d.ts +24 -4
  190. package/es/segment/type.js.map +1 -1
  191. package/es/slider/slider.js +4 -7
  192. package/es/slider/slider.js.map +1 -1
  193. package/es/tag/tag.d.ts +5 -0
  194. package/es/tag/tag.js +11 -2
  195. package/es/tag/tag.js.map +1 -1
  196. package/es/title/register.js +2 -2
  197. package/es/title/register.js.map +1 -1
  198. package/es/title/title.js +4 -6
  199. package/es/title/title.js.map +1 -1
  200. package/es/util/interaction.d.ts +4 -0
  201. package/es/util/interaction.js +30 -0
  202. package/es/util/interaction.js.map +1 -0
  203. package/package.json +3 -3
  204. package/cjs/marker/util.js +0 -3
  205. package/cjs/marker/util.js.map +0 -1
  206. package/cjs/radio/index.d.ts +0 -2
  207. package/cjs/radio/index.js +0 -21
  208. package/cjs/radio/index.js.map +0 -1
  209. package/cjs/radio/radio.d.ts +0 -16
  210. package/cjs/radio/radio.js +0 -89
  211. package/cjs/radio/radio.js.map +0 -1
  212. package/cjs/radio/register.d.ts +0 -1
  213. package/cjs/radio/register.js +0 -15
  214. package/cjs/radio/register.js.map +0 -1
  215. package/cjs/radio/type.d.ts +0 -21
  216. package/cjs/radio/type.js +0 -6
  217. package/cjs/radio/type.js.map +0 -1
  218. package/es/marker/util.js +0 -3
  219. package/es/marker/util.js.map +0 -1
  220. package/es/radio/index.d.ts +0 -2
  221. package/es/radio/index.js +0 -4
  222. package/es/radio/index.js.map +0 -1
  223. package/es/radio/radio.d.ts +0 -16
  224. package/es/radio/radio.js +0 -88
  225. package/es/radio/radio.js.map +0 -1
  226. package/es/radio/register.d.ts +0 -1
  227. package/es/radio/register.js +0 -6
  228. package/es/radio/register.js.map +0 -1
  229. package/es/radio/type.d.ts +0 -21
  230. package/es/radio/type.js +0 -2
  231. package/es/radio/type.js.map +0 -1
  232. /package/cjs/marker/{util.d.ts → animate/index.d.ts} +0 -0
  233. /package/es/marker/{util.d.ts → animate/index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/marker/common-line.ts"],"names":[],"mappings":"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","file":"common-line.js","sourcesContent":["import type { IGroup, INode } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { ArcSegment, Segment } from '../segment';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport type { MarkCommonLineAnimationType, MarkCommonLineAttrs, MarkerAnimationState } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport { DEFAULT_STATES } from '../constant';\nimport { Marker } from './base';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkLineAnimation } from './animate/animate';\n\nexport abstract class MarkCommonLine<LineAttr, LabelPosition> extends Marker<\n MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>,\n MarkCommonLineAnimationType\n> {\n name = 'markCommonLine';\n\n /** animate */\n static _animate?: (line: Segment | ArcSegment, label: Tag, animationConfig: any, state: MarkerAnimationState) => void;\n defaultUpdateAnimation = DefaultUpdateMarkLineAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n\n protected _line!: Segment | ArcSegment;\n protected abstract createSegment(): any;\n protected abstract setLineAttributes(): any;\n protected abstract getPointAttrByPosition(position: any): any;\n protected abstract getRotateByAngle(angle: number): number;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n\n getLine() {\n return this._line;\n }\n getLabel() {\n return this._label;\n }\n\n protected setLabelPos() {\n const { label = {}, limitRect } = this.attribute;\n const { position, confine, autoRotate = true } = label;\n const labelPoint = this.getPointAttrByPosition(position);\n this._label.setAttributes({\n ...labelPoint.position,\n angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0\n });\n if (limitRect && confine) {\n const { x, y, width, height } = limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n\n protected initMarker(container: IGroup) {\n const { label, state } = this.attribute as MarkCommonLineAttrs<\n LineAttr,\n LabelPosition,\n MarkCommonLineAnimationType\n >;\n const line = this.createSegment();\n line.name = 'mark-common-line-line';\n this._line = line;\n container.add(line as unknown as INode);\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-common-line-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { label } = this.attribute as MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>;\n\n this.setLineAttributes();\n\n if (this._label) {\n this._label.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...(label as TagAttributes)\n });\n }\n\n this.setLabelPos();\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';
2
- import { IMarkAreaLabelPosition, IMarkLineLabelPosition } from './type';
2
+ import { IMarkAreaLabelPosition, IMarkLineLabelPosition, IMarkCommonArcLabelPosition } from './type';
3
3
  export declare const DEFAULT_MARK_LINE_THEME: {
4
+ interactive: boolean;
4
5
  startSymbol: {
5
6
  visible: boolean;
6
7
  symbolType: string;
@@ -27,6 +28,8 @@ export declare const DEFAULT_MARK_LINE_THEME: {
27
28
  fontSize: number;
28
29
  fontWeight: string;
29
30
  fontStyle: string;
31
+ textAlign: string;
32
+ textBaseline: string;
30
33
  };
31
34
  padding: number[];
32
35
  panel: {
@@ -42,13 +45,53 @@ export declare const DEFAULT_MARK_LINE_THEME: {
42
45
  lineDash: number[];
43
46
  };
44
47
  };
45
- export declare const DEFAULT_MARK_LINE_TEXT_STYLE_MAP: {
46
- [K: string]: {
47
- textAlign: TextAlignType;
48
- textBaseline: TextBaselineType;
48
+ export declare const DEFAULT_MARK_ARC_LINE_THEME: {
49
+ interactive: boolean;
50
+ startSymbol: {
51
+ visible: boolean;
52
+ symbolType: string;
53
+ size: number;
54
+ fill: string;
55
+ lineWidth: number;
56
+ };
57
+ endSymbol: {
58
+ visible: boolean;
59
+ symbolType: string;
60
+ size: number;
61
+ fill: string;
62
+ lineWidth: number;
63
+ };
64
+ label: {
65
+ position: IMarkCommonArcLabelPosition;
66
+ refX: number;
67
+ refY: number;
68
+ refAngle: number;
69
+ textStyle: {
70
+ fill: string;
71
+ stroke: string;
72
+ lineWidth: number;
73
+ fontSize: number;
74
+ fontWeight: string;
75
+ fontStyle: string;
76
+ textAlign: string;
77
+ textBaseline: string;
78
+ };
79
+ padding: number[];
80
+ panel: {
81
+ visible: boolean;
82
+ cornerRadius: number;
83
+ fill: string;
84
+ fillOpacity: number;
85
+ };
86
+ };
87
+ lineStyle: {
88
+ stroke: string;
89
+ lineWidth: number;
90
+ lineDash: number[];
49
91
  };
50
92
  };
51
93
  export declare const DEFAULT_MARK_AREA_THEME: {
94
+ interactive: boolean;
52
95
  label: {
53
96
  position: IMarkAreaLabelPosition;
54
97
  textStyle: {
@@ -58,6 +101,35 @@ export declare const DEFAULT_MARK_AREA_THEME: {
58
101
  fontSize: number;
59
102
  fontWeight: string;
60
103
  fontStyle: string;
104
+ textAlign: string;
105
+ textBaseline: string;
106
+ };
107
+ padding: number[];
108
+ panel: {
109
+ visible: boolean;
110
+ cornerRadius: number;
111
+ fill: string;
112
+ fillOpacity: number;
113
+ };
114
+ };
115
+ areaStyle: {
116
+ fill: string;
117
+ visible: boolean;
118
+ };
119
+ };
120
+ export declare const DEFAULT_MARK_ARC_AREA_THEME: {
121
+ interactive: boolean;
122
+ label: {
123
+ position: IMarkCommonArcLabelPosition;
124
+ textStyle: {
125
+ fill: string;
126
+ stroke: string;
127
+ lineWidth: number;
128
+ fontSize: number;
129
+ fontWeight: string;
130
+ fontStyle: string;
131
+ textAlign: string;
132
+ textBaseline: string;
61
133
  };
62
134
  padding: number[];
63
135
  panel: {
@@ -72,13 +144,14 @@ export declare const DEFAULT_MARK_AREA_THEME: {
72
144
  visible: boolean;
73
145
  };
74
146
  };
75
- export declare const DEFAULT_MARK_AREA_TEXT_STYLE_MAP: {
147
+ export declare const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {
76
148
  [K: string]: {
77
149
  textAlign: TextAlignType;
78
150
  textBaseline: TextBaselineType;
79
151
  };
80
152
  };
81
153
  export declare const DEFAULT_MARK_POINT_THEME: {
154
+ interactive: boolean;
82
155
  itemLine: {
83
156
  visible: boolean;
84
157
  decorativeLine: {
@@ -1,6 +1,7 @@
1
- import { IMarkAreaLabelPosition, IMarkLineLabelPosition } from "./type";
1
+ import { IMarkAreaLabelPosition, IMarkLineLabelPosition, IMarkCommonArcLabelPosition } from "./type";
2
2
 
3
3
  export const DEFAULT_MARK_LINE_THEME = {
4
+ interactive: !0,
4
5
  startSymbol: {
5
6
  visible: !1,
6
7
  symbolType: "triangle",
@@ -26,7 +27,9 @@ export const DEFAULT_MARK_LINE_THEME = {
26
27
  lineWidth: 0,
27
28
  fontSize: 10,
28
29
  fontWeight: "normal",
29
- fontStyle: "normal"
30
+ fontStyle: "normal",
31
+ textAlign: "center",
32
+ textBaseline: "middle"
30
33
  },
31
34
  padding: [ 2, 2, 4, 4 ],
32
35
  panel: {
@@ -43,46 +46,54 @@ export const DEFAULT_MARK_LINE_THEME = {
43
46
  }
44
47
  };
45
48
 
46
- export const DEFAULT_MARK_LINE_TEXT_STYLE_MAP = {
47
- start: {
48
- textAlign: "right",
49
- textBaseline: "middle"
50
- },
51
- insideStartTop: {
52
- textAlign: "left",
53
- textBaseline: "bottom"
54
- },
55
- insideStartBottom: {
56
- textAlign: "left",
57
- textBaseline: "top"
58
- },
59
- middle: {
60
- textAlign: "center",
61
- textBaseline: "middle"
62
- },
63
- insideMiddleTop: {
64
- textAlign: "center",
65
- textBaseline: "bottom"
66
- },
67
- insideMiddleBottom: {
68
- textAlign: "center",
69
- textBaseline: "top"
49
+ export const DEFAULT_MARK_ARC_LINE_THEME = {
50
+ interactive: !0,
51
+ startSymbol: {
52
+ visible: !1,
53
+ symbolType: "triangle",
54
+ size: 12,
55
+ fill: "rgba(46, 47, 50)",
56
+ lineWidth: 0
70
57
  },
71
- end: {
72
- textAlign: "left",
73
- textBaseline: "middle"
58
+ endSymbol: {
59
+ visible: !0,
60
+ symbolType: "triangle",
61
+ size: 12,
62
+ fill: "rgba(46, 47, 50)",
63
+ lineWidth: 0
74
64
  },
75
- insideEndTop: {
76
- textAlign: "right",
77
- textBaseline: "bottom"
65
+ label: {
66
+ position: IMarkCommonArcLabelPosition.arcOuterMiddle,
67
+ refX: 0,
68
+ refY: 0,
69
+ refAngle: 0,
70
+ textStyle: {
71
+ fill: "#fff",
72
+ stroke: "#fff",
73
+ lineWidth: 0,
74
+ fontSize: 10,
75
+ fontWeight: "normal",
76
+ fontStyle: "normal",
77
+ textAlign: "center",
78
+ textBaseline: "middle"
79
+ },
80
+ padding: [ 2, 2, 4, 4 ],
81
+ panel: {
82
+ visible: !0,
83
+ cornerRadius: 0,
84
+ fill: "rgb(48, 115, 242)",
85
+ fillOpacity: .8
86
+ }
78
87
  },
79
- insideEndBottom: {
80
- textAlign: "right",
81
- textBaseline: "top"
88
+ lineStyle: {
89
+ stroke: "#b2bacf",
90
+ lineWidth: 1,
91
+ lineDash: [ 2 ]
82
92
  }
83
93
  };
84
94
 
85
95
  export const DEFAULT_MARK_AREA_THEME = {
96
+ interactive: !0,
86
97
  label: {
87
98
  position: IMarkAreaLabelPosition.right,
88
99
  textStyle: {
@@ -91,7 +102,37 @@ export const DEFAULT_MARK_AREA_THEME = {
91
102
  lineWidth: 0,
92
103
  fontSize: 10,
93
104
  fontWeight: "normal",
94
- fontStyle: "normal"
105
+ fontStyle: "normal",
106
+ textAlign: "center",
107
+ textBaseline: "middle"
108
+ },
109
+ padding: [ 2, 2, 4, 4 ],
110
+ panel: {
111
+ visible: !0,
112
+ cornerRadius: 0,
113
+ fill: "rgb(48, 115, 242)",
114
+ fillOpacity: .8
115
+ }
116
+ },
117
+ areaStyle: {
118
+ fill: "#b2bacf",
119
+ visible: !0
120
+ }
121
+ };
122
+
123
+ export const DEFAULT_MARK_ARC_AREA_THEME = {
124
+ interactive: !0,
125
+ label: {
126
+ position: IMarkCommonArcLabelPosition.arcOuterMiddle,
127
+ textStyle: {
128
+ fill: "#fff",
129
+ stroke: "#fff",
130
+ lineWidth: 0,
131
+ fontSize: 10,
132
+ fontWeight: "normal",
133
+ fontStyle: "normal",
134
+ textAlign: "center",
135
+ textBaseline: "middle"
95
136
  },
96
137
  padding: [ 2, 2, 4, 4 ],
97
138
  panel: {
@@ -107,7 +148,7 @@ export const DEFAULT_MARK_AREA_THEME = {
107
148
  }
108
149
  };
109
150
 
110
- export const DEFAULT_MARK_AREA_TEXT_STYLE_MAP = {
151
+ export const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP = {
111
152
  left: {
112
153
  textAlign: "right",
113
154
  textBaseline: "middle"
@@ -147,6 +188,7 @@ export const DEFAULT_MARK_AREA_TEXT_STYLE_MAP = {
147
188
  };
148
189
 
149
190
  export const DEFAULT_MARK_POINT_THEME = {
191
+ interactive: !0,
150
192
  itemLine: {
151
193
  visible: !0,
152
194
  decorativeLine: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';\nimport { IMarkAreaLabelPosition, IMarkLineLabelPosition } from './type';\n\nexport const DEFAULT_MARK_LINE_THEME = {\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n position: IMarkLineLabelPosition.end,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_MARK_LINE_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n start: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n insideMiddleTop: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideMiddleBottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n end: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n }\n};\n\nexport const DEFAULT_MARK_AREA_THEME = {\n label: {\n position: IMarkAreaLabelPosition.right,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10,\n symbolStyle: {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n },\n textStyle: {\n dx: 0,\n dy: 0\n },\n imageStyle: {\n width: 80,\n height: 80\n },\n richTextStyle: {\n width: 100,\n height: 100\n }\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/marker/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';\nimport { IMarkAreaLabelPosition, IMarkLineLabelPosition, IMarkCommonArcLabelPosition } from './type';\n\nexport const DEFAULT_MARK_LINE_THEME = {\n interactive: true,\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n position: IMarkLineLabelPosition.end,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_MARK_ARC_LINE_THEME = {\n interactive: true,\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n position: IMarkCommonArcLabelPosition.arcOuterMiddle,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_MARK_AREA_THEME = {\n interactive: true,\n label: {\n position: IMarkAreaLabelPosition.right,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_MARK_ARC_AREA_THEME = {\n interactive: true,\n label: {\n position: IMarkCommonArcLabelPosition.arcOuterMiddle,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n interactive: true,\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10,\n symbolStyle: {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n },\n textStyle: {\n dx: 0,\n dy: 0\n },\n imageStyle: {\n width: 80,\n height: 80\n },\n richTextStyle: {\n width: 100,\n height: 100\n }\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n};\n"]}
@@ -1,4 +1,6 @@
1
1
  export * from './type';
2
2
  export * from './line';
3
3
  export * from './area';
4
+ export * from './arc-line';
5
+ export * from './arc-area';
4
6
  export * from './point';
@@ -4,5 +4,9 @@ export * from "./line";
4
4
 
5
5
  export * from "./area";
6
6
 
7
+ export * from "./arc-line";
8
+
9
+ export * from "./arc-area";
10
+
7
11
  export * from "./point";
8
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './type';\nexport * from './line';\nexport * from './area';\nexport * from './point';\n"]}
1
+ {"version":3,"sources":["../src/marker/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './type';\nexport * from './line';\nexport * from './area';\nexport * from './arc-line';\n// export * from './polar/line';\nexport * from './arc-area';\nexport * from './point';\n"]}
@@ -1,18 +1,30 @@
1
- import type { IGroup } from '@visactor/vrender-core';
2
- import { Segment } from '../segment';
3
- import { Tag } from '../tag';
4
- import { Marker } from './base';
5
- import type { MarkLineAttrs } from './type';
1
+ import { IMarkLineLabelPosition } from './type';
2
+ import type { MarkLineAttrs, MarkerAnimationState } from './type';
6
3
  import type { ComponentOptions } from '../interface';
7
- export declare class MarkLine extends Marker<MarkLineAttrs> {
4
+ import { MarkCommonLine } from './common-line';
5
+ import type { ArcSegment } from '../segment';
6
+ import { Segment } from '../segment';
7
+ import type { ILineGraphicAttribute } from '@visactor/vrender-core';
8
+ export declare function registerMarkLineAnimate(): void;
9
+ export declare class MarkLine extends MarkCommonLine<ILineGraphicAttribute, IMarkLineLabelPosition> {
8
10
  name: string;
9
11
  static defaultAttributes: Partial<MarkLineAttrs>;
10
- private _line;
11
- getLine(): Segment;
12
- getLabel(): Tag;
12
+ protected _line: Segment | ArcSegment;
13
+ protected markerAnimate(state: MarkerAnimationState): void;
13
14
  constructor(attributes: MarkLineAttrs, options?: ComponentOptions);
14
- protected setLabelPos(): void;
15
- protected initMarker(container: IGroup): void;
16
- protected updateMarker(): void;
15
+ protected getLabelOffsetByPosition(position: IMarkLineLabelPosition): {
16
+ offsetX: number;
17
+ offsetY: number;
18
+ };
19
+ protected getPointAttrByPosition(position: IMarkLineLabelPosition): {
20
+ position: {
21
+ x: number;
22
+ y: number;
23
+ };
24
+ angle: number;
25
+ };
26
+ protected getRotateByAngle(angle: number): number;
27
+ protected createSegment(): Segment;
28
+ protected setLineAttributes(): void;
17
29
  protected isValidPoints(): boolean;
18
30
  }
package/es/marker/line.js CHANGED
@@ -1,73 +1,144 @@
1
1
  import { isValidNumber, merge } from "@visactor/vutils";
2
2
 
3
- import { Segment } from "../segment";
3
+ import { IMarkLineLabelPosition } from "./type";
4
+
5
+ import { loadMarkLineComponent } from "./register";
4
6
 
5
- import { Tag } from "../tag";
7
+ import { MarkCommonLine } from "./common-line";
6
8
 
7
- import { Marker } from "./base";
9
+ import { Segment } from "../segment";
8
10
 
9
- import { DEFAULT_MARK_LINE_THEME, DEFAULT_MARK_LINE_TEXT_STYLE_MAP } from "./config";
11
+ import { DEFAULT_STATES } from "../constant";
10
12
 
11
- import { limitShapeInBounds } from "../util/limit-shape";
13
+ import { DEFAULT_MARK_LINE_THEME } from "./config";
12
14
 
13
- import { loadMarkLineComponent } from "./register";
15
+ import { markCommonLineAnimate } from "./animate/animate";
14
16
 
15
17
  loadMarkLineComponent();
16
18
 
17
- export class MarkLine extends Marker {
18
- getLine() {
19
- return this._line;
20
- }
21
- getLabel() {
22
- return this._label;
19
+ export function registerMarkLineAnimate() {
20
+ MarkLine._animate = markCommonLineAnimate;
21
+ }
22
+
23
+ export class MarkLine extends MarkCommonLine {
24
+ markerAnimate(state) {
25
+ MarkLine._animate && this._animationConfig && MarkLine._animate(this._line, this._label, this._animationConfig, state);
23
26
  }
24
27
  constructor(attributes, options) {
25
28
  super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, MarkLine.defaultAttributes, attributes)),
26
29
  this.name = "markLine";
27
30
  }
28
- setLabelPos() {
29
- var _a, _b;
30
- const {label: label = {}, limitRect: limitRect} = this.attribute, {position: position = "end", refX: refX = 0, refY: refY = 0, confine: confine} = label, points = this._line.getMainSegmentPoints(), labelAngle = null !== (_a = this._line.getEndAngle()) && void 0 !== _a ? _a : 0, labelOffsetX = refX * Math.cos(labelAngle) + refY * Math.cos(labelAngle - Math.PI / 2), labelOffsetY = refX * Math.sin(labelAngle) + refY * Math.sin(labelAngle - Math.PI / 2);
31
- let labelPoint;
32
- if (labelPoint = position.includes("start") || position.includes("Start") ? {
33
- x: points[0].x + labelOffsetX,
34
- y: points[0].y + labelOffsetY
31
+ getLabelOffsetByPosition(position) {
32
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
33
+ const labelTextHeight = this._label.getTextShape().attribute.visible ? Math.abs((null !== (_c = null === (_b = null === (_a = this._label.getTextShape()) || void 0 === _a ? void 0 : _a.AABBBounds) || void 0 === _b ? void 0 : _b.y2) && void 0 !== _c ? _c : 0) - (null !== (_e = null === (_d = this._label.getTextShape()) || void 0 === _d ? void 0 : _d.AABBBounds.y1) && void 0 !== _e ? _e : 0)) : 0, labelRectHeight = this._label.getBgRect().attribute.visible ? Math.abs((null !== (_h = null === (_g = null === (_f = this._label.getBgRect()) || void 0 === _f ? void 0 : _f.AABBBounds) || void 0 === _g ? void 0 : _g.y2) && void 0 !== _h ? _h : 0) - (null !== (_k = null === (_j = this._label.getBgRect()) || void 0 === _j ? void 0 : _j.AABBBounds.y1) && void 0 !== _k ? _k : 0)) : 0, labelHeight = Math.max(labelRectHeight, labelTextHeight), labelTextWidth = this._label.getTextShape().attribute.visible ? Math.abs((null !== (_o = null === (_m = null === (_l = this._label.getTextShape()) || void 0 === _l ? void 0 : _l.AABBBounds) || void 0 === _m ? void 0 : _m.x2) && void 0 !== _o ? _o : 0) - (null !== (_q = null === (_p = this._label.getTextShape()) || void 0 === _p ? void 0 : _p.AABBBounds.x1) && void 0 !== _q ? _q : 0)) : 0, labelRectWidth = this._label.getBgRect().attribute.visible ? Math.abs((null !== (_t = null === (_s = null === (_r = this._label.getBgRect()) || void 0 === _r ? void 0 : _r.AABBBounds) || void 0 === _s ? void 0 : _s.x2) && void 0 !== _t ? _t : 0) - (null !== (_v = null === (_u = this._label.getBgRect()) || void 0 === _u ? void 0 : _u.AABBBounds.x1) && void 0 !== _v ? _v : 0)) : 0, labelWidth = Math.max(labelRectWidth, labelTextWidth);
34
+ switch (position) {
35
+ case IMarkLineLabelPosition.start:
36
+ return {
37
+ offsetX: -labelWidth / 2,
38
+ offsetY: 0
39
+ };
40
+
41
+ case IMarkLineLabelPosition.insideStartTop:
42
+ return {
43
+ offsetX: labelWidth / 2,
44
+ offsetY: labelHeight / 2
45
+ };
46
+
47
+ case IMarkLineLabelPosition.insideStartBottom:
48
+ return {
49
+ offsetX: labelWidth / 2,
50
+ offsetY: -labelHeight / 2
51
+ };
52
+
53
+ case IMarkLineLabelPosition.middle:
54
+ return {
55
+ offsetX: 0,
56
+ offsetY: 0
57
+ };
58
+
59
+ case IMarkLineLabelPosition.insideMiddleTop:
60
+ return {
61
+ offsetX: 0,
62
+ offsetY: labelHeight / 2
63
+ };
64
+
65
+ case IMarkLineLabelPosition.insideMiddleBottom:
66
+ return {
67
+ offsetX: 0,
68
+ offsetY: -labelHeight / 2
69
+ };
70
+
71
+ case IMarkLineLabelPosition.end:
72
+ return {
73
+ offsetX: labelWidth / 2,
74
+ offsetY: 0
75
+ };
76
+
77
+ case IMarkLineLabelPosition.insideEndTop:
78
+ return {
79
+ offsetX: -labelWidth / 2,
80
+ offsetY: labelHeight / 2
81
+ };
82
+
83
+ case IMarkLineLabelPosition.insideEndBottom:
84
+ return {
85
+ offsetX: -labelWidth / 2,
86
+ offsetY: -labelHeight / 2
87
+ };
88
+
89
+ default:
90
+ return {
91
+ offsetX: labelWidth / 2,
92
+ offsetY: 0
93
+ };
94
+ }
95
+ }
96
+ getPointAttrByPosition(position) {
97
+ var _a;
98
+ const {label: label = {}} = this.attribute, {refX: refX = 0, refY: refY = 0} = label, points = this._line.getMainSegmentPoints(), labelAngle = null !== (_a = this._line.getEndAngle()) && void 0 !== _a ? _a : 0, totalRefX = refX + this.getLabelOffsetByPosition(position).offsetX, totalRefY = refY + this.getLabelOffsetByPosition(position).offsetY, labelOffsetX = totalRefX * Math.cos(labelAngle) + totalRefY * Math.cos(labelAngle - Math.PI / 2), labelOffsetY = totalRefX * Math.sin(labelAngle) + totalRefY * Math.sin(labelAngle - Math.PI / 2);
99
+ return position.includes("start") || position.includes("Start") ? {
100
+ position: {
101
+ x: points[0].x + labelOffsetX,
102
+ y: points[0].y + labelOffsetY
103
+ },
104
+ angle: labelAngle
35
105
  } : position.includes("middle") || position.includes("Middle") ? {
36
- x: (points[0].x + points[points.length - 1].x) / 2 + labelOffsetX,
37
- y: (points[0].y + points[points.length - 1].y) / 2 + labelOffsetY
106
+ position: {
107
+ x: (points[0].x + points[points.length - 1].x) / 2 + labelOffsetX,
108
+ y: (points[0].y + points[points.length - 1].y) / 2 + labelOffsetY
109
+ },
110
+ angle: labelAngle
38
111
  } : {
39
- x: points[points.length - 1].x + labelOffsetX,
40
- y: points[points.length - 1].y + labelOffsetY
41
- }, this._label.setAttributes(Object.assign(Object.assign({}, labelPoint), {
42
- angle: label.autoRotate ? labelAngle + (null !== (_b = label.refAngle) && void 0 !== _b ? _b : 0) : 0,
43
- textStyle: Object.assign(Object.assign({}, DEFAULT_MARK_LINE_TEXT_STYLE_MAP[position]), label.textStyle)
44
- })), limitRect && confine) {
45
- const {x: x, y: y, width: width, height: height} = limitRect;
46
- limitShapeInBounds(this._label, {
47
- x1: x,
48
- y1: y,
49
- x2: x + width,
50
- y2: y + height
51
- });
52
- }
112
+ position: {
113
+ x: points[points.length - 1].x + labelOffsetX,
114
+ y: points[points.length - 1].y + labelOffsetY
115
+ },
116
+ angle: labelAngle
117
+ };
53
118
  }
54
- initMarker(container) {
55
- const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, label: label, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment} = this.attribute, line = new Segment({
119
+ getRotateByAngle(angle) {
120
+ var _a;
121
+ return angle + (null !== (_a = this.attribute.label.refAngle) && void 0 !== _a ? _a : 0);
122
+ }
123
+ createSegment() {
124
+ const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment, state: state} = this.attribute;
125
+ return new Segment({
56
126
  points: points,
57
127
  startSymbol: startSymbol,
58
128
  endSymbol: endSymbol,
59
129
  lineStyle: lineStyle,
60
130
  mainSegmentIndex: mainSegmentIndex,
61
131
  multiSegment: multiSegment,
62
- pickable: !1
132
+ pickable: !1,
133
+ state: {
134
+ line: merge({}, DEFAULT_STATES, null == state ? void 0 : state.line),
135
+ startSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineStartSymbol),
136
+ endSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineEndSymbol)
137
+ }
63
138
  });
64
- line.name = "mark-line-line", this._line = line, container.add(line);
65
- const markLabel = new Tag(Object.assign({}, label));
66
- markLabel.name = "mark-line-label", this._label = markLabel, container.add(markLabel),
67
- this.setLabelPos();
68
139
  }
69
- updateMarker() {
70
- const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, label: label, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment} = this.attribute;
140
+ setLineAttributes() {
141
+ const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment} = this.attribute;
71
142
  this._line && this._line.setAttributes({
72
143
  points: points,
73
144
  startSymbol: startSymbol,
@@ -75,10 +146,7 @@ export class MarkLine extends Marker {
75
146
  lineStyle: lineStyle,
76
147
  mainSegmentIndex: mainSegmentIndex,
77
148
  multiSegment: multiSegment
78
- }), this._label && this._label.setAttributes(Object.assign({
79
- dx: 0,
80
- dy: 0
81
- }, label)), this.setLabelPos();
149
+ });
82
150
  }
83
151
  isValidPoints() {
84
152
  const {points: points} = this.attribute;