@visactor/vrender-components 0.18.10-alpha.1 → 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.
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/label/arc.d.ts +2 -2
- package/cjs/label/base.d.ts +2 -2
- package/cjs/marker/base-line.d.ts +2 -2
- package/cjs/marker/base-line.js +4 -18
- package/cjs/marker/base-line.js.map +1 -1
- package/cjs/marker/cartesian/area.d.ts +6 -1
- package/cjs/marker/cartesian/area.js +9 -10
- package/cjs/marker/cartesian/area.js.map +1 -1
- package/cjs/marker/cartesian/line.d.ts +14 -1
- package/cjs/marker/cartesian/line.js +98 -2
- package/cjs/marker/cartesian/line.js.map +1 -1
- package/cjs/marker/config.d.ts +52 -9
- package/cjs/marker/config.js +51 -40
- package/cjs/marker/config.js.map +1 -1
- package/cjs/marker/point.d.ts +1 -1
- package/cjs/marker/polar/arc-line.d.ts +13 -2
- package/cjs/marker/polar/arc-line.js +57 -4
- package/cjs/marker/polar/arc-line.js.map +1 -1
- package/cjs/marker/polar/area.d.ts +10 -4
- package/cjs/marker/polar/area.js +39 -33
- package/cjs/marker/polar/area.js.map +1 -1
- package/cjs/marker/type.d.ts +15 -13
- package/cjs/marker/type.js +15 -14
- package/cjs/marker/type.js.map +1 -1
- package/cjs/tag/tag.d.ts +5 -0
- package/cjs/tag/tag.js +11 -2
- package/cjs/tag/tag.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/label/arc.d.ts +2 -2
- package/es/label/base.d.ts +2 -2
- package/es/marker/base-line.d.ts +2 -2
- package/es/marker/base-line.js +2 -20
- package/es/marker/base-line.js.map +1 -1
- package/es/marker/cartesian/area.d.ts +6 -1
- package/es/marker/cartesian/area.js +10 -11
- package/es/marker/cartesian/area.js.map +1 -1
- package/es/marker/cartesian/line.d.ts +14 -1
- package/es/marker/cartesian/line.js +100 -2
- package/es/marker/cartesian/line.js.map +1 -1
- package/es/marker/config.d.ts +52 -9
- package/es/marker/config.js +51 -40
- package/es/marker/config.js.map +1 -1
- package/es/marker/point.d.ts +1 -1
- package/es/marker/polar/arc-line.d.ts +13 -2
- package/es/marker/polar/arc-line.js +60 -5
- package/es/marker/polar/arc-line.js.map +1 -1
- package/es/marker/polar/area.d.ts +10 -4
- package/es/marker/polar/area.js +44 -38
- package/es/marker/polar/area.js.map +1 -1
- package/es/marker/type.d.ts +15 -13
- package/es/marker/type.js +15 -14
- package/es/marker/type.js.map +1 -1
- package/es/tag/tag.d.ts +5 -0
- package/es/tag/tag.js +11 -2
- package/es/tag/tag.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isValidNumber, merge } from "@visactor/vutils";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { ICartesianMarkLineLabelPosition } from "../type";
|
|
4
4
|
|
|
5
5
|
import { loadCartesianMarkLineComponent } from "../register";
|
|
6
6
|
|
|
@@ -10,6 +10,8 @@ import { Segment } from "../../segment";
|
|
|
10
10
|
|
|
11
11
|
import { DEFAULT_STATES } from "../../constant";
|
|
12
12
|
|
|
13
|
+
import { DEFAULT_CARTESIAN_MARK_LINE_THEME } from "../config";
|
|
14
|
+
|
|
13
15
|
loadCartesianMarkLineComponent();
|
|
14
16
|
|
|
15
17
|
export class CartesianMarkLine extends BaseMarkLine {
|
|
@@ -27,6 +29,102 @@ export class CartesianMarkLine extends BaseMarkLine {
|
|
|
27
29
|
})); else if (!isValidNumber(point.x) || !isValidNumber(point.y)) return void (validFlag = !1);
|
|
28
30
|
})), validFlag;
|
|
29
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
|
+
}
|
|
30
128
|
createSegment() {
|
|
31
129
|
const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment, state: state} = this.attribute;
|
|
32
130
|
return new Segment({
|
|
@@ -57,5 +155,5 @@ export class CartesianMarkLine extends BaseMarkLine {
|
|
|
57
155
|
}
|
|
58
156
|
}
|
|
59
157
|
|
|
60
|
-
CartesianMarkLine.defaultAttributes =
|
|
158
|
+
CartesianMarkLine.defaultAttributes = DEFAULT_CARTESIAN_MARK_LINE_THEME;
|
|
61
159
|
//# sourceMappingURL=line.js.map
|
|
@@ -1 +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 { DEFAULT_COMMON_MARK_LINE_THEME } from '../config';\nimport type { CartesianMarkLineAttrs } 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';\n\nloadCartesianMarkLineComponent();\nexport class CartesianMarkLine extends BaseMarkLine {\n name = 'cartesianMarkLine';\n static defaultAttributes: Partial<CartesianMarkLineAttrs> = DEFAULT_COMMON_MARK_LINE_THEME;\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 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 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
|
+
{"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"]}
|
package/es/marker/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';
|
|
2
|
-
import { ICartesianMarkAreaLabelPosition,
|
|
3
|
-
export declare const
|
|
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_COMMON_MARK_LINE_THEME: {
|
|
|
17
17
|
lineWidth: number;
|
|
18
18
|
};
|
|
19
19
|
label: {
|
|
20
|
-
position:
|
|
20
|
+
position: ICartesianMarkLineLabelPosition;
|
|
21
21
|
refX: number;
|
|
22
22
|
refY: number;
|
|
23
23
|
refAngle: number;
|
|
@@ -28,6 +28,8 @@ export declare const DEFAULT_COMMON_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,10 +45,49 @@ export declare const DEFAULT_COMMON_MARK_LINE_THEME: {
|
|
|
43
45
|
lineDash: number[];
|
|
44
46
|
};
|
|
45
47
|
};
|
|
46
|
-
export declare const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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[];
|
|
50
91
|
};
|
|
51
92
|
};
|
|
52
93
|
export declare const DEFAULT_CARTESIAN_MARK_AREA_THEME: {
|
|
@@ -60,6 +101,8 @@ export declare const DEFAULT_CARTESIAN_MARK_AREA_THEME: {
|
|
|
60
101
|
fontSize: number;
|
|
61
102
|
fontWeight: string;
|
|
62
103
|
fontStyle: string;
|
|
104
|
+
textAlign: string;
|
|
105
|
+
textBaseline: string;
|
|
63
106
|
};
|
|
64
107
|
padding: number[];
|
|
65
108
|
panel: {
|
|
@@ -77,7 +120,7 @@ export declare const DEFAULT_CARTESIAN_MARK_AREA_THEME: {
|
|
|
77
120
|
export declare const DEFAULT_POLAR_MARK_AREA_THEME: {
|
|
78
121
|
interactive: boolean;
|
|
79
122
|
label: {
|
|
80
|
-
position:
|
|
123
|
+
position: IPolarMarkLabelPosition;
|
|
81
124
|
textStyle: {
|
|
82
125
|
fill: string;
|
|
83
126
|
stroke: string;
|
|
@@ -86,7 +129,7 @@ export declare const DEFAULT_POLAR_MARK_AREA_THEME: {
|
|
|
86
129
|
fontWeight: string;
|
|
87
130
|
fontStyle: string;
|
|
88
131
|
textAlign: string;
|
|
89
|
-
|
|
132
|
+
textBaseline: string;
|
|
90
133
|
};
|
|
91
134
|
padding: number[];
|
|
92
135
|
panel: {
|
package/es/marker/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ICartesianMarkAreaLabelPosition,
|
|
1
|
+
import { ICartesianMarkAreaLabelPosition, ICartesianMarkLineLabelPosition, IPolarMarkLabelPosition } from "./type";
|
|
2
2
|
|
|
3
|
-
export const
|
|
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_COMMON_MARK_LINE_THEME = {
|
|
|
17
17
|
lineWidth: 0
|
|
18
18
|
},
|
|
19
19
|
label: {
|
|
20
|
-
position:
|
|
20
|
+
position: ICartesianMarkLineLabelPosition.end,
|
|
21
21
|
refX: 0,
|
|
22
22
|
refY: 0,
|
|
23
23
|
refAngle: 0,
|
|
@@ -27,7 +27,9 @@ export const DEFAULT_COMMON_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,42 +46,49 @@ export const DEFAULT_COMMON_MARK_LINE_THEME = {
|
|
|
44
46
|
}
|
|
45
47
|
};
|
|
46
48
|
|
|
47
|
-
export const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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"
|
|
67
|
-
},
|
|
68
|
-
insideMiddleBottom: {
|
|
69
|
-
textAlign: "center",
|
|
70
|
-
textBaseline: "top"
|
|
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
|
|
71
57
|
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
58
|
+
endSymbol: {
|
|
59
|
+
visible: !0,
|
|
60
|
+
symbolType: "triangle",
|
|
61
|
+
size: 12,
|
|
62
|
+
fill: "rgba(46, 47, 50)",
|
|
63
|
+
lineWidth: 0
|
|
75
64
|
},
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
+
}
|
|
79
87
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
88
|
+
lineStyle: {
|
|
89
|
+
stroke: "#b2bacf",
|
|
90
|
+
lineWidth: 1,
|
|
91
|
+
lineDash: [ 2 ]
|
|
83
92
|
}
|
|
84
93
|
};
|
|
85
94
|
|
|
@@ -93,7 +102,9 @@ export const DEFAULT_CARTESIAN_MARK_AREA_THEME = {
|
|
|
93
102
|
lineWidth: 0,
|
|
94
103
|
fontSize: 10,
|
|
95
104
|
fontWeight: "normal",
|
|
96
|
-
fontStyle: "normal"
|
|
105
|
+
fontStyle: "normal",
|
|
106
|
+
textAlign: "center",
|
|
107
|
+
textBaseline: "middle"
|
|
97
108
|
},
|
|
98
109
|
padding: [ 2, 2, 4, 4 ],
|
|
99
110
|
panel: {
|
|
@@ -112,7 +123,7 @@ export const DEFAULT_CARTESIAN_MARK_AREA_THEME = {
|
|
|
112
123
|
export const DEFAULT_POLAR_MARK_AREA_THEME = {
|
|
113
124
|
interactive: !0,
|
|
114
125
|
label: {
|
|
115
|
-
position:
|
|
126
|
+
position: IPolarMarkLabelPosition.arcOuterMiddle,
|
|
116
127
|
textStyle: {
|
|
117
128
|
fill: "#fff",
|
|
118
129
|
stroke: "#fff",
|
|
@@ -121,7 +132,7 @@ export const DEFAULT_POLAR_MARK_AREA_THEME = {
|
|
|
121
132
|
fontWeight: "normal",
|
|
122
133
|
fontStyle: "normal",
|
|
123
134
|
textAlign: "center",
|
|
124
|
-
|
|
135
|
+
textBaseline: "middle"
|
|
125
136
|
},
|
|
126
137
|
padding: [ 2, 2, 4, 4 ],
|
|
127
138
|
panel: {
|
package/es/marker/config.js.map
CHANGED
|
@@ -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 { ICartesianMarkAreaLabelPosition, ICommonMarkLineLabelPosition, IPolarMarkAreaLabelPosition } from './type';\n\nexport const DEFAULT_COMMON_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: ICommonMarkLineLabelPosition.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_COMMON_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_CARTESIAN_MARK_AREA_THEME = {\n interactive: true,\n label: {\n position: ICartesianMarkAreaLabelPosition.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_POLAR_MARK_AREA_THEME = {\n interactive: true,\n label: {\n position: IPolarMarkAreaLabelPosition.arcInner,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseLine: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n interactive: true,\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10,\n symbolStyle: {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n },\n textStyle: {\n dx: 0,\n dy: 0\n },\n imageStyle: {\n width: 80,\n height: 80\n },\n richTextStyle: {\n width: 100,\n height: 100\n }\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n};\n"]}
|
|
1
|
+
{"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 { ICartesianMarkAreaLabelPosition, ICartesianMarkLineLabelPosition, IPolarMarkLabelPosition } from './type';\n\nexport const DEFAULT_CARTESIAN_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: ICartesianMarkLineLabelPosition.end,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_POLAR_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: IPolarMarkLabelPosition.arcOuterMiddle,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_AREA_THEME = {\n interactive: true,\n label: {\n position: ICartesianMarkAreaLabelPosition.right,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_POLAR_MARK_AREA_THEME = {\n interactive: true,\n label: {\n position: IPolarMarkLabelPosition.arcOuterMiddle,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal',\n textAlign: 'center',\n textBaseline: 'middle'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n interactive: true,\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10,\n symbolStyle: {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n },\n textStyle: {\n dx: 0,\n dy: 0\n },\n imageStyle: {\n width: 80,\n height: 80\n },\n richTextStyle: {\n width: 100,\n height: 100\n }\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n};\n"]}
|
package/es/marker/point.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export declare class MarkPoint extends Marker<MarkPointAttrs> {
|
|
|
72
72
|
protected setItemAttributes(item: ISymbol | Tag | IImage | IRichText, itemContent: IItemContent, itemPosition: Point, itemType: 'symbol' | 'text' | 'image' | 'richText' | 'custom'): void;
|
|
73
73
|
protected getItemDx(item: ISymbol | Tag | IImage | IRichText, position: keyof typeof IMarkPointItemPosition, style?: IImageGraphicAttribute | IRichTextGraphicAttribute): number;
|
|
74
74
|
protected getItemDy(item: ISymbol | Tag | IImage | IRichText, position: keyof typeof IMarkPointItemPosition, style?: IImageGraphicAttribute | IRichTextGraphicAttribute): number;
|
|
75
|
-
protected initItem(itemContent: IItemContent, itemPosition: Point): IGroup | Tag |
|
|
75
|
+
protected initItem(itemContent: IItemContent, itemPosition: Point): IGroup | Tag | IRichText | ISymbol | IImage;
|
|
76
76
|
protected getItemLineAttr(itemLine: IItemLine, position: Point, itemPosition: Point): Point[];
|
|
77
77
|
protected setItemLineAttr(itemLine: IItemLine, position: Point, itemPosition: Point, visible: boolean): void;
|
|
78
78
|
protected getDecorativeLineAttr(itemLine: IItemLine, itemPosition: Point): {
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import { ArcSegment } from '../../segment';
|
|
2
|
-
import type { PolarMarkArcLineAttrs } from '../type';
|
|
3
2
|
import { BaseMarkLine } from '../base-line';
|
|
4
|
-
|
|
3
|
+
import { IPolarMarkLabelPosition } from '../type';
|
|
4
|
+
import type { PolarMarkArcLineAttrs } from '../type';
|
|
5
|
+
import type { ComponentOptions } from '../../interface';
|
|
6
|
+
export declare class PolarMarkArcLine extends BaseMarkLine<IPolarMarkLabelPosition> {
|
|
5
7
|
name: string;
|
|
6
8
|
static defaultAttributes: Partial<PolarMarkArcLineAttrs>;
|
|
7
9
|
protected _line: ArcSegment;
|
|
10
|
+
constructor(attributes: PolarMarkArcLineAttrs, options?: ComponentOptions);
|
|
8
11
|
protected isValidPoints(): boolean;
|
|
12
|
+
protected getPositionByDirection(direction: IPolarMarkLabelPosition): {
|
|
13
|
+
position: {
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
};
|
|
17
|
+
angle: number;
|
|
18
|
+
};
|
|
19
|
+
protected setLabelPos(): void;
|
|
9
20
|
protected createSegment(): ArcSegment;
|
|
10
21
|
protected setLineAttributes(): void;
|
|
11
22
|
}
|
|
@@ -2,23 +2,78 @@ import { merge } from "@visactor/vutils";
|
|
|
2
2
|
|
|
3
3
|
import { ArcSegment } from "../../segment";
|
|
4
4
|
|
|
5
|
-
import { DEFAULT_COMMON_MARK_LINE_THEME } from "../config";
|
|
6
|
-
|
|
7
5
|
import { loadPolarMarkArcLineComponent } from "../register";
|
|
8
6
|
|
|
9
7
|
import { DEFAULT_STATES } from "../../constant";
|
|
10
8
|
|
|
11
9
|
import { BaseMarkLine } from "../base-line";
|
|
12
10
|
|
|
11
|
+
import { IPolarMarkLabelPosition } from "../type";
|
|
12
|
+
|
|
13
|
+
import { DEFAULT_POLAR_MARK_LINE_THEME } from "../config";
|
|
14
|
+
|
|
13
15
|
loadPolarMarkArcLineComponent();
|
|
14
16
|
|
|
15
17
|
export class PolarMarkArcLine extends BaseMarkLine {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(
|
|
18
|
+
constructor(attributes, options) {
|
|
19
|
+
super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, PolarMarkArcLine.defaultAttributes, attributes)),
|
|
20
|
+
this.name = "polarMarkArcLine";
|
|
18
21
|
}
|
|
19
22
|
isValidPoints() {
|
|
20
23
|
return !0;
|
|
21
24
|
}
|
|
25
|
+
getPositionByDirection(direction) {
|
|
26
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
27
|
+
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, label: label} = this.attribute, {refX: refX = 0, refY: refY = 0} = label, 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);
|
|
28
|
+
let angle, orthogonalOffsetDirection;
|
|
29
|
+
switch (direction) {
|
|
30
|
+
case IPolarMarkLabelPosition.center:
|
|
31
|
+
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 0;
|
|
32
|
+
break;
|
|
33
|
+
|
|
34
|
+
case IPolarMarkLabelPosition.arcInnerStart:
|
|
35
|
+
angle = startAngle, orthogonalOffsetDirection = -1;
|
|
36
|
+
break;
|
|
37
|
+
|
|
38
|
+
case IPolarMarkLabelPosition.arcOuterStart:
|
|
39
|
+
angle = startAngle, orthogonalOffsetDirection = 1;
|
|
40
|
+
break;
|
|
41
|
+
|
|
42
|
+
case IPolarMarkLabelPosition.arcInnerEnd:
|
|
43
|
+
angle = endAngle, orthogonalOffsetDirection = -1;
|
|
44
|
+
break;
|
|
45
|
+
|
|
46
|
+
case IPolarMarkLabelPosition.arcOuterEnd:
|
|
47
|
+
angle = endAngle, orthogonalOffsetDirection = 1;
|
|
48
|
+
break;
|
|
49
|
+
|
|
50
|
+
case IPolarMarkLabelPosition.arcInnerMiddle:
|
|
51
|
+
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
|
|
52
|
+
break;
|
|
53
|
+
|
|
54
|
+
case IPolarMarkLabelPosition.arcOuterMiddle:
|
|
55
|
+
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 1;
|
|
56
|
+
break;
|
|
57
|
+
|
|
58
|
+
default:
|
|
59
|
+
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
position: {
|
|
63
|
+
x: center.x + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),
|
|
64
|
+
y: center.y + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)
|
|
65
|
+
},
|
|
66
|
+
angle: angle
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
setLabelPos() {
|
|
70
|
+
var _a;
|
|
71
|
+
super.setLabelPos();
|
|
72
|
+
const {label: label = {}} = this.attribute, {position: position = "arcInnerMiddle", autoRotate: autoRotate = !0} = label, labelAttr = this.getPositionByDirection(position);
|
|
73
|
+
this._label.setAttributes(Object.assign(Object.assign({}, labelAttr.position), {
|
|
74
|
+
angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (null !== (_a = label.refAngle) && void 0 !== _a ? _a : 0) : 0
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
22
77
|
createSegment() {
|
|
23
78
|
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, state: state} = this.attribute;
|
|
24
79
|
return new ArcSegment({
|
|
@@ -50,5 +105,5 @@ export class PolarMarkArcLine extends BaseMarkLine {
|
|
|
50
105
|
}
|
|
51
106
|
}
|
|
52
107
|
|
|
53
|
-
PolarMarkArcLine.defaultAttributes =
|
|
108
|
+
PolarMarkArcLine.defaultAttributes = DEFAULT_POLAR_MARK_LINE_THEME;
|
|
54
109
|
//# sourceMappingURL=arc-line.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/polar/arc-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/marker/polar/arc-line.ts"],"names":[],"mappings":"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","file":"arc-line.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport { ArcSegment } from '../../segment';\nimport { loadPolarMarkArcLineComponent } from '../register';\nimport { DEFAULT_STATES } from '../../constant';\nimport { BaseMarkLine } from '../base-line';\nimport { IPolarMarkLabelPosition } from '../type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { PolarMarkArcLineAttrs } from '../type';\nimport { DEFAULT_POLAR_MARK_LINE_THEME } from '../config';\nimport type { ComponentOptions } from '../../interface';\n\nloadPolarMarkArcLineComponent();\nexport class PolarMarkArcLine extends BaseMarkLine<IPolarMarkLabelPosition> {\n name = 'polarMarkArcLine';\n // eslint-disable-next-line max-len\n static defaultAttributes: Partial<PolarMarkArcLineAttrs> =\n DEFAULT_POLAR_MARK_LINE_THEME as unknown as PolarMarkArcLineAttrs;\n protected _line!: ArcSegment;\n\n constructor(attributes: PolarMarkArcLineAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, PolarMarkArcLine.defaultAttributes, attributes));\n }\n\n protected isValidPoints() {\n return true;\n }\n\n protected getPositionByDirection(direction: IPolarMarkLabelPosition) {\n const { center, radius, startAngle, endAngle, label } = this.attribute as PolarMarkArcLineAttrs;\n const { refX = 0, refY = 0 } = label;\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 let angle;\n // tag在正交方向是向内偏移,还是向外偏移\n // 不偏移: 0, 内: -1, 外: 1\n let orthogonalOffsetDirection;\n\n switch (direction) {\n case IPolarMarkLabelPosition.center:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 0;\n break;\n case IPolarMarkLabelPosition.arcInnerStart:\n angle = startAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IPolarMarkLabelPosition.arcOuterStart:\n angle = startAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IPolarMarkLabelPosition.arcInnerEnd:\n angle = endAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IPolarMarkLabelPosition.arcOuterEnd:\n angle = endAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IPolarMarkLabelPosition.arcInnerMiddle:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n break;\n case IPolarMarkLabelPosition.arcOuterMiddle:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 1;\n break;\n default: // default arcInnerMiddle\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n }\n\n return {\n position: {\n x:\n center.x +\n (radius + (orthogonalOffsetDirection * labelHeight) / 2 + refY) * Math.cos(angle) +\n refX * Math.cos(angle - Math.PI / 2),\n y:\n center.y +\n (radius + (orthogonalOffsetDirection * labelHeight) / 2 + refY) * Math.sin(angle) +\n refX * Math.sin(angle - Math.PI / 2)\n },\n angle\n };\n }\n\n protected setLabelPos(): void {\n super.setLabelPos();\n const { label = {} } = this.attribute as PolarMarkArcLineAttrs;\n const { position = 'arcInnerMiddle', autoRotate = true } = label;\n const labelAttr = this.getPositionByDirection(position as any);\n this._label.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (label.refAngle ?? 0) : 0\n });\n }\n\n protected createSegment() {\n const { center, radius, startAngle, endAngle, startSymbol, endSymbol, lineStyle, state } = this\n .attribute as PolarMarkArcLineAttrs;\n return new ArcSegment({\n center,\n radius,\n startAngle,\n endAngle,\n startSymbol,\n endSymbol,\n lineStyle,\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 { center, radius, startAngle, endAngle, startSymbol, endSymbol, lineStyle } = this\n .attribute as PolarMarkArcLineAttrs;\n if (this._line) {\n (this._line as any).setAttributes({\n center,\n radius,\n startAngle,\n endAngle,\n startSymbol,\n endSymbol,\n lineStyle\n });\n }\n }\n}\n"]}
|