@plait/draw 0.59.0 → 0.62.0-next.0
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/constants/geometry.d.ts +115 -7
- package/constants/index.d.ts +2 -1
- package/constants/line.d.ts +1 -0
- package/constants/pointer.d.ts +2 -2
- package/constants/swimlane.d.ts +21 -0
- package/constants/text.d.ts +1 -0
- package/engines/uml/activity-class.d.ts +2 -0
- package/engines/uml/assembly.d.ts +2 -0
- package/engines/uml/component-box.d.ts +2 -0
- package/engines/uml/component.d.ts +2 -0
- package/engines/uml/deletion.d.ts +2 -0
- package/engines/uml/note.d.ts +2 -0
- package/engines/uml/provided-interface.d.ts +2 -0
- package/engines/uml/required-interface.d.ts +2 -0
- package/engines/uml/template.d.ts +2 -0
- package/esm2022/constants/geometry.mjs +87 -15
- package/esm2022/constants/index.mjs +3 -2
- package/esm2022/constants/line.mjs +2 -1
- package/esm2022/constants/pointer.mjs +3 -3
- package/esm2022/constants/swimlane.mjs +25 -0
- package/esm2022/constants/text.mjs +2 -0
- package/esm2022/engines/index.mjs +27 -2
- package/esm2022/engines/table/table.mjs +10 -3
- package/esm2022/engines/uml/activity-class.mjs +47 -0
- package/esm2022/engines/uml/assembly.mjs +56 -0
- package/esm2022/engines/uml/component-box.mjs +61 -0
- package/esm2022/engines/uml/component.mjs +72 -0
- package/esm2022/engines/uml/deletion.mjs +31 -0
- package/esm2022/engines/uml/note.mjs +58 -0
- package/esm2022/engines/uml/provided-interface.mjs +47 -0
- package/esm2022/engines/uml/required-interface.mjs +36 -0
- package/esm2022/engines/uml/template.mjs +47 -0
- package/esm2022/generators/single-text.generator.mjs +3 -3
- package/esm2022/generators/table.generator.mjs +1 -1
- package/esm2022/generators/text.generator.mjs +10 -13
- package/esm2022/geometry.component.mjs +12 -14
- package/esm2022/image.component.mjs +6 -8
- package/esm2022/interfaces/geometry.mjs +17 -10
- package/esm2022/interfaces/index.mjs +19 -9
- package/esm2022/interfaces/swimlane.mjs +13 -0
- package/esm2022/interfaces/table.mjs +5 -1
- package/esm2022/line.component.mjs +12 -13
- package/esm2022/plugins/with-draw-fragment.mjs +6 -2
- package/esm2022/plugins/with-geometry-create.mjs +16 -13
- package/esm2022/plugins/with-line-text.mjs +7 -8
- package/esm2022/plugins/with-swimlane-create.mjs +4 -4
- package/esm2022/plugins/with-swimlane.mjs +21 -2
- package/esm2022/plugins/with-table-resize.mjs +6 -5
- package/esm2022/plugins/with-table.mjs +28 -10
- package/esm2022/table.component.mjs +31 -12
- package/esm2022/transforms/geometry-text.mjs +8 -6
- package/esm2022/transforms/image.mjs +3 -3
- package/esm2022/transforms/index.mjs +5 -3
- package/esm2022/transforms/line.mjs +1 -1
- package/esm2022/transforms/multi-text-geometry-text.mjs +1 -1
- package/esm2022/transforms/swimlane.mjs +142 -47
- package/esm2022/utils/clipboard.mjs +27 -21
- package/esm2022/utils/common.mjs +6 -7
- package/esm2022/utils/geometry.mjs +16 -10
- package/esm2022/utils/hit.mjs +2 -2
- package/esm2022/utils/index.mjs +5 -1
- package/esm2022/utils/multi-text-geometry.mjs +4 -4
- package/esm2022/utils/selected.mjs +3 -8
- package/esm2022/utils/swimlane.mjs +73 -78
- package/esm2022/utils/table-selected.mjs +26 -0
- package/esm2022/utils/table.mjs +26 -1
- package/esm2022/utils/uml.mjs +88 -0
- package/fesm2022/plait-draw.mjs +1215 -367
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/generators/single-text.generator.d.ts +3 -4
- package/generators/table.generator.d.ts +2 -2
- package/generators/text.generator.d.ts +3 -6
- package/image.component.d.ts +0 -1
- package/interfaces/geometry.d.ts +25 -24
- package/interfaces/index.d.ts +11 -6
- package/interfaces/swimlane.d.ts +22 -0
- package/interfaces/table.d.ts +13 -4
- package/line.component.d.ts +1 -2
- package/package.json +1 -3
- package/plugins/with-geometry-create.d.ts +1 -1
- package/plugins/with-swimlane-create.d.ts +1 -1
- package/plugins/with-swimlane.d.ts +3 -2
- package/plugins/with-table-resize.d.ts +1 -1
- package/plugins/with-table.d.ts +1 -4
- package/transforms/geometry.d.ts +2 -2
- package/transforms/index.d.ts +9 -7
- package/transforms/swimlane.d.ts +8 -5
- package/utils/clipboard.d.ts +4 -3
- package/utils/common.d.ts +5 -5
- package/utils/geometry.d.ts +43 -2
- package/utils/index.d.ts +4 -0
- package/utils/multi-text-geometry.d.ts +1 -1
- package/utils/selected.d.ts +2 -4
- package/utils/shape.d.ts +1 -1
- package/utils/swimlane.d.ts +11 -26
- package/utils/table-selected.d.ts +9 -0
- package/utils/table.d.ts +10 -9
- package/utils/uml.d.ts +3 -0
- package/constants/draw.d.ts +0 -1
- package/esm2022/constants/draw.mjs +0 -2
|
@@ -1,52 +1,70 @@
|
|
|
1
1
|
import { TableComponent } from '../table.component';
|
|
2
|
-
import {
|
|
3
|
-
import { PlaitBoard, RectangleClient, isPolylineHitRectangle, toViewBoxPoint, toHostPoint, getHitElementByPoint } from '@plait/core';
|
|
2
|
+
import { PlaitBoard, RectangleClient, isPolylineHitRectangle, toViewBoxPoint, toHostPoint, getHitElementByPoint, getSelectedElements } from '@plait/core';
|
|
4
3
|
import { editCell, getHitCell } from '../utils/table';
|
|
5
4
|
import { withTableResize } from './with-table-resize';
|
|
5
|
+
import { isVirtualKey, isDelete, isSpaceHotkey } from '@plait/common';
|
|
6
|
+
import { PlaitDrawElement } from '../interfaces';
|
|
6
7
|
export const withTable = (board) => {
|
|
7
8
|
const tableBoard = board;
|
|
8
|
-
const { drawElement, getRectangle, isRectangleHit, isHit, isMovable, dblClick } = tableBoard;
|
|
9
|
+
const { drawElement, getRectangle, isRectangleHit, isHit, isMovable, dblClick, keyDown } = tableBoard;
|
|
9
10
|
tableBoard.drawElement = (context) => {
|
|
10
|
-
if (
|
|
11
|
+
if (PlaitDrawElement.isElementByTable(context.element)) {
|
|
11
12
|
return TableComponent;
|
|
12
13
|
}
|
|
13
14
|
return drawElement(context);
|
|
14
15
|
};
|
|
15
16
|
tableBoard.isHit = (element, point) => {
|
|
16
|
-
if (
|
|
17
|
+
if (PlaitDrawElement.isElementByTable(element)) {
|
|
17
18
|
const client = RectangleClient.getRectangleByPoints(element.points);
|
|
18
19
|
return RectangleClient.isPointInRectangle(client, point);
|
|
19
20
|
}
|
|
20
21
|
return isHit(element, point);
|
|
21
22
|
};
|
|
22
23
|
tableBoard.getRectangle = (element) => {
|
|
23
|
-
if (
|
|
24
|
+
if (PlaitDrawElement.isElementByTable(element)) {
|
|
24
25
|
return RectangleClient.getRectangleByPoints(element.points);
|
|
25
26
|
}
|
|
26
27
|
return getRectangle(element);
|
|
27
28
|
};
|
|
28
29
|
tableBoard.isMovable = (element) => {
|
|
29
|
-
if (
|
|
30
|
+
if (PlaitDrawElement.isElementByTable(element)) {
|
|
30
31
|
return true;
|
|
31
32
|
}
|
|
32
33
|
return isMovable(element);
|
|
33
34
|
};
|
|
34
35
|
tableBoard.isRectangleHit = (element, selection) => {
|
|
35
|
-
if (
|
|
36
|
+
if (PlaitDrawElement.isElementByTable(element)) {
|
|
36
37
|
const rangeRectangle = RectangleClient.getRectangleByPoints([selection.anchor, selection.focus]);
|
|
37
38
|
return isPolylineHitRectangle(element.points, rangeRectangle);
|
|
38
39
|
}
|
|
39
40
|
return isRectangleHit(element, selection);
|
|
40
41
|
};
|
|
42
|
+
tableBoard.keyDown = (event) => {
|
|
43
|
+
const selectedElements = getSelectedElements(board);
|
|
44
|
+
const isSingleSelection = selectedElements.length === 1;
|
|
45
|
+
const targetElement = selectedElements[0];
|
|
46
|
+
if (!PlaitBoard.isReadonly(board) && !isVirtualKey(event) && !isDelete(event) && !isSpaceHotkey(event) && isSingleSelection) {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
if (PlaitDrawElement.isElementByTable(targetElement)) {
|
|
49
|
+
const firstTextCell = targetElement.cells.find(item => item.text && item.textHeight);
|
|
50
|
+
if (firstTextCell) {
|
|
51
|
+
editCell(firstTextCell);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
keyDown(event);
|
|
57
|
+
};
|
|
41
58
|
tableBoard.dblClick = (event) => {
|
|
42
59
|
event.preventDefault();
|
|
43
60
|
if (!PlaitBoard.isReadonly(board)) {
|
|
44
61
|
const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
45
62
|
const hitElement = getHitElementByPoint(board, point);
|
|
46
|
-
if (hitElement &&
|
|
63
|
+
if (hitElement && PlaitDrawElement.isElementByTable(hitElement)) {
|
|
47
64
|
const hitCell = getHitCell(tableBoard, hitElement, point);
|
|
48
65
|
if (hitCell && hitCell.text && hitCell.textHeight) {
|
|
49
66
|
editCell(hitCell);
|
|
67
|
+
return;
|
|
50
68
|
}
|
|
51
69
|
}
|
|
52
70
|
}
|
|
@@ -57,4 +75,4 @@ export const withTable = (board) => {
|
|
|
57
75
|
};
|
|
58
76
|
return withTableResize(tableBoard);
|
|
59
77
|
};
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBRWYsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUN0QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUMzQyxNQUFNLFVBQVUsR0FBRyxLQUF3QixDQUFDO0lBRTVDLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFdEcsVUFBVSxDQUFDLFdBQVcsR0FBRyxDQUFDLE9BQWtDLEVBQUUsRUFBRTtRQUM1RCxJQUFJLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFFRixVQUFVLENBQUMsS0FBSyxHQUFHLENB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LEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RCxJQUFJLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ2hELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbEIsT0FBTztnQkFDWCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0lBRUYsVUFBVSxDQUFDLFVBQVUsR0FBRyxDQUFDLE9BQXVCLEVBQUUsRUFBRTtRQUNoRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDLENBQUM7SUFFRixPQUFPLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdEJhc2VUYWJsZSwgUGxhaXRUYWJsZUJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90YWJsZSc7XG5pbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFNlbGVjdGlvbixcbiAgICBpc1BvbHlsaW5lSGl0UmVjdGFuZ2xlLFxuICAgIHRvVmlld0JveFBvaW50LFxuICAgIHRvSG9zdFBvaW50LFxuICAgIGdldEhpdEVsZW1lbnRCeVBvaW50LFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHNcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgZWRpdENlbGwsIGdldEhpdENlbGwgfSBmcm9tICcuLi91dGlscy90YWJsZSc7XG5pbXBvcnQgeyB3aXRoVGFibGVSZXNpemUgfSBmcm9tICcuL3dpdGgtdGFibGUtcmVzaXplJztcbmltcG9ydCB7IGlzVmlydHVhbEtleSwgaXNEZWxldGUsIGlzU3BhY2VIb3RrZXkgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0RHJhd0VsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhUYWJsZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHRhYmxlQm9hcmQgPSBib2FyZCBhcyBQbGFpdFRhYmxlQm9hcmQ7XG5cbiAgICBjb25zdCB7IGRyYXdFbGVtZW50LCBnZXRSZWN0YW5nbGUsIGlzUmVjdGFuZ2xlSGl0LCBpc0hpdCwgaXNNb3ZhYmxlLCBkYmxDbGljaywga2V5RG93biB9ID0gdGFibGVCb2FyZDtcblxuICAgIHRhYmxlQm9hcmQuZHJhd0VsZW1lbnQgPSAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0VsZW1lbnRCeVRhYmxlKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBUYWJsZUNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZHJhd0VsZW1lbnQoY29udGV4dCk7XG4gICAgfTtcblxuICAgIHRhYmxlQm9hcmQuaXNIaXQgPSAoZWxlbWVudCwgcG9pbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNFbGVtZW50QnlUYWJsZShlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNQb2ludEluUmVjdGFuZ2xlKGNsaWVudCwgcG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0hpdChlbGVtZW50LCBwb2ludCk7XG4gICAgfTtcblxuICAgIHRhYmxlQm9hcmQuZ2V0UmVjdGFuZ2xlID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0VsZW1lbnRCeVRhYmxlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICB0YWJsZUJvYXJkLmlzTW92YWJsZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNFbGVtZW50QnlUYWJsZShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNNb3ZhYmxlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICB0YWJsZUJvYXJkLmlzUmVjdGFuZ2xlSGl0ID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCwgc2VsZWN0aW9uOiBTZWxlY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNFbGVtZW50QnlUYWJsZShlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoW3NlbGVjdGlvbi5hbmNob3IsIHNlbGVjdGlvbi5mb2N1c10pO1xuICAgICAgICAgICAgcmV0dXJuIGlzUG9seWxpbmVIaXRSZWN0YW5nbGUoZWxlbWVudC5wb2ludHMsIHJhbmdlUmVjdGFuZ2xlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNSZWN0YW5nbGVIaXQoZWxlbWVudCwgc2VsZWN0aW9uKTtcbiAgICB9O1xuXG4gICAgdGFibGVCb2FyZC5rZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgY29uc3QgaXNTaW5nbGVTZWxlY3Rpb24gPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHNlbGVjdGVkRWxlbWVudHNbMF07XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJiAhaXNWaXJ0dWFsS2V5KGV2ZW50KSAmJiAhaXNEZWxldGUoZXZlbnQpICYmICFpc1NwYWNlSG90a2V5KGV2ZW50KSAmJiBpc1NpbmdsZVNlbGVjdGlvbikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzRWxlbWVudEJ5VGFibGUodGFyZ2V0RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdFRleHRDZWxsID0gdGFyZ2V0RWxlbWVudC5jZWxscy5maW5kKGl0ZW0gPT4gaXRlbS50ZXh0ICYmIGl0ZW0udGV4dEhlaWdodCk7XG4gICAgICAgICAgICAgICAgaWYgKGZpcnN0VGV4dENlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZWRpdENlbGwoZmlyc3RUZXh0Q2VsbCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAga2V5RG93bihldmVudCk7XG4gICAgfTtcblxuICAgIHRhYmxlQm9hcmQuZGJsQ2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICAgICAgY29uc3QgaGl0RWxlbWVudCA9IGdldEhpdEVsZW1lbnRCeVBvaW50KGJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICBpZiAoaGl0RWxlbWVudCAmJiBQbGFpdERyYXdFbGVtZW50LmlzRWxlbWVudEJ5VGFibGUoaGl0RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoaXRDZWxsID0gZ2V0SGl0Q2VsbCh0YWJsZUJvYXJkLCBoaXRFbGVtZW50LCBwb2ludCk7XG4gICAgICAgICAgICAgICAgaWYgKGhpdENlbGwgJiYgaGl0Q2VsbC50ZXh0ICYmIGhpdENlbGwudGV4dEhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICBlZGl0Q2VsbChoaXRDZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkYmxDbGljayhldmVudCk7XG4gICAgfTtcblxuICAgIHRhYmxlQm9hcmQuYnVpbGRUYWJsZSA9IChlbGVtZW50OiBQbGFpdEJhc2VUYWJsZSkgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhUYWJsZVJlc2l6ZSh0YWJsZUJvYXJkKTtcbn07XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { getTextManage, TextGenerator } from './generators/text.generator';
|
|
|
5
5
|
import { TableGenerator } from './generators/table.generator';
|
|
6
6
|
import { DrawTransforms } from './transforms';
|
|
7
7
|
import { getCellWithPoints, isCellIncludeText } from './utils/table';
|
|
8
|
-
import { getStrokeWidthByElement, memorizeLatestText } from './utils';
|
|
8
|
+
import { clearSelectedCells, getCellsRectangle, getSelectedCells, getStrokeWidthByElement, memorizeLatestText, setSelectedCells } from './utils';
|
|
9
9
|
import { getEngine } from './engines';
|
|
10
10
|
import { TableSymbols } from './interfaces';
|
|
11
11
|
import { getHorizontalTextRectangle } from './engines/table/table';
|
|
@@ -24,9 +24,17 @@ export class TableComponent extends CommonElementFlavour {
|
|
|
24
24
|
return 1;
|
|
25
25
|
},
|
|
26
26
|
getRectangle: (value) => {
|
|
27
|
+
const cells = getSelectedCells(value);
|
|
28
|
+
if (cells?.length) {
|
|
29
|
+
return getCellsRectangle(this.board, this.element, cells);
|
|
30
|
+
}
|
|
27
31
|
return RectangleClient.getRectangleByPoints(value.points);
|
|
28
32
|
},
|
|
29
33
|
hasResizeHandle: () => {
|
|
34
|
+
const cells = getSelectedCells(this.element);
|
|
35
|
+
if (cells?.length) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
30
38
|
return canResize(this.board, this.element);
|
|
31
39
|
}
|
|
32
40
|
});
|
|
@@ -49,7 +57,8 @@ export class TableComponent extends CommonElementFlavour {
|
|
|
49
57
|
});
|
|
50
58
|
}
|
|
51
59
|
rotateVerticalText() {
|
|
52
|
-
this.
|
|
60
|
+
const table = this.board.buildTable(this.element);
|
|
61
|
+
table.cells.forEach(item => {
|
|
53
62
|
if (PlaitTableElement.isVerticalText(item)) {
|
|
54
63
|
const textManage = getTextManage(item.id);
|
|
55
64
|
if (textManage) {
|
|
@@ -75,14 +84,14 @@ export class TableComponent extends CommonElementFlavour {
|
|
|
75
84
|
}
|
|
76
85
|
initializeTextManage() {
|
|
77
86
|
const texts = this.getDrawShapeTexts(this.element.cells);
|
|
78
|
-
this.textGenerator = new TextGenerator(this.board, this.element, texts,
|
|
79
|
-
|
|
80
|
-
const height =
|
|
81
|
-
const width =
|
|
82
|
-
if (
|
|
83
|
-
DrawTransforms.setTableText(this.board, value, text.key,
|
|
87
|
+
this.textGenerator = new TextGenerator(this.board, this.element, texts, {
|
|
88
|
+
onChange: (value, data, text) => {
|
|
89
|
+
const height = data.height / this.board.viewport.zoom;
|
|
90
|
+
const width = data.width / this.board.viewport.zoom;
|
|
91
|
+
if (data.newText) {
|
|
92
|
+
DrawTransforms.setTableText(this.board, value, text.key, data.newText, width, height);
|
|
84
93
|
}
|
|
85
|
-
|
|
94
|
+
data.operations && memorizeLatestText(value, data.operations);
|
|
86
95
|
},
|
|
87
96
|
getRenderRectangle: (value, text) => {
|
|
88
97
|
const cell = getCellWithPoints(this.board, value, text.key);
|
|
@@ -106,7 +115,13 @@ export class TableComponent extends CommonElementFlavour {
|
|
|
106
115
|
this.textGenerator.initialize();
|
|
107
116
|
}
|
|
108
117
|
onContextChanged(value, previous) {
|
|
109
|
-
|
|
118
|
+
const isChangeTheme = this.board.operations.find(op => op.type === 'set_theme');
|
|
119
|
+
if (value.element !== previous.element || isChangeTheme) {
|
|
120
|
+
const previousSelectedCells = getSelectedCells(previous.element);
|
|
121
|
+
if (previousSelectedCells?.length) {
|
|
122
|
+
clearSelectedCells(previous.element);
|
|
123
|
+
setSelectedCells(value.element, previousSelectedCells);
|
|
124
|
+
}
|
|
110
125
|
this.tableGenerator.processDrawing(value.element, this.getElementG());
|
|
111
126
|
this.activeGenerator.processDrawing(value.element, PlaitBoard.getElementActiveHost(this.board), { selected: this.selected });
|
|
112
127
|
const previousTexts = this.getDrawShapeTexts(previous.element.cells);
|
|
@@ -117,11 +132,15 @@ export class TableComponent extends CommonElementFlavour {
|
|
|
117
132
|
else {
|
|
118
133
|
const hasSameSelected = value.selected === previous.selected;
|
|
119
134
|
const hasSameHandleState = this.activeGenerator.options.hasResizeHandle() === this.activeGenerator.hasResizeHandle;
|
|
120
|
-
|
|
135
|
+
const currentSelectedCells = getSelectedCells(value.element);
|
|
136
|
+
if (!hasSameSelected || !hasSameHandleState || currentSelectedCells?.length) {
|
|
121
137
|
this.activeGenerator.processDrawing(value.element, PlaitBoard.getElementActiveHost(this.board), {
|
|
122
138
|
selected: this.selected
|
|
123
139
|
});
|
|
124
140
|
}
|
|
141
|
+
if (!this.selected) {
|
|
142
|
+
clearSelectedCells(value.element);
|
|
143
|
+
}
|
|
125
144
|
}
|
|
126
145
|
this.lineAutoCompleteGenerator.processDrawing(this.element, PlaitBoard.getElementActiveHost(this.board), {
|
|
127
146
|
selected: this.selected
|
|
@@ -135,4 +154,4 @@ export class TableComponent extends CommonElementFlavour {
|
|
|
135
154
|
this.lineAutoCompleteGenerator.destroy();
|
|
136
155
|
}
|
|
137
156
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixZQUFZLEVBQ1osZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBOEIsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFzQixhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFdEYsTUFBTSxPQUFPLGNBQXFDLFNBQVEsb0JBQW1DO0lBU3pGO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUs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QyxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM1RixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7aUJBQzFCLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckcsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzFCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBPbkNvbnRleHRDaGFuZ2VkLFxuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIHNldEFuZ2xlRm9yRyxcbiAgICBkZWdyZWVzVG9SYWRpYW5zXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgQ29tbW9uRWxlbWVudEZsYXZvdXIsIGNhblJlc2l6ZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgUGxhaXRUYWJsZSwgUGxhaXRUYWJsZUNlbGwsIFBsYWl0VGFibGVFbGVtZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RhYmxlJztcbmltcG9ydCB7IGdldFRleHRNYW5hZ2UsIFBsYWl0RHJhd1NoYXBlVGV4dCwgVGV4dEdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy90ZXh0LmdlbmVyYXRvcic7XG5pbXBvcnQgeyBUYWJsZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy90YWJsZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgVGV4dE1hbmFnZVJlZiB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGdldENlbGxXaXRoUG9pbnRzLCBpc0NlbGxJbmNsdWRlVGV4dCB9IGZyb20gJy4vdXRpbHMvdGFibGUnO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQsIG1lbW9yaXplTGF0ZXN0VGV4dCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi9lbmdpbmVzJztcbmltcG9ydCB7IFRhYmxlU3ltYm9scyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRIb3Jpem9udGFsVGV4dFJlY3RhbmdsZSB9IGZyb20gJy4vZW5naW5lcy90YWJsZS90YWJsZSc7XG5pbXBvcnQgeyBTaGFwZURlZmF1bHRTcGFjZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvcic7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgUGxhaXRUYWJsZT4gZXh0ZW5kcyBDb21tb25FbGVtZW50Rmxhdm91cjxULCBQbGFpdEJvYXJkPiBpbXBsZW1lbnRzIE9uQ29udGV4dENoYW5nZWQ8VCwgUGxhaXRCb2FyZD4ge1xuICAgIGFjdGl2ZUdlbmVyYXRvciE6IEFjdGl2ZUdlbmVyYXRvcjxUPjtcblxuICAgIHRhYmxlR2VuZXJhdG9yITogVGFibGVHZW5lcmF0b3I8VD47XG5cbiAgICB0ZXh0R2VuZXJhdG9yITogVGV4dEdlbmVyYXRvcjxUPjtcblxuICAgIGxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IhOiBMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yPFBsYWl0VGFibGU+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgQWN0aXZlR2VuZXJhdG9yPFQ+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFN0cm9rZVdpZHRoOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFDVElWRV9TVFJPS0VfV0lEVEg7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0U3Ryb2tlT3BhY2l0eTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKHZhbHVlOiBUKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyh2YWx1ZS5wb2ludHMhKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FuUmVzaXplKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRhYmxlR2VuZXJhdG9yID0gbmV3IFRhYmxlR2VuZXJhdG9yPFQ+KHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlKCk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciA9IG5ldyBMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmtleSwgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUdlbmVyYXRvcigpO1xuICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICB9XG5cbiAgICBkcmF3KCkge1xuICAgICAgICB0aGlzLnRhYmxlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yLmRyYXcodGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgdGhpcy5yb3RhdGVWZXJ0aWNhbFRleHQoKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcm90YXRlVmVydGljYWxUZXh0KCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQuY2VsbHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChQbGFpdFRhYmxlRWxlbWVudC5pc1ZlcnRpY2FsVGV4dChpdGVtKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBnZXRUZXh0TWFuYWdlKGl0ZW0uaWQpO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0TWFuYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZ2luZSA9IGdldEVuZ2luZTxQbGFpdFRhYmxlPihUYWJsZVN5bWJvbHMudGFibGUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBlbmdpbmUuZ2V0VGV4dFJlY3RhbmdsZSEodGhpcy5lbGVtZW50LCB7IGtleTogaXRlbS5pZCwgYm9hcmQ6IHRoaXMuYm9hcmQgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2UuZy5jbGFzc0xpc3QuYWRkKCd2ZXJ0aWNhbC1jZWxsLXRleHQnKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0QW5nbGVGb3JHKHRleHRNYW5hZ2UuZywgUmVjdGFuZ2xlQ2xpZW50LmdldENlbnRlclBvaW50KHJlY3RhbmdsZSksIGRlZ3JlZXNUb1JhZGlhbnMoLTkwKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXREcmF3U2hhcGVUZXh0cyhjZWxsczogUGxhaXRUYWJsZUNlbGxbXSk6IFBsYWl0RHJhd1NoYXBlVGV4dFtdIHtcbiAgICAgICAgcmV0dXJuIGNlbGxzXG4gICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXNDZWxsSW5jbHVkZVRleHQoaXRlbSkpXG4gICAgICAgICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogaXRlbS50ZXh0ISxcbiAgICAgICAgICAgICAgICAgICAgdGV4dEhlaWdodDogaXRlbS50ZXh0SGVpZ2h0ISxcbiAgICAgICAgICAgICAgICAgICAgYm9hcmQ6IHRoaXMuYm9hcmRcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKSB7XG4gICAgICAgIGNvbnN0IHRleHRzID0gdGhpcy5nZXREcmF3U2hhcGVUZXh0cyh0aGlzLmVsZW1lbnQuY2VsbHMpO1xuICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IgPSBuZXcgVGV4dEdlbmVyYXRvcih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHRleHRzLCBQbGFpdEJvYXJkLmdldFZpZXdDb250YWluZXJSZWYodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh2YWx1ZTogUGxhaXRUYWJsZSwgdGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZiwgdGV4dDogUGxhaXREcmF3U2hhcGVUZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGlmICh0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRhYmxlVGV4dCh0aGlzLmJvYXJkLCB2YWx1ZSwgdGV4dC5rZXksIHRleHRNYW5hZ2VSZWYubmV3VmFsdWUsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KHZhbHVlLCB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFJlbmRlclJlY3RhbmdsZTogKHZhbHVlOiBQbGFpdFRhYmxlLCB0ZXh0OiBQbGFpdERyYXdTaGFwZVRleHQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsID0gZ2V0Q2VsbFdpdGhQb2ludHModGhpcy5ib2FyZCwgdmFsdWUsIHRleHQua2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoUGxhaXRUYWJsZUVsZW1lbnQuaXNWZXJ0aWNhbFRleHQoY2VsbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbFJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhjZWxsLnBvaW50cyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoY2VsbCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gY2VsbC50ZXh0SGVpZ2h0IHx8IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGNlbGxSZWN0YW5nbGUuaGVpZ2h0IC0gU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCAqIDIgLSBzdHJva2VXaWR0aCAqIDI7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogaGVpZ2h0ID4gMCA/IGhlaWdodCA6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB4OiBjZWxsUmVjdGFuZ2xlLnggKyBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICsgc3Ryb2tlV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICB5OiBjZWxsUmVjdGFuZ2xlLnkgKyAoY2VsbFJlY3RhbmdsZS5oZWlnaHQgLSBoZWlnaHQpIC8gMlxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRIb3Jpem9udGFsVGV4dFJlY3RhbmdsZShjZWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQodmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8VCwgUGxhaXRCb2FyZD4sIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFQsIFBsYWl0Qm9hcmQ+KSB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHZhbHVlLmVsZW1lbnQsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh2YWx1ZS5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNUZXh0cyA9IHRoaXMuZ2V0RHJhd1NoYXBlVGV4dHMocHJldmlvdXMuZWxlbWVudC5jZWxscyk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VGV4dHMgPSB0aGlzLmdldERyYXdTaGFwZVRleHRzKHZhbHVlLmVsZW1lbnQuY2VsbHMpO1xuICAgICAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yLnVwZGF0ZSh2YWx1ZS5lbGVtZW50LCBwcmV2aW91c1RleHRzLCBjdXJyZW50VGV4dHMsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgICAgICB0aGlzLnJvdGF0ZVZlcnRpY2FsVGV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZUhhbmRsZVN0YXRlID0gdGhpcy5hY3RpdmVHZW5lcmF0b3Iub3B0aW9ucy5oYXNSZXNpemVIYW5kbGUoKSA9PT0gdGhpcy5hY3RpdmVHZW5lcmF0b3IuaGFzUmVzaXplSGFuZGxlO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgIWhhc1NhbWVIYW5kbGVTdGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHZhbHVlLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50YWJsZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudGV4dEdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixZQUFZLEVBQ1osZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQStDLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBc0IsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNuQixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXRGLE1BQU0sT0FBTyxjQUFxQyxTQUFRLG9CQUFtQztJQVN6RjtRQUNJLEtB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UUFBUTtpQkFDMUIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pCLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JHLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUMxQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsXG4gICAgT25Db250ZXh0Q2hhbmdlZCxcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBzZXRBbmdsZUZvckcsXG4gICAgZGVncmVlc1RvUmFkaWFuc1xufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3IsIENvbW1vbkVsZW1lbnRGbGF2b3VyLCBUZXh0TWFuYWdlQ2hhbmdlRGF0YSwgY2FuUmVzaXplIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBQbGFpdFRhYmxlLCBQbGFpdFRhYmxlQm9hcmQsIFBsYWl0VGFibGVDZWxsLCBQbGFpdFRhYmxlRWxlbWVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy90YWJsZSc7XG5pbXBvcnQgeyBnZXRUZXh0TWFuYWdlLCBQbGFpdERyYXdTaGFwZVRleHQsIFRleHRHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvdGV4dC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgVGFibGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvdGFibGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGdldENlbGxXaXRoUG9pbnRzLCBpc0NlbGxJbmNsdWRlVGV4dCB9IGZyb20gJy4vdXRpbHMvdGFibGUnO1xuaW1wb3J0IHtcbiAgICBjbGVhclNlbGVjdGVkQ2VsbHMsXG4gICAgZ2V0Q2VsbHNSZWN0YW5nbGUsXG4gICAgZ2V0U2VsZWN0ZWRDZWxscyxcbiAgICBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudCxcbiAgICBtZW1vcml6ZUxhdGVzdFRleHQsXG4gICAgc2V0U2VsZWN0ZWRDZWxsc1xufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4vZW5naW5lcyc7XG5pbXBvcnQgeyBUYWJsZVN5bWJvbHMgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0SG9yaXpvbnRhbFRleHRSZWN0YW5nbGUgfSBmcm9tICcuL2VuZ2luZXMvdGFibGUvdGFibGUnO1xuaW1wb3J0IHsgU2hhcGVEZWZhdWx0U3BhY2UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUtYXV0by1jb21wbGV0ZS5nZW5lcmF0b3InO1xuXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8VCBleHRlbmRzIFBsYWl0VGFibGU+IGV4dGVuZHMgQ29tbW9uRWxlbWVudEZsYXZvdXI8VCwgUGxhaXRCb2FyZD4gaW1wbGVtZW50cyBPbkNvbnRleHRDaGFuZ2VkPFQsIFBsYWl0Qm9hcmQ+IHtcbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8VD47XG5cbiAgICB0YWJsZUdlbmVyYXRvciE6IFRhYmxlR2VuZXJhdG9yPFQ+O1xuXG4gICAgdGV4dEdlbmVyYXRvciE6IFRleHRHZW5lcmF0b3I8VD47XG5cbiAgICBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yITogTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcjxQbGFpdFRhYmxlPjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yID0gbmV3IEFjdGl2ZUdlbmVyYXRvcjxUPih0aGlzLmJvYXJkLCB7XG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFN0cm9rZU9wYWNpdHk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICh2YWx1ZTogVCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxzID0gZ2V0U2VsZWN0ZWRDZWxscyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNlbGxzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldENlbGxzUmVjdGFuZ2xlKHRoaXMuYm9hcmQgYXMgUGxhaXRUYWJsZUJvYXJkLCB0aGlzLmVsZW1lbnQsIGNlbGxzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyh2YWx1ZS5wb2ludHMhKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxscyA9IGdldFNlbGVjdGVkQ2VsbHModGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoY2VsbHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjYW5SZXNpemUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGFibGVHZW5lcmF0b3IgPSBuZXcgVGFibGVHZW5lcmF0b3I8VD4odGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yID0gbmV3IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuZ2V0UmVmKCkuYWRkR2VuZXJhdG9yKExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3Iua2V5LCB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgICAgIHRoaXMuZHJhdygpO1xuICAgIH1cblxuICAgIGRyYXcoKSB7XG4gICAgICAgIHRoaXMudGFibGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmdldEVsZW1lbnRHKCkpO1xuICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IuZHJhdyh0aGlzLmdldEVsZW1lbnRHKCkpO1xuICAgICAgICB0aGlzLnJvdGF0ZVZlcnRpY2FsVGV4dCgpO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByb3RhdGVWZXJ0aWNhbFRleHQoKSB7XG4gICAgICAgIGNvbnN0IHRhYmxlID0gKHRoaXMuYm9hcmQgYXMgUGxhaXRUYWJsZUJvYXJkKS5idWlsZFRhYmxlKHRoaXMuZWxlbWVudCk7XG4gICAgICAgIHRhYmxlLmNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAoUGxhaXRUYWJsZUVsZW1lbnQuaXNWZXJ0aWNhbFRleHQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0TWFuYWdlID0gZ2V0VGV4dE1hbmFnZShpdGVtLmlkKTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dE1hbmFnZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmdpbmUgPSBnZXRFbmdpbmU8UGxhaXRUYWJsZT4oVGFibGVTeW1ib2xzLnRhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZW5naW5lLmdldFRleHRSZWN0YW5nbGUhKHRoaXMuZWxlbWVudCwgeyBrZXk6IGl0ZW0uaWQsIGJvYXJkOiB0aGlzLmJvYXJkIH0pO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlLmcuY2xhc3NMaXN0LmFkZCgndmVydGljYWwtY2VsbC10ZXh0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHNldEFuZ2xlRm9yRyh0ZXh0TWFuYWdlLmcsIFJlY3RhbmdsZUNsaWVudC5nZXRDZW50ZXJQb2ludChyZWN0YW5nbGUpLCBkZWdyZWVzVG9SYWRpYW5zKC05MCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RHJhd1NoYXBlVGV4dHMoY2VsbHM6IFBsYWl0VGFibGVDZWxsW10pOiBQbGFpdERyYXdTaGFwZVRleHRbXSB7XG4gICAgICAgIHJldHVybiBjZWxsc1xuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGlzQ2VsbEluY2x1ZGVUZXh0KGl0ZW0pKVxuICAgICAgICAgICAgLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0udGV4dCEsXG4gICAgICAgICAgICAgICAgICAgIHRleHRIZWlnaHQ6IGl0ZW0udGV4dEhlaWdodCEsXG4gICAgICAgICAgICAgICAgICAgIGJvYXJkOiB0aGlzLmJvYXJkXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVUZXh0TWFuYWdlKCkge1xuICAgICAgICBjb25zdCB0ZXh0cyA9IHRoaXMuZ2V0RHJhd1NoYXBlVGV4dHModGhpcy5lbGVtZW50LmNlbGxzKTtcbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yID0gbmV3IFRleHRHZW5lcmF0b3IodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB0ZXh0cywge1xuICAgICAgICAgICAgb25DaGFuZ2U6ICh2YWx1ZTogUGxhaXRUYWJsZSwgZGF0YTogVGV4dE1hbmFnZUNoYW5nZURhdGEsIHRleHQ6IFBsYWl0RHJhd1NoYXBlVGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGRhdGEuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZGF0YS53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5uZXdUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRhYmxlVGV4dCh0aGlzLmJvYXJkLCB2YWx1ZSwgdGV4dC5rZXksIGRhdGEubmV3VGV4dCwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEub3BlcmF0aW9ucyAmJiBtZW1vcml6ZUxhdGVzdFRleHQodmFsdWUsIGRhdGEub3BlcmF0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0UmVuZGVyUmVjdGFuZ2xlOiAodmFsdWU6IFBsYWl0VGFibGUsIHRleHQ6IFBsYWl0RHJhd1NoYXBlVGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGwgPSBnZXRDZWxsV2l0aFBvaW50cyh0aGlzLmJvYXJkLCB2YWx1ZSwgdGV4dC5rZXkpO1xuICAgICAgICAgICAgICAgIGlmIChQbGFpdFRhYmxlRWxlbWVudC5pc1ZlcnRpY2FsVGV4dChjZWxsKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjZWxsUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGNlbGwucG9pbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChjZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBjZWxsLnRleHRIZWlnaHQgfHwgMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gY2VsbFJlY3RhbmdsZS5oZWlnaHQgLSBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICogMiAtIHN0cm9rZVdpZHRoICogMjtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQgPiAwID8gaGVpZ2h0IDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHg6IGNlbGxSZWN0YW5nbGUueCArIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKyBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGNlbGxSZWN0YW5nbGUueSArIChjZWxsUmVjdGFuZ2xlLmhlaWdodCAtIGhlaWdodCkgLyAyXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldEhvcml6b250YWxUZXh0UmVjdGFuZ2xlKGNlbGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGV4dEdlbmVyYXRvci5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZCh2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxULCBQbGFpdEJvYXJkPiwgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8VCwgUGxhaXRCb2FyZD4pIHtcbiAgICAgICAgY29uc3QgaXNDaGFuZ2VUaGVtZSA9IHRoaXMuYm9hcmQub3BlcmF0aW9ucy5maW5kKG9wID0+IG9wLnR5cGUgPT09ICdzZXRfdGhlbWUnKTtcbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHByZXZpb3VzLmVsZW1lbnQgfHwgaXNDaGFuZ2VUaGVtZSkge1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNTZWxlY3RlZENlbGxzID0gZ2V0U2VsZWN0ZWRDZWxscyhwcmV2aW91cy5lbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChwcmV2aW91c1NlbGVjdGVkQ2VsbHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRDZWxscyhwcmV2aW91cy5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZENlbGxzKHZhbHVlLmVsZW1lbnQsIHByZXZpb3VzU2VsZWN0ZWRDZWxscyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRhYmxlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHZhbHVlLmVsZW1lbnQsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh2YWx1ZS5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNUZXh0cyA9IHRoaXMuZ2V0RHJhd1NoYXBlVGV4dHMocHJldmlvdXMuZWxlbWVudC5jZWxscyk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VGV4dHMgPSB0aGlzLmdldERyYXdTaGFwZVRleHRzKHZhbHVlLmVsZW1lbnQuY2VsbHMpO1xuICAgICAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yLnVwZGF0ZSh2YWx1ZS5lbGVtZW50LCBwcmV2aW91c1RleHRzLCBjdXJyZW50VGV4dHMsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgICAgICB0aGlzLnJvdGF0ZVZlcnRpY2FsVGV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZUhhbmRsZVN0YXRlID0gdGhpcy5hY3RpdmVHZW5lcmF0b3Iub3B0aW9ucy5oYXNSZXNpemVIYW5kbGUoKSA9PT0gdGhpcy5hY3RpdmVHZW5lcmF0b3IuaGFzUmVzaXplSGFuZGxlO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFNlbGVjdGVkQ2VsbHMgPSBnZXRTZWxlY3RlZENlbGxzKHZhbHVlLmVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgIWhhc1NhbWVIYW5kbGVTdGF0ZSB8fCBjdXJyZW50U2VsZWN0ZWRDZWxscz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodmFsdWUuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgY2xlYXJTZWxlY3RlZENlbGxzKHZhbHVlLmVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnRhYmxlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { Point, Transforms, hasValidAngle, RectangleClient } from '@plait/core';
|
|
2
2
|
import { ShapeDefaultSpace } from '../constants';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Alignment, getFirstTextEditor, resetPointsAfterResize } from '@plait/common';
|
|
4
|
+
import { AlignEditor } from '@plait/text-plugins';
|
|
5
|
+
import { MIN_TEXT_WIDTH } from '../constants/text';
|
|
5
6
|
const normalizePoints = (board, element, width, textHeight) => {
|
|
6
7
|
let points = element.points;
|
|
7
8
|
let autoSize = element.autoSize;
|
|
8
9
|
const defaultSpace = ShapeDefaultSpace.rectangleAndText;
|
|
9
10
|
if (autoSize) {
|
|
11
|
+
const newWidth = width < MIN_TEXT_WIDTH ? MIN_TEXT_WIDTH : width;
|
|
10
12
|
const editor = getFirstTextEditor(element);
|
|
11
13
|
if (AlignEditor.isActive(editor, Alignment.right)) {
|
|
12
14
|
points = [
|
|
13
|
-
[points[1][0] - (
|
|
15
|
+
[points[1][0] - (newWidth + defaultSpace * 2), points[0][1]],
|
|
14
16
|
[points[1][0], points[0][1] + textHeight]
|
|
15
17
|
];
|
|
16
18
|
}
|
|
17
19
|
else if (AlignEditor.isActive(editor, Alignment.center)) {
|
|
18
20
|
const oldWidth = Math.abs(points[0][0] - points[1][0]);
|
|
19
|
-
const offset = (
|
|
21
|
+
const offset = (newWidth - oldWidth) / 2;
|
|
20
22
|
points = [
|
|
21
23
|
[points[0][0] - offset - defaultSpace, points[0][1]],
|
|
22
24
|
[points[1][0] + offset + defaultSpace, points[0][1] + textHeight]
|
|
23
25
|
];
|
|
24
26
|
}
|
|
25
27
|
else {
|
|
26
|
-
points = [points[0], [points[0][0] +
|
|
28
|
+
points = [points[0], [points[0][0] + newWidth + defaultSpace * 2, points[0][1] + textHeight]];
|
|
27
29
|
}
|
|
28
30
|
if (hasValidAngle(element)) {
|
|
29
31
|
points = resetPointsAfterResize(RectangleClient.getRectangleByPoints(element.points), RectangleClient.getRectangleByPoints(points), RectangleClient.getCenterPoint(RectangleClient.getRectangleByPoints(element.points)), RectangleClient.getCenterPoint(RectangleClient.getRectangleByPoints(points)), element.angle);
|
|
@@ -54,4 +56,4 @@ export const setTextSize = (board, element, textWidth, textHeight) => {
|
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnktdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3RyYW5zZm9ybXMvZ2VvbWV0cnktdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQXNCLEVBQUUsS0FBYSxFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUNyRyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzVCLElBQUksUUFBUSxHQUFJLE9BQXFCLENBQUMsUUFBUSxDQUFDO0lBQy9DLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDO0lBRXhELElBQUksUUFBUSxFQUFFLENBQUM7UUFDWCxNQUFNLFFBQVEsR0FBRyxLQUFLLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqRSxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hELE1BQU0sR0FBRztnQkFDTCxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDO2FBQzVDLENBQUM7UUFDTixDQUFDO2FBQU0sSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RCxNQUFNLE1BQU0sR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsTUFBTSxHQUFHO2dCQUNMLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwRCxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDcEUsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsR0FBRyxZQUFZLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2xHLENBQUM7UUFDRCxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sR0FBRyxzQkFBc0IsQ0FDM0IsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDcEQsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUM1QyxlQUFlLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDcEYsZUFBZSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDNUUsT0FBTyxDQUFDLEtBQU0sQ0FDakIsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBc0IsRUFBRSxJQUFhLEVBQUUsS0FBYSxFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUNuSCxNQUFNLFVBQVUsR0FBRztRQUNmLElBQUk7UUFDSixVQUFVO1FBQ1YsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDO0tBQ3hELENBQUM7SUFFRixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQztJQUVsRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBc0IsRUFBRSxTQUFpQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUM1RyxJQUFLLE9BQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUc7WUFDZixVQUFVO1lBQ1YsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDO1NBQzVELENBQUM7UUFDRixNQUFNLGFBQWEsR0FDZixLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkgsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVcsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ2xFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgVHJhbnNmb3JtcywgaGFzVmFsaWRBbmdsZSwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFBsYWl0VGV4dCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2hhcGVEZWZhdWx0U3BhY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQWxpZ25tZW50LCBnZXRGaXJzdFRleHRFZGl0b3IsIHJlc2V0UG9pbnRzQWZ0ZXJSZXNpemUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEFsaWduRWRpdG9yIH0gZnJvbSAnQHBsYWl0L3RleHQtcGx1Z2lucyc7XG5pbXBvcnQgeyBNSU5fVEVYVF9XSURUSCB9IGZyb20gJy4uL2NvbnN0YW50cy90ZXh0JztcblxuY29uc3Qgbm9ybWFsaXplUG9pbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5LCB3aWR0aDogbnVtYmVyLCB0ZXh0SGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBsZXQgcG9pbnRzID0gZWxlbWVudC5wb2ludHM7XG4gICAgbGV0IGF1dG9TaXplID0gKGVsZW1lbnQgYXMgUGxhaXRUZXh0KS5hdXRvU2l6ZTtcbiAgICBjb25zdCBkZWZhdWx0U3BhY2UgPSBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0O1xuXG4gICAgaWYgKGF1dG9TaXplKSB7XG4gICAgICAgIGNvbnN0IG5ld1dpZHRoID0gd2lkdGggPCBNSU5fVEVYVF9XSURUSCA/IE1JTl9URVhUX1dJRFRIIDogd2lkdGg7XG4gICAgICAgIGNvbnN0IGVkaXRvciA9IGdldEZpcnN0VGV4dEVkaXRvcihlbGVtZW50KTtcbiAgICAgICAgaWYgKEFsaWduRWRpdG9yLmlzQWN0aXZlKGVkaXRvciwgQWxpZ25tZW50LnJpZ2h0KSkge1xuICAgICAgICAgICAgcG9pbnRzID0gW1xuICAgICAgICAgICAgICAgIFtwb2ludHNbMV1bMF0gLSAobmV3V2lkdGggKyBkZWZhdWx0U3BhY2UgKiAyKSwgcG9pbnRzWzBdWzFdXSxcbiAgICAgICAgICAgICAgICBbcG9pbnRzWzFdWzBdLCBwb2ludHNbMF1bMV0gKyB0ZXh0SGVpZ2h0XVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfSBlbHNlIGlmIChBbGlnbkVkaXRvci5pc0FjdGl2ZShlZGl0b3IsIEFsaWdubWVudC5jZW50ZXIpKSB7XG4gICAgICAgICAgICBjb25zdCBvbGRXaWR0aCA9IE1hdGguYWJzKHBvaW50c1swXVswXSAtIHBvaW50c1sxXVswXSk7XG4gICAgICAgICAgICBjb25zdCBvZmZzZXQgPSAobmV3V2lkdGggLSBvbGRXaWR0aCkgLyAyO1xuICAgICAgICAgICAgcG9pbnRzID0gW1xuICAgICAgICAgICAgICAgIFtwb2ludHNbMF1bMF0gLSBvZmZzZXQgLSBkZWZhdWx0U3BhY2UsIHBvaW50c1swXVsxXV0sXG4gICAgICAgICAgICAgICAgW3BvaW50c1sxXVswXSArIG9mZnNldCArIGRlZmF1bHRTcGFjZSwgcG9pbnRzWzBdWzFdICsgdGV4dEhlaWdodF1cbiAgICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2ludHMgPSBbcG9pbnRzWzBdLCBbcG9pbnRzWzBdWzBdICsgbmV3V2lkdGggKyBkZWZhdWx0U3BhY2UgKiAyLCBwb2ludHNbMF1bMV0gKyB0ZXh0SGVpZ2h0XV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc1ZhbGlkQW5nbGUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHBvaW50cyA9IHJlc2V0UG9pbnRzQWZ0ZXJSZXNpemUoXG4gICAgICAgICAgICAgICAgUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKSxcbiAgICAgICAgICAgICAgICBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMocG9pbnRzKSxcbiAgICAgICAgICAgICAgICBSZWN0YW5nbGVDbGllbnQuZ2V0Q2VudGVyUG9pbnQoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKSksXG4gICAgICAgICAgICAgICAgUmVjdGFuZ2xlQ2xpZW50LmdldENlbnRlclBvaW50KFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhwb2ludHMpKSxcbiAgICAgICAgICAgICAgICBlbGVtZW50LmFuZ2xlIVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IHBvaW50cyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFRleHQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnksIHRleHQ6IEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIHRleHRIZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIHRleHQsXG4gICAgICAgIHRleHRIZWlnaHQsXG4gICAgICAgIC4uLm5vcm1hbGl6ZVBvaW50cyhib2FyZCwgZWxlbWVudCwgd2lkdGgsIHRleHRIZWlnaHQpXG4gICAgfTtcblxuICAgIGNvbnN0IHBhdGggPSBib2FyZC5jaGlsZHJlbi5maW5kSW5kZXgoY2hpbGQgPT4gY2hpbGQgPT09IGVsZW1lbnQpO1xuXG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBbcGF0aF0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFRleHRTaXplID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5LCB0ZXh0V2lkdGg6IG51bWJlciwgdGV4dEhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKChlbGVtZW50IGFzIFBsYWl0VGV4dCkuYXV0b1NpemUpIHtcbiAgICAgICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgICAgIHRleHRIZWlnaHQsXG4gICAgICAgICAgICAuLi5ub3JtYWxpemVQb2ludHMoYm9hcmQsIGVsZW1lbnQsIHRleHRXaWR0aCwgdGV4dEhlaWdodClcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaXNQb2ludHNFcXVhbCA9XG4gICAgICAgICAgICBQb2ludC5pc0VxdWFscyhlbGVtZW50LnBvaW50c1swXSwgbmV3RWxlbWVudC5wb2ludHNbMF0pICYmIFBvaW50LmlzRXF1YWxzKGVsZW1lbnQucG9pbnRzWzFdLCBuZXdFbGVtZW50LnBvaW50c1sxXSk7XG4gICAgICAgIGNvbnN0IGlzVGV4dEhlaWdodEVxdWFsID0gTWF0aC5yb3VuZCh0ZXh0SGVpZ2h0KSA9PT0gTWF0aC5yb3VuZChlbGVtZW50LnRleHRIZWlnaHQhKTtcbiAgICAgICAgaWYgKCFpc1BvaW50c0VxdWFsIHx8ICFpc1RleHRIZWlnaHRFcXVhbCkge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IGJvYXJkLmNoaWxkcmVuLmZpbmRJbmRleChjaGlsZCA9PiBjaGlsZCA9PT0gZWxlbWVudCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIFtwYXRoXSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { PlaitBoard, Transforms, idCreator, toHostPoint, toViewBoxPoint } from '@plait/core';
|
|
2
2
|
export const insertImage = (board, imageItem, startPoint) => {
|
|
3
3
|
const { width, height, url } = imageItem;
|
|
4
|
-
const viewportWidth = PlaitBoard.
|
|
5
|
-
const viewportHeight = PlaitBoard.
|
|
4
|
+
const viewportWidth = PlaitBoard.getBoardContainer(board).clientWidth;
|
|
5
|
+
const viewportHeight = PlaitBoard.getBoardContainer(board).clientHeight;
|
|
6
6
|
const point = toViewBoxPoint(board, toHostPoint(board, viewportWidth / 2, viewportHeight / 2));
|
|
7
7
|
const points = startPoint
|
|
8
8
|
? [startPoint, [startPoint[0] + width, startPoint[1] + height]]
|
|
@@ -19,4 +19,4 @@ export const insertImage = (board, imageItem, startPoint) => {
|
|
|
19
19
|
Transforms.insertNode(board, imageElement, [board.children.length]);
|
|
20
20
|
Transforms.addSelectionWithTemporaryElements(board, [imageElement]);
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy90cmFuc2Zvcm1zL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVMsVUFBVSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBHLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxVQUFrQixFQUFFLEVBQUU7SUFDN0YsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDdEUsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUN4RSxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxHQUFHLENBQUMsRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRixNQUFNLE1BQU0sR0FBWSxVQUFVO1FBQzlCLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQztZQUNJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNoRCxDQUFDO0lBQ1IsTUFBTSxZQUFZLEdBQUc7UUFDakIsRUFBRSxFQUFFLFNBQVMsRUFBRTtRQUNmLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTTtRQUNOLEdBQUc7S0FDTixDQUFDO0lBQ0YsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbkltYWdlSXRlbSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFRyYW5zZm9ybXMsIGlkQ3JlYXRvciwgdG9Ib3N0UG9pbnQsIHRvVmlld0JveFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0SW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGltYWdlSXRlbTogQ29tbW9uSW1hZ2VJdGVtLCBzdGFydFBvaW50PzogUG9pbnQpID0+IHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIHVybCB9ID0gaW1hZ2VJdGVtO1xuICAgIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGllbnRXaWR0aDtcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsaWVudEhlaWdodDtcbiAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgdmlld3BvcnRXaWR0aCAvIDIsIHZpZXdwb3J0SGVpZ2h0IC8gMikpO1xuICAgIGNvbnN0IHBvaW50czogUG9pbnRbXSA9IHN0YXJ0UG9pbnRcbiAgICAgICAgPyBbc3RhcnRQb2ludCwgW3N0YXJ0UG9pbnRbMF0gKyB3aWR0aCwgc3RhcnRQb2ludFsxXSArIGhlaWdodF1dXG4gICAgICAgIDogW1xuICAgICAgICAgICAgICBbcG9pbnRbMF0gLSB3aWR0aCAvIDIsIHBvaW50WzFdIC0gaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICAgIFtwb2ludFswXSArIHdpZHRoIC8gMiwgcG9pbnRbMV0gKyBoZWlnaHQgLyAyXVxuICAgICAgICAgIF07XG4gICAgY29uc3QgaW1hZ2VFbGVtZW50ID0ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgdXJsXG4gICAgfTtcbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIGltYWdlRWxlbWVudCwgW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF0pO1xuICAgIFRyYW5zZm9ybXMuYWRkU2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBbaW1hZ2VFbGVtZW50XSk7XG59O1xuIl19
|
|
@@ -2,7 +2,7 @@ import { insertText, insertGeometry, resizeGeometry, switchGeometryShape, insert
|
|
|
2
2
|
import { setText, setTextSize } from './geometry-text';
|
|
3
3
|
import { insertImage } from './image';
|
|
4
4
|
import { connectLineToGeometry, removeLineText, resizeLine, setLineMark, setLineShape, setLineTexts } from './line';
|
|
5
|
-
import { addSwimlaneColumn, addSwimlaneRow, removeSwimlaneColumn, removeSwimlaneRow } from './swimlane';
|
|
5
|
+
import { addSwimlaneColumn, addSwimlaneRow, removeSwimlaneColumn, removeSwimlaneRow, setSwimlaneFill, updateSwimlaneCount } from './swimlane';
|
|
6
6
|
import { setDrawShapeText } from './multi-text-geometry-text';
|
|
7
7
|
import { setTableText } from './table-text';
|
|
8
8
|
export const DrawTransforms = {
|
|
@@ -25,6 +25,8 @@ export const DrawTransforms = {
|
|
|
25
25
|
addSwimlaneRow,
|
|
26
26
|
addSwimlaneColumn,
|
|
27
27
|
removeSwimlaneRow,
|
|
28
|
-
removeSwimlaneColumn
|
|
28
|
+
removeSwimlaneColumn,
|
|
29
|
+
setSwimlaneFill,
|
|
30
|
+
updateSwimlaneCount
|
|
29
31
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNySCxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsT0FBTztJQUNQLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsY0FBYztJQUNkLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtJQUNWLFlBQVk7SUFDWixjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsbUJBQW1CO0NBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnNlcnRUZXh0LCBpbnNlcnRHZW9tZXRyeSwgcmVzaXplR2VvbWV0cnksIHN3aXRjaEdlb21ldHJ5U2hhcGUsIGluc2VydEdlb21ldHJ5QnlWZWN0b3IgfSBmcm9tICcuL2dlb21ldHJ5JztcbmltcG9ydCB7IHNldFRleHQsIHNldFRleHRTaXplIH0gZnJvbSAnLi9nZW9tZXRyeS10ZXh0JztcbmltcG9ydCB7IGluc2VydEltYWdlIH0gZnJvbSAnLi9pbWFnZSc7XG5pbXBvcnQgeyBjb25uZWN0TGluZVRvR2VvbWV0cnksIHJlbW92ZUxpbmVUZXh0LCByZXNpemVMaW5lLCBzZXRMaW5lTWFyaywgc2V0TGluZVNoYXBlLCBzZXRMaW5lVGV4dHMgfSBmcm9tICcuL2xpbmUnO1xuaW1wb3J0IHsgYWRkU3dpbWxhbmVDb2x1bW4sIGFkZFN3aW1sYW5lUm93LCByZW1vdmVTd2ltbGFuZUNvbHVtbiwgcmVtb3ZlU3dpbWxhbmVSb3csIHNldFN3aW1sYW5lRmlsbCwgdXBkYXRlU3dpbWxhbmVDb3VudCB9IGZyb20gJy4vc3dpbWxhbmUnO1xuaW1wb3J0IHsgc2V0RHJhd1NoYXBlVGV4dCB9IGZyb20gJy4vbXVsdGktdGV4dC1nZW9tZXRyeS10ZXh0JztcbmltcG9ydCB7IHNldFRhYmxlVGV4dCB9IGZyb20gJy4vdGFibGUtdGV4dCc7XG5cbmV4cG9ydCBjb25zdCBEcmF3VHJhbnNmb3JtcyA9IHtcbiAgICBzZXRUZXh0LFxuICAgIHNldERyYXdTaGFwZVRleHQsXG4gICAgaW5zZXJ0R2VvbWV0cnksXG4gICAgcmVzaXplR2VvbWV0cnksXG4gICAgaW5zZXJ0VGV4dCxcbiAgICBzZXRUZXh0U2l6ZSxcbiAgICByZXNpemVMaW5lLFxuICAgIHNldExpbmVUZXh0cyxcbiAgICByZW1vdmVMaW5lVGV4dCxcbiAgICBzZXRMaW5lTWFyayxcbiAgICBzZXRMaW5lU2hhcGUsXG4gICAgaW5zZXJ0SW1hZ2UsXG4gICAgc3dpdGNoR2VvbWV0cnlTaGFwZSxcbiAgICBjb25uZWN0TGluZVRvR2VvbWV0cnksXG4gICAgaW5zZXJ0R2VvbWV0cnlCeVZlY3RvcixcbiAgICBzZXRUYWJsZVRleHQsXG4gICAgYWRkU3dpbWxhbmVSb3csXG4gICAgYWRkU3dpbWxhbmVDb2x1bW4sXG4gICAgcmVtb3ZlU3dpbWxhbmVSb3csXG4gICAgcmVtb3ZlU3dpbWxhbmVDb2x1bW4sXG4gICAgc2V0U3dpbWxhbmVGaWxsLFxuICAgIHVwZGF0ZVN3aW1sYW5lQ291bnRcbn07XG4iXX0=
|
|
@@ -97,4 +97,4 @@ export const connectLineToGeometry = (board, lineElement, handle, geometryElemen
|
|
|
97
97
|
resizeLine(board, { source, target }, path);
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3RyYW5zZm9ybXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBa0MsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RyxPQUFPLEVBRUgsYUFBYSxFQUliLFdBQVcsRUFDWCxnQkFBZ0IsRUFFaEIsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBMkIsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUNyRixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFrQixFQUFFLEtBQWlCLEVBQUUsRUFBRTtJQUNyRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBa0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtJQUNuRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUM1QixRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxQixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFNBQXdCLEVBQUUsTUFBc0IsRUFBRSxFQUFFO0lBQy9GLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwRCxNQUFNLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQWtCLEVBQUUsRUFBRTtRQUM1QyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxJQUFJLE1BQU0sR0FBRyxTQUFTLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNsRixNQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMvQixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFpQixFQUFFLGFBQWlDLEVBQUUsRUFBRTtJQUNqRixNQUFNLFFBQVEsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ25CLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hDLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsQ0FDNUMsS0FBaUIsRUFDakIsUUFBdUIsRUFDdkIsSUFBb0QsRUFDdEQsRUFBRTtJQUNBLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUU7UUFDOUIsS0FBSyxFQUFFLENBQUMsT0FBcUIsRUFBRSxFQUFFO1lBQzdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVGLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSTtLQUM3QixDQUFnQixDQUFDO0lBQ2xCLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDbkQsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUMsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM3RCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNOLFFBQVEsRUFBRTt3QkFDTixDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU07cUJBQ25CO29CQUNELElBQUk7aUJBQ1AsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN6RSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFdBQXNCLEVBQUUsTUFBcUIsRUFBRSxlQUE4QixFQUFFLEVBQUU7SUFDdEksTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEcsTUFBTSxVQUFVLEdBQXFCLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDckYsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNiLElBQUksTUFBTSxHQUFlLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDNUMsSUFBSSxNQUFNLEdBQWUsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUM1QyxJQUFJLE1BQU0sS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEMsTUFBTSxHQUFHO2dCQUNMLEdBQUcsTUFBTTtnQkFDVCxPQUFPLEVBQUUsZUFBZSxDQUFDLEVBQUU7Z0JBQzNCLFVBQVU7YUFDYixDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLEdBQUc7Z0JBQ0wsR0FBRyxNQUFNO2dCQUNULE9BQU8sRUFBRSxlQUFlLENBQUMsRUFBRTtnQkFDM0IsVUFBVTthQUNiLENBQUM7UUFDTixDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckQsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aCwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludE9mUmVjdGFuZ2xlLCBUcmFuc2Zvcm1zLCBmaW5kRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQge1xuICAgIExpbmVIYW5kbGUsXG4gICAgTGluZUhhbmRsZUtleSxcbiAgICBMaW5lTWFya2VyVHlwZSxcbiAgICBMaW5lU2hhcGUsXG4gICAgTGluZVRleHQsXG4gICAgTWVtb3JpemVLZXksXG4gICAgUGxhaXREcmF3RWxlbWVudCxcbiAgICBQbGFpdEdlb21ldHJ5LFxuICAgIFBsYWl0TGluZVxufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IG1lbW9yaXplTGF0ZXN0IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRTZWxlY3RlZExpbmVFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL3NlbGVjdGVkJztcbmltcG9ydCB7IGdldEhpdENvbm5lY3Rpb24sIGdldExpbmVQb2ludHMgfSBmcm9tICcuLi91dGlscy9saW5lL2xpbmUtYmFzaWMnO1xuXG5leHBvcnQgY29uc3QgcmVzaXplTGluZSA9IChib2FyZDogUGxhaXRCb2FyZCwgb3B0aW9uczogUGFydGlhbDxQbGFpdExpbmU+LCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBvcHRpb25zLCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRMaW5lVGV4dHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0TGluZSwgdGV4dHM6IExpbmVUZXh0W10pID0+IHtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IHRleHRzIH0sIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUxpbmVUZXh0ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdExpbmUsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgdGV4dHMgPSBlbGVtZW50LnRleHRzPy5sZW5ndGggPyBbLi4uZWxlbWVudC50ZXh0c10gOiBbXTtcbiAgICBjb25zdCBuZXdUZXh0cyA9IFsuLi50ZXh0c107XG4gICAgbmV3VGV4dHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgdGV4dHM6IG5ld1RleHRzIH0sIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldExpbmVNYXJrID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBoYW5kbGVLZXk6IExpbmVIYW5kbGVLZXksIG1hcmtlcjogTGluZU1hcmtlclR5cGUpID0+IHtcbiAgICBtZW1vcml6ZUxhdGVzdChNZW1vcml6ZUtleS5saW5lLCBoYW5kbGVLZXksIG1hcmtlcik7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkTGluZUVsZW1lbnRzKGJvYXJkKTtcbiAgICBzZWxlY3RlZEVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IFBsYWl0TGluZSkgPT4ge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGxldCBoYW5kbGUgPSBoYW5kbGVLZXkgPT09IExpbmVIYW5kbGVLZXkuc291cmNlID8gZWxlbWVudC5zb3VyY2UgOiBlbGVtZW50LnRhcmdldDtcbiAgICAgICAgaGFuZGxlID0geyAuLi5oYW5kbGUsIG1hcmtlciB9O1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgW2hhbmRsZUtleV06IGhhbmRsZSB9LCBwYXRoKTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRMaW5lU2hhcGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5ld1Byb3BlcnRpZXM6IFBhcnRpYWw8UGxhaXRMaW5lPikgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRMaW5lRWxlbWVudHMoYm9hcmQpO1xuICAgIGVsZW1lbnRzLm1hcChlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3QgX3Byb3BlcnRpZXMgPSB7IC4uLm5ld1Byb3BlcnRpZXMgfTtcbiAgICAgICAgaWYgKGVsZW1lbnQuc2hhcGUgPT09IG5ld1Byb3BlcnRpZXMuc2hhcGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgX3Byb3BlcnRpZXMsIHBhdGgpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3RMaW5lVXBkYXRlZFJlZnNCeUdlb21ldHJ5ID0gKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIGdlb21ldHJ5OiBQbGFpdEdlb21ldHJ5LFxuICAgIHJlZnM6IHsgcHJvcGVydHk6IFBhcnRpYWw8UGxhaXRMaW5lPjsgcGF0aDogUGF0aCB9W11cbikgPT4ge1xuICAgIGNvbnN0IGxpbmVzID0gZmluZEVsZW1lbnRzKGJvYXJkLCB7XG4gICAgICAgIG1hdGNoOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudC5zb3VyY2UuYm91bmRJZCA9PT0gZ2VvbWV0cnkuaWQgfHwgZWxlbWVudC50YXJnZXQuYm91bmRJZCA9PT0gZ2VvbWV0cnkuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIHJlY3Vyc2lvbjogZWxlbWVudCA9PiB0cnVlXG4gICAgfSkgYXMgUGxhaXRMaW5lW107XG4gICAgaWYgKGxpbmVzLmxlbmd0aCkge1xuICAgICAgICBsaW5lcy5mb3JFYWNoKGxpbmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNTb3VyY2VCb3VuZCA9IGxpbmUuc291cmNlLmJvdW5kSWQgPT09IGdlb21ldHJ5LmlkO1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlID0gaXNTb3VyY2VCb3VuZCA/ICdzb3VyY2UnIDogJ3RhcmdldCc7XG4gICAgICAgICAgICBjb25zdCBvYmplY3QgPSB7IC4uLmxpbmVbaGFuZGxlXSB9O1xuICAgICAgICAgICAgY29uc3QgbGluZVBvaW50cyA9IGdldExpbmVQb2ludHMoYm9hcmQsIGxpbmUpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBpc1NvdXJjZUJvdW5kID8gbGluZVBvaW50c1swXSA6IGxpbmVQb2ludHNbbGluZVBvaW50cy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIG9iamVjdC5jb25uZWN0aW9uID0gZ2V0SGl0Q29ubmVjdGlvbihib2FyZCwgcG9pbnQsIGdlb21ldHJ5KTtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBsaW5lKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcmVmcy5maW5kSW5kZXgob2JqID0+IFBhdGguZXF1YWxzKG9iai5wYXRoLCBwYXRoKSk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVmcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVdOiBvYmplY3RcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZWZzW2luZGV4XS5wcm9wZXJ0eSA9IHsgLi4ucmVmc1tpbmRleF0ucHJvcGVydHksIFtoYW5kbGVdOiBvYmplY3QgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbm5lY3RMaW5lVG9HZW9tZXRyeSA9IChib2FyZDogUGxhaXRCb2FyZCwgbGluZUVsZW1lbnQ6IFBsYWl0TGluZSwgaGFuZGxlOiBMaW5lSGFuZGxlS2V5LCBnZW9tZXRyeUVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICBjb25zdCBsaW5lUG9pbnRzID0gUGxhaXRMaW5lLmdldFBvaW50cyhib2FyZCwgbGluZUVsZW1lbnQpO1xuICAgIGNvbnN0IHBvaW50ID0gaGFuZGxlID09PSBMaW5lSGFuZGxlS2V5LnNvdXJjZSA/IGxpbmVQb2ludHNbMF0gOiBsaW5lUG9pbnRzW2xpbmVQb2ludHMubGVuZ3RoIC0gMV07XG4gICAgY29uc3QgY29ubmVjdGlvbjogUG9pbnRPZlJlY3RhbmdsZSA9IGdldEhpdENvbm5lY3Rpb24oYm9hcmQsIHBvaW50LCBnZW9tZXRyeUVsZW1lbnQpO1xuICAgIGlmIChjb25uZWN0aW9uKSB7XG4gICAgICAgIGxldCBzb3VyY2U6IExpbmVIYW5kbGUgPSBsaW5lRWxlbWVudC5zb3VyY2U7XG4gICAgICAgIGxldCB0YXJnZXQ6IExpbmVIYW5kbGUgPSBsaW5lRWxlbWVudC50YXJnZXQ7XG4gICAgICAgIGlmIChoYW5kbGUgPT09IExpbmVIYW5kbGVLZXkuc291cmNlKSB7XG4gICAgICAgICAgICBzb3VyY2UgPSB7XG4gICAgICAgICAgICAgICAgLi4uc291cmNlLFxuICAgICAgICAgICAgICAgIGJvdW5kSWQ6IGdlb21ldHJ5RWxlbWVudC5pZCxcbiAgICAgICAgICAgICAgICBjb25uZWN0aW9uXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0ID0ge1xuICAgICAgICAgICAgICAgIC4uLnRhcmdldCxcbiAgICAgICAgICAgICAgICBib3VuZElkOiBnZW9tZXRyeUVsZW1lbnQuaWQsXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvblxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgbGluZUVsZW1lbnQpO1xuICAgICAgICByZXNpemVMaW5lKGJvYXJkLCB7IHNvdXJjZSwgdGFyZ2V0IH0sIHBhdGgpO1xuICAgIH1cbn07XG4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3RyYW5zZm9ybXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBa0MsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RyxPQUFPLEVBRUgsYUFBYSxFQUdiLFdBQVcsRUFDWCxnQkFBZ0IsRUFFaEIsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBMkIsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUNyRixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFrQixFQUFFLEtBQWlCLEVBQUUsRUFBRTtJQUNyRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBa0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtJQUNuRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFB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QyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckQsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aCwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludE9mUmVjdGFuZ2xlLCBUcmFuc2Zvcm1zLCBmaW5kRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQge1xuICAgIExpbmVIYW5kbGUsXG4gICAgTGluZUhhbmRsZUtleSxcbiAgICBMaW5lTWFya2VyVHlwZSxcbiAgICBMaW5lVGV4dCxcbiAgICBNZW1vcml6ZUtleSxcbiAgICBQbGFpdERyYXdFbGVtZW50LFxuICAgIFBsYWl0R2VvbWV0cnksXG4gICAgUGxhaXRMaW5lXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbWVtb3JpemVMYXRlc3QgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldFNlbGVjdGVkTGluZUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQnO1xuaW1wb3J0IHsgZ2V0SGl0Q29ubmVjdGlvbiwgZ2V0TGluZVBvaW50cyB9IGZyb20gJy4uL3V0aWxzL2xpbmUvbGluZS1iYXNpYyc7XG5cbmV4cG9ydCBjb25zdCByZXNpemVMaW5lID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBvcHRpb25zOiBQYXJ0aWFsPFBsYWl0TGluZT4sIHBhdGg6IFBhdGgpID0+IHtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG9wdGlvbnMsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldExpbmVUZXh0cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRMaW5lLCB0ZXh0czogTGluZVRleHRbXSkgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgdGV4dHMgfSwgcGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGluZVRleHQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0TGluZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCB0ZXh0cyA9IGVsZW1lbnQudGV4dHM/Lmxlbmd0aCA/IFsuLi5lbGVtZW50LnRleHRzXSA6IFtdO1xuICAgIGNvbnN0IG5ld1RleHRzID0gWy4uLnRleHRzXTtcbiAgICBuZXdUZXh0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyB0ZXh0czogbmV3VGV4dHMgfSwgcGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0TGluZU1hcmsgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGhhbmRsZUtleTogTGluZUhhbmRsZUtleSwgbWFya2VyOiBMaW5lTWFya2VyVHlwZSkgPT4ge1xuICAgIG1lbW9yaXplTGF0ZXN0KE1lbW9yaXplS2V5LmxpbmUsIGhhbmRsZUtleSwgbWFya2VyKTtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRMaW5lRWxlbWVudHMoYm9hcmQpO1xuICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogUGxhaXRMaW5lKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgbGV0IGhhbmRsZSA9IGhhbmRsZUtleSA9PT0gTGluZUhhbmRsZUtleS5zb3VyY2UgPyBlbGVtZW50LnNvdXJjZSA6IGVsZW1lbnQudGFyZ2V0O1xuICAgICAgICBoYW5kbGUgPSB7IC4uLmhhbmRsZSwgbWFya2VyIH07XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBbaGFuZGxlS2V5XTogaGFuZGxlIH0sIHBhdGgpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldExpbmVTaGFwZSA9IChib2FyZDogUGxhaXRCb2FyZCwgbmV3UHJvcGVydGllczogUGFydGlhbDxQbGFpdExpbmU+KSA9PiB7XG4gICAgY29uc3QgZWxlbWVudHMgPSBnZXRTZWxlY3RlZExpbmVFbGVtZW50cyhib2FyZCk7XG4gICAgZWxlbWVudHMubWFwKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBfcHJvcGVydGllcyA9IHsgLi4ubmV3UHJvcGVydGllcyB9O1xuICAgICAgICBpZiAoZWxlbWVudC5zaGFwZSA9PT0gbmV3UHJvcGVydGllcy5zaGFwZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBfcHJvcGVydGllcywgcGF0aCk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29sbGVjdExpbmVVcGRhdGVkUmVmc0J5R2VvbWV0cnkgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgZ2VvbWV0cnk6IFBsYWl0R2VvbWV0cnksXG4gICAgcmVmczogeyBwcm9wZXJ0eTogUGFydGlhbDxQbGFpdExpbmU+OyBwYXRoOiBQYXRoIH1bXVxuKSA9PiB7XG4gICAgY29uc3QgbGluZXMgPSBmaW5kRWxlbWVudHMoYm9hcmQsIHtcbiAgICAgICAgbWF0Y2g6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzTGluZShlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnNvdXJjZS5ib3VuZElkID09PSBnZW9tZXRyeS5pZCB8fCBlbGVtZW50LnRhcmdldC5ib3VuZElkID09PSBnZW9tZXRyeS5pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVjdXJzaW9uOiBlbGVtZW50ID0+IHRydWVcbiAgICB9KSBhcyBQbGFpdExpbmVbXTtcbiAgICBpZiAobGluZXMubGVuZ3RoKSB7XG4gICAgICAgIGxpbmVzLmZvckVhY2gobGluZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1NvdXJjZUJvdW5kID0gbGluZS5zb3VyY2UuYm91bmRJZCA9PT0gZ2VvbWV0cnkuaWQ7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGUgPSBpc1NvdXJjZUJvdW5kID8gJ3NvdXJjZScgOiAndGFyZ2V0JztcbiAgICAgICAgICAgIGNvbnN0IG9iamVjdCA9IHsgLi4ubGluZVtoYW5kbGVdIH07XG4gICAgICAgICAgICBjb25zdCBsaW5lUG9pbnRzID0gZ2V0TGluZVBvaW50cyhib2FyZCwgbGluZSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IGlzU291cmNlQm91bmQgPyBsaW5lUG9pbnRzWzBdIDogbGluZVBvaW50c1tsaW5lUG9pbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgb2JqZWN0LmNvbm5lY3Rpb24gPSBnZXRIaXRDb25uZWN0aW9uKGJvYXJkLCBwb2ludCwgZ2VvbWV0cnkpO1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGxpbmUpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSByZWZzLmZpbmRJbmRleChvYmogPT4gUGF0aC5lcXVhbHMob2JqLnBhdGgsIHBhdGgpKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICByZWZzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eToge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2hhbmRsZV06IG9iamVjdFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwYXRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlZnNbaW5kZXhdLnByb3BlcnR5ID0geyAuLi5yZWZzW2luZGV4XS5wcm9wZXJ0eSwgW2hhbmRsZV06IG9iamVjdCB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY29ubmVjdExpbmVUb0dlb21ldHJ5ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBsaW5lRWxlbWVudDogUGxhaXRMaW5lLCBoYW5kbGU6IExpbmVIYW5kbGVLZXksIGdlb21ldHJ5RWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgIGNvbnN0IGxpbmVQb2ludHMgPSBQbGFpdExpbmUuZ2V0UG9pbnRzKGJvYXJkLCBsaW5lRWxlbWVudCk7XG4gICAgY29uc3QgcG9pbnQgPSBoYW5kbGUgPT09IExpbmVIYW5kbGVLZXkuc291cmNlID8gbGluZVBvaW50c1swXSA6IGxpbmVQb2ludHNbbGluZVBvaW50cy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBjb25uZWN0aW9uOiBQb2ludE9mUmVjdGFuZ2xlID0gZ2V0SGl0Q29ubmVjdGlvbihib2FyZCwgcG9pbnQsIGdlb21ldHJ5RWxlbWVudCk7XG4gICAgaWYgKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgbGV0IHNvdXJjZTogTGluZUhhbmRsZSA9IGxpbmVFbGVtZW50LnNvdXJjZTtcbiAgICAgICAgbGV0IHRhcmdldDogTGluZUhhbmRsZSA9IGxpbmVFbGVtZW50LnRhcmdldDtcbiAgICAgICAgaWYgKGhhbmRsZSA9PT0gTGluZUhhbmRsZUtleS5zb3VyY2UpIHtcbiAgICAgICAgICAgIHNvdXJjZSA9IHtcbiAgICAgICAgICAgICAgICAuLi5zb3VyY2UsXG4gICAgICAgICAgICAgICAgYm91bmRJZDogZ2VvbWV0cnlFbGVtZW50LmlkLFxuICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXQgPSB7XG4gICAgICAgICAgICAgICAgLi4udGFyZ2V0LFxuICAgICAgICAgICAgICAgIGJvdW5kSWQ6IGdlb21ldHJ5RWxlbWVudC5pZCxcbiAgICAgICAgICAgICAgICBjb25uZWN0aW9uXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBsaW5lRWxlbWVudCk7XG4gICAgICAgIHJlc2l6ZUxpbmUoYm9hcmQsIHsgc291cmNlLCB0YXJnZXQgfSwgcGF0aCk7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -12,4 +12,4 @@ export const setDrawShapeText = (board, element, text) => {
|
|
|
12
12
|
const path = board.children.findIndex(child => child === element);
|
|
13
13
|
Transforms.setNode(board, newElement, [path]);
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktdGV4dC1nZW9tZXRyeS10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdHJhbnNmb3Jtcy9tdWx0aS10ZXh0LWdlb21ldHJ5LXRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUlyRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBa0MsRUFBRSxJQUF3QixFQUFFLEVBQUU7SUFDaEgsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdkMsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLFVBQVUsR0FBRztRQUNmLEtBQUssRUFBRSxRQUFRO0tBQ2xCLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQztJQUNsRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQbGFpdERyYXdTaGFwZVRleHQgfSBmcm9tICcuLi9nZW5lcmF0b3JzL3RleHQuZ2VuZXJhdG9yJztcblxuZXhwb3J0IGNvbnN0IHNldERyYXdTaGFwZVRleHQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0TXVsdGlwbGVUZXh0R2VvbWV0cnksIHRleHQ6IFBsYWl0RHJhd1NoYXBlVGV4dCkgPT4ge1xuICAgIGNvbnN0IG5ld1RleHRzID0gZWxlbWVudC50ZXh0cz8ubWFwKGl0ZW0gPT4ge1xuICAgICAgICBpZiAoaXRlbS5rZXkgPT09IHRleHQua2V5KSB7XG4gICAgICAgICAgICByZXR1cm4geyAuLi5pdGVtLCAuLi50ZXh0IH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgdGV4dHM6IG5ld1RleHRzXG4gICAgfTtcbiAgICBjb25zdCBwYXRoID0gYm9hcmQuY2hpbGRyZW4uZmluZEluZGV4KGNoaWxkID0+IGNoaWxkID09PSBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIFtwYXRoXSk7XG59O1xuIl19
|