@visactor/vrender-components 0.18.10-alpha.0 → 0.18.10-alpha.2

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 (115) hide show
  1. package/cjs/index.d.ts +1 -1
  2. package/cjs/index.js +1 -1
  3. package/cjs/index.js.map +1 -1
  4. package/cjs/label/arc.d.ts +2 -2
  5. package/cjs/label/base.d.ts +2 -2
  6. package/cjs/marker/base-line.d.ts +17 -0
  7. package/cjs/marker/base-line.js +53 -0
  8. package/cjs/marker/base-line.js.map +1 -0
  9. package/cjs/marker/{area.d.ts → cartesian/area.d.ts} +13 -8
  10. package/cjs/marker/{area.js → cartesian/area.js} +18 -19
  11. package/cjs/marker/cartesian/area.js.map +1 -0
  12. package/cjs/marker/cartesian/line.d.ts +27 -0
  13. package/cjs/marker/cartesian/line.js +153 -0
  14. package/cjs/marker/cartesian/line.js.map +1 -0
  15. package/cjs/marker/config.d.ts +80 -10
  16. package/cjs/marker/config.js +77 -40
  17. package/cjs/marker/config.js.map +1 -1
  18. package/cjs/marker/index.d.ts +4 -2
  19. package/cjs/marker/index.js +3 -2
  20. package/cjs/marker/index.js.map +1 -1
  21. package/cjs/marker/point.d.ts +1 -1
  22. package/cjs/marker/polar/arc-line.d.ts +22 -0
  23. package/cjs/marker/polar/arc-line.js +103 -0
  24. package/cjs/marker/polar/arc-line.js.map +1 -0
  25. package/cjs/marker/polar/area.d.ts +50 -0
  26. package/cjs/marker/polar/area.js +123 -0
  27. package/cjs/marker/polar/area.js.map +1 -0
  28. package/cjs/marker/polar/line.d.ts +1 -0
  29. package/cjs/marker/polar/line.js +3 -0
  30. package/cjs/marker/polar/line.js.map +1 -0
  31. package/cjs/marker/register.d.ts +5 -2
  32. package/cjs/marker/register.js +18 -5
  33. package/cjs/marker/register.js.map +1 -1
  34. package/cjs/marker/type.d.ts +73 -21
  35. package/cjs/marker/type.js +22 -15
  36. package/cjs/marker/type.js.map +1 -1
  37. package/cjs/segment/arc-segment.d.ts +13 -0
  38. package/cjs/segment/arc-segment.js +51 -0
  39. package/cjs/segment/arc-segment.js.map +1 -0
  40. package/cjs/segment/index.d.ts +1 -0
  41. package/cjs/segment/index.js +2 -1
  42. package/cjs/segment/index.js.map +1 -1
  43. package/cjs/segment/register.d.ts +1 -0
  44. package/cjs/segment/register.js +7 -2
  45. package/cjs/segment/register.js.map +1 -1
  46. package/cjs/segment/segment.d.ts +7 -6
  47. package/cjs/segment/segment.js +7 -5
  48. package/cjs/segment/segment.js.map +1 -1
  49. package/cjs/segment/type.d.ts +22 -4
  50. package/cjs/segment/type.js.map +1 -1
  51. package/cjs/tag/tag.d.ts +5 -0
  52. package/cjs/tag/tag.js +11 -2
  53. package/cjs/tag/tag.js.map +1 -1
  54. package/es/index.d.ts +1 -1
  55. package/es/index.js +1 -1
  56. package/es/index.js.map +1 -1
  57. package/es/label/arc.d.ts +2 -2
  58. package/es/label/base.d.ts +2 -2
  59. package/es/marker/base-line.d.ts +17 -0
  60. package/es/marker/base-line.js +53 -0
  61. package/es/marker/base-line.js.map +1 -0
  62. package/es/marker/{area.d.ts → cartesian/area.d.ts} +13 -8
  63. package/es/marker/{area.js → cartesian/area.js} +22 -23
  64. package/es/marker/cartesian/area.js.map +1 -0
  65. package/es/marker/cartesian/line.d.ts +27 -0
  66. package/es/marker/cartesian/line.js +159 -0
  67. package/es/marker/cartesian/line.js.map +1 -0
  68. package/es/marker/config.d.ts +80 -10
  69. package/es/marker/config.js +79 -40
  70. package/es/marker/config.js.map +1 -1
  71. package/es/marker/index.d.ts +4 -2
  72. package/es/marker/index.js +6 -2
  73. package/es/marker/index.js.map +1 -1
  74. package/es/marker/point.d.ts +1 -1
  75. package/es/marker/polar/arc-line.d.ts +22 -0
  76. package/es/marker/polar/arc-line.js +109 -0
  77. package/es/marker/polar/arc-line.js.map +1 -0
  78. package/es/marker/polar/area.d.ts +50 -0
  79. package/es/marker/polar/area.js +133 -0
  80. package/es/marker/polar/area.js.map +1 -0
  81. package/es/marker/polar/line.d.ts +1 -0
  82. package/es/marker/polar/line.js +3 -0
  83. package/es/marker/polar/line.js.map +1 -0
  84. package/es/marker/register.d.ts +5 -2
  85. package/es/marker/register.js +16 -4
  86. package/es/marker/register.js.map +1 -1
  87. package/es/marker/type.d.ts +73 -21
  88. package/es/marker/type.js +25 -15
  89. package/es/marker/type.js.map +1 -1
  90. package/es/segment/arc-segment.d.ts +13 -0
  91. package/es/segment/arc-segment.js +49 -0
  92. package/es/segment/arc-segment.js.map +1 -0
  93. package/es/segment/index.d.ts +1 -0
  94. package/es/segment/index.js +2 -0
  95. package/es/segment/index.js.map +1 -1
  96. package/es/segment/register.d.ts +1 -0
  97. package/es/segment/register.js +5 -1
  98. package/es/segment/register.js.map +1 -1
  99. package/es/segment/segment.d.ts +7 -6
  100. package/es/segment/segment.js +7 -5
  101. package/es/segment/segment.js.map +1 -1
  102. package/es/segment/type.d.ts +22 -4
  103. package/es/segment/type.js.map +1 -1
  104. package/es/tag/tag.d.ts +5 -0
  105. package/es/tag/tag.js +11 -2
  106. package/es/tag/tag.js.map +1 -1
  107. package/package.json +5 -5
  108. package/cjs/marker/area.js.map +0 -1
  109. package/cjs/marker/line.d.ts +0 -18
  110. package/cjs/marker/line.js +0 -100
  111. package/cjs/marker/line.js.map +0 -1
  112. package/es/marker/area.js.map +0 -1
  113. package/es/marker/line.d.ts +0 -18
  114. package/es/marker/line.js +0 -108
  115. package/es/marker/line.js.map +0 -1
@@ -2,21 +2,21 @@ import { graphicCreator } from "@visactor/vrender-core";
2
2
 
3
3
  import { isValidNumber, merge } from "@visactor/vutils";
4
4
 
5
- import { Tag } from "../tag";
5
+ import { Tag } from "../../tag";
6
6
 
7
- import { Marker } from "./base";
7
+ import { Marker } from "../base";
8
8
 
9
- import { DEFAULT_MARK_AREA_TEXT_STYLE_MAP, DEFAULT_MARK_AREA_THEME } from "./config";
9
+ import { DEFAULT_CARTESIAN_MARK_AREA_THEME } from "../config";
10
10
 
11
- import { limitShapeInBounds } from "../util/limit-shape";
11
+ import { limitShapeInBounds } from "../../util/limit-shape";
12
12
 
13
- import { loadMarkAreaComponent } from "./register";
13
+ import { loadCartesianMarkAreaComponent } from "../register";
14
14
 
15
- import { DEFAULT_STATES } from "../constant";
15
+ import { DEFAULT_STATES } from "../../constant";
16
16
 
17
- loadMarkAreaComponent();
17
+ loadCartesianMarkAreaComponent();
18
18
 
19
- export class MarkArea extends Marker {
19
+ export class CartesianMarkArea extends Marker {
20
20
  getArea() {
21
21
  return this._area;
22
22
  }
@@ -24,23 +24,24 @@ export class MarkArea extends Marker {
24
24
  return this._label;
25
25
  }
26
26
  constructor(attributes, options) {
27
- super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArea.defaultAttributes, attributes)),
28
- this.name = "markArea";
27
+ super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, CartesianMarkArea.defaultAttributes, attributes)),
28
+ this.name = "cartesianMarkArea";
29
29
  }
30
- _getPositionByDirection(area, direction) {
31
- const {x1: x1, x2: x2, y1: y1, y2: y2} = this._area.AABBBounds;
30
+ getPositionByDirection(direction) {
31
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
32
+ const {x1: x1, x2: x2, y1: y1, y2: y2} = this._area.AABBBounds, labelRectHeight = Math.abs((null !== (_b = null === (_a = this._label.getTextShape().AABBBounds) || void 0 === _a ? void 0 : _a.y2) && void 0 !== _b ? _b : 0) - (null !== (_d = null === (_c = this._label.getTextShape()) || void 0 === _c ? void 0 : _c.AABBBounds.y1) && void 0 !== _d ? _d : 0)), labelTextHeight = Math.abs((null !== (_f = null === (_e = this._label.getBgRect().AABBBounds) || void 0 === _e ? void 0 : _e.y2) && void 0 !== _f ? _f : 0) - (null !== (_h = null === (_g = this._label.getBgRect()) || void 0 === _g ? void 0 : _g.AABBBounds.y1) && void 0 !== _h ? _h : 0)), labelHeight = Math.max(labelRectHeight, labelTextHeight), labelRectWidth = Math.abs((null !== (_k = null === (_j = this._label.getTextShape().AABBBounds) || void 0 === _j ? void 0 : _j.x2) && void 0 !== _k ? _k : 0) - (null !== (_m = null === (_l = this._label.getTextShape()) || void 0 === _l ? void 0 : _l.AABBBounds.x1) && void 0 !== _m ? _m : 0)), labelTextWidth = Math.abs((null !== (_p = null === (_o = this._label.getBgRect().AABBBounds) || void 0 === _o ? void 0 : _o.x2) && void 0 !== _p ? _p : 0) - (null !== (_r = null === (_q = this._label.getBgRect()) || void 0 === _q ? void 0 : _q.AABBBounds.x1) && void 0 !== _r ? _r : 0)), labelWidth = Math.max(labelRectWidth, labelTextWidth);
32
33
  return direction.includes("left") || direction.includes("Left") ? {
33
- x: x1,
34
+ x: x1 + (direction.includes("inside") ? .5 : -.5) * labelWidth,
34
35
  y: (y1 + y2) / 2
35
36
  } : direction.includes("right") || direction.includes("Right") ? {
36
- x: x2,
37
+ x: x2 + (direction.includes("inside") ? -.5 : .5) * labelWidth,
37
38
  y: (y1 + y2) / 2
38
39
  } : direction.includes("top") || direction.includes("Top") ? {
39
40
  x: (x1 + x2) / 2,
40
- y: y1
41
+ y: y1 + (direction.includes("inside") ? .5 : -.5) * labelHeight
41
42
  } : direction.includes("bottom") || direction.includes("Bottom") ? {
42
43
  x: (x1 + x2) / 2,
43
- y: y2
44
+ y: y2 + (direction.includes("inside") ? -.5 : .5) * labelHeight
44
45
  } : {
45
46
  x: (x1 + x2) / 2,
46
47
  y: (y1 + y2) / 2
@@ -49,10 +50,8 @@ export class MarkArea extends Marker {
49
50
  setLabelPos() {
50
51
  var _a;
51
52
  if (this._label && this._area) {
52
- const {label: label = {}} = this.attribute, labelPosition = null !== (_a = label.position) && void 0 !== _a ? _a : "middle", labelPoint = this._getPositionByDirection(this._area, labelPosition);
53
- if (this._label.setAttributes(Object.assign(Object.assign({}, labelPoint), {
54
- textStyle: Object.assign(Object.assign({}, DEFAULT_MARK_AREA_TEXT_STYLE_MAP[labelPosition]), label.textStyle)
55
- })), this.attribute.limitRect && label.confine) {
53
+ const {label: label = {}} = this.attribute, labelPosition = null !== (_a = label.position) && void 0 !== _a ? _a : "middle", labelPoint = this.getPositionByDirection(labelPosition);
54
+ if (this._label.setAttributes(Object.assign({}, labelPoint)), this.attribute.limitRect && label.confine) {
56
55
  const {x: x, y: y, width: width, height: height} = this.attribute.limitRect;
57
56
  limitShapeInBounds(this._label, {
58
57
  x1: x,
@@ -67,7 +66,7 @@ export class MarkArea extends Marker {
67
66
  const {points: points, label: label, areaStyle: areaStyle, state: state} = this.attribute, area = graphicCreator.polygon(Object.assign({
68
67
  points: points
69
68
  }, areaStyle));
70
- area.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.area), area.name = "mark-area-area",
69
+ area.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.area), area.name = "mark-polygon-polygon",
71
70
  this._area = area, container.add(area);
72
71
  const markLabel = new Tag(Object.assign(Object.assign({}, label), {
73
72
  state: {
@@ -75,7 +74,7 @@ export class MarkArea extends Marker {
75
74
  text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
76
75
  }
77
76
  }));
78
- markLabel.name = "mark-area-label", this._label = markLabel, container.add(markLabel),
77
+ markLabel.name = "mark-polygon-label", this._label = markLabel, container.add(markLabel),
79
78
  this.setLabelPos();
80
79
  }
81
80
  updateMarker() {
@@ -97,5 +96,5 @@ export class MarkArea extends Marker {
97
96
  }
98
97
  }
99
98
 
100
- MarkArea.defaultAttributes = DEFAULT_MARK_AREA_THEME;
99
+ CartesianMarkArea.defaultAttributes = DEFAULT_CARTESIAN_MARK_AREA_THEME;
101
100
  //# sourceMappingURL=area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/marker/cartesian/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_CARTESIAN_MARK_AREA_THEME } from '../config';\nimport type { CartesianMarkAreaAttrs } from '../type';\nimport { limitShapeInBounds } from '../../util/limit-shape';\nimport type { ComponentOptions } from '../../interface';\nimport { loadCartesianMarkAreaComponent } from '../register';\nimport type { Point } from '../../core/type';\nimport { DEFAULT_STATES } from '../../constant';\n\nloadCartesianMarkAreaComponent();\nexport class CartesianMarkArea extends Marker<CartesianMarkAreaAttrs> {\n name = 'cartesianMarkArea';\n static defaultAttributes = DEFAULT_CARTESIAN_MARK_AREA_THEME;\n private _area!: IPolygon;\n getArea() {\n return this._area;\n }\n\n getLabel() {\n return this._label;\n }\n\n constructor(attributes: CartesianMarkAreaAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, CartesianMarkArea.defaultAttributes, attributes));\n }\n\n protected getPositionByDirection(direction: string) {\n const { x1, x2, y1, y2 } = this._area.AABBBounds;\n // labelHeight\n // eslint-disable-next-line max-len\n const labelRectHeight = Math.abs(\n (this._label.getTextShape().AABBBounds?.y2 ?? 0) - (this._label.getTextShape()?.AABBBounds.y1 ?? 0)\n );\n // eslint-disable-next-line max-len\n const labelTextHeight = Math.abs(\n (this._label.getBgRect().AABBBounds?.y2 ?? 0) - (this._label.getBgRect()?.AABBBounds.y1 ?? 0)\n );\n const labelHeight = Math.max(labelRectHeight, labelTextHeight);\n\n // labelWidth\n // eslint-disable-next-line max-len\n const labelRectWidth = Math.abs(\n (this._label.getTextShape().AABBBounds?.x2 ?? 0) - (this._label.getTextShape()?.AABBBounds.x1 ?? 0)\n );\n // eslint-disable-next-line max-len\n const labelTextWidth = Math.abs(\n (this._label.getBgRect().AABBBounds?.x2 ?? 0) - (this._label.getBgRect()?.AABBBounds.x1 ?? 0)\n );\n const labelWidth = Math.max(labelRectWidth, labelTextWidth);\n\n if (direction.includes('left') || direction.includes('Left')) {\n return {\n x: x1 + (direction.includes('inside') ? 0.5 : -0.5) * labelWidth,\n y: (y1 + y2) / 2\n };\n }\n if (direction.includes('right') || direction.includes('Right')) {\n return {\n x: x2 + (direction.includes('inside') ? -0.5 : 0.5) * labelWidth,\n y: (y1 + y2) / 2\n };\n }\n if (direction.includes('top') || direction.includes('Top')) {\n return {\n x: (x1 + x2) / 2,\n y: y1 + (direction.includes('inside') ? 0.5 : -0.5) * labelHeight\n };\n }\n if (direction.includes('bottom') || direction.includes('Bottom')) {\n return {\n x: (x1 + x2) / 2,\n y: y2 + (direction.includes('inside') ? -0.5 : 0.5) * labelHeight\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 CartesianMarkAreaAttrs;\n const labelPosition = label.position ?? 'middle';\n const labelPoint = this.getPositionByDirection(labelPosition);\n this._label.setAttributes({\n ...labelPoint\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 CartesianMarkAreaAttrs;\n const area = graphicCreator.polygon({\n points: points,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'mark-polygon-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-polygon-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 CartesianMarkAreaAttrs;\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 CartesianMarkAreaAttrs;\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"]}
@@ -0,0 +1,27 @@
1
+ import { ICartesianMarkLineLabelPosition } from '../type';
2
+ import type { CartesianMarkLineAttrs } from '../type';
3
+ import type { ComponentOptions } from '../../interface';
4
+ import { BaseMarkLine } from '../base-line';
5
+ import type { ArcSegment } from '../../segment';
6
+ import { Segment } from '../../segment';
7
+ export declare class CartesianMarkLine extends BaseMarkLine<ICartesianMarkLineLabelPosition> {
8
+ name: string;
9
+ static defaultAttributes: Partial<CartesianMarkLineAttrs>;
10
+ protected _line: Segment | ArcSegment;
11
+ constructor(attributes: CartesianMarkLineAttrs, options?: ComponentOptions);
12
+ protected isValidPoints(): boolean;
13
+ protected getLabelOffsetByDirection(direction: ICartesianMarkLineLabelPosition): {
14
+ offsetX: number;
15
+ offsetY: number;
16
+ };
17
+ protected getPositionByDirection(direction: ICartesianMarkLineLabelPosition): {
18
+ position: {
19
+ x: number;
20
+ y: number;
21
+ };
22
+ angle: number;
23
+ };
24
+ protected setLabelPos(): void;
25
+ protected createSegment(): Segment;
26
+ protected setLineAttributes(): void;
27
+ }
@@ -0,0 +1,159 @@
1
+ import { isValidNumber, merge } from "@visactor/vutils";
2
+
3
+ import { ICartesianMarkLineLabelPosition } from "../type";
4
+
5
+ import { loadCartesianMarkLineComponent } from "../register";
6
+
7
+ import { BaseMarkLine } from "../base-line";
8
+
9
+ import { Segment } from "../../segment";
10
+
11
+ import { DEFAULT_STATES } from "../../constant";
12
+
13
+ import { DEFAULT_CARTESIAN_MARK_LINE_THEME } from "../config";
14
+
15
+ loadCartesianMarkLineComponent();
16
+
17
+ export class CartesianMarkLine extends BaseMarkLine {
18
+ constructor(attributes, options) {
19
+ super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, CartesianMarkLine.defaultAttributes, attributes)),
20
+ this.name = "cartesianMarkLine";
21
+ }
22
+ isValidPoints() {
23
+ const {points: points} = this.attribute;
24
+ if (!points || points.length < 2) return !1;
25
+ let validFlag = !0;
26
+ return points.forEach((point => {
27
+ if (point.length) point.forEach((p => {
28
+ isValidNumber(p.x) && isValidNumber(p.y) || (validFlag = !1);
29
+ })); else if (!isValidNumber(point.x) || !isValidNumber(point.y)) return void (validFlag = !1);
30
+ })), validFlag;
31
+ }
32
+ getLabelOffsetByDirection(direction) {
33
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
34
+ const labelRectHeight = Math.abs((null !== (_b = null === (_a = this._label.getTextShape().AABBBounds) || void 0 === _a ? void 0 : _a.y2) && void 0 !== _b ? _b : 0) - (null !== (_d = null === (_c = this._label.getTextShape()) || void 0 === _c ? void 0 : _c.AABBBounds.y1) && void 0 !== _d ? _d : 0)), labelTextHeight = Math.abs((null !== (_f = null === (_e = this._label.getBgRect().AABBBounds) || void 0 === _e ? void 0 : _e.y2) && void 0 !== _f ? _f : 0) - (null !== (_h = null === (_g = this._label.getBgRect()) || void 0 === _g ? void 0 : _g.AABBBounds.y1) && void 0 !== _h ? _h : 0)), labelHeight = Math.max(labelRectHeight, labelTextHeight), labelRectWidth = Math.abs((null !== (_k = null === (_j = this._label.getTextShape().AABBBounds) || void 0 === _j ? void 0 : _j.x2) && void 0 !== _k ? _k : 0) - (null !== (_m = null === (_l = this._label.getTextShape()) || void 0 === _l ? void 0 : _l.AABBBounds.x1) && void 0 !== _m ? _m : 0)), labelTextWidth = Math.abs((null !== (_p = null === (_o = this._label.getBgRect().AABBBounds) || void 0 === _o ? void 0 : _o.x2) && void 0 !== _p ? _p : 0) - (null !== (_r = null === (_q = this._label.getBgRect()) || void 0 === _q ? void 0 : _q.AABBBounds.x1) && void 0 !== _r ? _r : 0)), labelWidth = Math.max(labelRectWidth, labelTextWidth);
35
+ switch (direction) {
36
+ case ICartesianMarkLineLabelPosition.start:
37
+ return {
38
+ offsetX: -labelWidth / 2,
39
+ offsetY: 0
40
+ };
41
+
42
+ case ICartesianMarkLineLabelPosition.insideStartTop:
43
+ return {
44
+ offsetX: labelWidth / 2,
45
+ offsetY: labelHeight / 2
46
+ };
47
+
48
+ case ICartesianMarkLineLabelPosition.insideStartBottom:
49
+ return {
50
+ offsetX: labelWidth / 2,
51
+ offsetY: -labelHeight / 2
52
+ };
53
+
54
+ case ICartesianMarkLineLabelPosition.middle:
55
+ return {
56
+ offsetX: 0,
57
+ offsetY: 0
58
+ };
59
+
60
+ case ICartesianMarkLineLabelPosition.insideMiddleTop:
61
+ return {
62
+ offsetX: 0,
63
+ offsetY: labelHeight / 2
64
+ };
65
+
66
+ case ICartesianMarkLineLabelPosition.insideMiddleBottom:
67
+ return {
68
+ offsetX: 0,
69
+ offsetY: -labelHeight / 2
70
+ };
71
+
72
+ case ICartesianMarkLineLabelPosition.end:
73
+ return {
74
+ offsetX: labelWidth / 2,
75
+ offsetY: 0
76
+ };
77
+
78
+ case ICartesianMarkLineLabelPosition.insideEndTop:
79
+ return {
80
+ offsetX: -labelWidth / 2,
81
+ offsetY: labelHeight / 2
82
+ };
83
+
84
+ case ICartesianMarkLineLabelPosition.insideEndBottom:
85
+ return {
86
+ offsetX: -labelWidth / 2,
87
+ offsetY: -labelHeight / 2
88
+ };
89
+
90
+ default:
91
+ return {
92
+ offsetX: labelWidth / 2,
93
+ offsetY: 0
94
+ };
95
+ }
96
+ }
97
+ getPositionByDirection(direction) {
98
+ var _a;
99
+ 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.getLabelOffsetByDirection(direction).offsetX, totalRefY = refY + this.getLabelOffsetByDirection(direction).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);
100
+ return direction.includes("start") || direction.includes("Start") ? {
101
+ position: {
102
+ x: points[0].x + labelOffsetX,
103
+ y: points[0].y + labelOffsetY
104
+ },
105
+ angle: labelAngle
106
+ } : direction.includes("middle") || direction.includes("Middle") ? {
107
+ position: {
108
+ x: (points[0].x + points[points.length - 1].x) / 2 + labelOffsetX,
109
+ y: (points[0].y + points[points.length - 1].y) / 2 + labelOffsetY
110
+ },
111
+ angle: labelAngle
112
+ } : {
113
+ position: {
114
+ x: points[points.length - 1].x + labelOffsetX,
115
+ y: points[points.length - 1].y + labelOffsetY
116
+ },
117
+ angle: labelAngle
118
+ };
119
+ }
120
+ setLabelPos() {
121
+ var _a;
122
+ super.setLabelPos();
123
+ const {label: label = {}} = this.attribute, {position: position = "end", autoRotate: autoRotate = !0} = label, labelAttr = this.getPositionByDirection(position);
124
+ this._label.setAttributes(Object.assign(Object.assign({}, labelAttr.position), {
125
+ angle: autoRotate ? labelAttr.angle + (null !== (_a = label.refAngle) && void 0 !== _a ? _a : 0) : 0
126
+ }));
127
+ }
128
+ createSegment() {
129
+ const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment, state: state} = this.attribute;
130
+ return new Segment({
131
+ points: points,
132
+ startSymbol: startSymbol,
133
+ endSymbol: endSymbol,
134
+ lineStyle: lineStyle,
135
+ mainSegmentIndex: mainSegmentIndex,
136
+ multiSegment: multiSegment,
137
+ pickable: !1,
138
+ state: {
139
+ line: merge({}, DEFAULT_STATES, null == state ? void 0 : state.line),
140
+ startSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineStartSymbol),
141
+ endSymbol: merge({}, DEFAULT_STATES, null == state ? void 0 : state.lineEndSymbol)
142
+ }
143
+ });
144
+ }
145
+ setLineAttributes() {
146
+ const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment} = this.attribute;
147
+ this._line && this._line.setAttributes({
148
+ points: points,
149
+ startSymbol: startSymbol,
150
+ endSymbol: endSymbol,
151
+ lineStyle: lineStyle,
152
+ mainSegmentIndex: mainSegmentIndex,
153
+ multiSegment: multiSegment
154
+ });
155
+ }
156
+ }
157
+
158
+ CartesianMarkLine.defaultAttributes = DEFAULT_CARTESIAN_MARK_LINE_THEME;
159
+ //# sourceMappingURL=line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/marker/cartesian/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["import { isValidNumber, merge } from '@visactor/vutils';\nimport { ICartesianMarkLineLabelPosition } from '../type';\nimport type { CartesianMarkLineAttrs, ICartesianMarkAreaLabelPosition } from '../type';\nimport type { ComponentOptions } from '../../interface';\nimport { loadCartesianMarkLineComponent } from '../register';\nimport type { Point } from '../../core/type';\nimport { BaseMarkLine } from '../base-line';\nimport type { ArcSegment } from '../../segment';\n// eslint-disable-next-line no-duplicate-imports\nimport { Segment } from '../../segment';\nimport { DEFAULT_STATES } from '../../constant';\nimport { DEFAULT_CARTESIAN_MARK_LINE_THEME } from '../config';\n\nloadCartesianMarkLineComponent();\nexport class CartesianMarkLine extends BaseMarkLine<ICartesianMarkLineLabelPosition> {\n name = 'cartesianMarkLine';\n // eslint-disable-next-line max-len\n static defaultAttributes: Partial<CartesianMarkLineAttrs> =\n DEFAULT_CARTESIAN_MARK_LINE_THEME as unknown as CartesianMarkLineAttrs;\n protected _line!: Segment | ArcSegment;\n\n constructor(attributes: CartesianMarkLineAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, CartesianMarkLine.defaultAttributes, attributes));\n }\n\n protected isValidPoints() {\n const { points } = this.attribute as CartesianMarkLineAttrs;\n if (!points || points.length < 2) {\n return false;\n }\n let validFlag = true;\n points.forEach((point: Point | Point[]) => {\n if ((point as any).length) {\n (point as Point[]).forEach((p: Point) => {\n if (!isValidNumber((p as Point).x) || !isValidNumber((p as Point).y)) {\n validFlag = false;\n return;\n }\n });\n } else if (!isValidNumber((point as Point).x) || !isValidNumber((point as Point).y)) {\n validFlag = false;\n return;\n }\n });\n return validFlag;\n }\n\n protected getLabelOffsetByDirection(direction: ICartesianMarkLineLabelPosition) {\n // labelHeight\n // eslint-disable-next-line max-len\n const labelRectHeight = Math.abs(\n (this._label.getTextShape().AABBBounds?.y2 ?? 0) - (this._label.getTextShape()?.AABBBounds.y1 ?? 0)\n );\n // eslint-disable-next-line max-len\n const labelTextHeight = Math.abs(\n (this._label.getBgRect().AABBBounds?.y2 ?? 0) - (this._label.getBgRect()?.AABBBounds.y1 ?? 0)\n );\n const labelHeight = Math.max(labelRectHeight, labelTextHeight);\n\n // labelWidth\n // eslint-disable-next-line max-len\n const labelRectWidth = Math.abs(\n (this._label.getTextShape().AABBBounds?.x2 ?? 0) - (this._label.getTextShape()?.AABBBounds.x1 ?? 0)\n );\n // eslint-disable-next-line max-len\n const labelTextWidth = Math.abs(\n (this._label.getBgRect().AABBBounds?.x2 ?? 0) - (this._label.getBgRect()?.AABBBounds.x1 ?? 0)\n );\n const labelWidth = Math.max(labelRectWidth, labelTextWidth);\n\n switch (direction) {\n case ICartesianMarkLineLabelPosition.start:\n return {\n offsetX: -labelWidth / 2,\n offsetY: 0\n };\n case ICartesianMarkLineLabelPosition.insideStartTop:\n return {\n offsetX: labelWidth / 2,\n offsetY: labelHeight / 2\n };\n case ICartesianMarkLineLabelPosition.insideStartBottom:\n return {\n offsetX: labelWidth / 2,\n offsetY: -labelHeight / 2\n };\n case ICartesianMarkLineLabelPosition.middle:\n return {\n offsetX: 0,\n offsetY: 0\n };\n case ICartesianMarkLineLabelPosition.insideMiddleTop:\n return {\n offsetX: 0,\n offsetY: labelHeight / 2\n };\n case ICartesianMarkLineLabelPosition.insideMiddleBottom:\n return {\n offsetX: 0,\n offsetY: -labelHeight / 2\n };\n case ICartesianMarkLineLabelPosition.end:\n return {\n offsetX: labelWidth / 2,\n offsetY: 0\n };\n case ICartesianMarkLineLabelPosition.insideEndTop:\n return {\n offsetX: -labelWidth / 2,\n offsetY: labelHeight / 2\n };\n case ICartesianMarkLineLabelPosition.insideEndBottom:\n return {\n offsetX: -labelWidth / 2,\n offsetY: -labelHeight / 2\n };\n default: // default end\n return {\n offsetX: labelWidth / 2,\n offsetY: 0\n };\n }\n }\n\n protected getPositionByDirection(direction: ICartesianMarkLineLabelPosition) {\n const { label = {} } = this.attribute;\n const { refX = 0, refY = 0 } = label;\n const points = this._line.getMainSegmentPoints();\n const labelAngle = this._line.getEndAngle() ?? 0;\n\n const totalRefX = refX + this.getLabelOffsetByDirection(direction).offsetX;\n const totalRefY = refY + this.getLabelOffsetByDirection(direction).offsetY;\n\n const labelOffsetX = totalRefX * Math.cos(labelAngle) + totalRefY * Math.cos(labelAngle - Math.PI / 2);\n const labelOffsetY = totalRefX * Math.sin(labelAngle) + totalRefY * Math.sin(labelAngle - Math.PI / 2);\n\n if (direction.includes('start') || direction.includes('Start')) {\n return {\n position: {\n x: points[0].x + labelOffsetX,\n y: points[0].y + labelOffsetY\n },\n angle: labelAngle\n };\n } else if (direction.includes('middle') || direction.includes('Middle')) {\n return {\n position: {\n x: (points[0].x + points[points.length - 1].x) / 2 + labelOffsetX,\n y: (points[0].y + points[points.length - 1].y) / 2 + labelOffsetY\n },\n angle: labelAngle\n };\n }\n return {\n position: {\n x: points[points.length - 1].x + labelOffsetX,\n y: points[points.length - 1].y + labelOffsetY\n },\n angle: labelAngle\n };\n }\n\n protected setLabelPos(): void {\n super.setLabelPos();\n const { label = {} } = this.attribute as CartesianMarkLineAttrs;\n const { position = 'end', autoRotate = true } = label;\n const labelAttr = this.getPositionByDirection(position as any);\n this._label.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle + (label.refAngle ?? 0) : 0\n });\n }\n\n protected createSegment() {\n const { points, startSymbol, endSymbol, lineStyle, mainSegmentIndex, multiSegment, state } = this\n .attribute as CartesianMarkLineAttrs;\n return new Segment({\n points,\n startSymbol,\n endSymbol,\n lineStyle,\n mainSegmentIndex,\n multiSegment,\n pickable: false, // 组件容器本身不参与拾取\n state: {\n line: merge({}, DEFAULT_STATES, state?.line),\n startSymbol: merge({}, DEFAULT_STATES, state?.lineStartSymbol),\n endSymbol: merge({}, DEFAULT_STATES, state?.lineEndSymbol)\n }\n });\n }\n\n protected setLineAttributes() {\n const { points, startSymbol, endSymbol, lineStyle, mainSegmentIndex, multiSegment } = this\n .attribute as CartesianMarkLineAttrs;\n if (this._line) {\n this._line.setAttributes({\n points,\n startSymbol,\n endSymbol,\n lineStyle,\n mainSegmentIndex,\n multiSegment\n });\n }\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';
2
- import { IMarkAreaLabelPosition, IMarkLineLabelPosition } from './type';
3
- export declare const DEFAULT_MARK_LINE_THEME: {
2
+ import { ICartesianMarkAreaLabelPosition, ICartesianMarkLineLabelPosition, IPolarMarkLabelPosition } from './type';
3
+ export declare const DEFAULT_CARTESIAN_MARK_LINE_THEME: {
4
4
  interactive: boolean;
5
5
  startSymbol: {
6
6
  visible: boolean;
@@ -17,7 +17,7 @@ export declare const DEFAULT_MARK_LINE_THEME: {
17
17
  lineWidth: number;
18
18
  };
19
19
  label: {
20
- position: IMarkLineLabelPosition;
20
+ position: ICartesianMarkLineLabelPosition;
21
21
  refX: number;
22
22
  refY: number;
23
23
  refAngle: number;
@@ -28,6 +28,8 @@ export declare const DEFAULT_MARK_LINE_THEME: {
28
28
  fontSize: number;
29
29
  fontWeight: string;
30
30
  fontStyle: string;
31
+ textAlign: string;
32
+ textBaseline: string;
31
33
  };
32
34
  padding: number[];
33
35
  panel: {
@@ -43,16 +45,82 @@ export declare const DEFAULT_MARK_LINE_THEME: {
43
45
  lineDash: number[];
44
46
  };
45
47
  };
46
- export declare const DEFAULT_MARK_LINE_TEXT_STYLE_MAP: {
47
- [K: string]: {
48
- textAlign: TextAlignType;
49
- textBaseline: TextBaselineType;
48
+ export declare const DEFAULT_POLAR_MARK_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: IPolarMarkLabelPosition;
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[];
91
+ };
92
+ };
93
+ export declare const DEFAULT_CARTESIAN_MARK_AREA_THEME: {
94
+ interactive: boolean;
95
+ label: {
96
+ position: ICartesianMarkAreaLabelPosition;
97
+ textStyle: {
98
+ fill: string;
99
+ stroke: string;
100
+ lineWidth: number;
101
+ fontSize: number;
102
+ fontWeight: string;
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;
50
118
  };
51
119
  };
52
- export declare const DEFAULT_MARK_AREA_THEME: {
120
+ export declare const DEFAULT_POLAR_MARK_AREA_THEME: {
53
121
  interactive: boolean;
54
122
  label: {
55
- position: IMarkAreaLabelPosition;
123
+ position: IPolarMarkLabelPosition;
56
124
  textStyle: {
57
125
  fill: string;
58
126
  stroke: string;
@@ -60,6 +128,8 @@ export declare const DEFAULT_MARK_AREA_THEME: {
60
128
  fontSize: number;
61
129
  fontWeight: string;
62
130
  fontStyle: string;
131
+ textAlign: string;
132
+ textBaseline: string;
63
133
  };
64
134
  padding: number[];
65
135
  panel: {
@@ -74,7 +144,7 @@ export declare const DEFAULT_MARK_AREA_THEME: {
74
144
  visible: boolean;
75
145
  };
76
146
  };
77
- export declare const DEFAULT_MARK_AREA_TEXT_STYLE_MAP: {
147
+ export declare const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {
78
148
  [K: string]: {
79
149
  textAlign: TextAlignType;
80
150
  textBaseline: TextBaselineType;
@@ -1,6 +1,6 @@
1
- import { IMarkAreaLabelPosition, IMarkLineLabelPosition } from "./type";
1
+ import { ICartesianMarkAreaLabelPosition, ICartesianMarkLineLabelPosition, IPolarMarkLabelPosition } from "./type";
2
2
 
3
- export const DEFAULT_MARK_LINE_THEME = {
3
+ export const DEFAULT_CARTESIAN_MARK_LINE_THEME = {
4
4
  interactive: !0,
5
5
  startSymbol: {
6
6
  visible: !1,
@@ -17,7 +17,7 @@ export const DEFAULT_MARK_LINE_THEME = {
17
17
  lineWidth: 0
18
18
  },
19
19
  label: {
20
- position: IMarkLineLabelPosition.end,
20
+ position: ICartesianMarkLineLabelPosition.end,
21
21
  refX: 0,
22
22
  refY: 0,
23
23
  refAngle: 0,
@@ -27,7 +27,9 @@ export const DEFAULT_MARK_LINE_THEME = {
27
27
  lineWidth: 0,
28
28
  fontSize: 10,
29
29
  fontWeight: "normal",
30
- fontStyle: "normal"
30
+ fontStyle: "normal",
31
+ textAlign: "center",
32
+ textBaseline: "middle"
31
33
  },
32
34
  padding: [ 2, 2, 4, 4 ],
33
35
  panel: {
@@ -44,56 +46,93 @@ export const DEFAULT_MARK_LINE_THEME = {
44
46
  }
45
47
  };
46
48
 
47
- export const DEFAULT_MARK_LINE_TEXT_STYLE_MAP = {
48
- start: {
49
- textAlign: "right",
50
- textBaseline: "middle"
51
- },
52
- insideStartTop: {
53
- textAlign: "left",
54
- textBaseline: "bottom"
55
- },
56
- insideStartBottom: {
57
- textAlign: "left",
58
- textBaseline: "top"
59
- },
60
- middle: {
61
- textAlign: "center",
62
- textBaseline: "middle"
63
- },
64
- insideMiddleTop: {
65
- textAlign: "center",
66
- textBaseline: "bottom"
49
+ export const DEFAULT_POLAR_MARK_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
67
57
  },
68
- insideMiddleBottom: {
69
- textAlign: "center",
70
- textBaseline: "top"
58
+ endSymbol: {
59
+ visible: !0,
60
+ symbolType: "triangle",
61
+ size: 12,
62
+ fill: "rgba(46, 47, 50)",
63
+ lineWidth: 0
71
64
  },
72
- end: {
73
- textAlign: "left",
74
- textBaseline: "middle"
65
+ label: {
66
+ position: IPolarMarkLabelPosition.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
+ }
75
87
  },
76
- insideEndTop: {
77
- textAlign: "right",
78
- textBaseline: "bottom"
88
+ lineStyle: {
89
+ stroke: "#b2bacf",
90
+ lineWidth: 1,
91
+ lineDash: [ 2 ]
92
+ }
93
+ };
94
+
95
+ export const DEFAULT_CARTESIAN_MARK_AREA_THEME = {
96
+ interactive: !0,
97
+ label: {
98
+ position: ICartesianMarkAreaLabelPosition.right,
99
+ textStyle: {
100
+ fill: "#fff",
101
+ stroke: "#fff",
102
+ lineWidth: 0,
103
+ fontSize: 10,
104
+ fontWeight: "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
+ }
79
116
  },
80
- insideEndBottom: {
81
- textAlign: "right",
82
- textBaseline: "top"
117
+ areaStyle: {
118
+ fill: "#b2bacf",
119
+ visible: !0
83
120
  }
84
121
  };
85
122
 
86
- export const DEFAULT_MARK_AREA_THEME = {
123
+ export const DEFAULT_POLAR_MARK_AREA_THEME = {
87
124
  interactive: !0,
88
125
  label: {
89
- position: IMarkAreaLabelPosition.right,
126
+ position: IPolarMarkLabelPosition.arcOuterMiddle,
90
127
  textStyle: {
91
128
  fill: "#fff",
92
129
  stroke: "#fff",
93
130
  lineWidth: 0,
94
131
  fontSize: 10,
95
132
  fontWeight: "normal",
96
- fontStyle: "normal"
133
+ fontStyle: "normal",
134
+ textAlign: "center",
135
+ textBaseline: "middle"
97
136
  },
98
137
  padding: [ 2, 2, 4, 4 ],
99
138
  panel: {
@@ -109,7 +148,7 @@ export const DEFAULT_MARK_AREA_THEME = {
109
148
  }
110
149
  };
111
150
 
112
- export const DEFAULT_MARK_AREA_TEXT_STYLE_MAP = {
151
+ export const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP = {
113
152
  left: {
114
153
  textAlign: "right",
115
154
  textBaseline: "middle"