@plait/draw 0.1.0-next.6 → 0.1.0-next.8
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/esm2022/constants/geometry.mjs +4 -3
- package/esm2022/generators/geometry-shape.generator.mjs +23 -0
- package/esm2022/generators/line-active.generator.mjs +36 -0
- package/esm2022/generators/line.generator.mjs +22 -0
- package/esm2022/geometry.component.mjs +13 -11
- package/esm2022/interfaces/geometry.mjs +5 -2
- package/esm2022/interfaces/line.mjs +9 -1
- package/esm2022/line.component.mjs +3 -3
- package/esm2022/plugins/with-draw-fragment.mjs +5 -10
- package/esm2022/plugins/with-draw-hotkey.mjs +7 -3
- package/esm2022/plugins/with-draw.mjs +3 -3
- package/esm2022/plugins/with-geometry-create.mjs +5 -6
- package/esm2022/plugins/with-geometry-resize.mjs +5 -5
- package/esm2022/plugins/with-line-bound-reaction.mjs +5 -7
- package/esm2022/plugins/with-line-create.mjs +4 -4
- package/esm2022/plugins/with-line-text.mjs +3 -3
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/transforms/index.mjs +4 -3
- package/esm2022/transforms/line.mjs +8 -1
- package/esm2022/utils/geometry.mjs +8 -8
- package/esm2022/utils/line-arrow.mjs +89 -0
- package/esm2022/utils/line.mjs +51 -46
- package/fesm2022/plait-draw.mjs +196 -109
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/geometry.component.d.ts +5 -5
- package/interfaces/geometry.d.ts +1 -0
- package/interfaces/line.d.ts +8 -1
- package/line.component.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/transforms/index.d.ts +1 -0
- package/transforms/line.d.ts +2 -1
- package/utils/geometry.d.ts +1 -1
- package/utils/line-arrow.d.ts +4 -0
- package/utils/line.d.ts +3 -3
- package/esm2022/generator/geometry-shape.generator.mjs +0 -22
- package/esm2022/generator/line-active.generator.mjs +0 -36
- package/esm2022/generator/line.generator.mjs +0 -43
- /package/{generator → generators}/geometry-shape.generator.d.ts +0 -0
- /package/{generator → generators}/line-active.generator.d.ts +0 -0
- /package/{generator → generators}/line.generator.d.ts +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ACTIVE_STROKE_WIDTH } from "@plait/core";
|
|
1
2
|
export const ShapeDefaultSpace = {
|
|
2
3
|
rectangleAndText: 4
|
|
3
4
|
};
|
|
@@ -8,8 +9,8 @@ export const DefaultGeometryStyle = {
|
|
|
8
9
|
fill: 'none'
|
|
9
10
|
};
|
|
10
11
|
export const DefaultGeometryActiveStyle = {
|
|
11
|
-
strokeWidth:
|
|
12
|
-
selectionStrokeWidth:
|
|
12
|
+
strokeWidth: ACTIVE_STROKE_WIDTH,
|
|
13
|
+
selectionStrokeWidth: ACTIVE_STROKE_WIDTH
|
|
13
14
|
};
|
|
14
15
|
export const DefaultGeometryProperty = {
|
|
15
16
|
width: 100,
|
|
@@ -25,4 +26,4 @@ export const DefaultTextProperty = {
|
|
|
25
26
|
export const GeometryThreshold = {
|
|
26
27
|
defaultTextMaxWidth: 34 * 14,
|
|
27
28
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLGdCQUFnQixFQUFFLENBQUM7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLFdBQVcsRUFBRSxDQUFDO0lBQ2QsYUFBYSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsSUFBSSxFQUFFLE1BQU07Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDdEMsV0FBVyxFQUFFLG1CQUFtQjtJQUNoQyxvQkFBb0IsRUFBRSxtQkFBbUI7Q0FDNUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ25DLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsQ0FBQztDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtJQUNWLElBQUksRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFO0NBQy9CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQ1RJVkVfU1RST0tFX1dJRFRIIH0gZnJvbSBcIkBwbGFpdC9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBTaGFwZURlZmF1bHRTcGFjZSA9IHtcbiAgICByZWN0YW5nbGVBbmRUZXh0OiA0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEdlb21ldHJ5U3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgZGVmYXVsdFJhZGl1czogNCxcbiAgICBzdHJva2VDb2xvcjogJyMwMDAnLFxuICAgIGZpbGw6ICdub25lJ1xufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIHNlbGVjdGlvblN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRIXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEwMCxcbiAgICBoZWlnaHQ6IDEwMCxcbiAgICBzdHJva2VDb2xvcjogJyMzMzMnLFxuICAgIHN0cm9rZVdpZHRoOiAyXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFRleHRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMzYsXG4gICAgaGVpZ2h0OiAyMCxcbiAgICB0ZXh0OiAn5paH5pysJ1xufTtcblxuZXhwb3J0IGNvbnN0IEdlb21ldHJ5VGhyZXNob2xkID0ge1xuICAgIGRlZmF1bHRUZXh0TWF4V2lkdGg6IDM0ICogMTQsXG59Il19
|
|
@@ -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
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { PlaitBoard,
|
|
2
|
+
import { PlaitBoard, isSelectionMoving, getSelectedElements } from '@plait/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
|
-
import { GeometryShapeGenerator } from './
|
|
4
|
+
import { GeometryShapeGenerator } from './generators/geometry-shape.generator';
|
|
5
5
|
import { TextManage } from '@plait/text';
|
|
6
6
|
import { DrawTransforms } from './transforms';
|
|
7
7
|
import { getTextRectangle } from './utils/geometry';
|
|
8
|
-
import { ActiveGenerator, getRectangleByPoints } from '@plait/common';
|
|
8
|
+
import { ActiveGenerator, WithTextPluginKey, getRectangleByPoints, CommonPluginElement } from '@plait/common';
|
|
9
9
|
import { DefaultGeometryActiveStyle, GeometryThreshold } from './constants/geometry';
|
|
10
|
-
import { getStrokeWidthByElement } from './utils/style/stroke';
|
|
11
10
|
import { PlaitDrawElement } from './interfaces';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
|
-
export class GeometryComponent extends
|
|
12
|
+
export class GeometryComponent extends CommonPluginElement {
|
|
13
|
+
get textManage() {
|
|
14
|
+
return this.getTextManages()[0];
|
|
15
|
+
}
|
|
14
16
|
constructor(viewContainerRef, cdr) {
|
|
15
17
|
super(cdr);
|
|
16
18
|
this.viewContainerRef = viewContainerRef;
|
|
@@ -31,9 +33,6 @@ export class GeometryComponent extends PlaitPluginElementComponent {
|
|
|
31
33
|
getRectangle: (element) => {
|
|
32
34
|
return getRectangleByPoints(element.points);
|
|
33
35
|
},
|
|
34
|
-
getStrokeWidthByElement: (element) => {
|
|
35
|
-
return getStrokeWidthByElement(element);
|
|
36
|
-
},
|
|
37
36
|
hasResizeHandle: () => {
|
|
38
37
|
const selectedElements = getSelectedElements(this.board);
|
|
39
38
|
if (PlaitBoard.hasBeenTextEditing(this.board) && PlaitDrawElement.isText(this.element)) {
|
|
@@ -79,7 +78,8 @@ export class GeometryComponent extends PlaitPluginElementComponent {
|
|
|
79
78
|
this.textManage.updateRectangle();
|
|
80
79
|
}
|
|
81
80
|
initializeTextManage() {
|
|
82
|
-
|
|
81
|
+
const plugins = this.board.getPluginOptions(WithTextPluginKey).textPlugins;
|
|
82
|
+
const manage = new TextManage(this.board, this.viewContainerRef, {
|
|
83
83
|
getRectangle: () => {
|
|
84
84
|
return getTextRectangle(this.element);
|
|
85
85
|
},
|
|
@@ -96,8 +96,10 @@ export class GeometryComponent extends PlaitPluginElementComponent {
|
|
|
96
96
|
getMaxWidth: () => {
|
|
97
97
|
const width = getTextRectangle(this.element).width;
|
|
98
98
|
return this.element?.autoSize ? GeometryThreshold.defaultTextMaxWidth : width;
|
|
99
|
-
}
|
|
99
|
+
},
|
|
100
|
+
textPlugins: plugins
|
|
100
101
|
});
|
|
102
|
+
this.initializeTextManages([manage]);
|
|
101
103
|
}
|
|
102
104
|
ngOnDestroy() {
|
|
103
105
|
super.ngOnDestroy();
|
|
@@ -116,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
116
118
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
117
119
|
}]
|
|
118
120
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUNWLDJCQUEyQixFQUczQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGNBQWMsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDJCQUFzRDtJQVV6RixZQUFvQixnQkFBa0MsRUFBWSxHQUFzQjtRQUNwRixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFESyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFSeEYsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFVL0IsQ0FBQztJQUVELG1C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WixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBPbkNvbnRleHRDaGFuZ2VkLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHNcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3IvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFRleHRNYW5hZ2UsIFRleHRNYW5hZ2VSZWYgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi91dGlscy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3IsIGdldFJlY3RhbmdsZUJ5UG9pbnRzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBEZWZhdWx0R2VvbWV0cnlBY3RpdmVTdHlsZSwgR2VvbWV0cnlUaHJlc2hvbGQgfSBmcm9tICcuL2NvbnN0YW50cy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudCB9IGZyb20gJy4vdXRpbHMvc3R5bGUvc3Ryb2tlJztcbmltcG9ydCB7IFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0VGV4dCB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZHJhdy1nZW9tZXRyeScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5Q29tcG9uZW50IGV4dGVuZHMgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPiB7XG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgYWN0aXZlR2VuZXJhdG9yITogQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+O1xuXG4gICAgc2hhcGVHZW5lcmF0b3IhOiBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yO1xuXG4gICAgdGV4dE1hbmFnZSE6IFRleHRNYW5hZ2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFN0cm9rZVdpZHRoOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUuc3Ryb2tlV2lkdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlLnNlbGVjdGlvblN0cm9rZVdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudDogKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzUmVzaXplSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKHRoaXMuYm9hcmQpICYmIFBsYWl0RHJhd0VsZW1lbnQuaXNUZXh0KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUdlbmVyYXRvcigpO1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZywgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZUhhbmRsZVN0YXRlID0gdGhpcy5hY3RpdmVHZW5lcmF0b3Iub3B0aW9ucy5oYXNSZXNpemVIYW5kbGUoKSA9PT0gdGhpcy5hY3RpdmVHZW5lcmF0b3IuaGFzUmVzaXplSGFuZGxlO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgIWhhc1NhbWVIYW5kbGVTdGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcsIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0VGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmVkaXQoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZywgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICB9XG5cbiAgICBkcmF3VGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHQpO1xuICAgICAgICB0aGlzLmcuYXBwZW5kKHRoaXMudGV4dE1hbmFnZS5nKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlVGV4dCh0aGlzLmVsZW1lbnQudGV4dCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZSgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlID0gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh0ZXh0TWFuYWdlUmVmOiBUZXh0TWFuYWdlUmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRleHQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0U2l6ZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZ2V0VGV4dFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpLndpZHRoO1xuICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5lbGVtZW50IGFzIFBsYWl0VGV4dCk/LmF1dG9TaXplID8gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aCA6IHdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUdWLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFdEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQW1CLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGNBQWMsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG1CQUE4QztJQVFqRixJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBb0IsZ0JBQWtDLEVBQVksR0FBc0I7UUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREsscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVnhGLGFBQVEs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R0FBakIsaUJBQWlCLGtGQUhoQixFQUFFOzsyRkFHSCxpQkFBaUI7a0JBTDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBPbkNvbnRleHRDaGFuZ2VkLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgUGxhaXRPcHRpb25zQm9hcmRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2dlb21ldHJ5LXNoYXBlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSB9IGZyb20gJy4vdXRpbHMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgQWN0aXZlR2VuZXJhdG9yLCBXaXRoVGV4dFBsdWdpbktleSwgV2l0aFRleHRPcHRpb25zLCBnZXRSZWN0YW5nbGVCeVBvaW50cywgQ29tbW9uUGx1Z2luRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUsIEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRUZXh0IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwbGFpdC1kcmF3LWdlb21ldHJ5JyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgR2VvbWV0cnlDb21wb25lbnQgZXh0ZW5kcyBDb21tb25QbHVnaW5FbGVtZW50PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPiB7XG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgYWN0aXZlR2VuZXJhdG9yITogQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+O1xuXG4gICAgc2hhcGVHZW5lcmF0b3IhOiBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yO1xuXG4gICAgZ2V0IHRleHRNYW5hZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRleHRNYW5hZ2VzKClbMF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihjZHIpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yID0gbmV3IEFjdGl2ZUdlbmVyYXRvcjxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB7XG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlLnN0cm9rZVdpZHRoO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBEZWZhdWx0R2VvbWV0cnlBY3RpdmVTdHlsZS5zZWxlY3Rpb25TdHJva2VXaWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzUmVzaXplSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKHRoaXMuYm9hcmQpICYmIFBsYWl0RHJhd0VsZW1lbnQuaXNUZXh0KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUdlbmVyYXRvcigpO1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZywgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZUhhbmRsZVN0YXRlID0gdGhpcy5hY3RpdmVHZW5lcmF0b3Iub3B0aW9ucy5oYXNSZXNpemVIYW5kbGUoKSA9PT0gdGhpcy5hY3RpdmVHZW5lcmF0b3IuaGFzUmVzaXplSGFuZGxlO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgIWhhc1NhbWVIYW5kbGVTdGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcsIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0VGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmVkaXQoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZywgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICB9XG5cbiAgICBkcmF3VGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHQpO1xuICAgICAgICB0aGlzLmcuYXBwZW5kKHRoaXMudGV4dE1hbmFnZS5nKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlVGV4dCh0aGlzLmVsZW1lbnQudGV4dCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZSgpIHtcbiAgICAgICAgY29uc3QgcGx1Z2lucyA9ICh0aGlzLmJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhUZXh0T3B0aW9ucz4oV2l0aFRleHRQbHVnaW5LZXkpLnRleHRQbHVnaW5zO1xuXG4gICAgICAgIGNvbnN0IG1hbmFnZSA9IG5ldyBUZXh0TWFuYWdlKHRoaXMuYm9hcmQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlSGFuZGxlOiAodGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRleHRNYW5hZ2VSZWYuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGV4dE1hbmFnZVJlZi53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0VGV4dFNpemUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KS53aWR0aDtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHRoaXMuZWxlbWVudCBhcyBQbGFpdFRleHQpPy5hdXRvU2l6ZSA/IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGggOiB3aWR0aDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0ZXh0UGx1Z2luczogcGx1Z2luc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZXMoW21hbmFnZV0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -10,11 +10,14 @@ export var GeometryShape;
|
|
|
10
10
|
})(GeometryShape || (GeometryShape = {}));
|
|
11
11
|
export const PlaitGeometry = {
|
|
12
12
|
getTextEditor(element) {
|
|
13
|
+
return PlaitGeometry.getTextManage(element).componentRef.instance.editor;
|
|
14
|
+
},
|
|
15
|
+
getTextManage(element) {
|
|
13
16
|
const component = PlaitElement.getComponent(element);
|
|
14
17
|
if (component) {
|
|
15
|
-
return component.textManage
|
|
18
|
+
return component.textManage;
|
|
16
19
|
}
|
|
17
20
|
throw new Error('can not get correctly component in get text editor');
|
|
18
21
|
}
|
|
19
22
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2dlb21ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQTBCLE1BQU0sYUFBYSxDQUFDO0FBTS9FLE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDckIsd0NBQXVCLENBQUE7SUFDdkIsb0NBQW1CLENBQUE7SUFDbkIsb0NBQW1CLENBQUE7SUFDbkIsa0RBQWlDLENBQUE7SUFDakMsZ0RBQStCLENBQUE7SUFDL0IsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBUFcsYUFBYSxLQUFiLGFBQWEsUUFPeEI7QUFnQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQ3pCLGFBQWEsQ0FBQyxPQUFzQjtRQUNoQyxPQUFPLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDN0UsQ0FBQztJQUNELGFBQWEsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLFNBQVMsRUFBRTtZQUNYLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQztTQUMvQjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlb21ldHJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFBhcmFncmFwaEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBTdHJva2VTdHlsZSB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCBlbnVtIEdlb21ldHJ5U2hhcGUge1xuICAgIHJlY3RhbmdsZSA9ICdyZWN0YW5nbGUnLFxuICAgIGVsbGlwc2UgPSAnZWxsaXBzZScsXG4gICAgZGlhbW9uZCA9ICdkaWFtb25kJyxcbiAgICByb3VuZFJlY3RhbmdsZSA9ICdyb3VuZFJlY3RhbmdsZScsXG4gICAgcGFyYWxsZWxvZ3JhbSA9ICdwYXJhbGxlbG9ncmFtJyxcbiAgICB0ZXh0ID0gJ3RleHQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRHZW9tZXRyeSBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgcG9pbnRzOiBbUG9pbnQsIFBvaW50XTtcbiAgICB0eXBlOiAnZ2VvbWV0cnknO1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlO1xuXG4gICAgdGV4dDogUGFyYWdyYXBoRWxlbWVudDtcbiAgICB0ZXh0SGVpZ2h0OiBudW1iZXI7XG5cbiAgICAvLyBub2RlIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBmaWxsPzogc3RyaW5nO1xuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIHN0cm9rZVN0eWxlPzogU3Ryb2tlU3R5bGU7XG5cbiAgICBhbmdsZTogbnVtYmVyO1xuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFJlY3RhbmdsZSBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLnJlY3RhbmdsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEVsbGlwc2UgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZS5lbGxpcHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RGlhbW9uZCBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLmRpYW1vbmQ7XG59XG5cbmV4cG9ydCBjb25zdCBQbGFpdEdlb21ldHJ5ID0ge1xuICAgIGdldFRleHRFZGl0b3IoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICByZXR1cm4gUGxhaXRHZW9tZXRyeS5nZXRUZXh0TWFuYWdlKGVsZW1lbnQpLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5lZGl0b3I7XG4gICAgfSxcbiAgICBnZXRUZXh0TWFuYWdlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KSBhcyBHZW9tZXRyeUNvbXBvbmVudDtcbiAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudC50ZXh0TWFuYWdlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignY2FuIG5vdCBnZXQgY29ycmVjdGx5IGNvbXBvbmVudCBpbiBnZXQgdGV4dCBlZGl0b3InKTtcbiAgICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXBlRW5naW5lIHtcbiAgICBpc0hpdDogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpID0+IGJvb2xlYW47XG4gICAgZ2V0TmVhcmVzdFBvaW50OiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkgPT4gUG9pbnQ7XG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzOiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpID0+IFBvaW50W107XG4gICAgZHJhdzogKGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykgPT4gU1ZHR0VsZW1lbnQ7XG59XG4iXX0=
|
|
@@ -3,6 +3,9 @@ export var LineMarkerType;
|
|
|
3
3
|
(function (LineMarkerType) {
|
|
4
4
|
LineMarkerType["arrow"] = "arrow";
|
|
5
5
|
LineMarkerType["none"] = "none";
|
|
6
|
+
LineMarkerType["openTriangle"] = "open-triangle";
|
|
7
|
+
LineMarkerType["solidTriangle"] = "solid-triangle";
|
|
8
|
+
LineMarkerType["sharpArrow"] = "sharp-arrow";
|
|
6
9
|
})(LineMarkerType || (LineMarkerType = {}));
|
|
7
10
|
export var LineShape;
|
|
8
11
|
(function (LineShape) {
|
|
@@ -10,6 +13,11 @@ export var LineShape;
|
|
|
10
13
|
LineShape["curve"] = "curve";
|
|
11
14
|
LineShape["elbow"] = "elbow";
|
|
12
15
|
})(LineShape || (LineShape = {}));
|
|
16
|
+
export var LineHandleKey;
|
|
17
|
+
(function (LineHandleKey) {
|
|
18
|
+
LineHandleKey["source"] = "source";
|
|
19
|
+
LineHandleKey["target"] = "target";
|
|
20
|
+
})(LineHandleKey || (LineHandleKey = {}));
|
|
13
21
|
export const PlaitLine = {
|
|
14
22
|
getTextEditors(element) {
|
|
15
23
|
const component = PlaitElement.getComponent(element);
|
|
@@ -37,4 +45,4 @@ export const PlaitLine = {
|
|
|
37
45
|
return line.target.boundId === element.id;
|
|
38
46
|
}
|
|
39
47
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBTWxELE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7SUFDdEIsaUNBQWUsQ0FBQTtJQUNmLCtCQUFhLENBQUE7SUFDYixnREFBOEIsQ0FBQTtJQUM5QixrREFBZ0MsQ0FBQTtJQUNoQyw0Q0FBMEIsQ0FBQTtBQUM5QixDQUFDLEVBTlcsY0FBYyxLQUFkLGNBQWMsUUFNekI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLDRCQUFlLENBQUE7SUFDZiw0QkFBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBK0NELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixjQUFjLENBQUMsT0FBa0I7UUFDN0IsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQWtCLENBQUM7UUFDdEUsSUFBSSxTQUFTLEVBQUU7WUFDWCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RSxJQUFJLE1BQU0sRUFBRTtnQkFDUixPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0gsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25GO1NBQ0o7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFlLEVBQUUsUUFBd0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7SUFDM0MsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFlLEVBQUUsUUFBd0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7SUFDM0MsQ0FBQztJQUNELHNCQUFzQixDQUFDLElBQWUsRUFBRSxPQUFzQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELHNCQUFzQixDQUFDLElBQWUsRUFBRSxPQUFzQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEVsZW1lbnQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IExpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBTdHJva2VTdHlsZSB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCBlbnVtIExpbmVNYXJrZXJUeXBlIHtcbiAgICBhcnJvdyA9ICdhcnJvdycsXG4gICAgbm9uZSA9ICdub25lJyxcbiAgICBvcGVuVHJpYW5nbGUgPSAnb3Blbi10cmlhbmdsZScsXG4gICAgc29saWRUcmlhbmdsZSA9ICdzb2xpZC10cmlhbmdsZScsXG4gICAgc2hhcnBBcnJvdyA9ICdzaGFycC1hcnJvdydcbn1cblxuZXhwb3J0IGVudW0gTGluZVNoYXBlIHtcbiAgICBzdHJhaWdodCA9ICdzdHJhaWdodCcsXG4gICAgY3VydmUgPSAnY3VydmUnLFxuICAgIGVsYm93ID0gJ2VsYm93J1xufVxuXG5leHBvcnQgZW51bSBMaW5lSGFuZGxlS2V5IHtcbiAgICBzb3VyY2UgPSAnc291cmNlJyxcbiAgICB0YXJnZXQgPSAndGFyZ2V0J1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVUZXh0IHtcbiAgICB0ZXh0OiBFbGVtZW50O1xuICAgIC8v5Z+65LqO57q/6ZW/5bqm77yM5a6a5L2N55qE55m+5YiG5q+UXG4gICAgcG9zaXRpb246IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVIYW5kbGUge1xuICAgIC8vIOWFs+iBlOWFg+e0oOeahCBpZFxuICAgIGJvdW5kSWQ/OiBzdHJpbmc7XG4gICAgY29ubmVjdGlvbj86IFBvaW50O1xuICAgIG1hcmtlcjogTGluZU1hcmtlclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRMaW5lIGV4dGVuZHMgUGxhaXRFbGVtZW50IHtcbiAgICB0eXBlOiAnbGluZSc7XG4gICAgc2hhcGU6IExpbmVTaGFwZTtcbiAgICBwb2ludHM6IFBvaW50W107XG5cbiAgICBzb3VyY2U6IExpbmVIYW5kbGU7XG4gICAgdGFyZ2V0OiBMaW5lSGFuZGxlO1xuXG4gICAgdGV4dHM6IExpbmVUZXh0W107XG5cbiAgICAvLyBub2RlIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBzdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgICBzdHJva2VTdHlsZT86IFN0cm9rZVN0eWxlO1xuXG4gICAgb3BhY2l0eTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0U3RyYWlnaHRMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLnN0cmFpZ2h0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Q3VydmVMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLmN1cnZlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RWxib3dMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLmVsYm93O1xufVxuXG5leHBvcnQgY29uc3QgUGxhaXRMaW5lID0ge1xuICAgIGdldFRleHRFZGl0b3JzKGVsZW1lbnQ6IFBsYWl0TGluZSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIExpbmVDb21wb25lbnQ7XG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hbmFnZSA9IGNvbXBvbmVudC50ZXh0TWFuYWdlcy5maW5kKG1hbmFnZSA9PiBtYW5hZ2UuaXNFZGl0aW5nKTtcbiAgICAgICAgICAgIGlmIChtYW5hZ2UpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW21hbmFnZS5jb21wb25lbnRSZWYuaW5zdGFuY2UuZWRpdG9yXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudC50ZXh0TWFuYWdlcy5tYXAobWFuYWdlID0+IG1hbmFnZS5jb21wb25lbnRSZWYuaW5zdGFuY2UuZWRpdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbiBub3QgZ2V0IGNvcnJlY3RseSBjb21wb25lbnQgaW4gZ2V0IHRleHQgZWRpdG9yJyk7XG4gICAgfSxcbiAgICBpc1NvdXJjZU1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGxpbmUuc291cmNlLm1hcmtlciA9PT0gbWFya1R5cGU7XG4gICAgfSxcbiAgICBpc1RhcmdldE1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGxpbmUudGFyZ2V0Lm1hcmtlciA9PT0gbWFya1R5cGU7XG4gICAgfSxcbiAgICBpc0JvdW5kRWxlbWVudE9mU291cmNlKGxpbmU6IFBsYWl0TGluZSwgZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICByZXR1cm4gbGluZS5zb3VyY2UuYm91bmRJZCA9PT0gZWxlbWVudC5pZDtcbiAgICB9LFxuICAgIGlzQm91bmRFbGVtZW50T2ZUYXJnZXQobGluZTogUGxhaXRMaW5lLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSB7XG4gICAgICAgIHJldHVybiBsaW5lLnRhcmdldC5ib3VuZElkID09PSBlbGVtZW50LmlkO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -2,8 +2,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
|
2
2
|
import { PlaitBoard, PlaitPluginElementComponent, getElementById } from '@plait/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { TextManage } from '@plait/text';
|
|
5
|
-
import { LineShapeGenerator } from './
|
|
6
|
-
import { LineActiveGenerator } from './
|
|
5
|
+
import { LineShapeGenerator } from './generators/line.generator';
|
|
6
|
+
import { LineActiveGenerator } from './generators/line-active.generator';
|
|
7
7
|
import { getLineTextRectangle } from './utils';
|
|
8
8
|
import { DrawTransforms } from './transforms';
|
|
9
9
|
import { GeometryThreshold } from './constants';
|
|
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
149
149
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
150
150
|
}]
|
|
151
151
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBRSwyQkFBMkIsRUFBK0MsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFVBQVUsRUFBNEIsTUFBTSxhQUFhLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVloRCxNQUFNLE9BQU8sYUFBYyxTQUFRLDJCQUFrRDtJQVlqRixZQUFvQixnQkFBa0MsRUFBWSxHQUFzQjtRQUNwRixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFESyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFWeEYsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFNL0IsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBRS9CLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztJQUl0QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJ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LFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0FwSlEsYUFBYTtrR0FBYixhQUFhLDhFQUhaLEVBQUU7OzJGQUdILGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIE9uQ29udGV4dENoYW5nZWQsIGdldEVsZW1lbnRCeUlkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZVRleHQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmLCBidWlsZFRleHQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBMaW5lU2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvci9saW5lLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBMaW5lQWN0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3IvbGluZS1hY3RpdmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGdldExpbmVUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBHZW9tZXRyeVRocmVzaG9sZCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuaW50ZXJmYWNlIEJvdW5kZWRFbGVtZW50cyB7XG4gICAgc291cmNlPzogUGxhaXRHZW9tZXRyeTtcbiAgICB0YXJnZXQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BsYWl0LWRyYXctbGluZScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpbmVDb21wb25lbnQgZXh0ZW5kcyBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPiB7XG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgc2hhcGVHZW5lcmF0b3IhOiBMaW5lU2hhcGVHZW5lcmF0b3I7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBMaW5lQWN0aXZlR2VuZXJhdG9yO1xuXG4gICAgdGV4dE1hbmFnZXM6IFRleHRNYW5hZ2VbXSA9IFtdO1xuXG4gICAgYm91bmRlZEVsZW1lbnRzOiBCb3VuZGVkRWxlbWVudHMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yID0gbmV3IExpbmVTaGFwZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgTGluZUFjdGl2ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmJvdW5kZWRFbGVtZW50cyA9IHRoaXMuZ2V0Qm91bmRlZEVsZW1lbnRzKCk7XG4gICAgICAgIHRoaXMuZHJhd1RleHQoKTtcbiAgICB9XG5cbiAgICBnZXRCb3VuZGVkRWxlbWVudHMoKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kZWRFbGVtZW50czogQm91bmRlZEVsZW1lbnRzID0ge307XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQuc291cmNlLmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kRWxlbWVudCA9IGdldEVsZW1lbnRCeUlkPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudC5zb3VyY2UuYm91bmRJZCk7XG4gICAgICAgICAgICBpZiAoYm91bmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnNvdXJjZSA9IGJvdW5kRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRhcmdldC5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBib3VuZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQudGFyZ2V0LmJvdW5kSWQpO1xuICAgICAgICAgICAgaWYgKGJvdW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy50YXJnZXQgPSBib3VuZEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJvdW5kZWRFbGVtZW50cztcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2VkKHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0TGluZSwgUGxhaXRCb2FyZD4sIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0TGluZSwgUGxhaXRCb2FyZD4pIHtcbiAgICAgICAgY29uc3QgYm91bmRlZEVsZW1lbnRzID0gdGhpcy5nZXRCb3VuZGVkRWxlbWVudHMoKTtcbiAgICAgICAgY29uc3QgaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkID1cbiAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy5zb3VyY2UgIT09IHRoaXMuYm91bmRlZEVsZW1lbnRzLnNvdXJjZSB8fCBib3VuZGVkRWxlbWVudHMudGFyZ2V0ICE9PSB0aGlzLmJvdW5kZWRFbGVtZW50cy50YXJnZXQ7XG4gICAgICAgIHRoaXMuYm91bmRlZEVsZW1lbnRzID0gYm91bmRlZEVsZW1lbnRzO1xuXG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHQocHJldmlvdXMuZWxlbWVudC50ZXh0cywgdmFsdWUuZWxlbWVudC50ZXh0cyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRSZWN0YW5nbGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0JvdW5kZWRFbGVtZW50c0NoYW5nZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICBpZiAoIWhhc1NhbWVTZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGV4dHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnRleHRzLmZvckVhY2goKHRleHQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFuYWdlID0gdGhpcy5jcmVhdGVUZXh0TWFuYWdlKHRleHQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLnB1c2gobWFuYWdlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveVRleHRNYW5hZ2VzKCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLmZvckVhY2gobWFuYWdlID0+IHtcbiAgICAgICAgICAgIG1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dE1hbmFnZXMuZm9yRWFjaCgobWFuYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIG1hbmFnZS5kcmF3KHRoaXMuZWxlbWVudC50ZXh0cyFbaW5kZXhdLnRleHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZy5hcHBlbmQobWFuYWdlLmcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVUZXh0TWFuYWdlKHRleHQ6IExpbmVUZXh0LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgVGV4dE1hbmFnZSh0aGlzLmJvYXJkLCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHtcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRMaW5lVGV4dFJlY3RhbmdsZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIGluZGV4KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlSGFuZGxlOiAodGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRleHRNYW5hZ2VSZWYuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGV4dE1hbmFnZVJlZi53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0cyA9IFsuLi50aGlzLmVsZW1lbnQudGV4dHNdO1xuICAgICAgICAgICAgICAgIHRleHRzLnNwbGljZShpbmRleCwgMSwge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlID8gdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSA6IHRoaXMuZWxlbWVudC50ZXh0c1tpbmRleF0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuZWxlbWVudC50ZXh0c1tpbmRleF0ucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRMaW5lVGV4dHModGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0cyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dChwcmV2aW91c1RleHRzOiBMaW5lVGV4dFtdLCBjdXJyZW50VGV4dHM6IExpbmVUZXh0W10pIHtcbiAgICAgICAgaWYgKHByZXZpb3VzVGV4dHMgPT09IGN1cnJlbnRUZXh0cykgcmV0dXJuO1xuICAgICAgICBjb25zdCBwcmV2aW91c1RleHRzTGVuZ3RoID0gcHJldmlvdXNUZXh0cy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUZXh0c0xlbmd0aCA9IGN1cnJlbnRUZXh0cy5sZW5ndGg7XG4gICAgICAgIGlmIChjdXJyZW50VGV4dHNMZW5ndGggPT09IHByZXZpb3VzVGV4dHNMZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldmlvdXNUZXh0c0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzVGV4dHNbaV0udGV4dCAhPT0gY3VycmVudFRleHRzW2ldLnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0TWFuYWdlc1tpXS51cGRhdGVUZXh0KGN1cnJlbnRUZXh0c1tpXS50ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lUZXh0TWFuYWdlcygpO1xuICAgICAgICAgICAgdGhpcy50ZXh0TWFuYWdlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZXMoKTtcbiAgICAgICAgICAgIHRoaXMuZHJhd1RleHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVRleHRSZWN0YW5nbGUoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZXMuZm9yRWFjaChtYW5hZ2UgPT4ge1xuICAgICAgICAgICAgbWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBRSwyQkFBMkIsRUFBK0MsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFVBQVUsRUFBNEIsTUFBTSxhQUFhLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVloRCxNQUFNLE9BQU8sYUFBYyxTQUFRLDJCQUFrRDtJQVlqRixZQUFvQixnQkFBa0MsRUFBWSxHQUFzQjtRQUNwRixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFESyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFWeEYsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFNL0IsZ0JBQVcsR0FBaUIsRUFBRSxDQUFDO1FBRS9CLG9CQUFlLEdBQW9CLEVBQUUsQ0FBQztJQUl0QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsTUFBTSxlQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUM3QixNQUFNLFlBQVksR0FBRyxjQUFjLENBQWdCLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUYsSUFBSSxZQUFZLEVBQUU7Z0JBQ2QsZUFBZSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUM7YUFDekM7U0FDSjtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQzdCLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBZ0IsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RixJQUFJLFlBQVksRUFBRTtnQkFDZCxlQUFlLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQzthQUN6QztTQUNKO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQXVELEVBQUUsUUFBMEQ7UUFDaEksTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbEQsTUFBTSx3QkFBd0IsR0FDMUIsZUFBZSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQ3JILElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBRXZDLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNsSCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDOUI7UUFFRCxJQUFJLHdCQUF3QixFQUFFO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNsSCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixPQUFPO1NBQ1Y7UUFFRCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDN0QsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckg7SUFDTCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFjLEVBQUUsS0FBYTtRQUMxQyxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JELFlBQVksRUFBRSxHQUFHLEVBQUU7Z0JBQ2YsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakUsQ0FBQztZQUNELG1CQUFtQixFQUFFLENBQUMsYUFBNEIsRUFBRSxFQUFFO2dCQUNsRCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDL0QsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzdELE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ25CLElBQUksRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJO29CQUN0RixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUTtvQkFDNUMsS0FBSztvQkFDTCxNQUFNO2lCQUNULENBQUMsQ0FBQztnQkFDSCxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRSxDQUFDO1lBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQjtTQUMzRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVSxDQUFDLGFBQXlCLEVBQUUsWUFBd0I7UUFDMUQsSUFBSSxhQUFhLEtBQUssWUFBWTtZQUFFLE9BQU87UUFDM0MsTUFBTSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ2pELE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUMvQyxJQUFJLGtCQUFrQixLQUFLLG1CQUFtQixFQUFFO1lBQzVDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDMUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7b0JBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDeEQ7YUFDSjtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0FwSlEsYUFBYTtrR0FBYixhQUFhLDhFQUhaLEVBQUU7OzJGQUdILGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIE9uQ29udGV4dENoYW5nZWQsIGdldEVsZW1lbnRCeUlkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZVRleHQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmLCBidWlsZFRleHQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBMaW5lU2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgTGluZUFjdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgZ2V0TGluZVRleHRSZWN0YW5nbGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbnRlcmZhY2UgQm91bmRlZEVsZW1lbnRzIHtcbiAgICBzb3VyY2U/OiBQbGFpdEdlb21ldHJ5O1xuICAgIHRhcmdldD86IFBsYWl0R2VvbWV0cnk7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZHJhdy1saW5lJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGluZUNvbXBvbmVudCBleHRlbmRzIFBsYWl0UGx1Z2luRWxlbWVudENvbXBvbmVudDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IExpbmVTaGFwZUdlbmVyYXRvcjtcblxuICAgIGFjdGl2ZUdlbmVyYXRvciE6IExpbmVBY3RpdmVHZW5lcmF0b3I7XG5cbiAgICB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG5cbiAgICBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihjZHIpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgTGluZVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBMaW5lQWN0aXZlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuYm91bmRlZEVsZW1lbnRzID0gdGhpcy5nZXRCb3VuZGVkRWxlbWVudHMoKTtcbiAgICAgICAgdGhpcy5kcmF3VGV4dCgpO1xuICAgIH1cblxuICAgIGdldEJvdW5kZWRFbGVtZW50cygpIHtcbiAgICAgICAgY29uc3QgYm91bmRlZEVsZW1lbnRzOiBCb3VuZGVkRWxlbWVudHMgPSB7fTtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5zb3VyY2UuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgYm91bmRFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnNvdXJjZS5ib3VuZElkKTtcbiAgICAgICAgICAgIGlmIChib3VuZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZGVkRWxlbWVudHMuc291cmNlID0gYm91bmRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGFyZ2V0LmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kRWxlbWVudCA9IGdldEVsZW1lbnRCeUlkPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudC50YXJnZXQuYm91bmRJZCk7XG4gICAgICAgICAgICBpZiAoYm91bmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnRhcmdldCA9IGJvdW5kRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYm91bmRlZEVsZW1lbnRzO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQodmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPiwgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPikge1xuICAgICAgICBjb25zdCBib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICBjb25zdCBpc0JvdW5kZWRFbGVtZW50c0NoYW5nZWQgPVxuICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnNvdXJjZSAhPT0gdGhpcy5ib3VuZGVkRWxlbWVudHMuc291cmNlIHx8IGJvdW5kZWRFbGVtZW50cy50YXJnZXQgIT09IHRoaXMuYm91bmRlZEVsZW1lbnRzLnRhcmdldDtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSBib3VuZGVkRWxlbWVudHM7XG5cbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHByZXZpb3VzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dChwcmV2aW91cy5lbGVtZW50LnRleHRzLCB2YWx1ZS5lbGVtZW50LnRleHRzKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dFJlY3RhbmdsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQm91bmRlZEVsZW1lbnRzQ2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0UmVjdGFuZ2xlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBoYXNTYW1lU2VsZWN0ZWQgPSB2YWx1ZS5zZWxlY3RlZCA9PT0gcHJldmlvdXMuc2VsZWN0ZWQ7XG4gICAgICAgIGlmICghaGFzU2FtZVNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpYWxpemVUZXh0TWFuYWdlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50ZXh0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQudGV4dHMuZm9yRWFjaCgodGV4dCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYW5hZ2UgPSB0aGlzLmNyZWF0ZVRleHRNYW5hZ2UodGV4dCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIHRoaXMudGV4dE1hbmFnZXMucHVzaChtYW5hZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZXN0cm95VGV4dE1hbmFnZXMoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZXMuZm9yRWFjaChtYW5hZ2UgPT4ge1xuICAgICAgICAgICAgbWFuYWdlLmRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZHJhd1RleHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGV4dHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50ZXh0TWFuYWdlcy5mb3JFYWNoKChtYW5hZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgbWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHRzIVtpbmRleF0udGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nLmFwcGVuZChtYW5hZ2UuZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVRleHRNYW5hZ2UodGV4dDogTGluZVRleHQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUZXh0TWFuYWdlKHRoaXMuYm9hcmQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldExpbmVUZXh0UmVjdGFuZ2xlKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgaW5kZXgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh0ZXh0TWFuYWdlUmVmOiBUZXh0TWFuYWdlUmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRzID0gWy4uLnRoaXMuZWxlbWVudC50ZXh0c107XG4gICAgICAgICAgICAgICAgdGV4dHMuc3BsaWNlKGluZGV4LCAxLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRNYW5hZ2VSZWYubmV3VmFsdWUgPyB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlIDogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldExpbmVUZXh0cyh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHRleHRzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KHByZXZpb3VzVGV4dHM6IExpbmVUZXh0W10sIGN1cnJlbnRUZXh0czogTGluZVRleHRbXSkge1xuICAgICAgICBpZiAocHJldmlvdXNUZXh0cyA9PT0gY3VycmVudFRleHRzKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGV4dHNMZW5ndGggPSBwcmV2aW91c1RleHRzLmxlbmd0aDtcbiAgICAgICAgY29uc3QgY3VycmVudFRleHRzTGVuZ3RoID0gY3VycmVudFRleHRzLmxlbmd0aDtcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0c0xlbmd0aCA9PT0gcHJldmlvdXNUZXh0c0xlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmV2aW91c1RleHRzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNUZXh0c1tpXS50ZXh0ICE9PSBjdXJyZW50VGV4dHNbaV0udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzW2ldLnVwZGF0ZVRleHQoY3VycmVudFRleHRzW2ldLnRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVRleHRNYW5hZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzID0gW107XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcygpO1xuICAgICAgICAgICAgdGhpcy5kcmF3VGV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dFJlY3RhbmdsZSgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlcy5mb3JFYWNoKG1hbmFnZSA9PiB7XG4gICAgICAgICAgICBtYW5hZ2UudXBkYXRlUmVjdGFuZ2xlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
import { getDataFromClipboard, getSelectedElements, setClipboardData } from '@plait/core';
|
|
2
2
|
import { getSelectedDrawElements } from '../utils/selected';
|
|
3
3
|
import { PlaitDrawElement, PlaitLine } from '../interfaces';
|
|
4
|
-
import { CommonTransforms } from '@plait/common';
|
|
5
4
|
import { getTextFromClipboard, getTextSize } from '@plait/text';
|
|
6
5
|
import { buildClipboardData, insertClipboardData } from '../utils/clipboard';
|
|
7
6
|
import { DrawTransforms } from '../transforms';
|
|
8
7
|
import { getBoardLines } from '../utils/line';
|
|
9
8
|
export const withDrawFragment = (baseBoard) => {
|
|
10
9
|
const board = baseBoard;
|
|
11
|
-
const {
|
|
12
|
-
board.
|
|
10
|
+
const { getDeletedFragment, setFragment, insertFragment } = board;
|
|
11
|
+
board.getDeletedFragment = (data) => {
|
|
13
12
|
const drawElements = getSelectedDrawElements(board);
|
|
14
13
|
if (drawElements.length) {
|
|
15
14
|
const lines = getBoardLines(board);
|
|
16
15
|
const geometryElements = drawElements.filter(value => PlaitDrawElement.isGeometry(value));
|
|
17
16
|
const lineElements = drawElements.filter(value => PlaitDrawElement.isLine(value));
|
|
18
17
|
const boundLineElements = lines.filter(line => geometryElements.find(geometry => PlaitLine.isBoundElementOfSource(line, geometry) || PlaitLine.isBoundElementOfTarget(line, geometry)));
|
|
19
|
-
|
|
20
|
-
...geometryElements,
|
|
21
|
-
...lineElements,
|
|
22
|
-
...boundLineElements.filter(line => !lineElements.includes(line))
|
|
23
|
-
]);
|
|
18
|
+
data.push(...[...geometryElements, ...lineElements, ...boundLineElements.filter(line => !lineElements.includes(line))]);
|
|
24
19
|
}
|
|
25
|
-
|
|
20
|
+
return getDeletedFragment(data);
|
|
26
21
|
};
|
|
27
22
|
board.setFragment = (data, rectangle) => {
|
|
28
23
|
const targetDrawElements = getSelectedDrawElements(board);
|
|
@@ -54,4 +49,4 @@ export const withDrawFragment = (baseBoard) => {
|
|
|
54
49
|
};
|
|
55
50
|
return board;
|
|
56
51
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LWZyYWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXctZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvRCxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFNBQXFCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLEtBQUssR0FBRyxTQUF1QixDQUFDO0lBQ3RDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRWxFLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLElBQW9CLEVBQUUsRUFBRTtRQUNoRCxNQUFNLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFD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QUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3pHLE9BQU87YUFDVjtTQUNKO1FBQ0QsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBvaW50LCBSZWN0YW5nbGVDbGllbnQsIGdldERhdGFGcm9tQ2xpcGJvYXJkLCBnZXRTZWxlY3RlZEVsZW1lbnRzLCBzZXRDbGlwYm9hcmREYXRhIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZCc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50LCBQbGFpdEdlb21ldHJ5LCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFRleHRGcm9tQ2xpcGJvYXJkLCBnZXRUZXh0U2l6ZSB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IGJ1aWxkQ2xpcGJvYXJkRGF0YSwgaW5zZXJ0Q2xpcGJvYXJkRGF0YSB9IGZyb20gJy4uL3V0aWxzL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZ2V0Qm9hcmRMaW5lcyB9IGZyb20gJy4uL3V0aWxzL2xpbmUnO1xuXG5leHBvcnQgY29uc3Qgd2l0aERyYXdGcmFnbWVudCA9IChiYXNlQm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBib2FyZCA9IGJhc2VCb2FyZCBhcyBQbGFpdEJvYXJkO1xuICAgIGNvbnN0IHsgZ2V0RGVsZXRlZEZyYWdtZW50LCBzZXRGcmFnbWVudCwgaW5zZXJ0RnJhZ21lbnQgfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQuZ2V0RGVsZXRlZEZyYWdtZW50ID0gKGRhdGE6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRyYXdFbGVtZW50cyA9IGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgaWYgKGRyYXdFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVzID0gZ2V0Qm9hcmRMaW5lcyhib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBnZW9tZXRyeUVsZW1lbnRzID0gZHJhd0VsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkodmFsdWUpKSBhcyBQbGFpdEdlb21ldHJ5W107XG4gICAgICAgICAgICBjb25zdCBsaW5lRWxlbWVudHMgPSBkcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSkgYXMgUGxhaXRMaW5lW107XG4gICAgICAgICAgICBjb25zdCBib3VuZExpbmVFbGVtZW50cyA9IGxpbmVzLmZpbHRlcihsaW5lID0+XG4gICAgICAgICAgICAgICAgZ2VvbWV0cnlFbGVtZW50cy5maW5kKFxuICAgICAgICAgICAgICAgICAgICBnZW9tZXRyeSA9PiBQbGFpdExpbmUuaXNCb3VuZEVsZW1lbnRPZlNvdXJjZShsaW5lLCBnZW9tZXRyeSkgfHwgUGxhaXRMaW5lLmlzQm91bmRFbGVtZW50T2ZUYXJnZXQobGluZSwgZ2VvbWV0cnkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGRhdGEucHVzaCguLi5bLi4uZ2VvbWV0cnlFbGVtZW50cywgLi4ubGluZUVsZW1lbnRzLCAuLi5ib3VuZExpbmVFbGVtZW50cy5maWx0ZXIobGluZSA9PiAhbGluZUVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpKV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXREZWxldGVkRnJhZ21lbnQoZGF0YSk7XG4gICAgfTtcblxuICAgIGJvYXJkLnNldEZyYWdtZW50ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREcmF3RWxlbWVudHMgPSBnZXRTZWxlY3RlZERyYXdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGlmICh0YXJnZXREcmF3RWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGJ1aWxkQ2xpcGJvYXJkRGF0YShib2FyZCwgdGFyZ2V0RHJhd0VsZW1lbnRzLCByZWN0YW5nbGUgPyBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSA6IFswLCAwXSk7XG4gICAgICAgICAgICBzZXRDbGlwYm9hcmREYXRhKGRhdGEsIGVsZW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBzZXRGcmFnbWVudChkYXRhLCByZWN0YW5nbGUpO1xuICAgIH07XG5cbiAgICBib2FyZC5pbnNlcnRGcmFnbWVudCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLCB0YXJnZXRQb2ludDogUG9pbnQpID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBnZXREYXRhRnJvbUNsaXBib2FyZChkYXRhKTtcbiAgICAgICAgY29uc3QgZHJhd0VsZW1lbnRzID0gZWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNEcmF3RWxlbWVudCh2YWx1ZSkpIGFzIFBsYWl0RHJhd0VsZW1lbnRbXTtcbiAgICAgICAgaWYgKGVsZW1lbnRzLmxlbmd0aCA+IDAgJiYgZHJhd0VsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGluc2VydENsaXBib2FyZERhdGEoYm9hcmQsIGRyYXdFbGVtZW50cywgdGFyZ2V0UG9pbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGdldFRleHRGcm9tQ2xpcGJvYXJkKGRhdGEpO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgLy8gKCrvv6PvuLbvv6MpXG4gICAgICAgICAgICBjb25zdCBpbnNlcnRBc0NoaWxkcmVuID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50c1swXS5jaGlsZHJlbjtcbiAgICAgICAgICAgIGNvbnN0IGluc2VydEFzRnJlZVRleHQgPSAhaW5zZXJ0QXNDaGlsZHJlbjtcbiAgICAgICAgICAgIGlmICh0ZXh0ICYmIGluc2VydEFzRnJlZVRleHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFRleHRTaXplKGJvYXJkLCB0ZXh0KTtcbiAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5pbnNlcnRUZXh0KGJvYXJkLCBbdGFyZ2V0UG9pbnQsIFt0YXJnZXRQb2ludFswXSArIHdpZHRoLCB0YXJnZXRQb2ludFsxXSArIGhlaWdodF1dLCB0ZXh0KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RnJhZ21lbnQoZGF0YSwgdGFyZ2V0UG9pbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PlaitElement, getSelectedElements } from '@plait/core';
|
|
2
|
-
import { isVirtualKey, isSpaceHotkey } from '@plait/common';
|
|
2
|
+
import { isVirtualKey, isSpaceHotkey, isDelete } from '@plait/common';
|
|
3
3
|
import { PlaitDrawElement } from '../interfaces';
|
|
4
4
|
import { getSelectedGeometryElements } from '../utils';
|
|
5
5
|
export const withDrawHotkey = (board) => {
|
|
@@ -8,7 +8,11 @@ export const withDrawHotkey = (board) => {
|
|
|
8
8
|
const selectedElements = getSelectedElements(board);
|
|
9
9
|
const isSingleSelection = selectedElements.length === 1;
|
|
10
10
|
const targetElement = selectedElements[0];
|
|
11
|
-
if (!isVirtualKey(event) &&
|
|
11
|
+
if (!isVirtualKey(event) &&
|
|
12
|
+
!isDelete(event) &&
|
|
13
|
+
!isSpaceHotkey(event) &&
|
|
14
|
+
isSingleSelection &&
|
|
15
|
+
PlaitDrawElement.isGeometry(targetElement)) {
|
|
12
16
|
event.preventDefault();
|
|
13
17
|
PlaitElement.getComponent(targetElement).editText();
|
|
14
18
|
return;
|
|
@@ -26,4 +30,4 @@ export const withDrawHotkey = (board) => {
|
|
|
26
30
|
};
|
|
27
31
|
return board;
|
|
28
32
|
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LWhvdGtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1kcmF3LWhvdGtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNoRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVwQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFDLElBQ0ksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ3BCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNoQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDckIsaUJBQWlCO1lBQ2pCLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFDNUM7WUFDRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFdEIsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0UsT0FBTztTQUNWO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekIsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQXNCLENBQUM7WUFDaEYsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3hCO1FBQ0QsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLENBQUMsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGlzVmlydHVhbEtleSwgaXNTcGFjZUhvdGtleSwgaXNEZWxldGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEdlb21ldHJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWl0RHJhd0VsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFNlbGVjdGVkR2VvbWV0cnlFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3SG90a2V5ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBrZXlkb3duLCBkYmxjbGljayB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5rZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgY29uc3QgaXNTaW5nbGVTZWxlY3Rpb24gPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHNlbGVjdGVkRWxlbWVudHNbMF07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWlzVmlydHVhbEtleShldmVudCkgJiZcbiAgICAgICAgICAgICFpc0RlbGV0ZShldmVudCkgJiZcbiAgICAgICAgICAgICFpc1NwYWNlSG90a2V5KGV2ZW50KSAmJlxuICAgICAgICAgICAgaXNTaW5nbGVTZWxlY3Rpb24gJiZcbiAgICAgICAgICAgIFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeSh0YXJnZXRFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIChQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KHRhcmdldEVsZW1lbnQpIGFzIEdlb21ldHJ5Q29tcG9uZW50KS5lZGl0VGV4dCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAga2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmRibGNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGdlb21ldHJpZXMgPSBnZXRTZWxlY3RlZEdlb21ldHJ5RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoZ2VvbWV0cmllcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZ2VvbWV0cmllc1swXSkgYXMgR2VvbWV0cnlDb21wb25lbnQ7XG4gICAgICAgICAgICBjb21wb25lbnQuZWRpdFRleHQoKTtcbiAgICAgICAgfVxuICAgICAgICBkYmxjbGljayhldmVudCk7XG4gICAgfTtcbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|