@visactor/vrender-components 0.18.11-alpha.7 → 0.18.12
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/base.js +21 -9
- package/cjs/axis/base.js.map +1 -1
- package/cjs/axis/circle.js +1 -1
- package/cjs/axis/circle.js.map +1 -1
- package/cjs/axis/grid/base.js +1 -5
- package/cjs/axis/grid/base.js.map +1 -1
- package/cjs/axis/index.d.ts +1 -0
- package/cjs/axis/index.js +1 -1
- package/cjs/axis/index.js.map +1 -1
- package/cjs/axis/line.js +5 -5
- package/cjs/axis/line.js.map +1 -1
- package/cjs/axis/mixin/circle.js +2 -4
- package/cjs/axis/mixin/circle.js.map +1 -1
- package/cjs/axis/overlap/auto-limit.js +8 -13
- package/cjs/axis/overlap/auto-limit.js.map +1 -1
- package/cjs/axis/util.d.ts +5 -2
- package/cjs/axis/util.js +18 -5
- package/cjs/axis/util.js.map +1 -1
- package/cjs/brush/brush.js +21 -14
- package/cjs/brush/brush.js.map +1 -1
- package/cjs/checkbox/checkbox.d.ts +3 -3
- package/cjs/checkbox/checkbox.js +12 -12
- package/cjs/checkbox/checkbox.js.map +1 -1
- package/cjs/checkbox/register.js +1 -1
- package/cjs/checkbox/register.js.map +1 -1
- package/cjs/checkbox/type.d.ts +2 -2
- package/cjs/checkbox/type.js.map +1 -1
- package/cjs/data-zoom/data-zoom.js +12 -6
- package/cjs/data-zoom/data-zoom.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +3 -2
- package/cjs/index.js.map +1 -1
- package/cjs/indicator/indicator.js +3 -3
- package/cjs/indicator/indicator.js.map +1 -1
- package/cjs/label/arc.d.ts +2 -2
- package/cjs/label/base.d.ts +2 -2
- package/cjs/label/base.js +3 -1
- package/cjs/label/base.js.map +1 -1
- package/cjs/legend/color/color.js +7 -5
- package/cjs/legend/color/color.js.map +1 -1
- package/cjs/legend/discrete/discrete.js +4 -2
- package/cjs/legend/discrete/discrete.js.map +1 -1
- package/cjs/legend/size/size.js +6 -4
- package/cjs/legend/size/size.js.map +1 -1
- package/cjs/marker/area.d.ts +4 -14
- package/cjs/marker/area.js +21 -34
- package/cjs/marker/area.js.map +1 -1
- package/cjs/marker/base.d.ts +3 -21
- package/cjs/marker/base.js +5 -40
- package/cjs/marker/base.js.map +1 -1
- package/cjs/marker/config.d.ts +6 -79
- package/cjs/marker/config.js +37 -77
- package/cjs/marker/config.js.map +1 -1
- package/cjs/marker/index.d.ts +0 -2
- package/cjs/marker/index.js +1 -2
- package/cjs/marker/index.js.map +1 -1
- package/cjs/marker/line.d.ts +12 -24
- package/cjs/marker/line.js +45 -111
- package/cjs/marker/line.js.map +1 -1
- package/cjs/marker/point.d.ts +3 -8
- package/cjs/marker/point.js +9 -33
- package/cjs/marker/point.js.map +1 -1
- package/cjs/marker/register.d.ts +0 -2
- package/cjs/marker/register.js +2 -11
- package/cjs/marker/register.js.map +1 -1
- package/cjs/marker/type.d.ts +12 -102
- package/cjs/marker/type.js +2 -8
- package/cjs/marker/type.js.map +1 -1
- package/cjs/marker/util.js +3 -0
- package/cjs/marker/util.js.map +1 -0
- package/cjs/pager/pager.js +2 -2
- package/cjs/pager/pager.js.map +1 -1
- package/cjs/player/base-player.d.ts +2 -0
- package/cjs/player/base-player.js +11 -6
- package/cjs/player/base-player.js.map +1 -1
- package/cjs/player/continuous-player.d.ts +1 -1
- package/cjs/player/continuous-player.js +6 -4
- package/cjs/player/continuous-player.js.map +1 -1
- package/cjs/player/controller/controller.js +4 -4
- package/cjs/player/controller/controller.js.map +1 -1
- package/cjs/player/discrete-player.d.ts +1 -1
- package/cjs/player/discrete-player.js +6 -4
- package/cjs/player/discrete-player.js.map +1 -1
- package/cjs/poptip/poptip.js +6 -4
- package/cjs/poptip/poptip.js.map +1 -1
- package/cjs/poptip/register.js +2 -2
- package/cjs/poptip/register.js.map +1 -1
- package/cjs/radio/index.d.ts +2 -0
- package/cjs/radio/index.js +21 -0
- package/cjs/radio/index.js.map +1 -0
- package/cjs/radio/radio.d.ts +16 -0
- package/cjs/radio/radio.js +89 -0
- package/cjs/radio/radio.js.map +1 -0
- package/cjs/radio/register.d.ts +1 -0
- package/cjs/radio/register.js +15 -0
- package/cjs/radio/register.js.map +1 -0
- package/cjs/radio/type.d.ts +21 -0
- package/cjs/radio/type.js +6 -0
- package/cjs/radio/type.js.map +1 -0
- package/cjs/segment/index.d.ts +0 -1
- package/cjs/segment/index.js +1 -2
- package/cjs/segment/index.js.map +1 -1
- package/cjs/segment/register.d.ts +1 -2
- package/cjs/segment/register.js +3 -8
- package/cjs/segment/register.js.map +1 -1
- package/cjs/segment/segment.d.ts +7 -9
- package/cjs/segment/segment.js +8 -12
- package/cjs/segment/segment.js.map +1 -1
- package/cjs/segment/type.d.ts +4 -24
- package/cjs/segment/type.js.map +1 -1
- package/cjs/slider/slider.d.ts +2 -0
- package/cjs/slider/slider.js +60 -42
- package/cjs/slider/slider.js.map +1 -1
- package/cjs/slider/type.d.ts +1 -0
- package/cjs/slider/type.js.map +1 -1
- package/cjs/tag/tag.d.ts +0 -5
- package/cjs/tag/tag.js +5 -14
- package/cjs/tag/tag.js.map +1 -1
- package/cjs/title/register.js +1 -2
- package/cjs/title/register.js.map +1 -1
- package/cjs/title/title.js +6 -4
- package/cjs/title/title.js.map +1 -1
- package/cjs/util/text.d.ts +1 -1
- package/cjs/util/text.js +6 -7
- package/cjs/util/text.js.map +1 -1
- package/es/axis/base.js +23 -13
- package/es/axis/base.js.map +1 -1
- package/es/axis/circle.js +2 -2
- package/es/axis/circle.js.map +1 -1
- package/es/axis/grid/base.js +2 -6
- package/es/axis/grid/base.js.map +1 -1
- package/es/axis/index.d.ts +1 -0
- package/es/axis/index.js +2 -0
- package/es/axis/index.js.map +1 -1
- package/es/axis/line.js +5 -5
- package/es/axis/line.js.map +1 -1
- package/es/axis/mixin/circle.js +2 -3
- package/es/axis/mixin/circle.js.map +1 -1
- package/es/axis/overlap/auto-limit.js +9 -13
- package/es/axis/overlap/auto-limit.js.map +1 -1
- package/es/axis/util.d.ts +5 -2
- package/es/axis/util.js +15 -1
- package/es/axis/util.js.map +1 -1
- package/es/brush/brush.js +21 -14
- package/es/brush/brush.js.map +1 -1
- package/es/checkbox/checkbox.d.ts +3 -3
- package/es/checkbox/checkbox.js +13 -12
- package/es/checkbox/checkbox.js.map +1 -1
- package/es/checkbox/register.js +2 -2
- package/es/checkbox/register.js.map +1 -1
- package/es/checkbox/type.d.ts +2 -2
- package/es/checkbox/type.js.map +1 -1
- package/es/data-zoom/data-zoom.js +12 -6
- package/es/data-zoom/data-zoom.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +3 -1
- package/es/index.js.map +1 -1
- package/es/indicator/indicator.js +3 -3
- package/es/indicator/indicator.js.map +1 -1
- package/es/label/arc.d.ts +2 -2
- package/es/label/base.d.ts +2 -2
- package/es/label/base.js +3 -1
- package/es/label/base.js.map +1 -1
- package/es/legend/color/color.js +7 -5
- package/es/legend/color/color.js.map +1 -1
- package/es/legend/discrete/discrete.js +4 -2
- package/es/legend/discrete/discrete.js.map +1 -1
- package/es/legend/size/size.js +6 -4
- package/es/legend/size/size.js.map +1 -1
- package/es/marker/area.d.ts +4 -14
- package/es/marker/area.js +19 -36
- package/es/marker/area.js.map +1 -1
- package/es/marker/base.d.ts +3 -21
- package/es/marker/base.js +4 -43
- package/es/marker/base.js.map +1 -1
- package/es/marker/config.d.ts +6 -79
- package/es/marker/config.js +37 -79
- package/es/marker/config.js.map +1 -1
- package/es/marker/index.d.ts +0 -2
- package/es/marker/index.js +0 -4
- package/es/marker/index.js.map +1 -1
- package/es/marker/line.d.ts +12 -24
- package/es/marker/line.js +48 -116
- package/es/marker/line.js.map +1 -1
- package/es/marker/point.d.ts +3 -8
- package/es/marker/point.js +6 -34
- package/es/marker/point.js.map +1 -1
- package/es/marker/register.d.ts +0 -2
- package/es/marker/register.js +2 -10
- package/es/marker/register.js.map +1 -1
- package/es/marker/type.d.ts +12 -102
- package/es/marker/type.js +0 -9
- package/es/marker/type.js.map +1 -1
- package/es/marker/util.js +3 -0
- package/es/marker/util.js.map +1 -0
- package/es/pager/pager.js +2 -2
- package/es/pager/pager.js.map +1 -1
- package/es/player/base-player.d.ts +2 -0
- package/es/player/base-player.js +11 -6
- package/es/player/base-player.js.map +1 -1
- package/es/player/continuous-player.d.ts +1 -1
- package/es/player/continuous-player.js +6 -4
- package/es/player/continuous-player.js.map +1 -1
- package/es/player/controller/controller.js +5 -5
- package/es/player/controller/controller.js.map +1 -1
- package/es/player/discrete-player.d.ts +1 -1
- package/es/player/discrete-player.js +6 -4
- package/es/player/discrete-player.js.map +1 -1
- package/es/poptip/poptip.js +6 -4
- package/es/poptip/poptip.js.map +1 -1
- package/es/poptip/register.js +2 -2
- package/es/poptip/register.js.map +1 -1
- package/es/radio/index.d.ts +2 -0
- package/es/radio/index.js +4 -0
- package/es/radio/index.js.map +1 -0
- package/es/radio/radio.d.ts +16 -0
- package/es/radio/radio.js +88 -0
- package/es/radio/radio.js.map +1 -0
- package/es/radio/register.d.ts +1 -0
- package/es/radio/register.js +6 -0
- package/es/radio/register.js.map +1 -0
- package/es/radio/type.d.ts +21 -0
- package/es/radio/type.js +2 -0
- package/es/radio/type.js.map +1 -0
- package/es/segment/index.d.ts +0 -1
- package/es/segment/index.js +0 -2
- package/es/segment/index.js.map +1 -1
- package/es/segment/register.d.ts +1 -2
- package/es/segment/register.js +2 -6
- package/es/segment/register.js.map +1 -1
- package/es/segment/segment.d.ts +7 -9
- package/es/segment/segment.js +8 -11
- package/es/segment/segment.js.map +1 -1
- package/es/segment/type.d.ts +4 -24
- package/es/segment/type.js.map +1 -1
- package/es/slider/slider.d.ts +2 -0
- package/es/slider/slider.js +57 -40
- package/es/slider/slider.js.map +1 -1
- package/es/slider/type.d.ts +1 -0
- package/es/slider/type.js.map +1 -1
- package/es/tag/tag.d.ts +0 -5
- package/es/tag/tag.js +5 -14
- package/es/tag/tag.js.map +1 -1
- package/es/title/register.js +2 -2
- package/es/title/register.js.map +1 -1
- package/es/title/title.js +6 -4
- package/es/title/title.js.map +1 -1
- package/es/util/text.d.ts +1 -1
- package/es/util/text.js +6 -7
- package/es/util/text.js.map +1 -1
- package/package.json +3 -3
- package/cjs/marker/animate/animate.d.ts +0 -13
- package/cjs/marker/animate/animate.js +0 -92
- package/cjs/marker/animate/animate.js.map +0 -1
- package/cjs/marker/animate/call-in.d.ts +0 -4
- package/cjs/marker/animate/call-in.js +0 -27
- package/cjs/marker/animate/call-in.js.map +0 -1
- package/cjs/marker/animate/clip-in.d.ts +0 -4
- package/cjs/marker/animate/clip-in.js +0 -23
- package/cjs/marker/animate/clip-in.js.map +0 -1
- package/cjs/marker/animate/common.d.ts +0 -9
- package/cjs/marker/animate/common.js +0 -48
- package/cjs/marker/animate/common.js.map +0 -1
- package/cjs/marker/animate/fade-in.d.ts +0 -7
- package/cjs/marker/animate/fade-in.js +0 -30
- package/cjs/marker/animate/fade-in.js.map +0 -1
- package/cjs/marker/animate/fade-out.d.ts +0 -7
- package/cjs/marker/animate/fade-out.js +0 -30
- package/cjs/marker/animate/fade-out.js.map +0 -1
- package/cjs/marker/animate/index.js +0 -3
- package/cjs/marker/animate/index.js.map +0 -1
- package/cjs/marker/arc-area.d.ts +0 -55
- package/cjs/marker/arc-area.js +0 -131
- package/cjs/marker/arc-area.js.map +0 -1
- package/cjs/marker/arc-line.d.ts +0 -25
- package/cjs/marker/arc-line.js +0 -106
- package/cjs/marker/arc-line.js.map +0 -1
- package/cjs/marker/common-line.d.ts +0 -22
- package/cjs/marker/common-line.js +0 -56
- package/cjs/marker/common-line.js.map +0 -1
- package/cjs/segment/arc-segment.d.ts +0 -13
- package/cjs/segment/arc-segment.js +0 -51
- package/cjs/segment/arc-segment.js.map +0 -1
- package/cjs/util/interaction.d.ts +0 -4
- package/cjs/util/interaction.js +0 -37
- package/cjs/util/interaction.js.map +0 -1
- package/es/marker/animate/animate.d.ts +0 -13
- package/es/marker/animate/animate.js +0 -92
- package/es/marker/animate/animate.js.map +0 -1
- package/es/marker/animate/call-in.d.ts +0 -4
- package/es/marker/animate/call-in.js +0 -17
- package/es/marker/animate/call-in.js.map +0 -1
- package/es/marker/animate/clip-in.d.ts +0 -4
- package/es/marker/animate/clip-in.js +0 -15
- package/es/marker/animate/clip-in.js.map +0 -1
- package/es/marker/animate/common.d.ts +0 -9
- package/es/marker/animate/common.js +0 -39
- package/es/marker/animate/common.js.map +0 -1
- package/es/marker/animate/fade-in.d.ts +0 -7
- package/es/marker/animate/fade-in.js +0 -20
- package/es/marker/animate/fade-in.js.map +0 -1
- package/es/marker/animate/fade-out.d.ts +0 -7
- package/es/marker/animate/fade-out.js +0 -20
- package/es/marker/animate/fade-out.js.map +0 -1
- package/es/marker/animate/index.js +0 -3
- package/es/marker/animate/index.js.map +0 -1
- package/es/marker/arc-area.d.ts +0 -55
- package/es/marker/arc-area.js +0 -143
- package/es/marker/arc-area.js.map +0 -1
- package/es/marker/arc-line.d.ts +0 -25
- package/es/marker/arc-line.js +0 -114
- package/es/marker/arc-line.js.map +0 -1
- package/es/marker/common-line.d.ts +0 -22
- package/es/marker/common-line.js +0 -58
- package/es/marker/common-line.js.map +0 -1
- package/es/segment/arc-segment.d.ts +0 -13
- package/es/segment/arc-segment.js +0 -49
- package/es/segment/arc-segment.js.map +0 -1
- package/es/util/interaction.d.ts +0 -4
- package/es/util/interaction.js +0 -30
- package/es/util/interaction.js.map +0 -1
- /package/cjs/marker/{animate/index.d.ts → util.d.ts} +0 -0
- /package/es/marker/{animate/index.d.ts → util.d.ts} +0 -0
package/cjs/marker/arc-area.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { IArc, IGroup } from '@visactor/vrender-core';
|
|
2
|
-
import { Tag } from '../tag';
|
|
3
|
-
import { Marker } from './base';
|
|
4
|
-
import type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';
|
|
5
|
-
import { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';
|
|
6
|
-
import type { ComponentOptions } from '../interface';
|
|
7
|
-
export declare function registerMarkArcAreaAnimate(): void;
|
|
8
|
-
export declare class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {
|
|
9
|
-
name: string;
|
|
10
|
-
static defaultAttributes: {
|
|
11
|
-
interactive: boolean;
|
|
12
|
-
label: {
|
|
13
|
-
position: IMarkCommonArcLabelPosition;
|
|
14
|
-
textStyle: {
|
|
15
|
-
fill: string;
|
|
16
|
-
stroke: string;
|
|
17
|
-
lineWidth: number;
|
|
18
|
-
fontSize: number;
|
|
19
|
-
fontWeight: string;
|
|
20
|
-
fontStyle: string;
|
|
21
|
-
textAlign: string;
|
|
22
|
-
textBaseline: string;
|
|
23
|
-
};
|
|
24
|
-
padding: number[];
|
|
25
|
-
panel: {
|
|
26
|
-
visible: boolean;
|
|
27
|
-
cornerRadius: number;
|
|
28
|
-
fill: string;
|
|
29
|
-
fillOpacity: number;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
areaStyle: {
|
|
33
|
-
fill: string;
|
|
34
|
-
visible: boolean;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
private _area;
|
|
38
|
-
defaultUpdateAnimation: never;
|
|
39
|
-
defaultExitAnimation: import("./type").MarkerExitAnimation;
|
|
40
|
-
protected markerAnimate(state: MarkerAnimationState): void;
|
|
41
|
-
getArea(): IArc;
|
|
42
|
-
getLabel(): Tag;
|
|
43
|
-
constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions);
|
|
44
|
-
protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition): {
|
|
45
|
-
position: {
|
|
46
|
-
x: number;
|
|
47
|
-
y: number;
|
|
48
|
-
};
|
|
49
|
-
angle: number;
|
|
50
|
-
};
|
|
51
|
-
protected setLabelPos(): void;
|
|
52
|
-
protected initMarker(container: IGroup): void;
|
|
53
|
-
protected updateMarker(): void;
|
|
54
|
-
protected isValidPoints(): boolean;
|
|
55
|
-
}
|
package/cjs/marker/arc-area.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.MarkArcArea = exports.registerMarkArcAreaAnimate = void 0;
|
|
6
|
-
|
|
7
|
-
const vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), tag_1 = require("../tag"), base_1 = require("./base"), config_1 = require("./config"), type_1 = require("./type"), limit_shape_1 = require("../util/limit-shape"), register_1 = require("./register"), constant_1 = require("../constant"), animate_1 = require("./animate/animate");
|
|
8
|
-
|
|
9
|
-
function registerMarkArcAreaAnimate() {
|
|
10
|
-
MarkArcArea._animate = animate_1.markArcAreaAnimate;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
(0, register_1.loadMarkArcAreaComponent)(), exports.registerMarkArcAreaAnimate = registerMarkArcAreaAnimate;
|
|
14
|
-
|
|
15
|
-
class MarkArcArea extends base_1.Marker {
|
|
16
|
-
markerAnimate(state) {
|
|
17
|
-
MarkArcArea._animate && MarkArcArea._animate(this._area, this._label, this._animationConfig, state);
|
|
18
|
-
}
|
|
19
|
-
getArea() {
|
|
20
|
-
return this._area;
|
|
21
|
-
}
|
|
22
|
-
getLabel() {
|
|
23
|
-
return this._label;
|
|
24
|
-
}
|
|
25
|
-
constructor(attributes, options) {
|
|
26
|
-
super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, MarkArcArea.defaultAttributes, attributes)),
|
|
27
|
-
this.name = "markArcArea", this.defaultUpdateAnimation = animate_1.DefaultUpdateMarkAreaAnimation,
|
|
28
|
-
this.defaultExitAnimation = animate_1.DefaultExitMarkerAnimation;
|
|
29
|
-
}
|
|
30
|
-
getPointAttrByPosition(position) {
|
|
31
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
32
|
-
const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, 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);
|
|
33
|
-
let radius, angle, orthogonalOffsetDirection;
|
|
34
|
-
switch (position) {
|
|
35
|
-
case type_1.IMarkCommonArcLabelPosition.center:
|
|
36
|
-
radius = (innerRadius + outerRadius) / 2, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 0;
|
|
37
|
-
break;
|
|
38
|
-
|
|
39
|
-
case type_1.IMarkCommonArcLabelPosition.arcInnerStart:
|
|
40
|
-
radius = innerRadius, angle = startAngle, orthogonalOffsetDirection = -1;
|
|
41
|
-
break;
|
|
42
|
-
|
|
43
|
-
case type_1.IMarkCommonArcLabelPosition.arcOuterStart:
|
|
44
|
-
radius = outerRadius, angle = startAngle, orthogonalOffsetDirection = 1;
|
|
45
|
-
break;
|
|
46
|
-
|
|
47
|
-
case type_1.IMarkCommonArcLabelPosition.arcInnerEnd:
|
|
48
|
-
radius = innerRadius, angle = endAngle, orthogonalOffsetDirection = -1;
|
|
49
|
-
break;
|
|
50
|
-
|
|
51
|
-
case type_1.IMarkCommonArcLabelPosition.arcOuterEnd:
|
|
52
|
-
radius = outerRadius, angle = endAngle, orthogonalOffsetDirection = 1;
|
|
53
|
-
break;
|
|
54
|
-
|
|
55
|
-
case type_1.IMarkCommonArcLabelPosition.arcInnerMiddle:
|
|
56
|
-
radius = innerRadius, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
|
|
57
|
-
break;
|
|
58
|
-
|
|
59
|
-
case type_1.IMarkCommonArcLabelPosition.arcOuterMiddle:
|
|
60
|
-
radius = outerRadius, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 1;
|
|
61
|
-
break;
|
|
62
|
-
|
|
63
|
-
default:
|
|
64
|
-
radius = innerRadius, angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
|
|
65
|
-
}
|
|
66
|
-
return {
|
|
67
|
-
position: {
|
|
68
|
-
x: center.x + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),
|
|
69
|
-
y: center.y + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)
|
|
70
|
-
},
|
|
71
|
-
angle: angle
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
setLabelPos() {
|
|
75
|
-
var _a;
|
|
76
|
-
if (this._label && this._area) {
|
|
77
|
-
const {label: label = {}} = this.attribute, {position: labelPosition = "arcInnerMiddle", autoRotate: autoRotate = !0} = label, labelAttr = this.getPointAttrByPosition(labelPosition);
|
|
78
|
-
if (this._label.setAttributes(Object.assign(Object.assign({}, labelAttr.position), {
|
|
79
|
-
angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (null !== (_a = label.refAngle) && void 0 !== _a ? _a : 0) : 0
|
|
80
|
-
})), this.attribute.limitRect && label.confine) {
|
|
81
|
-
const {x: x, y: y, width: width, height: height} = this.attribute.limitRect;
|
|
82
|
-
(0, limit_shape_1.limitShapeInBounds)(this._label, {
|
|
83
|
-
x1: x,
|
|
84
|
-
y1: y,
|
|
85
|
-
x2: x + width,
|
|
86
|
-
y2: y + height
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
initMarker(container) {
|
|
92
|
-
const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label, state: state} = this.attribute, area = vrender_core_1.graphicCreator.arc(Object.assign({
|
|
93
|
-
x: center.x,
|
|
94
|
-
y: center.y,
|
|
95
|
-
innerRadius: innerRadius,
|
|
96
|
-
outerRadius: outerRadius,
|
|
97
|
-
startAngle: startAngle,
|
|
98
|
-
endAngle: endAngle
|
|
99
|
-
}, areaStyle));
|
|
100
|
-
area.states = (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.area),
|
|
101
|
-
area.name = "polar-mark-area-area", this._area = area, container.add(area);
|
|
102
|
-
const markLabel = new tag_1.Tag(Object.assign(Object.assign({}, label), {
|
|
103
|
-
state: {
|
|
104
|
-
panel: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
|
|
105
|
-
text: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.label)
|
|
106
|
-
}
|
|
107
|
-
}));
|
|
108
|
-
markLabel.name = "mark-area-label", this._label = markLabel, container.add(markLabel),
|
|
109
|
-
this.setLabelPos();
|
|
110
|
-
}
|
|
111
|
-
updateMarker() {
|
|
112
|
-
const {center: center, innerRadius: innerRadius, outerRadius: outerRadius, startAngle: startAngle, endAngle: endAngle, areaStyle: areaStyle, label: label} = this.attribute;
|
|
113
|
-
this._area && this._area.setAttributes(Object.assign({
|
|
114
|
-
x: center.x,
|
|
115
|
-
y: center.y,
|
|
116
|
-
innerRadius: innerRadius,
|
|
117
|
-
outerRadius: outerRadius,
|
|
118
|
-
startAngle: startAngle,
|
|
119
|
-
endAngle: endAngle
|
|
120
|
-
}, areaStyle)), this._area && this._label.setAttributes(Object.assign({
|
|
121
|
-
dx: 0,
|
|
122
|
-
dy: 0
|
|
123
|
-
}, label)), this.setLabelPos();
|
|
124
|
-
}
|
|
125
|
-
isValidPoints() {
|
|
126
|
-
return !0;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
exports.MarkArcArea = MarkArcArea, MarkArcArea.defaultAttributes = config_1.DEFAULT_MARK_ARC_AREA_THEME;
|
|
131
|
-
//# sourceMappingURL=arc-area.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/arc-area.ts"],"names":[],"mappings":"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","file":"arc-area.js","sourcesContent":["import type { IArc, IGroup, INode } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { 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_MARK_ARC_AREA_THEME } from './config';\nimport type { CommonMarkAreaAnimationType, MarkerAnimationState } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport { IMarkCommonArcLabelPosition, type MarkArcAreaAttrs } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { ComponentOptions } from '../interface';\nimport { loadMarkArcAreaComponent } from './register';\nimport { DEFAULT_STATES } from '../constant';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkAreaAnimation, markArcAreaAnimate } from './animate/animate';\n\nloadMarkArcAreaComponent();\n\nexport function registerMarkArcAreaAnimate() {\n MarkArcArea._animate = markArcAreaAnimate;\n}\n\nexport class MarkArcArea extends Marker<MarkArcAreaAttrs, CommonMarkAreaAnimationType> {\n name = 'markArcArea';\n static defaultAttributes = DEFAULT_MARK_ARC_AREA_THEME;\n private _area!: IArc;\n\n /** animate */\n defaultUpdateAnimation = DefaultUpdateMarkAreaAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n protected markerAnimate(state: MarkerAnimationState) {\n if (MarkArcArea._animate) {\n MarkArcArea._animate(this._area, this._label, this._animationConfig, state);\n }\n }\n\n getArea() {\n return this._area;\n }\n\n getLabel() {\n return this._label;\n }\n\n constructor(attributes: MarkArcAreaAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkArcArea.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(position: IMarkCommonArcLabelPosition) {\n const { center, innerRadius, outerRadius, startAngle, endAngle, label } = this.attribute as MarkArcAreaAttrs;\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 radius;\n let angle;\n // tag在正交方向是向内偏移,还是向外偏移\n // 不偏移: 0, 内: -1, 外: 1\n let orthogonalOffsetDirection;\n\n switch (position) {\n case IMarkCommonArcLabelPosition.center:\n radius = (innerRadius + outerRadius) / 2;\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 0;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n radius = innerRadius;\n angle = startAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n radius = outerRadius;\n angle = startAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n radius = innerRadius;\n angle = endAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n radius = outerRadius;\n angle = endAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n radius = innerRadius;\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterMiddle:\n radius = outerRadius;\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 1;\n break;\n default: // default arcInnerMiddle\n radius = innerRadius;\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() {\n if (this._label && this._area) {\n const { label = {} } = this.attribute as MarkArcAreaAttrs;\n const { position: labelPosition = 'arcInnerMiddle', autoRotate = true } = label;\n const labelAttr = this.getPointAttrByPosition(labelPosition as IMarkCommonArcLabelPosition);\n\n this._label.setAttributes({\n ...labelAttr.position,\n angle: autoRotate ? labelAttr.angle - Math.PI / 2 + (label.refAngle ?? 0) : 0\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 { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label, state } = this\n .attribute as MarkArcAreaAttrs;\n const area = graphicCreator.arc({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n ...areaStyle\n });\n area.states = merge({}, DEFAULT_STATES, state?.area);\n area.name = 'polar-mark-area-area';\n this._area = area;\n container.add(area);\n\n const markLabel = new Tag({\n ...(label as TagAttributes),\n state: {\n panel: merge({}, DEFAULT_STATES, state?.labelBackground),\n text: merge({}, DEFAULT_STATES, state?.label)\n }\n });\n markLabel.name = 'mark-area-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { center, innerRadius, outerRadius, startAngle, endAngle, areaStyle, label } = this\n .attribute as MarkArcAreaAttrs;\n if (this._area) {\n this._area.setAttributes({\n x: center.x,\n y: center.y,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\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 return true;\n }\n}\n"]}
|
package/cjs/marker/arc-line.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ArcSegment } from '../segment';
|
|
2
|
-
import { MarkCommonLine } from './common-line';
|
|
3
|
-
import type { ComponentOptions } from '../interface';
|
|
4
|
-
import type { IArcGraphicAttribute } from '@visactor/vrender-core';
|
|
5
|
-
import { IMarkCommonArcLabelPosition } from './type';
|
|
6
|
-
import type { MarkArcLineAttrs, MarkerAnimationState } from './type';
|
|
7
|
-
export declare function registerMarkArcLineAnimate(): void;
|
|
8
|
-
export declare class MarkArcLine extends MarkCommonLine<IArcGraphicAttribute, IMarkCommonArcLabelPosition> {
|
|
9
|
-
name: string;
|
|
10
|
-
static defaultAttributes: Partial<MarkArcLineAttrs>;
|
|
11
|
-
protected _line: ArcSegment;
|
|
12
|
-
protected markerAnimate(state: MarkerAnimationState): void;
|
|
13
|
-
constructor(attributes: MarkArcLineAttrs, options?: ComponentOptions);
|
|
14
|
-
protected getPointAttrByPosition(direction: IMarkCommonArcLabelPosition): {
|
|
15
|
-
position: {
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
};
|
|
19
|
-
angle: number;
|
|
20
|
-
};
|
|
21
|
-
protected getRotateByAngle(angle: number): number;
|
|
22
|
-
protected createSegment(): ArcSegment;
|
|
23
|
-
protected setLineAttributes(): void;
|
|
24
|
-
protected isValidPoints(): boolean;
|
|
25
|
-
}
|
package/cjs/marker/arc-line.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.MarkArcLine = exports.registerMarkArcLineAnimate = void 0;
|
|
6
|
-
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), segment_1 = require("../segment"), register_1 = require("./register"), constant_1 = require("../constant"), common_line_1 = require("./common-line"), type_1 = require("./type"), config_1 = require("./config"), animate_1 = require("./animate/animate");
|
|
8
|
-
|
|
9
|
-
function registerMarkArcLineAnimate() {
|
|
10
|
-
MarkArcLine._animate = animate_1.commonMarkLineAnimate;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
(0, register_1.loadMarkArcLineComponent)(), exports.registerMarkArcLineAnimate = registerMarkArcLineAnimate;
|
|
14
|
-
|
|
15
|
-
class MarkArcLine extends common_line_1.MarkCommonLine {
|
|
16
|
-
markerAnimate(state) {
|
|
17
|
-
MarkArcLine._animate && MarkArcLine._animate(this._line, this._label, this._animationConfig, state);
|
|
18
|
-
}
|
|
19
|
-
constructor(attributes, options) {
|
|
20
|
-
super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, MarkArcLine.defaultAttributes, attributes)),
|
|
21
|
-
this.name = "markArcLine";
|
|
22
|
-
}
|
|
23
|
-
getPointAttrByPosition(direction) {
|
|
24
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
25
|
-
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, label: label} = this.attribute, {refX: refX = 0, refY: refY = 0} = label, labelRectHeight = Math.abs((null !== (_c = null === (_b = null === (_a = this._label.getTextShape()) || void 0 === _a ? void 0 : _a.AABBBounds) || void 0 === _b ? void 0 : _b.y2) && void 0 !== _c ? _c : 0) - (null !== (_e = null === (_d = this._label.getTextShape()) || void 0 === _d ? void 0 : _d.AABBBounds.y1) && void 0 !== _e ? _e : 0)), labelTextHeight = Math.abs((null !== (_h = null === (_g = null === (_f = this._label.getBgRect()) || void 0 === _f ? void 0 : _f.AABBBounds) || void 0 === _g ? void 0 : _g.y2) && void 0 !== _h ? _h : 0) - (null !== (_k = null === (_j = this._label.getBgRect()) || void 0 === _j ? void 0 : _j.AABBBounds.y1) && void 0 !== _k ? _k : 0)), labelHeight = Math.max(labelRectHeight, labelTextHeight);
|
|
26
|
-
let angle, orthogonalOffsetDirection;
|
|
27
|
-
switch (direction) {
|
|
28
|
-
case type_1.IMarkCommonArcLabelPosition.center:
|
|
29
|
-
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 0;
|
|
30
|
-
break;
|
|
31
|
-
|
|
32
|
-
case type_1.IMarkCommonArcLabelPosition.arcInnerStart:
|
|
33
|
-
angle = startAngle, orthogonalOffsetDirection = -1;
|
|
34
|
-
break;
|
|
35
|
-
|
|
36
|
-
case type_1.IMarkCommonArcLabelPosition.arcOuterStart:
|
|
37
|
-
angle = startAngle, orthogonalOffsetDirection = 1;
|
|
38
|
-
break;
|
|
39
|
-
|
|
40
|
-
case type_1.IMarkCommonArcLabelPosition.arcInnerEnd:
|
|
41
|
-
angle = endAngle, orthogonalOffsetDirection = -1;
|
|
42
|
-
break;
|
|
43
|
-
|
|
44
|
-
case type_1.IMarkCommonArcLabelPosition.arcOuterEnd:
|
|
45
|
-
angle = endAngle, orthogonalOffsetDirection = 1;
|
|
46
|
-
break;
|
|
47
|
-
|
|
48
|
-
case type_1.IMarkCommonArcLabelPosition.arcInnerMiddle:
|
|
49
|
-
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
|
|
50
|
-
break;
|
|
51
|
-
|
|
52
|
-
case type_1.IMarkCommonArcLabelPosition.arcOuterMiddle:
|
|
53
|
-
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = 1;
|
|
54
|
-
break;
|
|
55
|
-
|
|
56
|
-
default:
|
|
57
|
-
angle = (startAngle + endAngle) / 2, orthogonalOffsetDirection = -1;
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
position: {
|
|
61
|
-
x: center.x + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.cos(angle) + refX * Math.cos(angle - Math.PI / 2),
|
|
62
|
-
y: center.y + (radius + orthogonalOffsetDirection * labelHeight / 2 + refY) * Math.sin(angle) + refX * Math.sin(angle - Math.PI / 2)
|
|
63
|
-
},
|
|
64
|
-
angle: angle
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
getRotateByAngle(angle) {
|
|
68
|
-
var _a;
|
|
69
|
-
return angle - Math.PI / 2 + (null !== (_a = this.attribute.label.refAngle) && void 0 !== _a ? _a : 0);
|
|
70
|
-
}
|
|
71
|
-
createSegment() {
|
|
72
|
-
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, state: state} = this.attribute;
|
|
73
|
-
return new segment_1.ArcSegment({
|
|
74
|
-
center: center,
|
|
75
|
-
radius: radius,
|
|
76
|
-
startAngle: startAngle,
|
|
77
|
-
endAngle: endAngle,
|
|
78
|
-
startSymbol: startSymbol,
|
|
79
|
-
endSymbol: endSymbol,
|
|
80
|
-
lineStyle: lineStyle,
|
|
81
|
-
state: {
|
|
82
|
-
line: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.line),
|
|
83
|
-
startSymbol: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.lineStartSymbol),
|
|
84
|
-
endSymbol: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.lineEndSymbol)
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
setLineAttributes() {
|
|
89
|
-
const {center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle} = this.attribute;
|
|
90
|
-
this._line && this._line.setAttributes({
|
|
91
|
-
center: center,
|
|
92
|
-
radius: radius,
|
|
93
|
-
startAngle: startAngle,
|
|
94
|
-
endAngle: endAngle,
|
|
95
|
-
startSymbol: startSymbol,
|
|
96
|
-
endSymbol: endSymbol,
|
|
97
|
-
lineStyle: lineStyle
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
isValidPoints() {
|
|
101
|
-
return !0;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
exports.MarkArcLine = MarkArcLine, MarkArcLine.defaultAttributes = config_1.DEFAULT_MARK_ARC_LINE_THEME;
|
|
106
|
-
//# sourceMappingURL=arc-line.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/arc-line.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,wCAAwC;AACxC,yCAAsD;AACtD,0CAA6C;AAC7C,+CAA+C;AAG/C,iCAAqD;AAGrD,qCAAuD;AACvD,+CAA0D;AAE1D,IAAA,mCAAwB,GAAE,CAAC;AAE3B,SAAgB,0BAA0B;IACxC,WAAW,CAAC,QAAQ,GAAG,+BAAqB,CAAC;AAC/C,CAAC;AAFD,gEAEC;AACD,MAAa,WAAY,SAAQ,4BAAiE;IAMtF,aAAa,CAAC,KAA2B;QACjD,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SAC7E;IACH,CAAC;IAED,YAAY,UAA4B,EAAE,OAA0B;QAClE,KAAK,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,WAAW,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;QAZlG,SAAI,GAAG,aAAa,CAAC;IAarB,CAAC;IAES,sBAAsB,CAAC,SAAsC;;QACrE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAA6B,CAAC;QAC3F,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,0CAAE,UAAU,0CAAE,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,0CAAE,UAAU,CAAC,EAAE,mCAAI,CAAC,CAAC,CACrG,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,0CAAE,UAAU,0CAAE,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,0CAAE,UAAU,CAAC,EAAE,mCAAI,CAAC,CAAC,CAC/F,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE/D,IAAI,KAAK,CAAC;QAGV,IAAI,yBAAyB,CAAC;QAE9B,QAAQ,SAAS,EAAE;YACjB,KAAK,kCAA2B,CAAC,MAAM;gBACrC,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,kCAA2B,CAAC,aAAa;gBAC5C,KAAK,GAAG,UAAU,CAAC;gBACnB,yBAAyB,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,kCAA2B,CAAC,aAAa;gBAC5C,KAAK,GAAG,UAAU,CAAC;gBACnB,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,kCAA2B,CAAC,WAAW;gBAC1C,KAAK,GAAG,QAAQ,CAAC;gBACjB,yBAAyB,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,kCAA2B,CAAC,WAAW;gBAC1C,KAAK,GAAG,QAAQ,CAAC;gBACjB,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,kCAA2B,CAAC,cAAc;gBAC7C,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,kCAA2B,CAAC,cAAc;gBAC7C,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACR;gBACE,KAAK,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,yBAAyB,GAAG,CAAC,CAAC,CAAC;SAClC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,EACC,MAAM,CAAC,CAAC;oBACR,CAAC,MAAM,GAAG,CAAC,yBAAyB,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBACjF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtC,CAAC,EACC,MAAM,CAAC,CAAC;oBACR,CAAC,MAAM,GAAG,CAAC,yBAAyB,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBACjF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACvC;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IAES,gBAAgB,CAAC,KAAa;;QACtC,OAAO,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAES,aAAa;QACrB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI;aAC5F,SAA6B,CAAC;QACjC,OAAO,IAAI,oBAAU,CAAC;YACpB,MAAM;YACN,MAAM;YACN,UAAU;YACV,QAAQ;YACR,WAAW;YACX,SAAS;YACT,SAAS;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC;gBAC5C,WAAW,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;gBAC9D,SAAS,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,CAAC;aAC3D;SACF,CAAC,CAAC;IACL,CAAC;IAES,iBAAiB;QACzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;aACrF,SAA6B,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,KAAa,CAAC,aAAa,CAAC;gBAChC,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,SAAS;aACV,CAAC,CAAC;SACJ;IACH,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;;AA1HH,kCA2HC;AAxHQ,6BAAiB,GAA8B,oCAA0D,CAAC","file":"arc-line.js","sourcesContent":["import { 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 } from '@visactor/vrender-core';\nimport { IMarkCommonArcLabelPosition } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { MarkArcLineAttrs, MarkerAnimationState } from './type';\nimport { DEFAULT_MARK_ARC_LINE_THEME } from './config';\nimport { commonMarkLineAnimate } from './animate/animate';\n\nloadMarkArcLineComponent();\n\nexport function registerMarkArcLineAnimate() {\n MarkArcLine._animate = commonMarkLineAnimate;\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) {\n MarkArcLine._animate(this._line, this._label, this._animationConfig, state);\n }\n }\n\n constructor(attributes: MarkArcLineAttrs, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, MarkArcLine.defaultAttributes, attributes));\n }\n\n protected getPointAttrByPosition(direction: IMarkCommonArcLabelPosition) {\n const { center, radius, startAngle, endAngle, label } = this.attribute as MarkArcLineAttrs;\n const { refX = 0, refY = 0 } = label;\n const labelRectHeight = Math.abs(\n (this._label.getTextShape()?.AABBBounds?.y2 ?? 0) - (this._label.getTextShape()?.AABBBounds.y1 ?? 0)\n );\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 IMarkCommonArcLabelPosition.center:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = 0;\n break;\n case IMarkCommonArcLabelPosition.arcInnerStart:\n angle = startAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterStart:\n angle = startAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerEnd:\n angle = endAngle;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.arcOuterEnd:\n angle = endAngle;\n orthogonalOffsetDirection = 1;\n break;\n case IMarkCommonArcLabelPosition.arcInnerMiddle:\n angle = (startAngle + endAngle) / 2;\n orthogonalOffsetDirection = -1;\n break;\n case IMarkCommonArcLabelPosition.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 getRotateByAngle(angle: number): number {\n return angle - Math.PI / 2 + (this.attribute.label.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 } = 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 });\n }\n }\n\n protected isValidPoints() {\n return true;\n }\n}\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { IGroup } from '@visactor/vrender-core';
|
|
2
|
-
import type { ArcSegment, Segment } from '../segment';
|
|
3
|
-
import { Tag } from '../tag';
|
|
4
|
-
import type { CommonMarkLineAnimationType, CommonMarkLineAttrs, MarkerAnimationState, MarkerExitAnimation } from './type';
|
|
5
|
-
import { Marker } from './base';
|
|
6
|
-
export declare abstract class MarkCommonLine<LineAttr, LabelPosition> extends Marker<CommonMarkLineAttrs<LineAttr, LabelPosition, CommonMarkLineAnimationType>, CommonMarkLineAnimationType> {
|
|
7
|
-
name: string;
|
|
8
|
-
static _animate?: (line: Segment | ArcSegment, label: Tag, animationConfig: any, state: MarkerAnimationState) => void;
|
|
9
|
-
defaultUpdateAnimation: never;
|
|
10
|
-
defaultExitAnimation: MarkerExitAnimation;
|
|
11
|
-
protected _line: Segment | ArcSegment;
|
|
12
|
-
protected abstract createSegment(): any;
|
|
13
|
-
protected abstract setLineAttributes(): any;
|
|
14
|
-
protected abstract getPointAttrByPosition(position: any): any;
|
|
15
|
-
protected abstract getRotateByAngle(angle: number): number;
|
|
16
|
-
protected abstract markerAnimate(state: MarkerAnimationState): void;
|
|
17
|
-
getLine(): Segment | ArcSegment;
|
|
18
|
-
getLabel(): Tag;
|
|
19
|
-
protected setLabelPos(): void;
|
|
20
|
-
protected initMarker(container: IGroup): void;
|
|
21
|
-
protected updateMarker(): void;
|
|
22
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.MarkCommonLine = void 0;
|
|
6
|
-
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), tag_1 = require("../tag"), limit_shape_1 = require("../util/limit-shape"), constant_1 = require("../constant"), base_1 = require("./base"), animate_1 = require("./animate/animate");
|
|
8
|
-
|
|
9
|
-
class MarkCommonLine extends base_1.Marker {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments), this.name = "markCommonLine", this.defaultUpdateAnimation = animate_1.DefaultUpdateMarkLineAnimation,
|
|
12
|
-
this.defaultExitAnimation = animate_1.DefaultExitMarkerAnimation;
|
|
13
|
-
}
|
|
14
|
-
getLine() {
|
|
15
|
-
return this._line;
|
|
16
|
-
}
|
|
17
|
-
getLabel() {
|
|
18
|
-
return this._label;
|
|
19
|
-
}
|
|
20
|
-
setLabelPos() {
|
|
21
|
-
const {label: label = {}, limitRect: limitRect} = this.attribute, {position: position, confine: confine, autoRotate: autoRotate = !0} = label, labelPoint = this.getPointAttrByPosition(position);
|
|
22
|
-
if (this._label.setAttributes(Object.assign(Object.assign({}, labelPoint.position), {
|
|
23
|
-
angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0
|
|
24
|
-
})), limitRect && confine) {
|
|
25
|
-
const {x: x, y: y, width: width, height: height} = limitRect;
|
|
26
|
-
(0, limit_shape_1.limitShapeInBounds)(this._label, {
|
|
27
|
-
x1: x,
|
|
28
|
-
y1: y,
|
|
29
|
-
x2: x + width,
|
|
30
|
-
y2: y + height
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
initMarker(container) {
|
|
35
|
-
const {label: label, state: state} = this.attribute, line = this.createSegment();
|
|
36
|
-
line.name = "mark-common-line-line", this._line = line, container.add(line);
|
|
37
|
-
const markLabel = new tag_1.Tag(Object.assign(Object.assign({}, label), {
|
|
38
|
-
state: {
|
|
39
|
-
panel: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.labelBackground),
|
|
40
|
-
text: (0, vutils_1.merge)({}, constant_1.DEFAULT_STATES, null == state ? void 0 : state.label)
|
|
41
|
-
}
|
|
42
|
-
}));
|
|
43
|
-
markLabel.name = "mark-common-line-label", this._label = markLabel, container.add(markLabel),
|
|
44
|
-
this.setLabelPos();
|
|
45
|
-
}
|
|
46
|
-
updateMarker() {
|
|
47
|
-
const {label: label} = this.attribute;
|
|
48
|
-
this.setLineAttributes(), this._label && this._label.setAttributes(Object.assign({
|
|
49
|
-
dx: 0,
|
|
50
|
-
dy: 0
|
|
51
|
-
}, label)), this.setLabelPos();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
exports.MarkCommonLine = MarkCommonLine;
|
|
56
|
-
//# sourceMappingURL=common-line.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/marker/common-line.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AAIzC,gCAA6B;AAO7B,qDAAyD;AACzD,0CAA6C;AAC7C,iCAAgC;AAChC,+CAA+F;AAE/F,MAAsB,cAAwC,SAAQ,aAGrE;IAHD;;QAIE,SAAI,GAAG,gBAAgB,CAAC;QAIxB,2BAAsB,GAAG,wCAA8B,CAAC;QACxD,yBAAoB,GAAG,oCAA0B,CAAC;IA0EpD,CAAC;IAjEC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,WAAW;QACnB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACjD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,iCACpB,UAAU,CAAC,QAAQ,KACtB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAC/D,CAAC;QACH,IAAI,SAAS,IAAI,OAAO,EAAE;YACxB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;YAC1C,IAAA,gCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE;gBAC9B,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC,GAAG,KAAK;gBACb,EAAE,EAAE,CAAC,GAAG,MAAM;aACf,CAAC,CAAC;SACJ;IACH,CAAC;IAES,UAAU,CAAC,SAAiB;QACpC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAI7B,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,SAAS,CAAC,GAAG,CAAC,IAAwB,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,SAAG,iCACnB,KAAuB,KAC3B,KAAK,EAAE;gBACL,KAAK,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;gBACxD,IAAI,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,yBAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;aAC9C,IACD,CAAC;QACH,SAAS,CAAC,IAAI,GAAG,wBAAwB,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,SAAS,CAAC,GAAG,CAAC,SAA6B,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAES,YAAY;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAsF,CAAC;QAE9G,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,aAAa,iBACvB,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,IACD,KAAuB,EAC3B,CAAC;SACJ;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;CACF;AAnFD,wCAmFC","file":"common-line.js","sourcesContent":["import type { IGroup, INode } from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport type { ArcSegment, Segment } from '../segment';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport type {\n CommonMarkLineAnimationType,\n CommonMarkLineAttrs,\n MarkerAnimationState,\n MarkerExitAnimation\n} from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport { DEFAULT_STATES } from '../constant';\nimport { Marker } from './base';\nimport { DefaultExitMarkerAnimation, DefaultUpdateMarkLineAnimation } from './animate/animate';\n\nexport abstract class MarkCommonLine<LineAttr, LabelPosition> extends Marker<\n CommonMarkLineAttrs<LineAttr, LabelPosition, CommonMarkLineAnimationType>,\n CommonMarkLineAnimationType\n> {\n name = 'markCommonLine';\n\n /** animate */\n static _animate?: (line: Segment | ArcSegment, label: Tag, animationConfig: any, state: MarkerAnimationState) => void;\n defaultUpdateAnimation = DefaultUpdateMarkLineAnimation;\n defaultExitAnimation = DefaultExitMarkerAnimation;\n\n protected _line!: Segment | ArcSegment;\n protected abstract createSegment(): any;\n protected abstract setLineAttributes(): any;\n protected abstract getPointAttrByPosition(position: any): any;\n protected abstract getRotateByAngle(angle: number): number;\n protected abstract markerAnimate(state: MarkerAnimationState): void;\n\n getLine() {\n return this._line;\n }\n getLabel() {\n return this._label;\n }\n\n protected setLabelPos() {\n const { label = {}, limitRect } = this.attribute;\n const { position, confine, autoRotate = true } = label;\n const labelPoint = this.getPointAttrByPosition(position);\n this._label.setAttributes({\n ...labelPoint.position,\n angle: autoRotate ? this.getRotateByAngle(labelPoint.angle) : 0\n });\n if (limitRect && confine) {\n const { x, y, width, height } = limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n\n protected initMarker(container: IGroup) {\n const { label, state } = this.attribute as CommonMarkLineAttrs<\n LineAttr,\n LabelPosition,\n CommonMarkLineAnimationType\n >;\n const line = this.createSegment();\n line.name = 'mark-common-line-line';\n this._line = line;\n container.add(line as unknown as INode);\n\n const markLabel = new Tag({\n ...(label as TagAttributes),\n state: {\n panel: merge({}, DEFAULT_STATES, state?.labelBackground),\n text: merge({}, DEFAULT_STATES, state?.label)\n }\n });\n markLabel.name = 'mark-common-line-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { label } = this.attribute as CommonMarkLineAttrs<LineAttr, LabelPosition, CommonMarkLineAnimationType>;\n\n this.setLineAttributes();\n\n if (this._label) {\n this._label.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...(label as TagAttributes)\n });\n }\n\n this.setLabelPos();\n }\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { IArc } from '@visactor/vrender-core';
|
|
2
|
-
import type { ArcSegmentAttributes } from './type';
|
|
3
|
-
import type { Point } from '../core/type';
|
|
4
|
-
import type { ComponentOptions } from '../interface';
|
|
5
|
-
import { Segment } from './segment';
|
|
6
|
-
export declare class ArcSegment extends Segment {
|
|
7
|
-
name: string;
|
|
8
|
-
line?: IArc;
|
|
9
|
-
constructor(attributes: ArcSegmentAttributes, options?: ComponentOptions);
|
|
10
|
-
getMainSegmentPoints(): Point[];
|
|
11
|
-
protected _computeRotate(angle: number): number;
|
|
12
|
-
protected render(): void;
|
|
13
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.ArcSegment = void 0;
|
|
6
|
-
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), register_1 = require("./register"), segment_1 = require("./segment");
|
|
8
|
-
|
|
9
|
-
(0, register_1.loadArcSegmentComponent)();
|
|
10
|
-
|
|
11
|
-
class ArcSegment extends segment_1.Segment {
|
|
12
|
-
constructor(attributes, options) {
|
|
13
|
-
super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, segment_1.Segment.defaultAttributes, attributes)),
|
|
14
|
-
this.name = "arc-segment";
|
|
15
|
-
}
|
|
16
|
-
getMainSegmentPoints() {
|
|
17
|
-
return this._mainSegmentPoints;
|
|
18
|
-
}
|
|
19
|
-
_computeRotate(angle) {
|
|
20
|
-
return angle + Math.PI;
|
|
21
|
-
}
|
|
22
|
-
render() {
|
|
23
|
-
this.removeAllChild(!0), this._reset();
|
|
24
|
-
const {startSymbol: startSymbol, endSymbol: endSymbol, lineStyle: lineStyle, state: state, visible: visible = !0, radius: radius, startAngle: startAngle, endAngle: endAngle, center: center} = this.attribute;
|
|
25
|
-
if (!visible) return;
|
|
26
|
-
this._startAngle = startAngle, this._endAngle = endAngle;
|
|
27
|
-
const startPoint = {
|
|
28
|
-
x: center.x + radius * Math.cos(this._startAngle),
|
|
29
|
-
y: center.y + radius * Math.sin(this._startAngle)
|
|
30
|
-
}, endPoint = {
|
|
31
|
-
x: center.x + radius * Math.cos(this._endAngle),
|
|
32
|
-
y: center.y + radius * Math.sin(this._endAngle)
|
|
33
|
-
};
|
|
34
|
-
this._mainSegmentPoints = [ startPoint, endPoint ];
|
|
35
|
-
const startSymbolShape = this._renderSymbol(startSymbol, this._mainSegmentPoints, "start"), endSymbolShape = this._renderSymbol(endSymbol, this._mainSegmentPoints, "end");
|
|
36
|
-
this.startSymbol = startSymbolShape, this.endSymbol = endSymbolShape;
|
|
37
|
-
const line = vrender_core_1.graphicCreator.arc(Object.assign({
|
|
38
|
-
x: center.x,
|
|
39
|
-
y: center.y,
|
|
40
|
-
startAngle: startAngle,
|
|
41
|
-
endAngle: endAngle,
|
|
42
|
-
innerRadius: radius,
|
|
43
|
-
outerRadius: radius
|
|
44
|
-
}, lineStyle));
|
|
45
|
-
line.name = `${this.name}-line`, line.id = this._getNodeId("arc"), (0, vutils_1.isEmpty)(null == state ? void 0 : state.line) || (line.states = [].concat(state.line)[0]),
|
|
46
|
-
this.add(line), this.line = line;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
exports.ArcSegment = ArcSegment;
|
|
51
|
-
//# sourceMappingURL=arc-segment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/segment/arc-segment.ts"],"names":[],"mappings":"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","file":"arc-segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { isEmpty, merge } from '@visactor/vutils';\nimport type { IArc } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { ArcSegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\nimport { loadArcSegmentComponent } from './register';\nimport { Segment } from './segment';\n\nloadArcSegmentComponent();\nexport class ArcSegment extends Segment {\n name = 'arc-segment';\n line?: IArc;\n\n constructor(attributes: ArcSegmentAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Segment.defaultAttributes, attributes));\n }\n\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n protected _computeRotate(angle: number) {\n return angle + Math.PI;\n }\n\n protected render() {\n this.removeAllChild(true);\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n radius,\n startAngle,\n endAngle,\n center\n } = this.attribute as ArcSegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n\n // 绘制start和end symbol\n const startPoint: Point = {\n x: center.x + radius * Math.cos(this._startAngle),\n y: center.y + radius * Math.sin(this._startAngle)\n };\n const endPoint: Point = {\n x: center.x + radius * Math.cos(this._endAngle),\n y: center.y + radius * Math.sin(this._endAngle)\n };\n this._mainSegmentPoints = [startPoint, endPoint];\n\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, this._mainSegmentPoints, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, this._mainSegmentPoints, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n const line = graphicCreator.arc({\n x: center.x,\n y: center.y,\n startAngle,\n endAngle,\n innerRadius: radius,\n outerRadius: radius,\n ...lineStyle\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('arc');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n this.line = line;\n }\n}\n"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { FederatedPointerEvent, IGraphic, IGroup } from '@visactor/vrender-core';
|
|
2
|
-
export declare const dispatchHoverState: (e: FederatedPointerEvent, container: IGroup, lastHover: IGraphic | null) => IGraphic<Partial<import("@visactor/vrender-core").IGraphicAttribute>>;
|
|
3
|
-
export declare const dispatchUnHoverState: (e: FederatedPointerEvent, container: IGroup, lastHover: IGraphic | null) => IGraphic<Partial<import("@visactor/vrender-core").IGraphicAttribute>>;
|
|
4
|
-
export declare const dispatchClickState: (e: FederatedPointerEvent, container: IGroup, lastSelect: IGraphic | null) => IGraphic<Partial<import("@visactor/vrender-core").IGraphicAttribute>>;
|
package/cjs/util/interaction.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.dispatchClickState = exports.dispatchUnHoverState = exports.dispatchHoverState = void 0;
|
|
6
|
-
|
|
7
|
-
const constant_1 = require("../constant"), util_1 = require("../util"), vutils_1 = require("@visactor/vutils"), dispatchHoverState = (e, container, lastHover) => {
|
|
8
|
-
const target = e.target;
|
|
9
|
-
return target !== lastHover && target.name && !(0, vutils_1.isEmpty)(target.states) ? (target.addState(constant_1.StateValue.hover, !0),
|
|
10
|
-
(0, util_1.traverseGroup)(container, (node => {
|
|
11
|
-
node !== target && node.name && !(0, vutils_1.isEmpty)(node.states) && node.addState(constant_1.StateValue.hoverReverse, !0);
|
|
12
|
-
})), target) : lastHover;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
exports.dispatchHoverState = dispatchHoverState;
|
|
16
|
-
|
|
17
|
-
const dispatchUnHoverState = (e, container, lastHover) => lastHover ? ((0, util_1.traverseGroup)(container, (node => {
|
|
18
|
-
node.name && !(0, vutils_1.isEmpty)(node.states) && (node.removeState(constant_1.StateValue.hoverReverse),
|
|
19
|
-
node.removeState(constant_1.StateValue.hover));
|
|
20
|
-
})), null) : lastHover;
|
|
21
|
-
|
|
22
|
-
exports.dispatchUnHoverState = dispatchUnHoverState;
|
|
23
|
-
|
|
24
|
-
const dispatchClickState = (e, container, lastSelect) => {
|
|
25
|
-
const target = e.target;
|
|
26
|
-
return lastSelect === target && target.hasState(constant_1.StateValue.selected) ? ((0,
|
|
27
|
-
util_1.traverseGroup)(container, (node => {
|
|
28
|
-
node.name && !(0, vutils_1.isEmpty)(node.states) && (node.removeState(constant_1.StateValue.selectedReverse),
|
|
29
|
-
node.removeState(constant_1.StateValue.selected));
|
|
30
|
-
})), null) : target.name && !(0, vutils_1.isEmpty)(target.states) ? (target.addState(constant_1.StateValue.selected, !0),
|
|
31
|
-
(0, util_1.traverseGroup)(container, (node => {
|
|
32
|
-
node !== target && node.name && !(0, vutils_1.isEmpty)(node.states) && node.addState(constant_1.StateValue.selectedReverse, !0);
|
|
33
|
-
})), target) : lastSelect;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
exports.dispatchClickState = dispatchClickState;
|
|
37
|
-
//# sourceMappingURL=interaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/interaction.ts"],"names":[],"mappings":";;;AACA,0CAAyC;AACzC,kCAAwC;AACxC,6CAA2C;AAEpC,MAAM,kBAAkB,GAAG,CAAC,CAAwB,EAAE,SAAiB,EAAE,SAA0B,EAAE,EAAE;IAC5G,MAAM,MAAM,GAAG,CAAC,CAAC,MAA6B,CAAC;IAC/C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAClE,MAAM,CAAC,QAAQ,CAAC,qBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,IAAA,oBAAa,EAAC,SAAS,EAAE,CAAC,IAAc,EAAE,EAAE;YAC1C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACzD,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;KACf;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEK,MAAM,oBAAoB,GAAG,CAAC,CAAwB,EAAE,SAAiB,EAAE,SAA0B,EAAE,EAAE;IAC9G,IAAI,SAAS,EAAE;QACb,IAAA,oBAAa,EAAC,SAAS,EAAE,CAAC,IAAc,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACtC,IAAI,CAAC,WAAW,CAAC,qBAAU,CAAC,YAAY,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,qBAAU,CAAC,KAAK,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACb;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B;AAEK,MAAM,kBAAkB,GAAG,CAAC,CAAwB,EAAE,SAAiB,EAAE,UAA2B,EAAE,EAAE;IAC7G,MAAM,MAAM,GAAG,CAAC,CAAC,MAA6B,CAAC;IAC/C,IAAI,UAAU,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAU,CAAC,QAAQ,CAAC,EAAE;QACjE,IAAA,oBAAa,EAAC,SAAS,EAAE,CAAC,IAAc,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACtC,IAAI,CAAC,WAAW,CAAC,qBAAU,CAAC,eAAe,CAAC,CAAC;gBAC7C,IAAI,CAAC,WAAW,CAAC,qBAAU,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;KACb;IAED,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC1C,MAAM,CAAC,QAAQ,CAAC,qBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAA,oBAAa,EAAC,SAAS,EAAE,CAAC,IAAc,EAAE,EAAE;YAC1C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACzD,IAAI,CAAC,QAAQ,CAAC,qBAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;KACf;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAvBW,QAAA,kBAAkB,sBAuB7B","file":"interaction.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IGroup } from '@visactor/vrender-core';\nimport { StateValue } from '../constant';\nimport { traverseGroup } from '../util';\nimport { isEmpty } from '@visactor/vutils';\n\nexport const dispatchHoverState = (e: FederatedPointerEvent, container: IGroup, lastHover: IGraphic | null) => {\n const target = e.target as unknown as IGraphic;\n if (target !== lastHover && target.name && !isEmpty(target.states)) {\n target.addState(StateValue.hover, true);\n traverseGroup(container, (node: IGraphic) => {\n if (node !== target && node.name && !isEmpty(node.states)) {\n node.addState(StateValue.hoverReverse, true);\n }\n });\n return target;\n }\n return lastHover;\n};\n\nexport const dispatchUnHoverState = (e: FederatedPointerEvent, container: IGroup, lastHover: IGraphic | null) => {\n if (lastHover) {\n traverseGroup(container, (node: IGraphic) => {\n if (node.name && !isEmpty(node.states)) {\n node.removeState(StateValue.hoverReverse);\n node.removeState(StateValue.hover);\n }\n });\n return null;\n }\n return lastHover;\n};\n\nexport const dispatchClickState = (e: FederatedPointerEvent, container: IGroup, lastSelect: IGraphic | null) => {\n const target = e.target as unknown as IGraphic;\n if (lastSelect === target && target.hasState(StateValue.selected)) {\n traverseGroup(container, (node: IGraphic) => {\n if (node.name && !isEmpty(node.states)) {\n node.removeState(StateValue.selectedReverse);\n node.removeState(StateValue.selected);\n }\n });\n // 取消选中\n return null;\n }\n\n if (target.name && !isEmpty(target.states)) {\n target.addState(StateValue.selected, true);\n traverseGroup(container, (node: IGraphic) => {\n if (node !== target && node.name && !isEmpty(node.states)) {\n node.addState(StateValue.selectedReverse, true);\n }\n });\n return target;\n }\n return lastSelect;\n};\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { IRichText, ISymbol, IImage, IArc } from '@visactor/vrender-core';
|
|
2
|
-
import type { ILine, IPolygon } from '@visactor/vrender-core';
|
|
3
|
-
import type { ArcSegment, Segment } from '../../segment';
|
|
4
|
-
import type { Tag } from '../../tag';
|
|
5
|
-
import type { CommonMarkAreaAnimationType, CommonMarkLineAnimationType, MarkPointAnimationType, MarkerAnimationState, MarkerExitAnimation, MarkerUpdateAnimation } from '../type';
|
|
6
|
-
export declare function commonMarkLineAnimate(line: Segment | ArcSegment, label: Tag, animationconfig: any, state: MarkerAnimationState): void;
|
|
7
|
-
export declare function markAreaAnimate(area: IPolygon, label: Tag, animationconfig: any, state: MarkerAnimationState): void;
|
|
8
|
-
export declare function markArcAreaAnimate(area: IArc, label: Tag, animationconfig: any, state: MarkerAnimationState): void;
|
|
9
|
-
export declare function markPointAnimate(lines: [Segment, ILine], item: Tag | IRichText | ISymbol | IImage, animationconfig: any, state: MarkerAnimationState): void;
|
|
10
|
-
export declare const DefaultUpdateMarkLineAnimation: MarkerUpdateAnimation<CommonMarkLineAnimationType>;
|
|
11
|
-
export declare const DefaultUpdateMarkAreaAnimation: MarkerUpdateAnimation<CommonMarkAreaAnimationType>;
|
|
12
|
-
export declare const DefaultUpdateMarkPointAnimation: MarkerUpdateAnimation<MarkPointAnimationType>;
|
|
13
|
-
export declare const DefaultExitMarkerAnimation: MarkerExitAnimation;
|