@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.
- 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 +17 -0
- package/cjs/marker/base-line.js +53 -0
- package/cjs/marker/base-line.js.map +1 -0
- package/cjs/marker/{area.d.ts → cartesian/area.d.ts} +13 -8
- package/cjs/marker/{area.js → cartesian/area.js} +18 -19
- package/cjs/marker/cartesian/area.js.map +1 -0
- package/cjs/marker/cartesian/line.d.ts +27 -0
- package/cjs/marker/cartesian/line.js +153 -0
- package/cjs/marker/cartesian/line.js.map +1 -0
- package/cjs/marker/config.d.ts +80 -10
- package/cjs/marker/config.js +77 -40
- package/cjs/marker/config.js.map +1 -1
- package/cjs/marker/index.d.ts +4 -2
- package/cjs/marker/index.js +3 -2
- package/cjs/marker/index.js.map +1 -1
- package/cjs/marker/point.d.ts +1 -1
- package/cjs/marker/polar/arc-line.d.ts +22 -0
- package/cjs/marker/polar/arc-line.js +103 -0
- package/cjs/marker/polar/arc-line.js.map +1 -0
- package/cjs/marker/polar/area.d.ts +50 -0
- package/cjs/marker/polar/area.js +123 -0
- package/cjs/marker/polar/area.js.map +1 -0
- package/cjs/marker/polar/line.d.ts +1 -0
- package/cjs/marker/polar/line.js +3 -0
- package/cjs/marker/polar/line.js.map +1 -0
- package/cjs/marker/register.d.ts +5 -2
- package/cjs/marker/register.js +18 -5
- package/cjs/marker/register.js.map +1 -1
- package/cjs/marker/type.d.ts +73 -21
- package/cjs/marker/type.js +22 -15
- package/cjs/marker/type.js.map +1 -1
- package/cjs/segment/arc-segment.d.ts +13 -0
- package/cjs/segment/arc-segment.js +51 -0
- package/cjs/segment/arc-segment.js.map +1 -0
- package/cjs/segment/index.d.ts +1 -0
- package/cjs/segment/index.js +2 -1
- package/cjs/segment/index.js.map +1 -1
- package/cjs/segment/register.d.ts +1 -0
- package/cjs/segment/register.js +7 -2
- package/cjs/segment/register.js.map +1 -1
- package/cjs/segment/segment.d.ts +7 -6
- package/cjs/segment/segment.js +7 -5
- package/cjs/segment/segment.js.map +1 -1
- package/cjs/segment/type.d.ts +22 -4
- package/cjs/segment/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 +17 -0
- package/es/marker/base-line.js +53 -0
- package/es/marker/base-line.js.map +1 -0
- package/es/marker/{area.d.ts → cartesian/area.d.ts} +13 -8
- package/es/marker/{area.js → cartesian/area.js} +22 -23
- package/es/marker/cartesian/area.js.map +1 -0
- package/es/marker/cartesian/line.d.ts +27 -0
- package/es/marker/cartesian/line.js +159 -0
- package/es/marker/cartesian/line.js.map +1 -0
- package/es/marker/config.d.ts +80 -10
- package/es/marker/config.js +79 -40
- package/es/marker/config.js.map +1 -1
- package/es/marker/index.d.ts +4 -2
- package/es/marker/index.js +6 -2
- package/es/marker/index.js.map +1 -1
- package/es/marker/point.d.ts +1 -1
- package/es/marker/polar/arc-line.d.ts +22 -0
- package/es/marker/polar/arc-line.js +109 -0
- package/es/marker/polar/arc-line.js.map +1 -0
- package/es/marker/polar/area.d.ts +50 -0
- package/es/marker/polar/area.js +133 -0
- package/es/marker/polar/area.js.map +1 -0
- package/es/marker/polar/line.d.ts +1 -0
- package/es/marker/polar/line.js +3 -0
- package/es/marker/polar/line.js.map +1 -0
- package/es/marker/register.d.ts +5 -2
- package/es/marker/register.js +16 -4
- package/es/marker/register.js.map +1 -1
- package/es/marker/type.d.ts +73 -21
- package/es/marker/type.js +25 -15
- package/es/marker/type.js.map +1 -1
- package/es/segment/arc-segment.d.ts +13 -0
- package/es/segment/arc-segment.js +49 -0
- package/es/segment/arc-segment.js.map +1 -0
- package/es/segment/index.d.ts +1 -0
- package/es/segment/index.js +2 -0
- package/es/segment/index.js.map +1 -1
- package/es/segment/register.d.ts +1 -0
- package/es/segment/register.js +5 -1
- package/es/segment/register.js.map +1 -1
- package/es/segment/segment.d.ts +7 -6
- package/es/segment/segment.js +7 -5
- package/es/segment/segment.js.map +1 -1
- package/es/segment/type.d.ts +22 -4
- package/es/segment/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
- package/cjs/marker/area.js.map +0 -1
- package/cjs/marker/line.d.ts +0 -18
- package/cjs/marker/line.js +0 -100
- package/cjs/marker/line.js.map +0 -1
- package/es/marker/area.js.map +0 -1
- package/es/marker/line.d.ts +0 -18
- package/es/marker/line.js +0 -108
- 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 "
|
|
5
|
+
import { Tag } from "../../tag";
|
|
6
6
|
|
|
7
|
-
import { Marker } from "
|
|
7
|
+
import { Marker } from "../base";
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { DEFAULT_CARTESIAN_MARK_AREA_THEME } from "../config";
|
|
10
10
|
|
|
11
|
-
import { limitShapeInBounds } from "
|
|
11
|
+
import { limitShapeInBounds } from "../../util/limit-shape";
|
|
12
12
|
|
|
13
|
-
import {
|
|
13
|
+
import { loadCartesianMarkAreaComponent } from "../register";
|
|
14
14
|
|
|
15
|
-
import { DEFAULT_STATES } from "
|
|
15
|
+
import { DEFAULT_STATES } from "../../constant";
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
loadCartesianMarkAreaComponent();
|
|
18
18
|
|
|
19
|
-
export class
|
|
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({},
|
|
28
|
-
this.name = "
|
|
27
|
+
super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, CartesianMarkArea.defaultAttributes, attributes)),
|
|
28
|
+
this.name = "cartesianMarkArea";
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
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.
|
|
53
|
-
if (this._label.setAttributes(Object.assign(
|
|
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-
|
|
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-
|
|
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
|
-
|
|
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"]}
|
package/es/marker/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TextAlignType, TextBaselineType } from '@visactor/vrender-core';
|
|
2
|
-
import {
|
|
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_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_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
|
|
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[];
|
|
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
|
|
120
|
+
export declare const DEFAULT_POLAR_MARK_AREA_THEME: {
|
|
53
121
|
interactive: boolean;
|
|
54
122
|
label: {
|
|
55
|
-
position:
|
|
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
|
|
147
|
+
export declare const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP: {
|
|
78
148
|
[K: string]: {
|
|
79
149
|
textAlign: TextAlignType;
|
|
80
150
|
textBaseline: TextBaselineType;
|
package/es/marker/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
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_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_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
|
|
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"
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
endSymbol: {
|
|
59
|
+
visible: !0,
|
|
60
|
+
symbolType: "triangle",
|
|
61
|
+
size: 12,
|
|
62
|
+
fill: "rgba(46, 47, 50)",
|
|
63
|
+
lineWidth: 0
|
|
71
64
|
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
117
|
+
areaStyle: {
|
|
118
|
+
fill: "#b2bacf",
|
|
119
|
+
visible: !0
|
|
83
120
|
}
|
|
84
121
|
};
|
|
85
122
|
|
|
86
|
-
export const
|
|
123
|
+
export const DEFAULT_POLAR_MARK_AREA_THEME = {
|
|
87
124
|
interactive: !0,
|
|
88
125
|
label: {
|
|
89
|
-
position:
|
|
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
|
|
151
|
+
export const DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP = {
|
|
113
152
|
left: {
|
|
114
153
|
textAlign: "right",
|
|
115
154
|
textBaseline: "middle"
|