@visactor/vrender-components 0.19.4-alpha.5 → 0.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/cjs/axis/index.d.ts +0 -1
  2. package/cjs/axis/index.js +1 -2
  3. package/cjs/axis/index.js.map +1 -1
  4. package/cjs/axis/type.d.ts +1 -41
  5. package/cjs/axis/type.js.map +1 -1
  6. package/cjs/axis/util.d.ts +0 -11
  7. package/cjs/axis/util.js +2 -21
  8. package/cjs/axis/util.js.map +1 -1
  9. package/cjs/constant.d.ts +2 -2
  10. package/cjs/constant.js +2 -2
  11. package/cjs/constant.js.map +1 -1
  12. package/cjs/index.d.ts +1 -1
  13. package/cjs/index.js +1 -1
  14. package/cjs/index.js.map +1 -1
  15. package/cjs/label/index.js +1 -2
  16. package/cjs/label/line.js +1 -1
  17. package/cjs/label/polygon.js +1 -1
  18. package/cjs/label/rect.js +1 -1
  19. package/cjs/label/register.js +1 -1
  20. package/cjs/label/symbol.js +1 -1
  21. package/cjs/label/type.js +1 -1
  22. package/cjs/legend/base.js +1 -1
  23. package/cjs/legend/constant.js +1 -1
  24. package/cjs/legend/index.js +1 -1
  25. package/cjs/legend/register.js +1 -1
  26. package/cjs/legend/type.js +2 -1
  27. package/cjs/legend/util.js +1 -1
  28. package/cjs/marker/animate/common.js +8 -4
  29. package/cjs/marker/animate/common.js.map +1 -1
  30. package/cjs/marker/arc-area.js +10 -4
  31. package/cjs/marker/arc-area.js.map +1 -1
  32. package/cjs/marker/arc-line.js +7 -2
  33. package/cjs/marker/arc-line.js.map +1 -1
  34. package/cjs/marker/area.js +10 -4
  35. package/cjs/marker/area.js.map +1 -1
  36. package/cjs/marker/base.d.ts +1 -1
  37. package/cjs/marker/base.js.map +1 -1
  38. package/cjs/marker/common-line.d.ts +1 -1
  39. package/cjs/marker/common-line.js +10 -5
  40. package/cjs/marker/common-line.js.map +1 -1
  41. package/cjs/marker/config.d.ts +18 -4
  42. package/cjs/marker/config.js +134 -56
  43. package/cjs/marker/config.js.map +1 -1
  44. package/cjs/marker/line.d.ts +3 -3
  45. package/cjs/marker/line.js +19 -7
  46. package/cjs/marker/line.js.map +1 -1
  47. package/cjs/marker/point.d.ts +39 -7
  48. package/cjs/marker/point.js +163 -71
  49. package/cjs/marker/point.js.map +1 -1
  50. package/cjs/marker/register.js +2 -2
  51. package/cjs/marker/register.js.map +1 -1
  52. package/cjs/marker/type.d.ts +12 -4
  53. package/cjs/marker/type.js.map +1 -1
  54. package/cjs/segment/arc-segment.d.ts +6 -1
  55. package/cjs/segment/arc-segment.js +15 -4
  56. package/cjs/segment/arc-segment.js.map +1 -1
  57. package/cjs/segment/register.d.ts +2 -2
  58. package/cjs/segment/register.js +2 -2
  59. package/cjs/segment/register.js.map +1 -1
  60. package/cjs/segment/segment.d.ts +3 -1
  61. package/cjs/segment/segment.js +7 -4
  62. package/cjs/segment/segment.js.map +1 -1
  63. package/cjs/util/common.d.ts +4 -0
  64. package/cjs/util/common.js +18 -2
  65. package/cjs/util/common.js.map +1 -1
  66. package/cjs/util/index.d.ts +1 -0
  67. package/cjs/util/index.js +2 -1
  68. package/cjs/util/index.js.map +1 -1
  69. package/cjs/util/polar.d.ts +2 -0
  70. package/cjs/util/polar.js +17 -0
  71. package/cjs/util/polar.js.map +1 -0
  72. package/cjs/util/text.d.ts +1 -1
  73. package/cjs/util/text.js +3 -3
  74. package/cjs/util/text.js.map +1 -1
  75. package/dist/index.es.js +28816 -0
  76. package/es/axis/index.d.ts +0 -1
  77. package/es/axis/index.js +0 -2
  78. package/es/axis/index.js.map +1 -1
  79. package/es/axis/type.d.ts +1 -41
  80. package/es/axis/type.js.map +1 -1
  81. package/es/axis/util.d.ts +0 -11
  82. package/es/axis/util.js +1 -19
  83. package/es/axis/util.js.map +1 -1
  84. package/es/constant.d.ts +2 -2
  85. package/es/constant.js +2 -2
  86. package/es/constant.js.map +1 -1
  87. package/es/index.d.ts +1 -1
  88. package/es/index.js +1 -1
  89. package/es/index.js.map +1 -1
  90. package/es/label/index.js +1 -2
  91. package/es/label/line.js +1 -1
  92. package/es/label/polygon.js +1 -1
  93. package/es/label/rect.js +1 -1
  94. package/es/label/register.js +1 -1
  95. package/es/label/symbol.js +1 -1
  96. package/es/label/type.js +1 -1
  97. package/es/legend/base.js +1 -1
  98. package/es/legend/constant.js +1 -1
  99. package/es/legend/index.js +1 -1
  100. package/es/legend/register.js +1 -1
  101. package/es/legend/type.js +2 -1
  102. package/es/legend/util.js +1 -1
  103. package/es/marker/animate/common.js +8 -4
  104. package/es/marker/animate/common.js.map +1 -1
  105. package/es/marker/arc-area.js +10 -4
  106. package/es/marker/arc-area.js.map +1 -1
  107. package/es/marker/arc-line.js +7 -2
  108. package/es/marker/arc-line.js.map +1 -1
  109. package/es/marker/area.js +10 -4
  110. package/es/marker/area.js.map +1 -1
  111. package/es/marker/base.d.ts +1 -1
  112. package/es/marker/base.js.map +1 -1
  113. package/es/marker/common-line.d.ts +1 -1
  114. package/es/marker/common-line.js +10 -5
  115. package/es/marker/common-line.js.map +1 -1
  116. package/es/marker/config.d.ts +18 -4
  117. package/es/marker/config.js +134 -56
  118. package/es/marker/config.js.map +1 -1
  119. package/es/marker/line.d.ts +3 -3
  120. package/es/marker/line.js +20 -6
  121. package/es/marker/line.js.map +1 -1
  122. package/es/marker/point.d.ts +39 -7
  123. package/es/marker/point.js +163 -71
  124. package/es/marker/point.js.map +1 -1
  125. package/es/marker/register.js +2 -1
  126. package/es/marker/register.js.map +1 -1
  127. package/es/marker/type.d.ts +12 -4
  128. package/es/marker/type.js.map +1 -1
  129. package/es/segment/arc-segment.d.ts +6 -1
  130. package/es/segment/arc-segment.js +15 -4
  131. package/es/segment/arc-segment.js.map +1 -1
  132. package/es/segment/register.d.ts +2 -2
  133. package/es/segment/register.js +2 -2
  134. package/es/segment/register.js.map +1 -1
  135. package/es/segment/segment.d.ts +3 -1
  136. package/es/segment/segment.js +7 -4
  137. package/es/segment/segment.js.map +1 -1
  138. package/es/util/common.d.ts +4 -0
  139. package/es/util/common.js +14 -0
  140. package/es/util/common.js.map +1 -1
  141. package/es/util/index.d.ts +1 -0
  142. package/es/util/index.js +2 -0
  143. package/es/util/index.js.map +1 -1
  144. package/es/util/polar.d.ts +2 -0
  145. package/es/util/polar.js +7 -0
  146. package/es/util/polar.js.map +1 -0
  147. package/es/util/text.d.ts +1 -1
  148. package/es/util/text.js +3 -3
  149. package/es/util/text.js.map +1 -1
  150. package/package.json +8 -8
  151. package/cjs/axis/tick-data/continuous.d.ts +0 -4
  152. package/cjs/axis/tick-data/continuous.js +0 -61
  153. package/cjs/axis/tick-data/continuous.js.map +0 -1
  154. package/cjs/axis/tick-data/discrete/linear.d.ts +0 -6
  155. package/cjs/axis/tick-data/discrete/linear.js +0 -101
  156. package/cjs/axis/tick-data/discrete/linear.js.map +0 -1
  157. package/cjs/axis/tick-data/discrete/polar-angle.d.ts +0 -3
  158. package/cjs/axis/tick-data/discrete/polar-angle.js +0 -53
  159. package/cjs/axis/tick-data/discrete/polar-angle.js.map +0 -1
  160. package/cjs/axis/tick-data/index.d.ts +0 -5
  161. package/cjs/axis/tick-data/index.js +0 -26
  162. package/cjs/axis/tick-data/index.js.map +0 -1
  163. package/cjs/axis/tick-data/util.d.ts +0 -13
  164. package/cjs/axis/tick-data/util.js +0 -91
  165. package/cjs/axis/tick-data/util.js.map +0 -1
  166. package/es/axis/tick-data/continuous.d.ts +0 -4
  167. package/es/axis/tick-data/continuous.js +0 -56
  168. package/es/axis/tick-data/continuous.js.map +0 -1
  169. package/es/axis/tick-data/discrete/linear.d.ts +0 -6
  170. package/es/axis/tick-data/discrete/linear.js +0 -90
  171. package/es/axis/tick-data/discrete/linear.js.map +0 -1
  172. package/es/axis/tick-data/discrete/polar-angle.d.ts +0 -3
  173. package/es/axis/tick-data/discrete/polar-angle.js +0 -45
  174. package/es/axis/tick-data/discrete/polar-angle.js.map +0 -1
  175. package/es/axis/tick-data/index.d.ts +0 -5
  176. package/es/axis/tick-data/index.js +0 -21
  177. package/es/axis/tick-data/index.js.map +0 -1
  178. package/es/axis/tick-data/util.d.ts +0 -13
  179. package/es/axis/tick-data/util.js +0 -80
  180. package/es/axis/tick-data/util.js.map +0 -1
@@ -79,13 +79,19 @@ class MarkArea extends base_1.Marker {
79
79
  this.setLabelPos();
80
80
  }
81
81
  updateMarker() {
82
- const {points: points, label: label, areaStyle: areaStyle} = this.attribute;
83
- this._area && this._area.setAttributes(Object.assign({
82
+ const {points: points, label: label, areaStyle: areaStyle, state: state} = this.attribute;
83
+ this._area && (this._area.setAttributes(Object.assign({
84
84
  points: points
85
- }, areaStyle)), this._area && this._label.setAttributes(Object.assign({
85
+ }, areaStyle)), this._area.states = (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.area)),
86
+ this._label && this._label.setAttributes(Object.assign(Object.assign({
86
87
  dx: 0,
87
88
  dy: 0
88
- }, label)), this.setLabelPos();
89
+ }, label), {
90
+ state: {
91
+ panel: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
92
+ text: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.label)
93
+ }
94
+ })), this.setLabelPos();
89
95
  }
90
96
  isValidPoints() {
91
97
  const {points: points} = this.attribute;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { IGroup, INode, IPolygon } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { isValidNumber, 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_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP, DEFAULT_MARK_AREA_THEME } from './config';\nimport type { CommonMarkAreaAnimationType, IMarkAreaLabelPosition, MarkAreaAttrs, MarkerAnimationState } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkAreaComponent } from './register';\nimport type { Point } from '../core/type';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markAreaAnimate } from './animate/animate';\n\nloadMarkAreaComponent();\n\nexport function registerMarkAreaAnimate() {\n MarkArea._animate = markAreaAnimate;\n}\n\nexport class MarkArea extends Marker<MarkAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArea';\n static defaultAttributes = DEFAULT_MARK_AREA_THEME;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArea._animate && this._animationConfig) {\n MarkArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n private _area!: IPolygon;\n getArea() {\n return this._area;\n }\n\n getLabel() {\n return this._label;\n }\n\n constructor(attributes: MarkAreaAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkArea.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(position: IMarkAreaLabelPosition) {\n const { x1, x2, y1, y2 } = this._area.AABBBounds;\n\n if (position.includes('left') || position.includes('Left')) {\n return {\n x: x1,\n y: (y1 + y2) / 2\n };\n }\n if (position.includes('right') || position.includes('Right')) {\n return {\n x: x2,\n y: (y1 + y2) / 2\n };\n }\n if (position.includes('top') || position.includes('Top')) {\n return {\n x: (x1 + x2) / 2,\n y: y1\n };\n }\n if (position.includes('bottom') || position.includes('Bottom')) {\n return {\n x: (x1 + x2) / 2,\n y: y2\n };\n }\n\n return {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n };\n }\n\n protected setLabelPos() {\n if (this._label && this._area) {\n const { label = {} } = this.attribute as MarkAreaAttrs;\n const labelPosition = label.position ?? 'middle';\n const labelPoint = this.getPointAttrByPosition(labelPosition as IMarkAreaLabelPosition);\n this._label.setAttributes({\n ...labelPoint,\n textStyle: {\n ...DEFAULT_CARTESIAN_MARK_AREA_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 { points, label, areaStyle, state } = this.attribute as MarkAreaAttrs;\n const area = graphicCreator.polygon({\n points: points,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'mark-area-polygon';\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 { points, label, areaStyle } = this.attribute as MarkAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n points: points,\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 const { points } = this.attribute as MarkAreaAttrs;\n if (!points || points.length < 3) {\n return false;\n }\n let validFlag = true;\n points.forEach((point: Point) => {\n if (!isValidNumber((point as Point).x) || !isValidNumber((point as Point).y)) {\n validFlag = false;\n return;\n }\n });\n return validFlag;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { IGroup, INode, IPolygon } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { isValidNumber, 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_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP, DEFAULT_MARK_AREA_THEME } from './config';\nimport type { CommonMarkAreaAnimationType, IMarkAreaLabelPosition, MarkAreaAttrs, MarkerAnimationState } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkAreaComponent } from './register';\nimport type { Point } from '../core/type';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markAreaAnimate } from './animate/animate';\n\nloadMarkAreaComponent();\n\nexport function registerMarkAreaAnimate() {\n MarkArea._animate = markAreaAnimate;\n}\n\nexport class MarkArea extends Marker<MarkAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArea';\n static defaultAttributes = DEFAULT_MARK_AREA_THEME;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArea._animate && this._animationConfig) {\n MarkArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n private _area!: IPolygon;\n getArea() {\n return this._area;\n }\n\n getLabel() {\n return this._label;\n }\n\n constructor(attributes: MarkAreaAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkArea.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(position: IMarkAreaLabelPosition) {\n const { x1, x2, y1, y2 } = this._area.AABBBounds;\n\n if (position.includes('left') || position.includes('Left')) {\n return {\n x: x1,\n y: (y1 + y2) / 2\n };\n }\n if (position.includes('right') || position.includes('Right')) {\n return {\n x: x2,\n y: (y1 + y2) / 2\n };\n }\n if (position.includes('top') || position.includes('Top')) {\n return {\n x: (x1 + x2) / 2,\n y: y1\n };\n }\n if (position.includes('bottom') || position.includes('Bottom')) {\n return {\n x: (x1 + x2) / 2,\n y: y2\n };\n }\n\n return {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n };\n }\n\n protected setLabelPos() {\n if (this._label && this._area) {\n const { label = {} } = this.attribute as MarkAreaAttrs;\n const labelPosition = label.position ?? 'middle';\n const labelPoint = this.getPointAttrByPosition(labelPosition as IMarkAreaLabelPosition);\n this._label.setAttributes({\n ...labelPoint,\n textStyle: {\n ...DEFAULT_CARTESIAN_MARK_AREA_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 { points, label, areaStyle, state } = this.attribute as MarkAreaAttrs;\n const area = graphicCreator.polygon({\n points: points,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'mark-area-polygon';\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 { points, label, areaStyle, state } = this.attribute as MarkAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n points: points,\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 }\n this.setLabelPos();\n }\n\n protected isValidPoints() {\n const { points } = this.attribute as MarkAreaAttrs;\n if (!points || points.length < 3) {\n return false;\n }\n let validFlag = true;\n points.forEach((point: Point) => {\n if (!isValidNumber((point as Point).x) || !isValidNumber((point as Point).y)) {\n validFlag = false;\n return;\n }\n });\n return validFlag;\n }\n}\n"]}
@@ -5,7 +5,7 @@ import type { MarkerAnimationState, MarkerAttrs, MarkerExitAnimation, MarkerUpda
5
5
  export declare abstract class Marker<T extends MarkerAttrs<AnimationAttr>, AnimationAttr> extends AbstractComponent<Required<T>> {
6
6
  name: string;
7
7
  private _containerClip;
8
- private _container;
8
+ protected _container: IGroup;
9
9
  protected _label: Tag;
10
10
  static _animate?: (marker: any, label: Tag | IRichText | ISymbol | IImage, animationConfig: any, state: MarkerAnimationState) => void;
11
11
  defaultUpdateAnimation: MarkerUpdateAnimation<AnimationAttr>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IGroup, IImage, IRichText, 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 { Tag } from '../tag';\nimport type { MarkerAnimationState, MarkerAttrs, MarkerExitAnimation, MarkerUpdateAnimation } from './type';\nimport { dispatchClickState, dispatchHoverState, dispatchUnHoverState } from '../util/interaction';\nimport { isObject, merge } from '@visactor/vutils';\n\nexport abstract class Marker<T extends MarkerAttrs<AnimationAttr>, AnimationAttr> extends AbstractComponent<\n Required<T>\n> {\n name = 'marker';\n\n private _containerClip!: IGroup;\n private _container!: IGroup;\n\n protected _label!: Tag;\n\n /** animate */\n static _animate?: (\n marker: any,\n label: Tag | IRichText | ISymbol | IImage,\n animationConfig: any,\n state: MarkerAnimationState\n ) => void;\n\n defaultUpdateAnimation!: MarkerUpdateAnimation<AnimationAttr>;\n defaultExitAnimation!: MarkerExitAnimation;\n\n protected _animationConfig?: {\n enter: MarkerUpdateAnimation<AnimationAttr>;\n exit: MarkerExitAnimation;\n update: MarkerUpdateAnimation<AnimationAttr>;\n };\n\n private _lastHover: IGraphic;\n private _lastSelect: IGraphic;\n\n protected abstract setLabelPos(): any;\n protected abstract initMarker(container: IGroup): any;\n protected abstract updateMarker(): any;\n protected abstract isValidPoints(): any;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n\n private transAnimationConfig(): void {\n if (this.attribute.animation !== false) {\n const animation = isObject(this.attribute.animation) ? this.attribute.animation : {};\n this._animationConfig = {\n enter: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationEnter ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>,\n exit: merge({}, this.defaultExitAnimation, animation, this.attribute.animationExit ?? {}),\n update: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationUpdate ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>\n };\n }\n }\n setAttribute(key: string, value: any, forceUpdateTag?: boolean | undefined): void {\n super.setAttribute(key, value, forceUpdateTag);\n if (key === 'visible') {\n this.render();\n }\n }\n\n private _bindEvent() {\n if (!this.attribute.interactive) {\n return;\n }\n const { hover, select } = this.attribute;\n\n if (hover) {\n this._container?.addEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.addEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n }\n\n if (select) {\n this._container?.addEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n }\n\n private _releaseEvent() {\n this._container?.removeEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n\n private _onHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchHoverState(e, this._container, this._lastHover);\n };\n\n private _onUnHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchUnHoverState(e, this._container, this._lastHover);\n };\n\n private _onClick = (e: FederatedPointerEvent) => {\n this._lastSelect = dispatchClickState(e, this._container, this._lastSelect);\n };\n\n private _initContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n let group;\n if (clipInRange) {\n // 如果用户配置了剪切\n const groupClip = graphicCreator.group({\n ...limitRect,\n clip: true,\n pickable: false\n });\n group = graphicCreator.group({\n x: -(limitRect.x ?? 0),\n y: -(limitRect.y ?? 0),\n pickable: false\n });\n groupClip.add(group);\n this._containerClip = groupClip;\n this.add(groupClip);\n } else {\n group = graphicCreator.group({\n x: 0,\n y: 0,\n pickable: false\n });\n this.add(group);\n }\n group.name = 'marker-container';\n this._container = group;\n }\n\n private _updateContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n if (this._containerClip) {\n this._containerClip.setAttributes({\n ...limitRect\n });\n }\n\n this._container.setAttributes({\n x: clipInRange ? -(limitRect.x ?? 0) : 0,\n y: clipInRange ? -(limitRect.y ?? 0) : 0\n });\n }\n\n protected render() {\n this.transAnimationConfig();\n\n // 因为标注本身不规则,所以默认将组件的 group 设置为不可拾取\n this.setAttribute('pickable', false);\n\n const markerVisible = this.attribute.visible ?? true;\n if (this.attribute.interactive === false) {\n this.setAttribute('childrenPickable', false);\n }\n\n if (markerVisible && this.isValidPoints()) {\n if (!this._container) {\n this._initContainer();\n this.initMarker(this._container);\n this.markerAnimate('enter');\n } else {\n this._updateContainer();\n this.updateMarker();\n this.markerAnimate('update');\n }\n } else {\n this.markerAnimate('exit');\n this._container = null;\n this.removeAllChild(true);\n }\n\n // 先把之前的event都release掉,否则会重复触发\n this._releaseEvent();\n this._bindEvent();\n }\n\n release(): void {\n this.markerAnimate('exit');\n super.release();\n this._releaseEvent();\n this._container = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/marker/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IGroup, IImage, IRichText, 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 { Tag } from '../tag';\nimport type { MarkerAnimationState, MarkerAttrs, MarkerExitAnimation, MarkerUpdateAnimation } from './type';\nimport { dispatchClickState, dispatchHoverState, dispatchUnHoverState } from '../util/interaction';\nimport { isObject, merge } from '@visactor/vutils';\n\nexport abstract class Marker<T extends MarkerAttrs<AnimationAttr>, AnimationAttr> extends AbstractComponent<\n Required<T>\n> {\n name = 'marker';\n\n private _containerClip!: IGroup;\n protected _container!: IGroup;\n\n protected _label!: Tag;\n\n /** animate */\n static _animate?: (\n marker: any,\n label: Tag | IRichText | ISymbol | IImage,\n animationConfig: any,\n state: MarkerAnimationState\n ) => void;\n\n defaultUpdateAnimation!: MarkerUpdateAnimation<AnimationAttr>;\n defaultExitAnimation!: MarkerExitAnimation;\n\n protected _animationConfig?: {\n enter: MarkerUpdateAnimation<AnimationAttr>;\n exit: MarkerExitAnimation;\n update: MarkerUpdateAnimation<AnimationAttr>;\n };\n\n private _lastHover: IGraphic;\n private _lastSelect: IGraphic;\n\n protected abstract setLabelPos(): any;\n protected abstract initMarker(container: IGroup): any;\n protected abstract updateMarker(): any;\n protected abstract isValidPoints(): any;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n\n private transAnimationConfig(): void {\n if (this.attribute.animation !== false) {\n const animation = isObject(this.attribute.animation) ? this.attribute.animation : {};\n this._animationConfig = {\n enter: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationEnter ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>,\n exit: merge({}, this.defaultExitAnimation, animation, this.attribute.animationExit ?? {}),\n update: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationUpdate ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>\n };\n }\n }\n setAttribute(key: string, value: any, forceUpdateTag?: boolean | undefined): void {\n super.setAttribute(key, value, forceUpdateTag);\n if (key === 'visible') {\n this.render();\n }\n }\n\n private _bindEvent() {\n if (!this.attribute.interactive) {\n return;\n }\n const { hover, select } = this.attribute;\n\n if (hover) {\n this._container?.addEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.addEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n }\n\n if (select) {\n this._container?.addEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n }\n\n private _releaseEvent() {\n this._container?.removeEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n\n private _onHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchHoverState(e, this._container, this._lastHover);\n };\n\n private _onUnHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchUnHoverState(e, this._container, this._lastHover);\n };\n\n private _onClick = (e: FederatedPointerEvent) => {\n this._lastSelect = dispatchClickState(e, this._container, this._lastSelect);\n };\n\n private _initContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n let group;\n if (clipInRange) {\n // 如果用户配置了剪切\n const groupClip = graphicCreator.group({\n ...limitRect,\n clip: true,\n pickable: false\n });\n group = graphicCreator.group({\n x: -(limitRect.x ?? 0),\n y: -(limitRect.y ?? 0),\n pickable: false\n });\n groupClip.add(group);\n this._containerClip = groupClip;\n this.add(groupClip);\n } else {\n group = graphicCreator.group({\n x: 0,\n y: 0,\n pickable: false\n });\n this.add(group);\n }\n group.name = 'marker-container';\n this._container = group;\n }\n\n private _updateContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n if (this._containerClip) {\n this._containerClip.setAttributes({\n ...limitRect\n });\n }\n\n this._container.setAttributes({\n x: clipInRange ? -(limitRect.x ?? 0) : 0,\n y: clipInRange ? -(limitRect.y ?? 0) : 0\n });\n }\n\n protected render() {\n this.transAnimationConfig();\n\n // 因为标注本身不规则,所以默认将组件的 group 设置为不可拾取\n this.setAttribute('pickable', false);\n\n const markerVisible = this.attribute.visible ?? true;\n if (this.attribute.interactive === false) {\n this.setAttribute('childrenPickable', false);\n }\n\n if (markerVisible && this.isValidPoints()) {\n if (!this._container) {\n this._initContainer();\n this.initMarker(this._container);\n this.markerAnimate('enter');\n } else {\n this._updateContainer();\n this.updateMarker();\n this.markerAnimate('update');\n }\n } else {\n this.markerAnimate('exit');\n this._container = null;\n this.removeAllChild(true);\n }\n\n // 先把之前的event都release掉,否则会重复触发\n this._releaseEvent();\n this._bindEvent();\n }\n\n release(): void {\n this.markerAnimate('exit');\n super.release();\n this._releaseEvent();\n this._container = null;\n }\n}\n"]}
@@ -13,7 +13,7 @@ export declare abstract class MarkCommonLine<LineAttr, LabelPosition> extends Ma
13
13
  protected abstract setLineAttributes(): any;
14
14
  protected abstract getPointAttrByPosition(position: any): any;
15
15
  protected abstract getRotateByAngle(angle: number): number;
16
- protected abstract getTextStyle(position: any): any;
16
+ protected abstract getTextStyle(position: any, labelAngle: number, autoRotate: boolean): any;
17
17
  protected abstract markerAnimate(state: MarkerAnimationState): void;
18
18
  getLine(): Segment | ArcSegment;
19
19
  getLabel(): Tag;
@@ -18,10 +18,10 @@ class MarkCommonLine extends base_1.Marker {
18
18
  return this._label;
19
19
  }
20
20
  setLabelPos() {
21
- const {label: label = {}, limitRect: limitRect} = this.attribute, {position: position, confine: confine, autoRotate: autoRotate} = label, labelPoint = this.getPointAttrByPosition(position);
21
+ const {label: label = {}, limitRect: limitRect} = this.attribute, {position: position, confine: confine, autoRotate: autoRotate} = label, labelPoint = this.getPointAttrByPosition(position), labelAngle = this._line.getEndAngle() || 0;
22
22
  if (this._label.setAttributes(Object.assign(Object.assign({}, labelPoint.position), {
23
23
  angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0,
24
- textStyle: Object.assign(Object.assign({}, this.getTextStyle(position)), label.textStyle)
24
+ textStyle: Object.assign(Object.assign({}, this.getTextStyle(position, labelAngle, autoRotate)), label.textStyle)
25
25
  })), limitRect && confine) {
26
26
  const {x: x, y: y, width: width, height: height} = limitRect;
27
27
  (0, limit_shape_1.limitShapeInBounds)(this._label, {
@@ -45,11 +45,16 @@ class MarkCommonLine extends base_1.Marker {
45
45
  this.setLabelPos();
46
46
  }
47
47
  updateMarker() {
48
- const {label: label} = this.attribute;
49
- this.setLineAttributes(), this._label && this._label.setAttributes(Object.assign({
48
+ const {label: label, state: state} = this.attribute;
49
+ this.setLineAttributes(), this._label && (this._label.setAttributes(Object.assign(Object.assign({
50
50
  dx: 0,
51
51
  dy: 0
52
- }, label)), this.setLabelPos();
52
+ }, label), {
53
+ state: {
54
+ panel: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
55
+ text: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.label)
56
+ }
57
+ })), this.setLabelPos());
53
58
  }
54
59
  }
55
60
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marker/common-line.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AAIzC,gCAA6B;AAE7B,qDAAyD;AACzD,0CAA6C;AAC7C,iCAAgC;AAChC,+CAA+F;AAE/F,MAAsB,cAAwC,SAAQ,aAGrE;IAHD;;QAIE,SAAI,GAAG,gBAAgB,CAAC;QAIxB,2BAAsB,GAAG,wCAA8B,CAAC;QACxD,yBAAoB,GAAG,oCAA0B,CAAC;IA+EpD,CAAC;IArEC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,WAAW;QACnB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACjD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,iCACpB,UAAU,CAAC,QAAQ,KACtB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/D,SAAS,kCACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAC3B,KAAK,CAAC,SAAS,KAEpB,CAAC;QACH,IAAI,SAAS,IAAI,OAAO,EAAE;YACxB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;YAC1C,IAAA,gCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE;gBAC9B,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC,GAAG,KAAK;gBACb,EAAE,EAAE,CAAC,GAAG,MAAM;aACf,CAAC,CAAC;SACJ;IACH,CAAC;IAES,UAAU,CAAC,SAAiB;QACpC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAI7B,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,IAAwB,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,SAAG,iCACnB,KAAuB,KAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;gBACxD,IAAI,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;aAC9C,IACD,CAAC;QACH,SAAS,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC1C,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,KAAK,EAAE,GAAG,IAAI,CAAC,SAAsF,CAAC;QAE9G,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,aAAa,iBACvB,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,IACD,KAAuB,EAC3B,CAAC;SACJ;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;CACF;AAxFD,wCAwFC","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 getTextStyle(position: any): any;\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(): void {\n const { label = {}, limitRect } = this.attribute;\n const { position, confine, autoRotate } = label;\n const labelPoint = this.getPointAttrByPosition(position);\n this._label.setAttributes({\n ...labelPoint.position,\n angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0,\n textStyle: {\n ...this.getTextStyle(position),\n ...label.textStyle\n }\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
+ {"version":3,"sources":["../src/marker/common-line.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AAIzC,gCAA6B;AAE7B,qDAAyD;AACzD,0CAA6C;AAC7C,iCAAgC;AAChC,+CAA+F;AAE/F,MAAsB,cAAwC,SAAQ,aAGrE;IAHD;;QAIE,SAAI,GAAG,gBAAgB,CAAC;QAIxB,2BAAsB,GAAG,wCAA8B,CAAC;QACxD,yBAAoB,GAAG,oCAA0B,CAAC;IAuFpD,CAAC;IA7EC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,WAAW;QACnB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACjD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,aAAa,iCACpB,UAAU,CAAC,QAAQ,KACtB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/D,SAAS,kCACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,GACnD,KAAK,CAAC,SAAS,KAEpB,CAAC;QACH,IAAI,SAAS,IAAI,OAAO,EAAE;YACxB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;YAC1C,IAAA,gCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE;gBAC9B,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC,GAAG,KAAK;gBACb,EAAE,EAAE,CAAC,GAAG,MAAM;aACf,CAAC,CAAC;SACJ;IACH,CAAC;IAES,UAAU,CAAC,SAAiB;QACpC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAI7B,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,IAAwB,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,SAAG,iCACnB,KAAuB,KAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;gBACxD,IAAI,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;aAC9C,IACD,CAAC;QACH,SAAS,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC1C,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,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAI7B,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,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,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;oBACxD,IAAI,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;iBAC9C,IACD,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;CACF;AAhGD,wCAgGC","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 getTextStyle(position: any, labelAngle: number, autoRotate: boolean): any;\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(): void {\n const { label = {}, limitRect } = this.attribute;\n const { position, confine, autoRotate } = label;\n const labelPoint = this.getPointAttrByPosition(position);\n const labelAngle = this._line.getEndAngle() || 0;\n this._label.setAttributes({\n ...labelPoint.position,\n angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0,\n textStyle: {\n ...this.getTextStyle(position, labelAngle, autoRotate),\n ...label.textStyle\n }\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, state } = this.attribute as MarkCommonLineAttrs<\n LineAttr,\n LabelPosition,\n MarkCommonLineAnimationType\n >;\n\n this.setLineAttributes();\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"]}
@@ -45,8 +45,10 @@ export declare const DEFAULT_MARK_LINE_THEME: {
45
45
  };
46
46
  export declare const DEFAULT_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP: {
47
47
  [K: string]: {
48
- textAlign: TextAlignType;
49
- textBaseline: TextBaselineType;
48
+ [T: string]: {
49
+ textAlign: TextAlignType;
50
+ textBaseline: TextBaselineType;
51
+ };
50
52
  };
51
53
  };
52
54
  export declare const DEFAULT_MARK_ARC_LINE_THEME: {
@@ -156,6 +158,16 @@ export declare const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {
156
158
  };
157
159
  export declare const DEFAULT_MARK_POINT_THEME: {
158
160
  interactive: boolean;
161
+ targetSymbol: {
162
+ visible: boolean;
163
+ offset: number;
164
+ style: {
165
+ symbolType: string;
166
+ size: number;
167
+ fill: boolean;
168
+ stroke: string;
169
+ };
170
+ };
159
171
  itemLine: {
160
172
  visible: boolean;
161
173
  decorativeLine: {
@@ -213,7 +225,9 @@ export declare const DEFAULT_MARK_POINT_THEME: {
213
225
  };
214
226
  export declare const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {
215
227
  [K: string]: {
216
- textAlign: TextAlignType;
217
- textBaseline: TextBaselineType;
228
+ [T: string]: {
229
+ textAlign: TextAlignType;
230
+ textBaseline: TextBaselineType;
231
+ };
218
232
  };
219
233
  };
@@ -49,41 +49,81 @@ exports.DEFAULT_MARK_LINE_THEME = {
49
49
  lineDash: [ 2 ]
50
50
  }
51
51
  }, exports.DEFAULT_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP = {
52
- start: {
53
- textAlign: "right",
54
- textBaseline: "middle"
55
- },
56
- insideStartTop: {
57
- textAlign: "left",
58
- textBaseline: "bottom"
59
- },
60
- insideStartBottom: {
61
- textAlign: "left",
62
- textBaseline: "top"
63
- },
64
- middle: {
65
- textAlign: "center",
66
- textBaseline: "middle"
67
- },
68
- insideMiddleTop: {
69
- textAlign: "center",
70
- textBaseline: "bottom"
71
- },
72
- insideMiddleBottom: {
73
- textAlign: "center",
74
- textBaseline: "top"
75
- },
76
- end: {
77
- textAlign: "left",
78
- textBaseline: "middle"
79
- },
80
- insideEndTop: {
81
- textAlign: "right",
82
- textBaseline: "bottom"
52
+ postiveXAxis: {
53
+ start: {
54
+ textAlign: "right",
55
+ textBaseline: "middle"
56
+ },
57
+ insideStartTop: {
58
+ textAlign: "left",
59
+ textBaseline: "bottom"
60
+ },
61
+ insideStartBottom: {
62
+ textAlign: "left",
63
+ textBaseline: "top"
64
+ },
65
+ middle: {
66
+ textAlign: "center",
67
+ textBaseline: "middle"
68
+ },
69
+ insideMiddleTop: {
70
+ textAlign: "center",
71
+ textBaseline: "bottom"
72
+ },
73
+ insideMiddleBottom: {
74
+ textAlign: "center",
75
+ textBaseline: "top"
76
+ },
77
+ end: {
78
+ textAlign: "left",
79
+ textBaseline: "middle"
80
+ },
81
+ insideEndTop: {
82
+ textAlign: "right",
83
+ textBaseline: "bottom"
84
+ },
85
+ insideEndBottom: {
86
+ textAlign: "right",
87
+ textBaseline: "top"
88
+ }
83
89
  },
84
- insideEndBottom: {
85
- textAlign: "right",
86
- textBaseline: "top"
90
+ negativeXAxis: {
91
+ start: {
92
+ textAlign: "left",
93
+ textBaseline: "middle"
94
+ },
95
+ insideStartTop: {
96
+ textAlign: "right",
97
+ textBaseline: "bottom"
98
+ },
99
+ insideStartBottom: {
100
+ textAlign: "right",
101
+ textBaseline: "top"
102
+ },
103
+ middle: {
104
+ textAlign: "center",
105
+ textBaseline: "middle"
106
+ },
107
+ insideMiddleTop: {
108
+ textAlign: "center",
109
+ textBaseline: "bottom"
110
+ },
111
+ insideMiddleBottom: {
112
+ textAlign: "center",
113
+ textBaseline: "top"
114
+ },
115
+ end: {
116
+ textAlign: "right",
117
+ textBaseline: "middle"
118
+ },
119
+ insideEndTop: {
120
+ textAlign: "left",
121
+ textBaseline: "bottom"
122
+ },
123
+ insideEndBottom: {
124
+ textAlign: "left",
125
+ textBaseline: "top"
126
+ }
87
127
  }
88
128
  }, exports.DEFAULT_MARK_ARC_LINE_THEME = {
89
129
  interactive: !0,
@@ -243,6 +283,16 @@ exports.DEFAULT_MARK_LINE_THEME = {
243
283
  }
244
284
  }, exports.DEFAULT_MARK_POINT_THEME = {
245
285
  interactive: !0,
286
+ targetSymbol: {
287
+ visible: !1,
288
+ offset: 0,
289
+ style: {
290
+ symbolType: "circle",
291
+ size: 20,
292
+ fill: !1,
293
+ stroke: "rgba(46, 47, 50)"
294
+ }
295
+ },
246
296
  itemLine: {
247
297
  visible: !0,
248
298
  decorativeLine: {
@@ -298,29 +348,57 @@ exports.DEFAULT_MARK_LINE_THEME = {
298
348
  }
299
349
  }
300
350
  }, exports.DEFAULT_MARK_POINT_TEXT_STYLE_MAP = {
301
- top: {
302
- textAlign: "left",
303
- textBaseline: "bottom"
304
- },
305
- bottom: {
306
- textAlign: "left",
307
- textBaseline: "top"
308
- },
309
- middle: {
310
- textAlign: "left",
311
- textBaseline: "middle"
312
- },
313
- insideTop: {
314
- textAlign: "right",
315
- textBaseline: "bottom"
316
- },
317
- insideBottom: {
318
- textAlign: "right",
319
- textBaseline: "top"
351
+ postiveXAxis: {
352
+ top: {
353
+ textAlign: "left",
354
+ textBaseline: "bottom"
355
+ },
356
+ bottom: {
357
+ textAlign: "left",
358
+ textBaseline: "top"
359
+ },
360
+ middle: {
361
+ textAlign: "left",
362
+ textBaseline: "middle"
363
+ },
364
+ insideTop: {
365
+ textAlign: "right",
366
+ textBaseline: "bottom"
367
+ },
368
+ insideBottom: {
369
+ textAlign: "right",
370
+ textBaseline: "top"
371
+ },
372
+ insideMiddle: {
373
+ textAlign: "right",
374
+ textBaseline: "middle"
375
+ }
320
376
  },
321
- insideMiddle: {
322
- textAlign: "right",
323
- textBaseline: "middle"
377
+ negativeXAxis: {
378
+ top: {
379
+ textAlign: "right",
380
+ textBaseline: "bottom"
381
+ },
382
+ bottom: {
383
+ textAlign: "right",
384
+ textBaseline: "top"
385
+ },
386
+ middle: {
387
+ textAlign: "right",
388
+ textBaseline: "middle"
389
+ },
390
+ insideTop: {
391
+ textAlign: "left",
392
+ textBaseline: "bottom"
393
+ },
394
+ insideBottom: {
395
+ textAlign: "left",
396
+ textBaseline: "top"
397
+ },
398
+ insideMiddle: {
399
+ textAlign: "left",
400
+ textBaseline: "middle"
401
+ }
324
402
  }
325
403
  };
326
404
  //# sourceMappingURL=config.js.map
@@ -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, 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 },\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_CARTESIAN_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_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 },\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 },\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 },\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_POLAR_MARKER_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n arcInnerStart: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcInnerEnd: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n arcInnerMiddle: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcOuterStart: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n arcOuterEnd: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n arcOuterMiddle: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n center: {\n textAlign: 'center',\n textBaseline: 'middle'\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
+ {"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 },\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_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP: {\n [K: string]: {\n [T: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n };\n} = {\n postiveXAxis: {\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 negativeXAxis: {\n start: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'right',\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: 'right',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n }\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 },\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 },\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 },\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_POLAR_MARKER_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n arcInnerStart: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcInnerEnd: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n arcInnerMiddle: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n arcOuterStart: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n arcOuterEnd: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n arcOuterMiddle: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n center: {\n textAlign: 'center',\n textBaseline: 'middle'\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 targetSymbol: {\n visible: false,\n offset: 0,\n style: {\n symbolType: 'circle',\n size: 20,\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\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 [T: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n };\n} = {\n postiveXAxis: {\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 negativeXAxis: {\n top: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'left',\n textBaseline: 'middle'\n }\n }\n};\n"]}
@@ -20,9 +20,9 @@ export declare class MarkLine extends MarkCommonLine<ILineGraphicAttribute, IMar
20
20
  angle: number;
21
21
  };
22
22
  protected getRotateByAngle(angle: number): number;
23
- protected getTextStyle(position: IMarkLineLabelPosition): {
24
- textAlign: import("@visactor/vrender-core").TextAlignType;
25
- textBaseline: import("@visactor/vrender-core").TextBaselineType;
23
+ protected getTextStyle(position: IMarkLineLabelPosition, labelAngle: number, autoRotate: boolean): {
24
+ textAlign: string;
25
+ textBaseline: string;
26
26
  };
27
27
  protected createSegment(): Segment;
28
28
  protected setLineAttributes(): void;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.MarkLine = exports.registerMarkLineAnimate = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), register_1 = require("./register"), common_line_1 = require("./common-line"), segment_1 = require("../segment"), constant_1 = require("../constant"), config_1 = require("./config"), animate_1 = require("./animate/animate");
7
+ const vutils_1 = require("@visactor/vutils"), register_1 = require("./register"), common_line_1 = require("./common-line"), segment_1 = require("../segment"), constant_1 = require("../constant"), config_1 = require("./config"), animate_1 = require("./animate/animate"), util_1 = require("../util");
8
8
 
9
9
  function registerMarkLineAnimate() {
10
10
  MarkLine._animate = animate_1.markCommonLineAnimate;
@@ -22,7 +22,8 @@ class MarkLine extends common_line_1.MarkCommonLine {
22
22
  }
23
23
  getPointAttrByPosition(position) {
24
24
  var _a;
25
- 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, labelOffsetX = refX * Math.cos(labelAngle) + refX * Math.cos(labelAngle - Math.PI / 2), labelOffsetY = refX * Math.sin(labelAngle) + refY * Math.sin(labelAngle - Math.PI / 2);
25
+ const {label: label = {}} = this.attribute, {refX: refX = 0, refY: refY = 0} = label, points = this._line.getMainSegmentPoints(), lineEndAngle = null !== (_a = this._line.getEndAngle()) && void 0 !== _a ? _a : 0, labelAngle = ((0,
26
+ util_1.isPostiveXAxisCartes)(lineEndAngle), lineEndAngle), labelOffsetX = refX * Math.cos(labelAngle) + refY * Math.cos(labelAngle - Math.PI / 2), labelOffsetY = refX * Math.sin(labelAngle) + refY * Math.sin(labelAngle - Math.PI / 2);
26
27
  return position.includes("start") || position.includes("Start") ? {
27
28
  position: {
28
29
  x: points[0].x + labelOffsetX,
@@ -45,10 +46,16 @@ class MarkLine extends common_line_1.MarkCommonLine {
45
46
  }
46
47
  getRotateByAngle(angle) {
47
48
  var _a;
48
- return angle + (null !== (_a = this.attribute.label.refAngle) && void 0 !== _a ? _a : 0);
49
+ return ((0, util_1.isPostiveXAxisCartes)(angle) ? angle : angle - Math.PI) + (null !== (_a = this.attribute.label.refAngle) && void 0 !== _a ? _a : 0);
49
50
  }
50
- getTextStyle(position) {
51
- return config_1.DEFAULT_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP[position];
51
+ getTextStyle(position, labelAngle, autoRotate) {
52
+ return Math.abs(Math.abs(labelAngle) - Math.PI / 2) < 1e-4 ? autoRotate ? {
53
+ textAlign: "right",
54
+ textBaseline: "middle"
55
+ } : {
56
+ textAlign: "center",
57
+ textBaseline: labelAngle > 0 && position.includes("inside") || labelAngle < 0 && !position.includes("inside") ? "bottom" : "top"
58
+ } : (0, util_1.isPostiveXAxisCartes)(labelAngle) ? config_1.DEFAULT_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP.postiveXAxis[position] : config_1.DEFAULT_CARTESIAN_MARK_LINE_TEXT_STYLE_MAP.negativeXAxis[position];
52
59
  }
53
60
  createSegment() {
54
61
  const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment, state: state} = this.attribute;
@@ -68,14 +75,19 @@ class MarkLine extends common_line_1.MarkCommonLine {
68
75
  });
69
76
  }
70
77
  setLineAttributes() {
71
- const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment} = this.attribute;
78
+ const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment, state: state} = this.attribute;
72
79
  this._line && this._line.setAttributes({
73
80
  points: points,
74
81
  startSymbol: startSymbol,
75
82
  endSymbol: endSymbol,
76
83
  lineStyle: lineStyle,
77
84
  mainSegmentIndex: mainSegmentIndex,
78
- multiSegment: multiSegment
85
+ multiSegment: multiSegment,
86
+ state: {
87
+ line: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.line),
88
+ startSymbol: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.lineStartSymbol),
89
+ endSymbol: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.lineEndSymbol)
90
+ }
79
91
  });
80
92
  }
81
93
  isValidPoints() {