@plait/draw 0.1.0-next.10
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/README.md +3 -0
- package/constants/geometry.d.ts +27 -0
- package/constants/index.d.ts +2 -0
- package/constants/line.d.ts +4 -0
- package/constants/pointer.d.ts +10 -0
- package/esm2020/constants/geometry.mjs +29 -0
- package/esm2020/constants/index.mjs +3 -0
- package/esm2020/constants/line.mjs +5 -0
- package/esm2020/constants/pointer.mjs +19 -0
- package/esm2020/generators/geometry-shape.generator.mjs +23 -0
- package/esm2020/generators/line-active.generator.mjs +36 -0
- package/esm2020/generators/line.generator.mjs +22 -0
- package/esm2020/geometry.component.mjs +130 -0
- package/esm2020/interfaces/element.mjs +6 -0
- package/esm2020/interfaces/geometry.mjs +23 -0
- package/esm2020/interfaces/index.mjs +25 -0
- package/esm2020/interfaces/line.mjs +48 -0
- package/esm2020/interfaces/text.mjs +2 -0
- package/esm2020/line.component.mjs +152 -0
- package/esm2020/plait-draw.mjs +5 -0
- package/esm2020/plugins/with-draw-fragment.mjs +52 -0
- package/esm2020/plugins/with-draw-hotkey.mjs +33 -0
- package/esm2020/plugins/with-draw.mjs +73 -0
- package/esm2020/plugins/with-geometry-create.mjs +160 -0
- package/esm2020/plugins/with-geometry-resize.mjs +73 -0
- package/esm2020/plugins/with-line-bound-reaction.mjs +43 -0
- package/esm2020/plugins/with-line-create.mjs +66 -0
- package/esm2020/plugins/with-line-resize.mjs +52 -0
- package/esm2020/plugins/with-line-text.mjs +55 -0
- package/esm2020/public-api.mjs +8 -0
- package/esm2020/transforms/geometry-text.mjs +54 -0
- package/esm2020/transforms/geometry.mjs +31 -0
- package/esm2020/transforms/index.mjs +15 -0
- package/esm2020/transforms/line.mjs +23 -0
- package/esm2020/utils/clipboard.mjs +53 -0
- package/esm2020/utils/engine/diamond.mjs +22 -0
- package/esm2020/utils/engine/ellipse.mjs +55 -0
- package/esm2020/utils/engine/index.mjs +18 -0
- package/esm2020/utils/engine/parallelogram.mjs +32 -0
- package/esm2020/utils/engine/rectangle.mjs +18 -0
- package/esm2020/utils/engine/round-rectangle.mjs +49 -0
- package/esm2020/utils/geometry.mjs +84 -0
- package/esm2020/utils/index.mjs +5 -0
- package/esm2020/utils/line-arrow.mjs +89 -0
- package/esm2020/utils/line.mjs +169 -0
- package/esm2020/utils/position/geometry.mjs +28 -0
- package/esm2020/utils/position/line.mjs +34 -0
- package/esm2020/utils/selected.mjs +15 -0
- package/esm2020/utils/style/index.mjs +2 -0
- package/esm2020/utils/style/stroke.mjs +24 -0
- package/fesm2015/plait-draw.mjs +1765 -0
- package/fesm2015/plait-draw.mjs.map +1 -0
- package/fesm2020/plait-draw.mjs +1786 -0
- package/fesm2020/plait-draw.mjs.map +1 -0
- package/generators/geometry-shape.generator.d.ts +8 -0
- package/generators/line-active.generator.d.ts +9 -0
- package/generators/line.generator.d.ts +8 -0
- package/geometry.component.d.ts +27 -0
- package/index.d.ts +5 -0
- package/interfaces/element.d.ts +4 -0
- package/interfaces/geometry.d.ts +44 -0
- package/interfaces/index.d.ts +14 -0
- package/interfaces/line.d.ts +59 -0
- package/interfaces/text.d.ts +5 -0
- package/line.component.d.ts +36 -0
- package/package.json +31 -0
- package/plugins/with-draw-fragment.d.ts +2 -0
- package/plugins/with-draw-hotkey.d.ts +2 -0
- package/plugins/with-draw.d.ts +2 -0
- package/plugins/with-geometry-create.d.ts +3 -0
- package/plugins/with-geometry-resize.d.ts +2 -0
- package/plugins/with-line-bound-reaction.d.ts +2 -0
- package/plugins/with-line-create.d.ts +2 -0
- package/plugins/with-line-resize.d.ts +2 -0
- package/plugins/with-line-text.d.ts +2 -0
- package/public-api.d.ts +7 -0
- package/styles/styles.scss +16 -0
- package/transforms/geometry-text.d.ts +5 -0
- package/transforms/geometry.d.ts +6 -0
- package/transforms/index.d.ts +11 -0
- package/transforms/line.d.ts +6 -0
- package/utils/clipboard.d.ts +4 -0
- package/utils/engine/diamond.d.ts +2 -0
- package/utils/engine/ellipse.d.ts +4 -0
- package/utils/engine/index.d.ts +3 -0
- package/utils/engine/parallelogram.d.ts +4 -0
- package/utils/engine/rectangle.d.ts +2 -0
- package/utils/engine/round-rectangle.d.ts +5 -0
- package/utils/geometry.d.ts +16 -0
- package/utils/index.d.ts +4 -0
- package/utils/line-arrow.d.ts +4 -0
- package/utils/line.d.ts +17 -0
- package/utils/position/geometry.d.ts +13 -0
- package/utils/position/line.d.ts +10 -0
- package/utils/selected.d.ts +5 -0
- package/utils/style/index.d.ts +1 -0
- package/utils/style/stroke.d.ts +6 -0
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const ShapeDefaultSpace: {
|
|
2
|
+
rectangleAndText: number;
|
|
3
|
+
};
|
|
4
|
+
export declare const DefaultGeometryStyle: {
|
|
5
|
+
strokeWidth: number;
|
|
6
|
+
defaultRadius: number;
|
|
7
|
+
strokeColor: string;
|
|
8
|
+
fill: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const DefaultGeometryActiveStyle: {
|
|
11
|
+
strokeWidth: number;
|
|
12
|
+
selectionStrokeWidth: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const DefaultGeometryProperty: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
strokeColor: string;
|
|
18
|
+
strokeWidth: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const DefaultTextProperty: {
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
text: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const GeometryThreshold: {
|
|
26
|
+
defaultTextMaxWidth: number;
|
|
27
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare enum DrawPointerType {
|
|
2
|
+
text = "text",
|
|
3
|
+
rectangle = "rectangle",
|
|
4
|
+
line = "line",
|
|
5
|
+
diamond = "diamond",
|
|
6
|
+
roundRectangle = "roundRectangle",
|
|
7
|
+
parallelogram = "parallelogram",
|
|
8
|
+
ellipse = "ellipse"
|
|
9
|
+
}
|
|
10
|
+
export declare const GeometryPointer: DrawPointerType[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ACTIVE_STROKE_WIDTH } from "@plait/core";
|
|
2
|
+
export const ShapeDefaultSpace = {
|
|
3
|
+
rectangleAndText: 4
|
|
4
|
+
};
|
|
5
|
+
export const DefaultGeometryStyle = {
|
|
6
|
+
strokeWidth: 2,
|
|
7
|
+
defaultRadius: 4,
|
|
8
|
+
strokeColor: '#000',
|
|
9
|
+
fill: 'none'
|
|
10
|
+
};
|
|
11
|
+
export const DefaultGeometryActiveStyle = {
|
|
12
|
+
strokeWidth: ACTIVE_STROKE_WIDTH,
|
|
13
|
+
selectionStrokeWidth: ACTIVE_STROKE_WIDTH
|
|
14
|
+
};
|
|
15
|
+
export const DefaultGeometryProperty = {
|
|
16
|
+
width: 100,
|
|
17
|
+
height: 100,
|
|
18
|
+
strokeColor: '#333',
|
|
19
|
+
strokeWidth: 2
|
|
20
|
+
};
|
|
21
|
+
export const DefaultTextProperty = {
|
|
22
|
+
width: 36,
|
|
23
|
+
height: 20,
|
|
24
|
+
text: '文本'
|
|
25
|
+
};
|
|
26
|
+
export const GeometryThreshold = {
|
|
27
|
+
defaultTextMaxWidth: 34 * 14,
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLGdCQUFnQixFQUFFLENBQUM7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLFdBQVcsRUFBRSxDQUFDO0lBQ2QsYUFBYSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsSUFBSSxFQUFFLE1BQU07Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDdEMsV0FBVyxFQUFFLG1CQUFtQjtJQUNoQyxvQkFBb0IsRUFBRSxtQkFBbUI7Q0FDNUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ25DLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsQ0FBQztDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtJQUNWLElBQUksRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFO0NBQy9CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQ1RJVkVfU1RST0tFX1dJRFRIIH0gZnJvbSBcIkBwbGFpdC9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBTaGFwZURlZmF1bHRTcGFjZSA9IHtcbiAgICByZWN0YW5nbGVBbmRUZXh0OiA0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEdlb21ldHJ5U3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgZGVmYXVsdFJhZGl1czogNCxcbiAgICBzdHJva2VDb2xvcjogJyMwMDAnLFxuICAgIGZpbGw6ICdub25lJ1xufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIHNlbGVjdGlvblN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRIXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEwMCxcbiAgICBoZWlnaHQ6IDEwMCxcbiAgICBzdHJva2VDb2xvcjogJyMzMzMnLFxuICAgIHN0cm9rZVdpZHRoOiAyXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFRleHRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMzYsXG4gICAgaGVpZ2h0OiAyMCxcbiAgICB0ZXh0OiAn5paH5pysJ1xufTtcblxuZXhwb3J0IGNvbnN0IEdlb21ldHJ5VGhyZXNob2xkID0ge1xuICAgIGRlZmF1bHRUZXh0TWF4V2lkdGg6IDM0ICogMTQsXG59Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './geometry';
|
|
2
|
+
export * from './pointer';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dlb21ldHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vcG9pbnRlcic7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const DefaultLineStyle = {
|
|
2
|
+
strokeWidth: 2,
|
|
3
|
+
strokeColor: '#000'
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsV0FBVyxFQUFFLE1BQU07Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEZWZhdWx0TGluZVN0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiAyLFxuICAgIHN0cm9rZUNvbG9yOiAnIzAwMCdcbn07XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export var DrawPointerType;
|
|
2
|
+
(function (DrawPointerType) {
|
|
3
|
+
DrawPointerType["text"] = "text";
|
|
4
|
+
DrawPointerType["rectangle"] = "rectangle";
|
|
5
|
+
DrawPointerType["line"] = "line";
|
|
6
|
+
DrawPointerType["diamond"] = "diamond";
|
|
7
|
+
DrawPointerType["roundRectangle"] = "roundRectangle";
|
|
8
|
+
DrawPointerType["parallelogram"] = "parallelogram";
|
|
9
|
+
DrawPointerType["ellipse"] = "ellipse";
|
|
10
|
+
})(DrawPointerType || (DrawPointerType = {}));
|
|
11
|
+
export const GeometryPointer = [
|
|
12
|
+
DrawPointerType.rectangle,
|
|
13
|
+
DrawPointerType.text,
|
|
14
|
+
DrawPointerType.diamond,
|
|
15
|
+
DrawPointerType.ellipse,
|
|
16
|
+
DrawPointerType.parallelogram,
|
|
17
|
+
DrawPointerType.roundRectangle
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9wb2ludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBUVg7QUFSRCxXQUFZLGVBQWU7SUFDdkIsZ0NBQWEsQ0FBQTtJQUNiLDBDQUF1QixDQUFBO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYixzQ0FBbUIsQ0FBQTtJQUNuQixvREFBaUMsQ0FBQTtJQUNqQyxrREFBK0IsQ0FBQTtJQUMvQixzQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBUlcsZUFBZSxLQUFmLGVBQWUsUUFRMUI7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsZUFBZSxDQUFDLFNBQVM7SUFDekIsZUFBZSxDQUFDLElBQUk7SUFDcEIsZUFBZSxDQUFDLE9BQU87SUFDdkIsZUFBZSxDQUFDLE9BQU87SUFDdkIsZUFBZSxDQUFDLGFBQWE7SUFDN0IsZUFBZSxDQUFDLGNBQWM7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERyYXdQb2ludGVyVHlwZSB7XG4gICAgdGV4dCA9ICd0ZXh0JyxcbiAgICByZWN0YW5nbGUgPSAncmVjdGFuZ2xlJyxcbiAgICBsaW5lID0gJ2xpbmUnLFxuICAgIGRpYW1vbmQgPSAnZGlhbW9uZCcsXG4gICAgcm91bmRSZWN0YW5nbGUgPSAncm91bmRSZWN0YW5nbGUnLFxuICAgIHBhcmFsbGVsb2dyYW0gPSAncGFyYWxsZWxvZ3JhbScsXG4gICAgZWxsaXBzZSA9ICdlbGxpcHNlJ1xufVxuXG5leHBvcnQgY29uc3QgR2VvbWV0cnlQb2ludGVyID0gW1xuICAgIERyYXdQb2ludGVyVHlwZS5yZWN0YW5nbGUsXG4gICAgRHJhd1BvaW50ZXJUeXBlLnRleHQsXG4gICAgRHJhd1BvaW50ZXJUeXBlLmRpYW1vbmQsXG4gICAgRHJhd1BvaW50ZXJUeXBlLmVsbGlwc2UsXG4gICAgRHJhd1BvaW50ZXJUeXBlLnBhcmFsbGVsb2dyYW0sXG4gICAgRHJhd1BvaW50ZXJUeXBlLnJvdW5kUmVjdGFuZ2xlXG5dO1xuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GeometryShape } from '../interfaces';
|
|
2
|
+
import { getRectangleByPoints, Generator } from '@plait/common';
|
|
3
|
+
import { getFillByElement, getLineDashByElement, getStrokeColorByElement, getStrokeWidthByElement } from '../utils/style/stroke';
|
|
4
|
+
import { drawGeometry } from '../utils';
|
|
5
|
+
import { RectangleClient } from '@plait/core';
|
|
6
|
+
export class GeometryShapeGenerator extends Generator {
|
|
7
|
+
canDraw(element, data) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
baseDraw(element, data) {
|
|
11
|
+
const rectangle = getRectangleByPoints(element.points);
|
|
12
|
+
const shape = element.shape;
|
|
13
|
+
if (shape === GeometryShape.text) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const strokeWidth = getStrokeWidthByElement(element);
|
|
17
|
+
const strokeColor = getStrokeColorByElement(element);
|
|
18
|
+
const fill = getFillByElement(element);
|
|
19
|
+
const strokeLineDash = getLineDashByElement(element);
|
|
20
|
+
return drawGeometry(this.board, RectangleClient.inflate(rectangle, -strokeWidth), shape, { stroke: strokeColor, strokeWidth, fill, strokeLineDash });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJOUMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFNBQW1DO0lBQzNFLE9BQU8sQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDM0MsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDNUMsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFDRCxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDekosQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VvbWV0cnlTaGFwZSwgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlQb2ludHMsIEdlbmVyYXRvciB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0RmlsbEJ5RWxlbWVudCwgZ2V0TGluZURhc2hCeUVsZW1lbnQsIGdldFN0cm9rZUNvbG9yQnlFbGVtZW50LCBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL3N0eWxlL3N0cm9rZSc7XG5pbXBvcnQgeyBkcmF3R2VvbWV0cnkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcGVEYXRhIHt9XG5cbmV4cG9ydCBjbGFzcyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yIGV4dGVuZHMgR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnksIFNoYXBlRGF0YT4ge1xuICAgIGNhbkRyYXcoZWxlbWVudDogUGxhaXRHZW9tZXRyeSwgZGF0YTogU2hhcGVEYXRhKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGJhc2VEcmF3KGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnksIGRhdGE6IFNoYXBlRGF0YSkge1xuICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgIGNvbnN0IHNoYXBlID0gZWxlbWVudC5zaGFwZTtcbiAgICAgICAgaWYgKHNoYXBlID09PSBHZW9tZXRyeVNoYXBlLnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBzdHJva2VDb2xvciA9IGdldFN0cm9rZUNvbG9yQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBmaWxsID0gZ2V0RmlsbEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgc3Ryb2tlTGluZURhc2ggPSBnZXRMaW5lRGFzaEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGRyYXdHZW9tZXRyeSh0aGlzLmJvYXJkLCBSZWN0YW5nbGVDbGllbnQuaW5mbGF0ZShyZWN0YW5nbGUsIC1zdHJva2VXaWR0aCksIHNoYXBlLCB7IHN0cm9rZTogc3Ryb2tlQ29sb3IsIHN0cm9rZVdpZHRoLCBmaWxsLCBzdHJva2VMaW5lRGFzaCB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PlaitBoard, createG, drawCircle } from '@plait/core';
|
|
2
|
+
import { Generator, RESIZE_HANDLE_DIAMETER } from '@plait/common';
|
|
3
|
+
import { getSourcePoint, getTargetPoint } from '../utils';
|
|
4
|
+
export class LineActiveGenerator extends Generator {
|
|
5
|
+
canDraw(element, data) {
|
|
6
|
+
if (data.selected) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
baseDraw(element, data) {
|
|
14
|
+
const activeG = createG();
|
|
15
|
+
activeG.classList.add('active');
|
|
16
|
+
activeG.classList.add('line-handle');
|
|
17
|
+
const sourcePoint = getSourcePoint(this.board, element);
|
|
18
|
+
const targetPoint = getTargetPoint(this.board, element);
|
|
19
|
+
const sourceCircle = drawCircle(PlaitBoard.getRoughSVG(this.board), sourcePoint, RESIZE_HANDLE_DIAMETER, {
|
|
20
|
+
stroke: '#999999',
|
|
21
|
+
strokeWidth: 1,
|
|
22
|
+
fill: '#FFF',
|
|
23
|
+
fillStyle: 'solid'
|
|
24
|
+
});
|
|
25
|
+
const targetCircle = drawCircle(PlaitBoard.getRoughSVG(this.board), targetPoint, RESIZE_HANDLE_DIAMETER, {
|
|
26
|
+
stroke: '#999999',
|
|
27
|
+
strokeWidth: 1,
|
|
28
|
+
fill: '#FFF',
|
|
29
|
+
fillStyle: 'solid'
|
|
30
|
+
});
|
|
31
|
+
activeG.appendChild(targetCircle);
|
|
32
|
+
activeG.appendChild(sourceCircle);
|
|
33
|
+
return activeG;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlELE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFNMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQWdDO0lBQ3JFLE9BQU8sQ0FBQyxPQUFrQixFQUFFLElBQWdCO1FBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFrQixFQUFFLElBQWdCO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7WUFDckcsTUFBTSxFQUFFLFNBQVM7WUFDakIsV0FBVyxFQUFFLENBQUM7WUFDZCxJQUFJLEVBQUUsTUFBTTtZQUNaLFNBQVMsRUFBRSxPQUFPO1NBQ3JCLENBQUMsQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7WUFDckcsTUFBTSxFQUFFLFNBQVM7WUFDakIsV0FBVyxFQUFFLENBQUM7WUFDZCxJQUFJLEVBQUUsTUFBTTtZQUNaLFNBQVMsRUFBRSxPQUFPO1NBQ3JCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBjcmVhdGVHLCBkcmF3Q2lyY2xlIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRMaW5lIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHZW5lcmF0b3IsIFJFU0laRV9IQU5ETEVfRElBTUVURVIgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldFNvdXJjZVBvaW50LCBnZXRUYXJnZXRQb2ludCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3RpdmVEYXRhIHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIExpbmVBY3RpdmVHZW5lcmF0b3IgZXh0ZW5kcyBHZW5lcmF0b3I8UGxhaXRMaW5lLCBBY3RpdmVEYXRhPiB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGRhdGEuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmFzZURyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBBY3RpdmVEYXRhKTogU1ZHR0VsZW1lbnQge1xuICAgICAgICBjb25zdCBhY3RpdmVHID0gY3JlYXRlRygpO1xuICAgICAgICBhY3RpdmVHLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgICAgICBhY3RpdmVHLmNsYXNzTGlzdC5hZGQoJ2xpbmUtaGFuZGxlJyk7XG4gICAgICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gZ2V0U291cmNlUG9pbnQodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gZ2V0VGFyZ2V0UG9pbnQodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNpcmNsZSA9IGRyYXdDaXJjbGUoUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKSwgc291cmNlUG9pbnQsIFJFU0laRV9IQU5ETEVfRElBTUVURVIsIHtcbiAgICAgICAgICAgIHN0cm9rZTogJyM5OTk5OTknLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBmaWxsOiAnI0ZGRicsXG4gICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHRhcmdldENpcmNsZSA9IGRyYXdDaXJjbGUoUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKSwgdGFyZ2V0UG9pbnQsIFJFU0laRV9IQU5ETEVfRElBTUVURVIsIHtcbiAgICAgICAgICAgIHN0cm9rZTogJyM5OTk5OTknLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBmaWxsOiAnI0ZGRicsXG4gICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgfSk7XG4gICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQodGFyZ2V0Q2lyY2xlKTtcbiAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZChzb3VyY2VDaXJjbGUpO1xuICAgICAgICByZXR1cm4gYWN0aXZlRztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LineShape } from '../interfaces';
|
|
2
|
+
import { Generator } from '@plait/common';
|
|
3
|
+
import { drawLine } from '../utils';
|
|
4
|
+
export class LineShapeGenerator extends Generator {
|
|
5
|
+
canDraw(element, data) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
baseDraw(element, data) {
|
|
9
|
+
const shape = element.shape;
|
|
10
|
+
let lineG;
|
|
11
|
+
switch (shape) {
|
|
12
|
+
case LineShape.elbow:
|
|
13
|
+
case LineShape.straight:
|
|
14
|
+
lineG = drawLine(this.board, element);
|
|
15
|
+
break;
|
|
16
|
+
default:
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
return lineG;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9nZW5lcmF0b3JzL2xpbmUuZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBdUMsTUFBTSxVQUFVLENBQUM7QUFLekUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQStCO0lBQ25FLE9BQU8sQ0FBQyxPQUFrQixFQUFFLElBQWU7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFrQixFQUFFLElBQWU7UUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLEtBQThCLENBQUM7UUFDbkMsUUFBUSxLQUFLLEVBQUU7WUFDWCxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDckIsS0FBSyxTQUFTLENBQUMsUUFBUTtnQkFDbkIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN0QyxNQUFNO1lBQ1Y7Z0JBQ0ksTUFBTTtTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGluZVNoYXBlLCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlbmVyYXRvciwgZ2V0UmVjdGFuZ2xlQnlQb2ludHMgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGRyYXdMaW5lLCBnZXRMaW5lUG9pbnRzLCBnZXRMaW5lVGV4dFJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFJlY3RhbmdsZUNsaWVudCwgY3JlYXRlTWFzaywgY3JlYXRlUmVjdCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTaGFwZURhdGEge31cblxuZXhwb3J0IGNsYXNzIExpbmVTaGFwZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdExpbmUsIFNoYXBlRGF0YT4ge1xuICAgIGNhbkRyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBTaGFwZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYmFzZURyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBTaGFwZURhdGEpIHtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBlbGVtZW50LnNoYXBlO1xuICAgICAgICBsZXQgbGluZUc6IFNWR0dFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgICBzd2l0Y2ggKHNoYXBlKSB7XG4gICAgICAgICAgICBjYXNlIExpbmVTaGFwZS5lbGJvdzpcbiAgICAgICAgICAgIGNhc2UgTGluZVNoYXBlLnN0cmFpZ2h0OlxuICAgICAgICAgICAgICAgIGxpbmVHID0gZHJhd0xpbmUodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5lRztcbiAgICB9XG59XG5cblxuIl19
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PlaitBoard, isSelectionMoving, getSelectedElements } from '@plait/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { GeometryShapeGenerator } from './generators/geometry-shape.generator';
|
|
5
|
+
import { TextManage } from '@plait/text';
|
|
6
|
+
import { DrawTransforms } from './transforms';
|
|
7
|
+
import { getTextRectangle } from './utils/geometry';
|
|
8
|
+
import { ActiveGenerator, WithTextPluginKey, getRectangleByPoints, CommonPluginElement } from '@plait/common';
|
|
9
|
+
import { DefaultGeometryActiveStyle, GeometryThreshold } from './constants/geometry';
|
|
10
|
+
import { PlaitDrawElement } from './interfaces';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class GeometryComponent extends CommonPluginElement {
|
|
13
|
+
get textManage() {
|
|
14
|
+
return this.getTextManages()[0];
|
|
15
|
+
}
|
|
16
|
+
constructor(viewContainerRef, cdr) {
|
|
17
|
+
super(cdr);
|
|
18
|
+
this.viewContainerRef = viewContainerRef;
|
|
19
|
+
this.cdr = cdr;
|
|
20
|
+
this.destroy$ = new Subject();
|
|
21
|
+
}
|
|
22
|
+
initializeGenerator() {
|
|
23
|
+
this.activeGenerator = new ActiveGenerator(this.board, {
|
|
24
|
+
getStrokeWidth: () => {
|
|
25
|
+
const selectedElements = getSelectedElements(this.board);
|
|
26
|
+
if (selectedElements.length === 1 && !isSelectionMoving(this.board)) {
|
|
27
|
+
return DefaultGeometryActiveStyle.strokeWidth;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return DefaultGeometryActiveStyle.selectionStrokeWidth;
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
getStrokeOpacity: () => {
|
|
34
|
+
const selectedElements = getSelectedElements(this.board);
|
|
35
|
+
if (selectedElements.length === 1 && !isSelectionMoving(this.board)) {
|
|
36
|
+
return 1;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return 0.5;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
getRectangle: (element) => {
|
|
43
|
+
return getRectangleByPoints(element.points);
|
|
44
|
+
},
|
|
45
|
+
hasResizeHandle: () => {
|
|
46
|
+
const selectedElements = getSelectedElements(this.board);
|
|
47
|
+
if (PlaitBoard.hasBeenTextEditing(this.board) && PlaitDrawElement.isText(this.element)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return selectedElements.length === 1 && !isSelectionMoving(this.board);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
this.shapeGenerator = new GeometryShapeGenerator(this.board);
|
|
54
|
+
this.initializeTextManage();
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
super.ngOnInit();
|
|
58
|
+
this.initializeGenerator();
|
|
59
|
+
this.shapeGenerator.draw(this.element, this.g);
|
|
60
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
61
|
+
this.drawText();
|
|
62
|
+
}
|
|
63
|
+
onContextChanged(value, previous) {
|
|
64
|
+
if (value.element !== previous.element) {
|
|
65
|
+
this.shapeGenerator.draw(this.element, this.g);
|
|
66
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
67
|
+
this.updateText();
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const hasSameSelected = value.selected === previous.selected;
|
|
71
|
+
const hasSameHandleState = this.activeGenerator.options.hasResizeHandle() === this.activeGenerator.hasResizeHandle;
|
|
72
|
+
if (!hasSameSelected || !hasSameHandleState) {
|
|
73
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
editText() {
|
|
78
|
+
this.textManage.edit();
|
|
79
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
80
|
+
}
|
|
81
|
+
drawText() {
|
|
82
|
+
this.textManage.draw(this.element.text);
|
|
83
|
+
this.g.append(this.textManage.g);
|
|
84
|
+
}
|
|
85
|
+
updateText() {
|
|
86
|
+
this.textManage.updateText(this.element.text);
|
|
87
|
+
this.textManage.updateRectangle();
|
|
88
|
+
}
|
|
89
|
+
initializeTextManage() {
|
|
90
|
+
const plugins = this.board.getPluginOptions(WithTextPluginKey).textPlugins;
|
|
91
|
+
const manage = new TextManage(this.board, this.viewContainerRef, {
|
|
92
|
+
getRectangle: () => {
|
|
93
|
+
return getTextRectangle(this.element);
|
|
94
|
+
},
|
|
95
|
+
onValueChangeHandle: (textManageRef) => {
|
|
96
|
+
const height = textManageRef.height / this.board.viewport.zoom;
|
|
97
|
+
const width = textManageRef.width / this.board.viewport.zoom;
|
|
98
|
+
if (textManageRef.newValue) {
|
|
99
|
+
DrawTransforms.setText(this.board, this.element, textManageRef.newValue, width, height);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
DrawTransforms.setTextSize(this.board, this.element, width, height);
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
getMaxWidth: () => {
|
|
106
|
+
const width = getTextRectangle(this.element).width;
|
|
107
|
+
return this.element?.autoSize ? GeometryThreshold.defaultTextMaxWidth : width;
|
|
108
|
+
},
|
|
109
|
+
textPlugins: plugins
|
|
110
|
+
});
|
|
111
|
+
this.initializeTextManages([manage]);
|
|
112
|
+
}
|
|
113
|
+
ngOnDestroy() {
|
|
114
|
+
super.ngOnDestroy();
|
|
115
|
+
this.textManage.destroy();
|
|
116
|
+
this.destroy$.next();
|
|
117
|
+
this.destroy$.complete();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
GeometryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: GeometryComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
+
GeometryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: GeometryComponent, selector: "plait-draw-geometry", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: GeometryComponent, decorators: [{
|
|
123
|
+
type: Component,
|
|
124
|
+
args: [{
|
|
125
|
+
selector: 'plait-draw-geometry',
|
|
126
|
+
template: ``,
|
|
127
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
128
|
+
}]
|
|
129
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUdWLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFdEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQW1CLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGNBQWMsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG1CQUE4QztJQVFqRixJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBb0IsZ0JBQWtDLEVBQVksR0FBc0I7UUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREsscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVnhGLGFBQVEs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QUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7OEdBdkhRLGlCQUFpQjtrR0FBakIsaUJBQWlCLGtGQUhoQixFQUFFOzJGQUdILGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgaXNTZWxlY3Rpb25Nb3ZpbmcsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBQbGFpdE9wdGlvbnNCb2FyZFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFRleHRNYW5hZ2UsIFRleHRNYW5hZ2VSZWYgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi91dGlscy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3IsIFdpdGhUZXh0UGx1Z2luS2V5LCBXaXRoVGV4dE9wdGlvbnMsIGdldFJlY3RhbmdsZUJ5UG9pbnRzLCBDb21tb25QbHVnaW5FbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBEZWZhdWx0R2VvbWV0cnlBY3RpdmVTdHlsZSwgR2VvbWV0cnlUaHJlc2hvbGQgfSBmcm9tICcuL2NvbnN0YW50cy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50LCBQbGFpdFRleHQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BsYWl0LWRyYXctZ2VvbWV0cnknLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBHZW9tZXRyeUNvbXBvbmVudCBleHRlbmRzIENvbW1vblBsdWdpbkVsZW1lbnQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeT47XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3I7XG5cbiAgICBnZXQgdGV4dE1hbmFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGV4dE1hbmFnZXMoKVswXTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFN0cm9rZVdpZHRoOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUuc3Ryb2tlV2lkdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlLnNlbGVjdGlvblN0cm9rZVdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VPcGFjaXR5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcodGhpcy5ib2FyZCkgJiYgUGxhaXREcmF3RWxlbWVudC5pc1RleHQodGhpcy5lbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yID0gbmV3IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcsIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgIHRoaXMuZHJhd1RleHQoKTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2VkKFxuICAgICAgICB2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPixcbiAgICAgICAgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICApIHtcbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHByZXZpb3VzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lU2VsZWN0ZWQgPSB2YWx1ZS5zZWxlY3RlZCA9PT0gcHJldmlvdXMuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lSGFuZGxlU3RhdGUgPSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5vcHRpb25zLmhhc1Jlc2l6ZUhhbmRsZSgpID09PSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5oYXNSZXNpemVIYW5kbGU7XG4gICAgICAgICAgICBpZiAoIWhhc1NhbWVTZWxlY3RlZCB8fCAhaGFzU2FtZUhhbmRsZVN0YXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZywgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVkaXRUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UuZWRpdCgpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UuZHJhdyh0aGlzLmVsZW1lbnQudGV4dCk7XG4gICAgICAgIHRoaXMuZy5hcHBlbmQodGhpcy50ZXh0TWFuYWdlLmcpO1xuICAgIH1cblxuICAgIHVwZGF0ZVRleHQoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVUZXh0KHRoaXMuZWxlbWVudC50ZXh0KTtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSgpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVUZXh0TWFuYWdlKCkge1xuICAgICAgICBjb25zdCBwbHVnaW5zID0gKHRoaXMuYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnM8V2l0aFRleHRPcHRpb25zPihXaXRoVGV4dFBsdWdpbktleSkudGV4dFBsdWdpbnM7XG5cbiAgICAgICAgY29uc3QgbWFuYWdlID0gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh0ZXh0TWFuYWdlUmVmOiBUZXh0TWFuYWdlUmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRleHQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0U2l6ZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpLndpZHRoO1xuICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5lbGVtZW50IGFzIFBsYWl0VGV4dCk/LmF1dG9TaXplID8gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aCA6IHdpZHRoO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRleHRQbHVnaW5zOiBwbHVnaW5zXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcyhbbWFuYWdlXSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var StrokeStyle;
|
|
2
|
+
(function (StrokeStyle) {
|
|
3
|
+
StrokeStyle["solid"] = "solid";
|
|
4
|
+
StrokeStyle["dashed"] = "dashed";
|
|
5
|
+
})(StrokeStyle || (StrokeStyle = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTdHJva2VTdHlsZSB7XG4gICAgc29saWQgPSAnc29saWQnLFxuICAgIGRhc2hlZCA9ICdkYXNoZWQnXG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PlaitElement } from '@plait/core';
|
|
2
|
+
export var GeometryShape;
|
|
3
|
+
(function (GeometryShape) {
|
|
4
|
+
GeometryShape["rectangle"] = "rectangle";
|
|
5
|
+
GeometryShape["ellipse"] = "ellipse";
|
|
6
|
+
GeometryShape["diamond"] = "diamond";
|
|
7
|
+
GeometryShape["roundRectangle"] = "roundRectangle";
|
|
8
|
+
GeometryShape["parallelogram"] = "parallelogram";
|
|
9
|
+
GeometryShape["text"] = "text";
|
|
10
|
+
})(GeometryShape || (GeometryShape = {}));
|
|
11
|
+
export const PlaitGeometry = {
|
|
12
|
+
getTextEditor(element) {
|
|
13
|
+
return PlaitGeometry.getTextManage(element).componentRef.instance.editor;
|
|
14
|
+
},
|
|
15
|
+
getTextManage(element) {
|
|
16
|
+
const component = PlaitElement.getComponent(element);
|
|
17
|
+
if (component) {
|
|
18
|
+
return component.textManage;
|
|
19
|
+
}
|
|
20
|
+
throw new Error('can not get correctly component in get text editor');
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2dlb21ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQTBCLE1BQU0sYUFBYSxDQUFDO0FBTS9FLE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDckIsd0NBQXVCLENBQUE7SUFDdkIsb0NBQW1CLENBQUE7SUFDbkIsb0NBQW1CLENBQUE7SUFDbkIsa0RBQWlDLENBQUE7SUFDakMsZ0RBQStCLENBQUE7SUFDL0IsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBUFcsYUFBYSxLQUFiLGFBQWEsUUFPeEI7QUFnQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQ3pCLGFBQWEsQ0FBQyxPQUFzQjtRQUNoQyxPQUFPLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDN0UsQ0FBQztJQUNELGFBQWEsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLFNBQVMsRUFBRTtZQUNYLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQztTQUMvQjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlb21ldHJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFBhcmFncmFwaEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBTdHJva2VTdHlsZSB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCBlbnVtIEdlb21ldHJ5U2hhcGUge1xuICAgIHJlY3RhbmdsZSA9ICdyZWN0YW5nbGUnLFxuICAgIGVsbGlwc2UgPSAnZWxsaXBzZScsXG4gICAgZGlhbW9uZCA9ICdkaWFtb25kJyxcbiAgICByb3VuZFJlY3RhbmdsZSA9ICdyb3VuZFJlY3RhbmdsZScsXG4gICAgcGFyYWxsZWxvZ3JhbSA9ICdwYXJhbGxlbG9ncmFtJyxcbiAgICB0ZXh0ID0gJ3RleHQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRHZW9tZXRyeSBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgcG9pbnRzOiBbUG9pbnQsIFBvaW50XTtcbiAgICB0eXBlOiAnZ2VvbWV0cnknO1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlO1xuXG4gICAgdGV4dDogUGFyYWdyYXBoRWxlbWVudDtcbiAgICB0ZXh0SGVpZ2h0OiBudW1iZXI7XG5cbiAgICAvLyBub2RlIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBmaWxsPzogc3RyaW5nO1xuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIHN0cm9rZVN0eWxlPzogU3Ryb2tlU3R5bGU7XG5cbiAgICBhbmdsZTogbnVtYmVyO1xuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFJlY3RhbmdsZSBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLnJlY3RhbmdsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEVsbGlwc2UgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZS5lbGxpcHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RGlhbW9uZCBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLmRpYW1vbmQ7XG59XG5cbmV4cG9ydCBjb25zdCBQbGFpdEdlb21ldHJ5ID0ge1xuICAgIGdldFRleHRFZGl0b3IoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICByZXR1cm4gUGxhaXRHZW9tZXRyeS5nZXRUZXh0TWFuYWdlKGVsZW1lbnQpLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5lZGl0b3I7XG4gICAgfSxcbiAgICBnZXRUZXh0TWFuYWdlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KSBhcyBHZW9tZXRyeUNvbXBvbmVudDtcbiAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudC50ZXh0TWFuYWdlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignY2FuIG5vdCBnZXQgY29ycmVjdGx5IGNvbXBvbmVudCBpbiBnZXQgdGV4dCBlZGl0b3InKTtcbiAgICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXBlRW5naW5lIHtcbiAgICBpc0hpdDogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpID0+IGJvb2xlYW47XG4gICAgZ2V0TmVhcmVzdFBvaW50OiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkgPT4gUG9pbnQ7XG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzOiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpID0+IFBvaW50W107XG4gICAgZHJhdzogKGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykgPT4gU1ZHR0VsZW1lbnQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GeometryShape } from './geometry';
|
|
2
|
+
export * from './line';
|
|
3
|
+
export * from './geometry';
|
|
4
|
+
export * from './text';
|
|
5
|
+
export * from './element';
|
|
6
|
+
export const PlaitDrawElement = {
|
|
7
|
+
isGeometry: (value) => {
|
|
8
|
+
return value.type === 'geometry';
|
|
9
|
+
},
|
|
10
|
+
isLine: (value) => {
|
|
11
|
+
return value.type === 'line';
|
|
12
|
+
},
|
|
13
|
+
isText: (value) => {
|
|
14
|
+
return value.type === 'geometry' && value.shape === GeometryShape.text;
|
|
15
|
+
},
|
|
16
|
+
isDrawElement: (value) => {
|
|
17
|
+
if (PlaitDrawElement.isGeometry(value) || PlaitDrawElement.isLine(value)) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBSTFELGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBSTFCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFVBQVUsRUFBRSxDQUFDLEtBQVUsRUFBMEIsRUFBRTtRQUMvQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQXNCLEVBQUU7UUFDdkMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFzQixFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzNFLENBQUM7SUFDRCxhQUFhLEVBQUUsQ0FBQyxLQUFVLEVBQTZCLEVBQUU7UUFDckQsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeVNoYXBlLCBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBQbGFpdExpbmUgfSBmcm9tICcuL2xpbmUnO1xuaW1wb3J0IHsgUGxhaXRUZXh0IH0gZnJvbSAnLi90ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saW5lJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VvbWV0cnknO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCB0eXBlIFBsYWl0RHJhd0VsZW1lbnQgPSBQbGFpdEdlb21ldHJ5IHwgUGxhaXRMaW5lO1xuXG5leHBvcnQgY29uc3QgUGxhaXREcmF3RWxlbWVudCA9IHtcbiAgICBpc0dlb21ldHJ5OiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0R2VvbWV0cnkgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2dlb21ldHJ5JztcbiAgICB9LFxuICAgIGlzTGluZTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdExpbmUgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2xpbmUnO1xuICAgIH0sXG4gICAgaXNUZXh0OiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0VGV4dCA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnZ2VvbWV0cnknICYmIHZhbHVlLnNoYXBlID09PSBHZW9tZXRyeVNoYXBlLnRleHQ7XG4gICAgfSxcbiAgICBpc0RyYXdFbGVtZW50OiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0RHJhd0VsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSB8fCBQbGFpdERyYXdFbGVtZW50LmlzTGluZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PlaitElement } from '@plait/core';
|
|
2
|
+
export var LineMarkerType;
|
|
3
|
+
(function (LineMarkerType) {
|
|
4
|
+
LineMarkerType["arrow"] = "arrow";
|
|
5
|
+
LineMarkerType["none"] = "none";
|
|
6
|
+
LineMarkerType["openTriangle"] = "open-triangle";
|
|
7
|
+
LineMarkerType["solidTriangle"] = "solid-triangle";
|
|
8
|
+
LineMarkerType["sharpArrow"] = "sharp-arrow";
|
|
9
|
+
})(LineMarkerType || (LineMarkerType = {}));
|
|
10
|
+
export var LineShape;
|
|
11
|
+
(function (LineShape) {
|
|
12
|
+
LineShape["straight"] = "straight";
|
|
13
|
+
LineShape["curve"] = "curve";
|
|
14
|
+
LineShape["elbow"] = "elbow";
|
|
15
|
+
})(LineShape || (LineShape = {}));
|
|
16
|
+
export var LineHandleKey;
|
|
17
|
+
(function (LineHandleKey) {
|
|
18
|
+
LineHandleKey["source"] = "source";
|
|
19
|
+
LineHandleKey["target"] = "target";
|
|
20
|
+
})(LineHandleKey || (LineHandleKey = {}));
|
|
21
|
+
export const PlaitLine = {
|
|
22
|
+
getTextEditors(element) {
|
|
23
|
+
const component = PlaitElement.getComponent(element);
|
|
24
|
+
if (component) {
|
|
25
|
+
const manage = component.textManages.find(manage => manage.isEditing);
|
|
26
|
+
if (manage) {
|
|
27
|
+
return [manage.componentRef.instance.editor];
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return component.textManages.map(manage => manage.componentRef.instance.editor);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
throw new Error('can not get correctly component in get text editor');
|
|
34
|
+
},
|
|
35
|
+
isSourceMark(line, markType) {
|
|
36
|
+
return line.source.marker === markType;
|
|
37
|
+
},
|
|
38
|
+
isTargetMark(line, markType) {
|
|
39
|
+
return line.target.marker === markType;
|
|
40
|
+
},
|
|
41
|
+
isBoundElementOfSource(line, element) {
|
|
42
|
+
return line.source.boundId === element.id;
|
|
43
|
+
},
|
|
44
|
+
isBoundElementOfTarget(line, element) {
|
|
45
|
+
return line.target.boundId === element.id;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBTWxELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7SUFDdEIsaUNBQWUsQ0FBQTtJQUNmLCtCQUFhLENBQUE7SUFDYixnREFBOEIsQ0FBQTtJQUM5QixrREFBZ0MsQ0FBQTtJQUNoQyw0Q0FBMEIsQ0FBQTtBQUM5QixDQUFDLEVBTlcsY0FBYyxLQUFkLGNBQWMsUUFNekI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLDRCQUFlLENBQUE7SUFDZiw0QkFBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBK0NELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixjQUFjLENBQUMsT0FBa0I7UUFDN0IsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQWtCLENBQUM7UUFDdEUsSUFBSSxTQUFTLEVBQUU7WUFDWCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RSxJQUFJLE1BQU0sRUFBRTtnQkFDUixPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0gsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25GO1NBQ0o7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFlLEVBQUUsUUFBd0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7SUFDM0MsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFlLEVBQUUsUUFBd0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7SUFDM0MsQ0FBQztJQUNELHNCQUFzQixDQUFDLElBQWUsRUFBRSxPQUFzQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELHNCQUFzQixDQUFDLElBQWUsRUFBRSxPQUFzQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEVsZW1lbnQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IExpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBTdHJva2VTdHlsZSB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCBlbnVtIExpbmVNYXJrZXJUeXBlIHtcbiAgICBhcnJvdyA9ICdhcnJvdycsXG4gICAgbm9uZSA9ICdub25lJyxcbiAgICBvcGVuVHJpYW5nbGUgPSAnb3Blbi10cmlhbmdsZScsXG4gICAgc29saWRUcmlhbmdsZSA9ICdzb2xpZC10cmlhbmdsZScsXG4gICAgc2hhcnBBcnJvdyA9ICdzaGFycC1hcnJvdydcbn1cblxuZXhwb3J0IGVudW0gTGluZVNoYXBlIHtcbiAgICBzdHJhaWdodCA9ICdzdHJhaWdodCcsXG4gICAgY3VydmUgPSAnY3VydmUnLFxuICAgIGVsYm93ID0gJ2VsYm93J1xufVxuXG5leHBvcnQgZW51bSBMaW5lSGFuZGxlS2V5IHtcbiAgICBzb3VyY2UgPSAnc291cmNlJyxcbiAgICB0YXJnZXQgPSAndGFyZ2V0J1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVUZXh0IHtcbiAgICB0ZXh0OiBFbGVtZW50O1xuICAgIC8v5Z+65LqO57q/6ZW/5bqm77yM5a6a5L2N55qE55m+5YiG5q+UXG4gICAgcG9zaXRpb246IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVIYW5kbGUge1xuICAgIC8vIOWFs+iBlOWFg+e0oOeahCBpZFxuICAgIGJvdW5kSWQ/OiBzdHJpbmc7XG4gICAgY29ubmVjdGlvbj86IFBvaW50O1xuICAgIG1hcmtlcjogTGluZU1hcmtlclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRMaW5lIGV4dGVuZHMgUGxhaXRFbGVtZW50IHtcbiAgICB0eXBlOiAnbGluZSc7XG4gICAgc2hhcGU6IExpbmVTaGFwZTtcbiAgICBwb2ludHM6IFBvaW50W107XG5cbiAgICBzb3VyY2U6IExpbmVIYW5kbGU7XG4gICAgdGFyZ2V0OiBMaW5lSGFuZGxlO1xuXG4gICAgdGV4dHM6IExpbmVUZXh0W107XG5cbiAgICAvLyBub2RlIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBzdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgICBzdHJva2VTdHlsZT86IFN0cm9rZVN0eWxlO1xuXG4gICAgb3BhY2l0eTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0U3RyYWlnaHRMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLnN0cmFpZ2h0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Q3VydmVMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLmN1cnZlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RWxib3dMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLmVsYm93O1xufVxuXG5leHBvcnQgY29uc3QgUGxhaXRMaW5lID0ge1xuICAgIGdldFRleHRFZGl0b3JzKGVsZW1lbnQ6IFBsYWl0TGluZSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIExpbmVDb21wb25lbnQ7XG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hbmFnZSA9IGNvbXBvbmVudC50ZXh0TWFuYWdlcy5maW5kKG1hbmFnZSA9PiBtYW5hZ2UuaXNFZGl0aW5nKTtcbiAgICAgICAgICAgIGlmIChtYW5hZ2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW21hbmFnZS5jb21wb25lbnRSZWYuaW5zdGFuY2UuZWRpdG9yXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudC50ZXh0TWFuYWdlcy5tYXAobWFuYWdlID0+IG1hbmFnZS5jb21wb25lbnRSZWYuaW5zdGFuY2UuZWRpdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbiBub3QgZ2V0IGNvcnJlY3RseSBjb21wb25lbnQgaW4gZ2V0IHRleHQgZWRpdG9yJyk7XG4gICAgfSxcbiAgICBpc1NvdXJjZU1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGxpbmUuc291cmNlLm1hcmtlciA9PT0gbWFya1R5cGU7XG4gICAgfSxcbiAgICBpc1RhcmdldE1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGxpbmUudGFyZ2V0Lm1hcmtlciA9PT0gbWFya1R5cGU7XG4gICAgfSxcbiAgICBpc0JvdW5kRWxlbWVudE9mU291cmNlKGxpbmU6IFBsYWl0TGluZSwgZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICByZXR1cm4gbGluZS5zb3VyY2UuYm91bmRJZCA9PT0gZWxlbWVudC5pZDtcbiAgICB9LFxuICAgIGlzQm91bmRFbGVtZW50T2ZUYXJnZXQobGluZTogUGxhaXRMaW5lLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSB7XG4gICAgICAgIHJldHVybiBsaW5lLnRhcmdldC5ib3VuZElkID09PSBlbGVtZW50LmlkO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgR2VvbWV0cnlTaGFwZSB9IGZyb20gJy4vZ2VvbWV0cnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0VGV4dCBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLnRleHQ7XG4gICAgYXV0b1NpemU6IGJvb2xlYW47XG59XG4iXX0=
|