@visactor/vrender-components 0.22.7-alpha.7 → 0.22.7
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/axis/util.js +7 -6
- package/cjs/axis/util.js.map +1 -1
- package/cjs/brush/type.js +1 -2
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/marker/animate/animate.d.ts +3 -3
- package/cjs/marker/animate/animate.js.map +1 -1
- package/cjs/marker/animate/clip-in.d.ts +1 -1
- package/cjs/marker/animate/clip-in.js +6 -3
- package/cjs/marker/animate/clip-in.js.map +1 -1
- package/cjs/marker/animate/fade-in.d.ts +3 -3
- package/cjs/marker/animate/fade-in.js +10 -4
- package/cjs/marker/animate/fade-in.js.map +1 -1
- package/cjs/marker/animate/fade-out.d.ts +3 -3
- package/cjs/marker/animate/fade-out.js +10 -4
- package/cjs/marker/animate/fade-out.js.map +1 -1
- package/cjs/marker/arc-area.d.ts +8 -5
- package/cjs/marker/arc-area.js +18 -39
- package/cjs/marker/arc-area.js.map +1 -1
- package/cjs/marker/arc-line.d.ts +6 -4
- package/cjs/marker/arc-line.js +12 -9
- package/cjs/marker/arc-line.js.map +1 -1
- package/cjs/marker/area.d.ts +6 -4
- package/cjs/marker/area.js +14 -32
- package/cjs/marker/area.js.map +1 -1
- package/cjs/marker/base.d.ts +2 -3
- package/cjs/marker/base.js.map +1 -1
- package/cjs/marker/common-line.d.ts +11 -7
- package/cjs/marker/common-line.js +11 -31
- package/cjs/marker/common-line.js.map +1 -1
- package/cjs/marker/config.d.ts +2 -0
- package/cjs/marker/config.js +2 -0
- package/cjs/marker/config.js.map +1 -1
- package/cjs/marker/line.d.ts +6 -4
- package/cjs/marker/line.js +10 -4
- package/cjs/marker/line.js.map +1 -1
- package/cjs/marker/mixin/label.d.ts +16 -0
- package/cjs/marker/mixin/label.js +57 -0
- package/cjs/marker/mixin/label.js.map +1 -0
- package/cjs/marker/type.d.ts +19 -16
- package/cjs/marker/type.js.map +1 -1
- package/cjs/poptip/contribution.js +4 -2
- package/cjs/poptip/contribution.js.map +1 -1
- package/cjs/poptip/poptip.d.ts +5 -0
- package/cjs/poptip/poptip.js +87 -18
- package/cjs/poptip/poptip.js.map +1 -1
- package/cjs/poptip/type.d.ts +4 -1
- package/cjs/poptip/type.js.map +1 -1
- package/cjs/switch/switch.js +2 -2
- package/cjs/switch/switch.js.map +1 -1
- package/dist/index.es.js +287 -173
- package/es/axis/util.js +7 -7
- package/es/axis/util.js.map +1 -1
- package/es/brush/type.js +1 -2
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/marker/animate/animate.d.ts +3 -3
- package/es/marker/animate/animate.js.map +1 -1
- package/es/marker/animate/clip-in.d.ts +1 -1
- package/es/marker/animate/clip-in.js +6 -2
- package/es/marker/animate/clip-in.js.map +1 -1
- package/es/marker/animate/fade-in.d.ts +3 -3
- package/es/marker/animate/fade-in.js +11 -3
- package/es/marker/animate/fade-in.js.map +1 -1
- package/es/marker/animate/fade-out.d.ts +3 -3
- package/es/marker/animate/fade-out.js +11 -3
- package/es/marker/animate/fade-out.js.map +1 -1
- package/es/marker/arc-area.d.ts +8 -5
- package/es/marker/arc-area.js +19 -41
- package/es/marker/arc-area.js.map +1 -1
- package/es/marker/arc-line.d.ts +6 -4
- package/es/marker/arc-line.js +12 -9
- package/es/marker/arc-line.js.map +1 -1
- package/es/marker/area.d.ts +6 -4
- package/es/marker/area.js +15 -34
- package/es/marker/area.js.map +1 -1
- package/es/marker/base.d.ts +2 -3
- package/es/marker/base.js.map +1 -1
- package/es/marker/common-line.d.ts +11 -7
- package/es/marker/common-line.js +14 -34
- package/es/marker/common-line.js.map +1 -1
- package/es/marker/config.d.ts +2 -0
- package/es/marker/config.js +2 -0
- package/es/marker/config.js.map +1 -1
- package/es/marker/line.d.ts +6 -4
- package/es/marker/line.js +10 -4
- package/es/marker/line.js.map +1 -1
- package/es/marker/mixin/label.d.ts +16 -0
- package/es/marker/mixin/label.js +45 -0
- package/es/marker/mixin/label.js.map +1 -0
- package/es/marker/type.d.ts +19 -16
- package/es/marker/type.js.map +1 -1
- package/es/poptip/contribution.js +4 -2
- package/es/poptip/contribution.js.map +1 -1
- package/es/poptip/poptip.d.ts +5 -0
- package/es/poptip/poptip.js +85 -19
- package/es/poptip/poptip.js.map +1 -1
- package/es/poptip/type.d.ts +4 -1
- package/es/poptip/type.js.map +1 -1
- package/es/switch/switch.js +2 -2
- package/es/switch/switch.js.map +1 -1
- package/package.json +6 -6
package/es/marker/arc-line.js
CHANGED
|
@@ -25,14 +25,11 @@ export class MarkArcLine extends MarkCommonLine {
|
|
|
25
25
|
MarkArcLine._animate && this._animationConfig && MarkArcLine._animate(this._line, this._label, this._animationConfig, state);
|
|
26
26
|
}
|
|
27
27
|
constructor(attributes, options) {
|
|
28
|
-
super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes,
|
|
29
|
-
|
|
30
|
-
autoRotate: !0
|
|
31
|
-
}
|
|
32
|
-
})), this.name = "markArcLine";
|
|
28
|
+
super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes)),
|
|
29
|
+
this.name = "markArcLine";
|
|
33
30
|
}
|
|
34
|
-
getPointAttrByPosition(direction) {
|
|
35
|
-
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle
|
|
31
|
+
getPointAttrByPosition(direction, labelAttrs) {
|
|
32
|
+
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle} = this.attribute, {refX: refX = 0, refY: refY = 0} = labelAttrs;
|
|
36
33
|
let angle;
|
|
37
34
|
switch (direction) {
|
|
38
35
|
case IMarkCommonArcLabelPosition.arcInnerStart:
|
|
@@ -66,9 +63,9 @@ export class MarkArcLine extends MarkCommonLine {
|
|
|
66
63
|
getTextStyle(position) {
|
|
67
64
|
return DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[position];
|
|
68
65
|
}
|
|
69
|
-
getRotateByAngle(angle) {
|
|
66
|
+
getRotateByAngle(angle, labelAttrs) {
|
|
70
67
|
var _a;
|
|
71
|
-
return angle - Math.PI / 2 + (null !== (_a =
|
|
68
|
+
return angle - Math.PI / 2 + (null !== (_a = labelAttrs.refAngle) && void 0 !== _a ? _a : 0);
|
|
72
69
|
}
|
|
73
70
|
createSegment() {
|
|
74
71
|
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, state: state} = this.attribute;
|
|
@@ -107,6 +104,12 @@ export class MarkArcLine extends MarkCommonLine {
|
|
|
107
104
|
isValidPoints() {
|
|
108
105
|
return !0;
|
|
109
106
|
}
|
|
107
|
+
addMarkLineLabels(container) {
|
|
108
|
+
this._addMarkLabels(container, "mark-common-line-label", MarkArcLine.defaultAttributes.label);
|
|
109
|
+
}
|
|
110
|
+
updateMarkLineLabels() {
|
|
111
|
+
this._updateMarkLabels(MarkArcLine.defaultAttributes.label);
|
|
112
|
+
}
|
|
110
113
|
}
|
|
111
114
|
|
|
112
115
|
MarkArcLine.defaultAttributes = DEFAULT_MARK_ARC_LINE_THEME;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/arc-line.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"sources":["../src/marker/arc-line.ts"],"names":[],"mappings":"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","file":"arc-line.js","sourcesContent":["import { array, merge } from '@visactor/vutils';\nimport { ArcSegment } from '../segment';\nimport { loadMarkArcLineComponent } from './register';\nimport { DEFAULT_STATES } from '../constant';\nimport { MarkCommonLine } from './common-line';\nimport type { ComponentOptions } from '../interface';\nimport type { IArcGraphicAttribute, IGroup } from '@visactor/vrender-core';\nimport { IMarkCommonArcLabelPosition } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { MarkArcLineAttrs, MarkerAnimationState, MarkerLineLabelAttrs } from './type';\nimport { DEFAULT_MARK_ARC_LINE_THEME, DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP } from './config';\nimport { markCommonLineAnimate } from './animate/animate';\nimport type { TagAttributes } from '../tag';\n\nloadMarkArcLineComponent();\n\nexport function registerMarkArcLineAnimate() {\n MarkArcLine._animate = markCommonLineAnimate;\n}\nexport class MarkArcLine extends MarkCommonLine<IArcGraphicAttribute, IMarkCommonArcLabelPosition> {\n name = 'markArcLine';\n // eslint-disable-next-line max-len\n static defaultAttributes: Partial<MarkArcLineAttrs> = DEFAULT_MARK_ARC_LINE_THEME as unknown as MarkArcLineAttrs;\n protected _line!: ArcSegment;\n\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArcLine._animate && this._animationConfig) {\n MarkArcLine._animate(this._line, this._label, this._animationConfig, state);\n }\n }\n\n constructor(attributes: MarkArcLineAttrs, options?: ComponentOptions) {\n // eslint-disable-next-line max-len\n super(options?.skipDefault ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(\n direction: IMarkCommonArcLabelPosition,\n labelAttrs: MarkerLineLabelAttrs<IMarkCommonArcLabelPosition>\n ) {\n const { center, radius, startAngle, endAngle } = this.attribute as MarkArcLineAttrs;\n const { refX = 0, refY = 0 } = labelAttrs;\n let angle;\n\n switch (direction) {\n case IMarkCommonArcLabelPosition.arcInnerStart:\n angle = startAngle;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n angle = startAngle;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n angle = endAngle;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n angle = endAngle;\n break;\n case IMarkCommonArcLabelPosition.center:\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n angle = (startAngle + endAngle) / 2;\n break;\n default: // default arcInnerMiddle\n angle = (startAngle + endAngle) / 2;\n }\n\n return {\n position: {\n x: center.x + (radius + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),\n y: center.y + (radius + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)\n },\n angle\n };\n }\n\n protected getTextStyle(position: IMarkCommonArcLabelPosition) {\n return DEFAULT_POLAR_MARKER_TEXT_STYLE_MAP[position];\n }\n\n protected getRotateByAngle(angle: number, labelAttrs: MarkerLineLabelAttrs<IMarkCommonArcLabelPosition>): number {\n return angle - Math.PI / 2 + (labelAttrs.refAngle ?? 0);\n }\n\n protected createSegment() {\n const { center, radius, startAngle, endAngle, startSymbol, endSymbol, lineStyle, state } = this\n .attribute as MarkArcLineAttrs;\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, state } = this\n .attribute as MarkArcLineAttrs;\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 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\n protected isValidPoints() {\n return true;\n }\n\n protected addMarkLineLabels(container: IGroup) {\n this._addMarkLabels(container, 'mark-common-line-label', MarkArcLine.defaultAttributes.label as TagAttributes);\n }\n\n protected updateMarkLineLabels() {\n this._updateMarkLabels(MarkArcLine.defaultAttributes.label as TagAttributes);\n }\n}\n"]}
|
package/es/marker/area.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { IGroup, IPolygon } from '@visactor/vrender-core';
|
|
2
|
-
import { Tag } from '../tag';
|
|
2
|
+
import type { Tag } from '../tag';
|
|
3
3
|
import { Marker } from './base';
|
|
4
|
-
import type { CommonMarkAreaAnimationType, IMarkAreaLabelPosition, MarkAreaAttrs, MarkerAnimationState } from './type';
|
|
4
|
+
import type { CommonMarkAreaAnimationType, IMarkAreaLabelPosition, MarkAreaAttrs, MarkerAnimationState, MarkerAreaLabelAttrs } from './type';
|
|
5
5
|
import type { ComponentOptions } from '../interface';
|
|
6
|
+
import { MarkLabelMixin } from './mixin/label';
|
|
6
7
|
export declare function registerMarkAreaAnimate(): void;
|
|
8
|
+
export interface MarkArea extends Pick<MarkLabelMixin<MarkAreaAttrs>, '_addMarkLabels' | '_updateMarkLabels' | 'getLabel' | '_label'>, Marker<MarkAreaAttrs, CommonMarkAreaAnimationType> {
|
|
9
|
+
}
|
|
7
10
|
export declare class MarkArea extends Marker<MarkAreaAttrs, CommonMarkAreaAnimationType> {
|
|
8
11
|
name: string;
|
|
9
12
|
static defaultAttributes: {
|
|
@@ -36,13 +39,12 @@ export declare class MarkArea extends Marker<MarkAreaAttrs, CommonMarkAreaAnimat
|
|
|
36
39
|
protected markerAnimate(state: MarkerAnimationState): void;
|
|
37
40
|
private _area;
|
|
38
41
|
getArea(): IPolygon;
|
|
39
|
-
getLabel(): Tag;
|
|
40
42
|
constructor(attributes: MarkAreaAttrs, options?: ComponentOptions);
|
|
41
43
|
protected getPointAttrByPosition(position: IMarkAreaLabelPosition): {
|
|
42
44
|
x: number;
|
|
43
45
|
y: number;
|
|
44
46
|
};
|
|
45
|
-
protected setLabelPos(): void;
|
|
47
|
+
protected setLabelPos(labelNode: Tag, labelAttrs: MarkerAreaLabelAttrs): void;
|
|
46
48
|
protected initMarker(container: IGroup): void;
|
|
47
49
|
protected updateMarker(): void;
|
|
48
50
|
protected isValidPoints(): boolean;
|
package/es/marker/area.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { graphicCreator } from "@visactor/vrender-core";
|
|
2
2
|
|
|
3
|
-
import { isValidNumber, merge } from "@visactor/vutils";
|
|
4
|
-
|
|
5
|
-
import { Tag } from "../tag";
|
|
3
|
+
import { isValidNumber, merge, mixin } from "@visactor/vutils";
|
|
6
4
|
|
|
7
5
|
import { Marker } from "./base";
|
|
8
6
|
|
|
@@ -16,6 +14,8 @@ import { DEFAULT_STATES } from "../constant";
|
|
|
16
14
|
|
|
17
15
|
import { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markAreaAnimate } from "./animate/animate";
|
|
18
16
|
|
|
17
|
+
import { MarkLabelMixin } from "./mixin/label";
|
|
18
|
+
|
|
19
19
|
loadMarkAreaComponent();
|
|
20
20
|
|
|
21
21
|
export function registerMarkAreaAnimate() {
|
|
@@ -29,9 +29,6 @@ export class MarkArea extends Marker {
|
|
|
29
29
|
getArea() {
|
|
30
30
|
return this._area;
|
|
31
31
|
}
|
|
32
|
-
getLabel() {
|
|
33
|
-
return this._label;
|
|
34
|
-
}
|
|
35
32
|
constructor(attributes, options) {
|
|
36
33
|
super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, MarkArea.defaultAttributes, attributes)),
|
|
37
34
|
this.name = "markArea", this.defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation,
|
|
@@ -47,15 +44,15 @@ export class MarkArea extends Marker {
|
|
|
47
44
|
(position.includes("bottom") || position.includes("Bottom")) && (result.y = y2),
|
|
48
45
|
result;
|
|
49
46
|
}
|
|
50
|
-
setLabelPos() {
|
|
47
|
+
setLabelPos(labelNode, labelAttrs) {
|
|
51
48
|
var _a;
|
|
52
|
-
if (this.
|
|
53
|
-
const
|
|
54
|
-
if (
|
|
55
|
-
textStyle: Object.assign(Object.assign({}, DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP[labelPosition]),
|
|
56
|
-
})), this.attribute.limitRect &&
|
|
49
|
+
if (this._area) {
|
|
50
|
+
const labelPosition = null !== (_a = labelAttrs.position) && void 0 !== _a ? _a : "middle", labelPoint = this.getPointAttrByPosition(labelPosition);
|
|
51
|
+
if (labelNode.setAttributes(Object.assign(Object.assign({}, labelPoint), {
|
|
52
|
+
textStyle: Object.assign(Object.assign({}, DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP[labelPosition]), labelAttrs.textStyle)
|
|
53
|
+
})), this.attribute.limitRect && labelAttrs.confine) {
|
|
57
54
|
const {x: x, y: y, width: width, height: height} = this.attribute.limitRect;
|
|
58
|
-
limitShapeInBounds(
|
|
55
|
+
limitShapeInBounds(labelNode, {
|
|
59
56
|
x1: x,
|
|
60
57
|
y1: y,
|
|
61
58
|
x2: x + width,
|
|
@@ -65,34 +62,18 @@ export class MarkArea extends Marker {
|
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
64
|
initMarker(container) {
|
|
68
|
-
const {points: points,
|
|
65
|
+
const {points: points, areaStyle: areaStyle, state: state} = this.attribute, area = graphicCreator.polygon(Object.assign({
|
|
69
66
|
points: points
|
|
70
67
|
}, areaStyle));
|
|
71
68
|
area.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.area), area.name = "mark-area-polygon",
|
|
72
|
-
this._area = area, container.add(area);
|
|
73
|
-
const markLabel = new Tag(Object.assign(Object.assign({}, label), {
|
|
74
|
-
state: {
|
|
75
|
-
panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
|
|
76
|
-
text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
|
|
77
|
-
}
|
|
78
|
-
}));
|
|
79
|
-
markLabel.name = "mark-area-label", this._label = markLabel, container.add(markLabel),
|
|
80
|
-
this.setLabelPos();
|
|
69
|
+
this._area = area, container.add(area), this._addMarkLabels(container, "mark-area-label", MarkArea.defaultAttributes.label);
|
|
81
70
|
}
|
|
82
71
|
updateMarker() {
|
|
83
|
-
const {points: points,
|
|
72
|
+
const {points: points, areaStyle: areaStyle, state: state} = this.attribute;
|
|
84
73
|
this._area && (this._area.setAttributes(Object.assign({
|
|
85
74
|
points: points
|
|
86
75
|
}, areaStyle)), this._area.states = merge({}, DEFAULT_STATES, null == state ? void 0 : state.area)),
|
|
87
|
-
this.
|
|
88
|
-
dx: 0,
|
|
89
|
-
dy: 0
|
|
90
|
-
}, label), {
|
|
91
|
-
state: {
|
|
92
|
-
panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
|
|
93
|
-
text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
|
|
94
|
-
}
|
|
95
|
-
})), this.setLabelPos();
|
|
76
|
+
this._updateMarkLabels(MarkArea.defaultAttributes.label);
|
|
96
77
|
}
|
|
97
78
|
isValidPoints() {
|
|
98
79
|
const {points: points} = this.attribute;
|
|
@@ -104,5 +85,5 @@ export class MarkArea extends Marker {
|
|
|
104
85
|
}
|
|
105
86
|
}
|
|
106
87
|
|
|
107
|
-
MarkArea.defaultAttributes = DEFAULT_MARK_AREA_THEME;
|
|
88
|
+
MarkArea.defaultAttributes = DEFAULT_MARK_AREA_THEME, mixin(MarkArea, MarkLabelMixin);
|
|
108
89
|
//# sourceMappingURL=area.js.map
|
package/es/marker/area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/area.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/marker/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { IGroup, IPolygon } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { isValidNumber, merge, mixin } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { Tag, TagAttributes } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP, DEFAULT_MARK_AREA_THEME } from './config';\nimport type {\n CommonMarkAreaAnimationType,\n IMarkAreaLabelPosition,\n MarkAreaAttrs,\n MarkerAnimationState,\n MarkerAreaLabelAttrs\n} from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkAreaComponent } from './register';\nimport type { Point } from '../core/type';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markAreaAnimate } from './animate/animate';\nimport { MarkLabelMixin } from './mixin/label';\n\nloadMarkAreaComponent();\n\nexport function registerMarkAreaAnimate() {\n MarkArea._animate = markAreaAnimate;\n}\n\nexport interface MarkArea\n extends Pick<MarkLabelMixin<MarkAreaAttrs>, '_addMarkLabels' | '_updateMarkLabels' | 'getLabel' | '_label'>,\n Marker<MarkAreaAttrs, CommonMarkAreaAnimationType> {}\n\nexport class MarkArea extends Marker<MarkAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArea';\n static defaultAttributes = DEFAULT_MARK_AREA_THEME;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArea._animate && this._animationConfig) {\n MarkArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n private _area!: IPolygon;\n getArea() {\n return this._area;\n }\n\n constructor(attributes: MarkAreaAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkArea.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(position: IMarkAreaLabelPosition) {\n const { x1, x2, y1, y2 } = this._area.AABBBounds;\n const result = {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n };\n\n if (position.includes('left') || position.includes('Left')) {\n result.x = x1;\n }\n if (position.includes('right') || position.includes('Right')) {\n result.x = x2;\n }\n if (position.includes('top') || position.includes('Top')) {\n result.y = y1;\n }\n if (position.includes('bottom') || position.includes('Bottom')) {\n result.y = y2;\n }\n\n return result;\n }\n\n protected setLabelPos(labelNode: Tag, labelAttrs: MarkerAreaLabelAttrs) {\n if (this._area) {\n const labelPosition = labelAttrs.position ?? 'middle';\n const labelPoint = this.getPointAttrByPosition(labelPosition as IMarkAreaLabelPosition);\n labelNode.setAttributes({\n ...labelPoint,\n textStyle: {\n ...DEFAULT_CARTESIAN_MARK_AREA_TEXT_STYLE_MAP[labelPosition],\n ...labelAttrs.textStyle\n }\n });\n\n if (this.attribute.limitRect && labelAttrs.confine) {\n const { x, y, width, height } = this.attribute.limitRect;\n limitShapeInBounds(labelNode, {\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, areaStyle, state } = this.attribute as MarkAreaAttrs;\n const area = graphicCreator.polygon({\n points: points,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'mark-area-polygon';\n this._area = area;\n container.add(area);\n\n // add label\n this._addMarkLabels(container, 'mark-area-label', MarkArea.defaultAttributes.label as TagAttributes);\n }\n\n protected updateMarker() {\n const { points, areaStyle, state } = this.attribute as MarkAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n points: points,\n ...areaStyle\n });\n this._area.states = merge({}, DEFAULT_STATES, state?.area);\n }\n\n // update label\n this._updateMarkLabels(MarkArea.defaultAttributes.label as TagAttributes);\n }\n\n protected isValidPoints() {\n const { points } = this.attribute as MarkAreaAttrs;\n if (!points || points.length < 3) {\n return false;\n }\n let validFlag = true;\n points.forEach((point: Point) => {\n if (!isValidNumber((point as Point).x) || !isValidNumber((point as Point).y)) {\n validFlag = false;\n return;\n }\n });\n return validFlag;\n }\n}\n\nmixin(MarkArea, MarkLabelMixin);\n"]}
|
package/es/marker/base.d.ts
CHANGED
|
@@ -6,8 +6,7 @@ export declare abstract class Marker<T extends MarkerAttrs<AnimationAttr>, Anima
|
|
|
6
6
|
name: string;
|
|
7
7
|
private _containerClip;
|
|
8
8
|
protected _container: IGroup;
|
|
9
|
-
|
|
10
|
-
static _animate?: (marker: any, label: Tag | IRichText | ISymbol | IImage, animationConfig: any, state: MarkerAnimationState) => void;
|
|
9
|
+
static _animate?: (marker: any, label: (Tag | IRichText | ISymbol | IImage) | (Tag | IRichText | ISymbol | IImage)[], animationConfig: any, state: MarkerAnimationState) => void;
|
|
11
10
|
defaultUpdateAnimation: MarkerUpdateAnimation<AnimationAttr>;
|
|
12
11
|
defaultExitAnimation: MarkerExitAnimation;
|
|
13
12
|
protected _animationConfig?: {
|
|
@@ -17,7 +16,7 @@ export declare abstract class Marker<T extends MarkerAttrs<AnimationAttr>, Anima
|
|
|
17
16
|
};
|
|
18
17
|
private _lastHover;
|
|
19
18
|
private _lastSelect;
|
|
20
|
-
protected abstract setLabelPos(): any;
|
|
19
|
+
protected abstract setLabelPos(labelNode: IGroup, labelAttrs: any): any;
|
|
21
20
|
protected abstract initMarker(container: IGroup): any;
|
|
22
21
|
protected abstract updateMarker(): any;
|
|
23
22
|
protected abstract isValidPoints(): any;
|
package/es/marker/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IGroup, IImage, IRichText, ISymbol } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { Tag } from '../tag';\nimport type { MarkerAnimationState, MarkerAttrs, MarkerExitAnimation, MarkerUpdateAnimation } from './type';\nimport { dispatchClickState, dispatchHoverState, dispatchUnHoverState } from '../util/interaction';\nimport { isObject, merge } from '@visactor/vutils';\n\nexport abstract class Marker<T extends MarkerAttrs<AnimationAttr>, AnimationAttr> extends AbstractComponent<\n Required<T>\n> {\n name = 'marker';\n\n private _containerClip!: IGroup;\n protected _container!: IGroup;\n\n protected _label!: Tag;\n\n /** animate */\n static _animate?: (\n marker: any,\n label: Tag | IRichText | ISymbol | IImage,\n animationConfig: any,\n state: MarkerAnimationState\n ) => void;\n\n defaultUpdateAnimation!: MarkerUpdateAnimation<AnimationAttr>;\n defaultExitAnimation!: MarkerExitAnimation;\n\n protected _animationConfig?: {\n enter: MarkerUpdateAnimation<AnimationAttr>;\n exit: MarkerExitAnimation;\n update: MarkerUpdateAnimation<AnimationAttr>;\n };\n\n private _lastHover: IGraphic;\n private _lastSelect: IGraphic;\n\n protected abstract setLabelPos(): any;\n protected abstract initMarker(container: IGroup): any;\n protected abstract updateMarker(): any;\n protected abstract isValidPoints(): any;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n\n private transAnimationConfig(): void {\n if (this.attribute.animation !== false) {\n const animation = isObject(this.attribute.animation) ? this.attribute.animation : {};\n this._animationConfig = {\n enter: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationEnter ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>,\n exit: merge({}, this.defaultExitAnimation, animation, this.attribute.animationExit ?? {}),\n update: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationUpdate ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>\n };\n }\n }\n setAttribute(key: string, value: any, forceUpdateTag?: boolean | undefined): void {\n super.setAttribute(key, value, forceUpdateTag);\n if (key === 'visible') {\n this.render();\n }\n }\n\n private _bindEvent() {\n if (!this.attribute.interactive) {\n return;\n }\n const { hover, select } = this.attribute;\n\n if (hover) {\n this._container?.addEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.addEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n }\n\n if (select) {\n this._container?.addEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n }\n\n private _releaseEvent() {\n this._container?.removeEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n\n private _onHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchHoverState(e, this._container, this._lastHover);\n };\n\n private _onUnHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchUnHoverState(e, this._container, this._lastHover);\n };\n\n private _onClick = (e: FederatedPointerEvent) => {\n this._lastSelect = dispatchClickState(e, this._container, this._lastSelect);\n };\n\n private _initContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n let group;\n if (clipInRange) {\n // 如果用户配置了剪切\n const groupClip = graphicCreator.group({\n ...limitRect,\n clip: true,\n pickable: false\n });\n group = graphicCreator.group({\n x: -(limitRect.x ?? 0),\n y: -(limitRect.y ?? 0),\n pickable: false\n });\n groupClip.add(group);\n this._containerClip = groupClip;\n this.add(groupClip);\n } else {\n group = graphicCreator.group({\n x: 0,\n y: 0,\n pickable: false\n });\n this.add(group);\n }\n group.name = 'marker-container';\n this._container = group;\n }\n\n private _updateContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n if (this._containerClip) {\n this._containerClip.setAttributes({\n ...limitRect\n });\n }\n\n this._container.setAttributes({\n x: clipInRange ? -(limitRect.x ?? 0) : 0,\n y: clipInRange ? -(limitRect.y ?? 0) : 0\n });\n }\n\n protected render() {\n this.transAnimationConfig();\n\n // 因为标注本身不规则,所以默认将组件的 group 设置为不可拾取\n this.setAttribute('pickable', false);\n\n const markerVisible = this.attribute.visible ?? true;\n if (this.attribute.interactive === false) {\n this.setAttribute('childrenPickable', false);\n }\n\n if (markerVisible && this.isValidPoints()) {\n if (!this._container) {\n this._initContainer();\n this.initMarker(this._container);\n this.markerAnimate('enter');\n } else {\n this._updateContainer();\n this.updateMarker();\n this.markerAnimate('update');\n }\n } else {\n this.markerAnimate('exit');\n this._container = null;\n this.removeAllChild(true);\n }\n\n // 先把之前的event都release掉,否则会重复触发\n this._releaseEvent();\n this._bindEvent();\n }\n\n release(): void {\n this.markerAnimate('exit');\n super.release();\n this._releaseEvent();\n this._container = null;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/marker/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IGroup, IImage, IRichText, ISymbol } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { Tag } from '../tag';\nimport type { MarkerAnimationState, MarkerAttrs, MarkerExitAnimation, MarkerUpdateAnimation } from './type';\nimport { dispatchClickState, dispatchHoverState, dispatchUnHoverState } from '../util/interaction';\nimport { isObject, merge } from '@visactor/vutils';\n\nexport abstract class Marker<T extends MarkerAttrs<AnimationAttr>, AnimationAttr> extends AbstractComponent<\n Required<T>\n> {\n name = 'marker';\n\n private _containerClip!: IGroup;\n protected _container!: IGroup;\n\n /** animate */\n static _animate?: (\n marker: any,\n label: (Tag | IRichText | ISymbol | IImage) | (Tag | IRichText | ISymbol | IImage)[],\n animationConfig: any,\n state: MarkerAnimationState\n ) => void;\n\n defaultUpdateAnimation!: MarkerUpdateAnimation<AnimationAttr>;\n defaultExitAnimation!: MarkerExitAnimation;\n\n protected _animationConfig?: {\n enter: MarkerUpdateAnimation<AnimationAttr>;\n exit: MarkerExitAnimation;\n update: MarkerUpdateAnimation<AnimationAttr>;\n };\n\n private _lastHover: IGraphic;\n private _lastSelect: IGraphic;\n\n protected abstract setLabelPos(labelNode: IGroup, labelAttrs: any): any;\n protected abstract initMarker(container: IGroup): any;\n protected abstract updateMarker(): any;\n protected abstract isValidPoints(): any;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n\n private transAnimationConfig(): void {\n if (this.attribute.animation !== false) {\n const animation = isObject(this.attribute.animation) ? this.attribute.animation : {};\n this._animationConfig = {\n enter: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationEnter ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>,\n exit: merge({}, this.defaultExitAnimation, animation, this.attribute.animationExit ?? {}),\n update: merge(\n {},\n this.defaultUpdateAnimation,\n animation,\n this.attribute.animationUpdate ?? {}\n ) as MarkerUpdateAnimation<AnimationAttr>\n };\n }\n }\n setAttribute(key: string, value: any, forceUpdateTag?: boolean | undefined): void {\n super.setAttribute(key, value, forceUpdateTag);\n if (key === 'visible') {\n this.render();\n }\n }\n\n private _bindEvent() {\n if (!this.attribute.interactive) {\n return;\n }\n const { hover, select } = this.attribute;\n\n if (hover) {\n this._container?.addEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.addEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n }\n\n if (select) {\n this._container?.addEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n }\n\n private _releaseEvent() {\n this._container?.removeEventListener('pointermove', this._onHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerout', this._onUnHover as EventListenerOrEventListenerObject);\n this._container?.removeEventListener('pointerdown', this._onClick as EventListenerOrEventListenerObject);\n }\n\n private _onHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchHoverState(e, this._container, this._lastHover);\n };\n\n private _onUnHover = (e: FederatedPointerEvent) => {\n this._lastHover = dispatchUnHoverState(e, this._container, this._lastHover);\n };\n\n private _onClick = (e: FederatedPointerEvent) => {\n this._lastSelect = dispatchClickState(e, this._container, this._lastSelect);\n };\n\n private _initContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n let group;\n if (clipInRange) {\n // 如果用户配置了剪切\n const groupClip = graphicCreator.group({\n ...limitRect,\n clip: true,\n pickable: false\n });\n group = graphicCreator.group({\n x: -(limitRect.x ?? 0),\n y: -(limitRect.y ?? 0),\n pickable: false\n });\n groupClip.add(group);\n this._containerClip = groupClip;\n this.add(groupClip);\n } else {\n group = graphicCreator.group({\n x: 0,\n y: 0,\n pickable: false\n });\n this.add(group);\n }\n group.name = 'marker-container';\n this._container = group;\n }\n\n private _updateContainer() {\n const { limitRect = {} as T['limitRect'], clipInRange } = this.attribute;\n if (this._containerClip) {\n this._containerClip.setAttributes({\n ...limitRect\n });\n }\n\n this._container.setAttributes({\n x: clipInRange ? -(limitRect.x ?? 0) : 0,\n y: clipInRange ? -(limitRect.y ?? 0) : 0\n });\n }\n\n protected render() {\n this.transAnimationConfig();\n\n // 因为标注本身不规则,所以默认将组件的 group 设置为不可拾取\n this.setAttribute('pickable', false);\n\n const markerVisible = this.attribute.visible ?? true;\n if (this.attribute.interactive === false) {\n this.setAttribute('childrenPickable', false);\n }\n\n if (markerVisible && this.isValidPoints()) {\n if (!this._container) {\n this._initContainer();\n this.initMarker(this._container);\n this.markerAnimate('enter');\n } else {\n this._updateContainer();\n this.updateMarker();\n this.markerAnimate('update');\n }\n } else {\n this.markerAnimate('exit');\n this._container = null;\n this.removeAllChild(true);\n }\n\n // 先把之前的event都release掉,否则会重复触发\n this._releaseEvent();\n this._bindEvent();\n }\n\n release(): void {\n this.markerAnimate('exit');\n super.release();\n this._releaseEvent();\n this._container = null;\n }\n}\n"]}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import type { IGroup } from '@visactor/vrender-core';
|
|
2
2
|
import type { ArcSegment, Segment } from '../segment';
|
|
3
|
-
import { Tag } from '../tag';
|
|
4
|
-
import type { MarkCommonLineAnimationType, MarkCommonLineAttrs, MarkerAnimationState } from './type';
|
|
3
|
+
import type { Tag } from '../tag';
|
|
4
|
+
import type { MarkCommonLineAnimationType, MarkCommonLineAttrs, MarkerAnimationState, MarkerLineLabelAttrs } from './type';
|
|
5
5
|
import { Marker } from './base';
|
|
6
|
+
import { MarkLabelMixin } from './mixin/label';
|
|
7
|
+
export interface MarkCommonLine<LineAttr, LabelPosition> extends Pick<MarkLabelMixin<MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>>, '_addMarkLabels' | '_updateMarkLabels' | 'getLabel' | '_label'>, Marker<MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>, MarkCommonLineAnimationType> {
|
|
8
|
+
}
|
|
6
9
|
export declare abstract class MarkCommonLine<LineAttr, LabelPosition> extends Marker<MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>, MarkCommonLineAnimationType> {
|
|
7
10
|
name: string;
|
|
8
|
-
static _animate?: (line: Segment | ArcSegment, label: Tag, animationConfig: any, state: MarkerAnimationState) => void;
|
|
11
|
+
static _animate?: (line: Segment | ArcSegment, label: Tag | Tag[], animationConfig: any, state: MarkerAnimationState) => void;
|
|
9
12
|
defaultUpdateAnimation: never;
|
|
10
13
|
defaultExitAnimation: import("./type").MarkerExitAnimation;
|
|
11
14
|
protected _line: Segment | ArcSegment;
|
|
12
15
|
protected abstract createSegment(): any;
|
|
13
16
|
protected abstract setLineAttributes(): any;
|
|
14
|
-
protected abstract getPointAttrByPosition(position: any): any;
|
|
15
|
-
protected abstract getRotateByAngle(angle: number): number;
|
|
17
|
+
protected abstract getPointAttrByPosition(position: any, labelAttrs: MarkerLineLabelAttrs<LabelPosition>): any;
|
|
18
|
+
protected abstract getRotateByAngle(angle: number, labelAttrs: MarkerLineLabelAttrs<LabelPosition>): number;
|
|
16
19
|
protected abstract getTextStyle(position: any, labelAngle: number, autoRotate: boolean): any;
|
|
17
20
|
protected abstract markerAnimate(state: MarkerAnimationState): void;
|
|
21
|
+
protected abstract addMarkLineLabels(container: IGroup): any;
|
|
22
|
+
protected abstract updateMarkLineLabels(): any;
|
|
18
23
|
getLine(): Segment | ArcSegment;
|
|
19
|
-
|
|
20
|
-
protected setLabelPos(): void;
|
|
24
|
+
protected setLabelPos(labelNode: IGroup, labelAttrs: MarkerLineLabelAttrs<LabelPosition>): void;
|
|
21
25
|
protected initMarker(container: IGroup): void;
|
|
22
26
|
protected updateMarker(): void;
|
|
23
27
|
}
|
package/es/marker/common-line.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { Tag } from "../tag";
|
|
1
|
+
import { mixin } from "@visactor/vutils";
|
|
4
2
|
|
|
5
3
|
import { limitShapeInBounds } from "../util/limit-shape";
|
|
6
4
|
|
|
7
|
-
import { DEFAULT_STATES } from "../constant";
|
|
8
|
-
|
|
9
5
|
import { Marker } from "./base";
|
|
10
6
|
|
|
11
7
|
import { DefaultExitMarkerAnimation, DefaultUpdateMarkLineAnimation } from "./animate/animate";
|
|
12
8
|
|
|
9
|
+
import { MarkLabelMixin } from "./mixin/label";
|
|
10
|
+
|
|
13
11
|
export class MarkCommonLine extends Marker {
|
|
14
12
|
constructor() {
|
|
15
13
|
super(...arguments), this.name = "markCommonLine", this.defaultUpdateAnimation = DefaultUpdateMarkLineAnimation,
|
|
@@ -18,17 +16,14 @@ export class MarkCommonLine extends Marker {
|
|
|
18
16
|
getLine() {
|
|
19
17
|
return this._line;
|
|
20
18
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (this._label.setAttributes(Object.assign(Object.assign({}, labelPoint.position), {
|
|
27
|
-
angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0,
|
|
28
|
-
textStyle: Object.assign(Object.assign({}, this.getTextStyle(position, labelAngle, autoRotate)), label.textStyle)
|
|
19
|
+
setLabelPos(labelNode, labelAttrs) {
|
|
20
|
+
const {limitRect: limitRect} = this.attribute, {position: position, confine: confine, autoRotate: autoRotate} = labelAttrs, labelPoint = this.getPointAttrByPosition(position, labelAttrs), labelAngle = position.toString().toLocaleLowerCase().includes("start") ? this._line.getStartAngle() || 0 : this._line.getEndAngle() || 0;
|
|
21
|
+
if (labelNode.setAttributes(Object.assign(Object.assign({}, labelPoint.position), {
|
|
22
|
+
angle: autoRotate ? this.getRotateByAngle(labelPoint.angle, labelAttrs) : 0,
|
|
23
|
+
textStyle: Object.assign(Object.assign({}, this.getTextStyle(position, labelAngle, autoRotate)), labelAttrs.textStyle)
|
|
29
24
|
})), limitRect && confine) {
|
|
30
25
|
const {x: x, y: y, width: width, height: height} = limitRect;
|
|
31
|
-
limitShapeInBounds(
|
|
26
|
+
limitShapeInBounds(labelNode, {
|
|
32
27
|
x1: x,
|
|
33
28
|
y1: y,
|
|
34
29
|
x2: x + width,
|
|
@@ -37,28 +32,13 @@ export class MarkCommonLine extends Marker {
|
|
|
37
32
|
}
|
|
38
33
|
}
|
|
39
34
|
initMarker(container) {
|
|
40
|
-
const
|
|
41
|
-
line.name = "mark-common-line-line", this._line = line, container.add(line);
|
|
42
|
-
const markLabel = new Tag(Object.assign(Object.assign({}, label), {
|
|
43
|
-
state: {
|
|
44
|
-
panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
|
|
45
|
-
text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
|
|
46
|
-
}
|
|
47
|
-
}));
|
|
48
|
-
markLabel.name = "mark-common-line-label", this._label = markLabel, container.add(markLabel),
|
|
49
|
-
this.setLabelPos();
|
|
35
|
+
const line = this.createSegment();
|
|
36
|
+
line.name = "mark-common-line-line", this._line = line, container.add(line), this.addMarkLineLabels(container);
|
|
50
37
|
}
|
|
51
38
|
updateMarker() {
|
|
52
|
-
|
|
53
|
-
this.setLineAttributes(), this._label && (this._label.setAttributes(Object.assign(Object.assign({
|
|
54
|
-
dx: 0,
|
|
55
|
-
dy: 0
|
|
56
|
-
}, label), {
|
|
57
|
-
state: {
|
|
58
|
-
panel: merge({}, DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
|
|
59
|
-
text: merge({}, DEFAULT_STATES, null == state ? void 0 : state.label)
|
|
60
|
-
}
|
|
61
|
-
})), this.setLabelPos());
|
|
39
|
+
this.setLineAttributes(), this.updateMarkLineLabels();
|
|
62
40
|
}
|
|
63
41
|
}
|
|
42
|
+
|
|
43
|
+
mixin(MarkCommonLine, MarkLabelMixin);
|
|
64
44
|
//# sourceMappingURL=common-line.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/common-line.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/marker/common-line.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAUzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAS/C,MAAM,OAAgB,cAAwC,SAAQ,MAGrE;IAHD;;QAIE,SAAI,GAAG,gBAAgB,CAAC;QASxB,2BAAsB,GAAG,8BAA8B,CAAC;QACxD,yBAAoB,GAAG,0BAA0B,CAAC;IAyDpD,CAAC;IA7CC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAES,WAAW,CAAC,SAAiB,EAAE,UAA+C;QACtF,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClC,SAAS,CAAC,aAAa,iCAClB,UAAU,CAAC,QAAQ,KACtB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3E,SAAS,kCACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,GACnD,UAAU,CAAC,SAAS,KAEzB,CAAC;QACH,IAAI,SAAS,IAAI,OAAO,EAAE;YACxB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;YAC1C,kBAAkB,CAAC,SAAS,EAAE;gBAC5B,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC,GAAG,KAAK;gBACb,EAAE,EAAE,CAAC,GAAG,MAAM;aACf,CAAC,CAAC;SACJ;IACH,CAAC;IAES,UAAU,CAAC,SAAiB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,IAAwB,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAGzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAE9B,CAAC;CACF;AAED,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC","file":"common-line.js","sourcesContent":["import type { IGroup, INode } from '@visactor/vrender-core';\nimport { mixin } from '@visactor/vutils';\nimport type { ArcSegment, Segment } from '../segment';\n// eslint-disable-next-line no-duplicate-imports\nimport type { Tag } from '../tag';\nimport type {\n MarkCommonLineAnimationType,\n MarkCommonLineAttrs,\n MarkerAnimationState,\n MarkerLineLabelAttrs\n} from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport { Marker } from './base';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkLineAnimation } from './animate/animate';\nimport { MarkLabelMixin } from './mixin/label';\n\nexport interface MarkCommonLine<LineAttr, LabelPosition>\n extends Pick<\n MarkLabelMixin<MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>>,\n '_addMarkLabels' | '_updateMarkLabels' | 'getLabel' | '_label'\n >,\n Marker<MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>, MarkCommonLineAnimationType> {}\n\nexport abstract class MarkCommonLine<LineAttr, LabelPosition> extends Marker<\n MarkCommonLineAttrs<LineAttr, LabelPosition, MarkCommonLineAnimationType>,\n MarkCommonLineAnimationType\n> {\n name = 'markCommonLine';\n\n /** animate */\n static _animate?: (\n line: Segment | ArcSegment,\n label: Tag | Tag[],\n animationConfig: any,\n state: MarkerAnimationState\n ) => void;\n defaultUpdateAnimation = DefaultUpdateMarkLineAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n\n protected _line!: Segment | ArcSegment;\n protected abstract createSegment(): any;\n protected abstract setLineAttributes(): any;\n protected abstract getPointAttrByPosition(position: any, labelAttrs: MarkerLineLabelAttrs<LabelPosition>): any;\n protected abstract getRotateByAngle(angle: number, labelAttrs: MarkerLineLabelAttrs<LabelPosition>): number;\n protected abstract getTextStyle(position: any, labelAngle: number, autoRotate: boolean): any;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n protected abstract addMarkLineLabels(container: IGroup): any;\n protected abstract updateMarkLineLabels(): any;\n\n getLine() {\n return this._line;\n }\n\n protected setLabelPos(labelNode: IGroup, labelAttrs: MarkerLineLabelAttrs<LabelPosition>): void {\n const { limitRect } = this.attribute;\n const { position, confine, autoRotate } = labelAttrs;\n const labelPoint = this.getPointAttrByPosition(position, labelAttrs);\n const labelAngle = position.toString().toLocaleLowerCase().includes('start')\n ? this._line.getStartAngle() || 0\n : this._line.getEndAngle() || 0;\n labelNode.setAttributes({\n ...labelPoint.position,\n angle: autoRotate ? this.getRotateByAngle(labelPoint.angle, labelAttrs) : 0,\n textStyle: {\n ...this.getTextStyle(position, labelAngle, autoRotate),\n ...labelAttrs.textStyle\n }\n });\n if (limitRect && confine) {\n const { x, y, width, height } = limitRect;\n limitShapeInBounds(labelNode, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n\n protected initMarker(container: IGroup) {\n const line = this.createSegment();\n line.name = 'mark-common-line-line';\n this._line = line;\n container.add(line as unknown as INode);\n this.addMarkLineLabels(container);\n }\n\n protected updateMarker() {\n this.setLineAttributes();\n\n // update label\n this.updateMarkLineLabels();\n // this._updateMarkLabels();\n }\n}\n\nmixin(MarkCommonLine, MarkLabelMixin);\n"]}
|
package/es/marker/config.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ export declare const DEFAULT_MARK_ARC_LINE_THEME: {
|
|
|
69
69
|
lineWidth: number;
|
|
70
70
|
};
|
|
71
71
|
label: {
|
|
72
|
+
autoRotate: boolean;
|
|
72
73
|
position: IMarkCommonArcLabelPosition;
|
|
73
74
|
refX: number;
|
|
74
75
|
refY: number;
|
|
@@ -123,6 +124,7 @@ export declare const DEFAULT_MARK_AREA_THEME: {
|
|
|
123
124
|
export declare const DEFAULT_MARK_ARC_AREA_THEME: {
|
|
124
125
|
interactive: boolean;
|
|
125
126
|
label: {
|
|
127
|
+
autoRotate: boolean;
|
|
126
128
|
position: IMarkCommonArcLabelPosition;
|
|
127
129
|
textStyle: {
|
|
128
130
|
fill: string;
|
package/es/marker/config.js
CHANGED
|
@@ -190,6 +190,7 @@ export const DEFAULT_MARK_ARC_LINE_THEME = {
|
|
|
190
190
|
lineWidth: 0
|
|
191
191
|
},
|
|
192
192
|
label: {
|
|
193
|
+
autoRotate: !0,
|
|
193
194
|
position: IMarkCommonArcLabelPosition.arcOuterMiddle,
|
|
194
195
|
refX: 0,
|
|
195
196
|
refY: 0,
|
|
@@ -246,6 +247,7 @@ export const DEFAULT_MARK_AREA_THEME = {
|
|
|
246
247
|
export const DEFAULT_MARK_ARC_AREA_THEME = {
|
|
247
248
|
interactive: !0,
|
|
248
249
|
label: {
|
|
250
|
+
autoRotate: !0,
|
|
249
251
|
position: IMarkCommonArcLabelPosition.arcOuterMiddle,
|
|
250
252
|
textStyle: {
|
|
251
253
|
fill: "#fff",
|