@plait/draw 0.60.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 +41 -13
- 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/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/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 +30 -17
- 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 +14 -2
- package/esm2022/engines/table/table.mjs +9 -3
- 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/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 +7 -10
- package/esm2022/interfaces/index.mjs +18 -8
- 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 +5 -2
- package/esm2022/plugins/with-draw.mjs +1 -1
- package/esm2022/plugins/with-geometry-create.mjs +4 -10
- 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 +129 -37
- package/esm2022/utils/clipboard.mjs +27 -21
- package/esm2022/utils/common.mjs +6 -7
- package/esm2022/utils/geometry.mjs +4 -4
- package/esm2022/utils/hit.mjs +2 -2
- package/esm2022/utils/index.mjs +4 -1
- package/esm2022/utils/multi-text-geometry.mjs +2 -2
- package/esm2022/utils/selected.mjs +3 -8
- package/esm2022/utils/swimlane.mjs +66 -77
- package/esm2022/utils/table-selected.mjs +26 -0
- package/esm2022/utils/table.mjs +26 -1
- package/esm2022/utils/uml.mjs +2 -2
- package/fesm2022/plait-draw.mjs +848 -309
- 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 +15 -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/index.d.ts +7 -5
- 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 +16 -1
- package/utils/index.d.ts +3 -0
- 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/constants/draw.d.ts +0 -1
- package/esm2022/constants/draw.mjs +0 -2
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { idCreator, RectangleClient } from '@plait/core';
|
|
2
|
-
import {
|
|
3
|
-
import { PlaitDrawElement, SwimlaneSymbols } from '../interfaces';
|
|
2
|
+
import { DefaultSwimlanePropertyMap, SWIMLANE_HEADER_SIZE } from '../constants';
|
|
3
|
+
import { PlaitDrawElement, SwimlaneDrawSymbols, SwimlaneSymbols } from '../interfaces';
|
|
4
|
+
import { createCell } from './table';
|
|
4
5
|
export function buildSwimlaneTable(element) {
|
|
5
6
|
const swimlaneElement = { ...element };
|
|
6
7
|
if (PlaitDrawElement.isHorizontalSwimlane(element)) {
|
|
7
8
|
swimlaneElement.cells = element.cells.map((item, index) => {
|
|
8
|
-
if (index === 0) {
|
|
9
|
+
if (index === 0 && element.header) {
|
|
9
10
|
item = {
|
|
10
11
|
...element.cells[0],
|
|
11
12
|
rowspan: element.rows.length
|
|
@@ -24,54 +25,50 @@ export function buildSwimlaneTable(element) {
|
|
|
24
25
|
});
|
|
25
26
|
return swimlaneElement;
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
if (element.header) {
|
|
29
|
+
swimlaneElement.cells = [
|
|
30
|
+
{
|
|
31
|
+
...element.cells[0],
|
|
32
|
+
colspan: element.columns.length
|
|
33
|
+
},
|
|
34
|
+
...element.cells.slice(1, element.cells.length)
|
|
35
|
+
];
|
|
36
|
+
}
|
|
34
37
|
return swimlaneElement;
|
|
35
38
|
}
|
|
36
|
-
export const
|
|
39
|
+
export const getDefaultSwimlanePoints = (pointer, centerPoint) => {
|
|
37
40
|
const property = DefaultSwimlanePropertyMap[pointer];
|
|
38
41
|
return RectangleClient.getPoints(RectangleClient.getRectangleByCenterPoint(centerPoint, property.width, property.height));
|
|
39
42
|
};
|
|
40
43
|
export const createDefaultSwimlane = (shape, points) => {
|
|
41
|
-
const
|
|
42
|
-
const
|
|
44
|
+
const header = isSwimlaneWithHeader(shape);
|
|
45
|
+
const dataShape = adjustSwimlaneShape(shape);
|
|
46
|
+
const rows = createDefaultRowsOrColumns(dataShape, 'row', header);
|
|
47
|
+
const columns = createDefaultRowsOrColumns(dataShape, 'column', header);
|
|
43
48
|
const swimlane = {
|
|
44
49
|
id: idCreator(),
|
|
45
|
-
type: '
|
|
46
|
-
shape,
|
|
50
|
+
type: 'swimlane',
|
|
51
|
+
shape: dataShape,
|
|
47
52
|
points,
|
|
48
53
|
rows,
|
|
49
54
|
columns,
|
|
50
|
-
|
|
55
|
+
header,
|
|
56
|
+
cells: createDefaultCells(dataShape, rows, columns, header)
|
|
51
57
|
};
|
|
52
|
-
return
|
|
58
|
+
return swimlane;
|
|
53
59
|
};
|
|
54
|
-
export const createDefaultRowsOrColumns = (shape, type) => {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
data = data
|
|
60
|
-
|
|
61
|
-
return {
|
|
62
|
-
...item,
|
|
63
|
-
height: 30
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
return item;
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
if (type === 'column' && shape === SwimlaneSymbols.swimlaneHorizontal) {
|
|
60
|
+
export const createDefaultRowsOrColumns = (shape, type, header) => {
|
|
61
|
+
const createItems = (count) => new Array(count).fill('').map(() => ({ id: idCreator() }));
|
|
62
|
+
let data = createItems(3);
|
|
63
|
+
if ((type === 'row' && shape === SwimlaneSymbols.swimlaneVertical) ||
|
|
64
|
+
(type === 'column' && shape === SwimlaneSymbols.swimlaneHorizontal)) {
|
|
65
|
+
data = header ? data : createItems(2);
|
|
66
|
+
const dimension = type === 'row' ? 'height' : 'width';
|
|
70
67
|
data = data.map((item, index) => {
|
|
71
|
-
if (index === 0 || index === 1) {
|
|
68
|
+
if (index === 0 || (index === 1 && header)) {
|
|
72
69
|
return {
|
|
73
70
|
...item,
|
|
74
|
-
|
|
71
|
+
[dimension]: SWIMLANE_HEADER_SIZE
|
|
75
72
|
};
|
|
76
73
|
}
|
|
77
74
|
return item;
|
|
@@ -79,48 +76,40 @@ export const createDefaultRowsOrColumns = (shape, type) => {
|
|
|
79
76
|
}
|
|
80
77
|
return data;
|
|
81
78
|
};
|
|
82
|
-
export const createDefaultCells = (shape, rows, columns) => {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
],
|
|
96
|
-
align: 'center'
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
if ([1, 2, 3].includes(index)) {
|
|
101
|
-
item = {
|
|
102
|
-
id: idCreator(),
|
|
103
|
-
rowId: shape === SwimlaneSymbols.swimlaneVertical ? rows[1].id : rows[index - 1].id,
|
|
104
|
-
columnId: shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 1].id : columns[1].id,
|
|
105
|
-
textHeight: DEFAULT_TEXT_HEIGHT,
|
|
106
|
-
text: {
|
|
107
|
-
children: [
|
|
108
|
-
{
|
|
109
|
-
text: 'Lane'
|
|
110
|
-
}
|
|
111
|
-
],
|
|
112
|
-
align: 'center'
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
if ([4, 5, 6].includes(index)) {
|
|
117
|
-
item = {
|
|
118
|
-
id: idCreator(),
|
|
119
|
-
rowId: shape === SwimlaneSymbols.swimlaneVertical ? rows[2].id : rows[index - 4].id,
|
|
120
|
-
columnId: shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 4].id : columns[2].id
|
|
121
|
-
};
|
|
79
|
+
export const createDefaultCells = (shape, rows, columns, header) => {
|
|
80
|
+
let headerCell = [];
|
|
81
|
+
let startIndex = 0;
|
|
82
|
+
if (header) {
|
|
83
|
+
headerCell = [createCell(rows[0].id, columns[0].id, 'New Swimlane')];
|
|
84
|
+
startIndex = 1;
|
|
85
|
+
}
|
|
86
|
+
const cells = new Array(6).fill('').map((_, index) => {
|
|
87
|
+
if (index < 3) {
|
|
88
|
+
const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex].id : rows[index].id;
|
|
89
|
+
const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index].id : columns[startIndex].id;
|
|
90
|
+
return createCell(rowId, columnId, 'Lane');
|
|
122
91
|
}
|
|
123
|
-
|
|
92
|
+
const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex + 1].id : rows[index - 3].id;
|
|
93
|
+
const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 3].id : columns[startIndex + 1].id;
|
|
94
|
+
return createCell(rowId, columnId);
|
|
124
95
|
});
|
|
96
|
+
return [...headerCell, ...cells];
|
|
97
|
+
};
|
|
98
|
+
export const getSwimlaneCount = (swimlane) => {
|
|
99
|
+
if (PlaitDrawElement.isHorizontalSwimlane(swimlane)) {
|
|
100
|
+
return swimlane.rows.length;
|
|
101
|
+
}
|
|
102
|
+
if (PlaitDrawElement.isVerticalSwimlane(swimlane)) {
|
|
103
|
+
return swimlane.columns.length;
|
|
104
|
+
}
|
|
105
|
+
return 0;
|
|
106
|
+
};
|
|
107
|
+
export const isSwimlaneWithHeader = (shape) => {
|
|
108
|
+
return [SwimlaneDrawSymbols.swimlaneHorizontalWithHeader, SwimlaneDrawSymbols.swimlaneVerticalWithHeader].includes(shape);
|
|
109
|
+
};
|
|
110
|
+
export const adjustSwimlaneShape = (shape) => {
|
|
111
|
+
return [SwimlaneDrawSymbols.swimlaneHorizontalWithHeader, SwimlaneDrawSymbols.swimlaneHorizontal].includes(shape)
|
|
112
|
+
? SwimlaneSymbols.swimlaneHorizontal
|
|
113
|
+
: SwimlaneSymbols.swimlaneVertical;
|
|
125
114
|
};
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9zd2ltbGFuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFzQjtJQUNyRCxNQUFNLGVBQWUsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDdkMsSUFBSSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2pELGVBQWUsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxHQUFHO29CQUNILEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ25CLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07aUJBQy9CLENBQUM7WUFDTixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN2RCxJQUFJLEdBQUc7b0JBQ0gsR0FBRyxJQUFJO29CQUNQLElBQUksRUFBRTt3QkFDRixHQUFHLElBQUksQ0FBQyxJQUFJO3dCQUNaLFNBQVMsRUFBRSxVQUFVO3FCQUN4QjtpQkFDSixDQUFDO1lBQ04sQ0FBQztZQUNELE9BQU8sSUFB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QUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDNUYsVUFBVSxFQUFFLG1CQUFtQjtnQkFDL0IsSUFBSSxFQUFFO29CQUNGLFFBQVEsRUFBRTt3QkFDTjs0QkFDSSxJQUFJLEVBQUUsTUFBTTt5QkFDZjtxQkFDSjtvQkFDRCxLQUFLLEVBQUUsUUFBUTtpQkFDbEI7YUFDSixDQUFDO1FBQ04sQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksR0FBRztnQkFDSCxFQUFFLEVBQUUsU0FBUyxFQUFFO2dCQUNmLEtBQUssRUFBRSxLQUFLLEtBQUssZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25GLFFBQVEsRUFBRSxLQUFLLEtBQUssZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDL0YsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkQ3JlYXRvciwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfVEVYVF9IRUlHSFQsIERyYXdQb2ludGVyVHlwZSwgRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXAgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTd2ltbGFuZSwgU3dpbWxhbmVTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN3aW1sYW5lVGFibGUoZWxlbWVudDogUGxhaXRTd2ltbGFuZSkge1xuICAgIGNvbnN0IHN3aW1sYW5lRWxlbWVudCA9IHsgLi4uZWxlbWVudCB9O1xuICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzSG9yaXpvbnRhbFN3aW1sYW5lKGVsZW1lbnQpKSB7XG4gICAgICAgIHN3aW1sYW5lRWxlbWVudC5jZWxscyA9IGVsZW1lbnQuY2VsbHMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZWxlbWVudC5jZWxsc1swXSxcbiAgICAgICAgICAgICAgICAgICAgcm93c3BhbjogZWxlbWVudC5yb3dzLmxlbmd0aFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS50ZXh0ICYmIGl0ZW0udGV4dEhlaWdodCAmJiAhaXRlbS50ZXh0LmRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbiAgICB9XG4gICAgc3dpbWxhbmVFbGVtZW50LmNlbGxzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzWzBdLFxuICAgICAgICAgICAgY29sc3BhbjogZWxlbWVudC5jb2x1bW5zLmxlbmd0aFxuICAgICAgICB9LFxuICAgICAgICAuLi5lbGVtZW50LmNlbGxzLnNsaWNlKDEsIGVsZW1lbnQuY2VsbHMubGVuZ3RoKVxuICAgIF07XG4gICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRTV2ltbGFuZVBvaW50cyA9IChwb2ludGVyOiBEcmF3UG9pbnRlclR5cGUsIGNlbnRlclBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXBbcG9pbnRlcl07XG4gICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRQb2ludHMoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5Q2VudGVyUG9pbnQoY2VudGVyUG9pbnQsIHByb3BlcnR5LndpZHRoLCBwcm9wZXJ0eS5oZWlnaHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0U3dpbWxhbmUgPSAoc2hhcGU6IFN3aW1sYW5lU3ltYm9scywgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSkgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyhzaGFwZSwgJ3JvdycpO1xuICAgIGNvbnN0IGNvbHVtbnMgPSBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyhzaGFwZSwgJ2NvbHVtbicpO1xuICAgIGNvbnN0IHN3aW1sYW5lID0ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHR5cGU6ICd0YWJsZScsXG4gICAgICAgIHNoYXBlLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIHJvd3MsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGNlbGxzOiBjcmVhdGVEZWZhdWx0Q2VsbHMoc2hhcGUsIHJvd3MsIGNvbHVtbnMpXG4gICAgfSBhcyBQbGFpdFN3aW1sYW5lO1xuICAgIHJldHVybiBidWlsZFN3aW1sYW5lVGFibGUoc3dpbWxhbmUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zID0gKHNoYXBlOiBTd2ltbGFuZVN5bWJvbHMsIHR5cGU6ICdyb3cnIHwgJ2NvbHVtbicpID0+IHtcbiAgICBsZXQgZGF0YSA9IG5ldyBBcnJheSgzKS5maWxsKCcnKS5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7IGlkOiBpZENyZWF0b3IoKSB9O1xuICAgIH0pO1xuICAgIGlmICh0eXBlID09PSAncm93JyAmJiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwpIHtcbiAgICAgICAgZGF0YSA9IGRhdGEubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwIHx8IGluZGV4ID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSAnY29sdW1uJyAmJiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lSG9yaXpvbnRhbCkge1xuICAgICAgICBkYXRhID0gZGF0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IDAgfHwgaW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0Q2VsbHMgPSAoXG4gICAgc2hhcGU6IFN3aW1sYW5lU3ltYm9scyxcbiAgICByb3dzOiB7IGlkOiBzdHJpbmc7IGhlaWdodD86IG51bWJlciB9W10sXG4gICAgY29sdW1uczogeyBpZDogc3RyaW5nOyB3aWR0aD86IG51bWJlciB9W11cbikgPT4ge1xuICAgIHJldHVybiBuZXcgQXJyYXkoNykuZmlsbCgnJykubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgICAgIHJvd0lkOiByb3dzWzBdLmlkLFxuICAgICAgICAgICAgICAgIGNvbHVtbklkOiBjb2x1bW5zWzBdLmlkLFxuICAgICAgICAgICAgICAgIHRleHRIZWlnaHQ6IERFRkFVTFRfVEVYVF9IRUlHSFQsXG4gICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdOZXcgU3dpbWxhbmUnXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGFsaWduOiAnY2VudGVyJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFsxLCAyLCAzXS5pbmNsdWRlcyhpbmRleCkpIHtcbiAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgICAgIHJvd0lkOiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyByb3dzWzFdLmlkIDogcm93c1tpbmRleCAtIDFdLmlkLFxuICAgICAgICAgICAgICAgIGNvbHVtbklkOiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4IC0gMV0uaWQgOiBjb2x1bW5zWzFdLmlkLFxuICAgICAgICAgICAgICAgIHRleHRIZWlnaHQ6IERFRkFVTFRfVEVYVF9IRUlHSFQsXG4gICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdMYW5lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChbNCwgNSwgNl0uaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgICAgICBpdGVtID0ge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICByb3dJZDogc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gcm93c1syXS5pZCA6IHJvd3NbaW5kZXggLSA0XS5pZCxcbiAgICAgICAgICAgICAgICBjb2x1bW5JZDogc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gY29sdW1uc1tpbmRleCAtIDRdLmlkIDogY29sdW1uc1syXS5pZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbn07XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9zd2ltbGFuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFpQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBc0I7SUFDckQsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxlQUFlLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksR0FBRztvQkFDSCxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUNuQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUMvQixDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkQsSUFBSSxHQUFHO29CQUNILEdBQUcsSUFBSTtvQkFDUCxJQUFJLEVBQUU7d0JBQ0YsR0FBRyxJQUFJ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LFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDaEQsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtJQUMvRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLEVBQUUsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUgsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUEwQixFQUFtQixFQUFFO0lBQy9FLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyw0QkFBNEIsRUFBRSxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDN0csQ0FBQyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7UUFDcEMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZENyZWF0b3IsIFBvaW50LCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0U3dpbWxhbmVQcm9wZXJ0eU1hcCwgU1dJTUxBTkVfSEVBREVSX1NJWkUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTd2ltbGFuZSwgUGxhaXRUYWJsZUNlbGwsIFN3aW1sYW5lRHJhd1N5bWJvbHMsIFN3aW1sYW5lU3ltYm9scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ2VsbCB9IGZyb20gJy4vdGFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTd2ltbGFuZVRhYmxlKGVsZW1lbnQ6IFBsYWl0U3dpbWxhbmUpIHtcbiAgICBjb25zdCBzd2ltbGFuZUVsZW1lbnQgPSB7IC4uLmVsZW1lbnQgfTtcbiAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0hvcml6b250YWxTd2ltbGFuZShlbGVtZW50KSkge1xuICAgICAgICBzd2ltbGFuZUVsZW1lbnQuY2VsbHMgPSBlbGVtZW50LmNlbGxzLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCAmJiBlbGVtZW50LmhlYWRlcikge1xuICAgICAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVsZW1lbnQuY2VsbHNbMF0sXG4gICAgICAgICAgICAgICAgICAgIHJvd3NwYW46IGVsZW1lbnQucm93cy5sZW5ndGhcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0udGV4dCAmJiBpdGVtLnRleHRIZWlnaHQgJiYgIWl0ZW0udGV4dC5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpdGVtID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQuaGVhZGVyKSB7XG4gICAgICAgIHN3aW1sYW5lRWxlbWVudC5jZWxscyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzWzBdLFxuICAgICAgICAgICAgICAgIGNvbHNwYW46IGVsZW1lbnQuY29sdW1ucy5sZW5ndGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzLnNsaWNlKDEsIGVsZW1lbnQuY2VsbHMubGVuZ3RoKVxuICAgICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gc3dpbWxhbmVFbGVtZW50O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdFN3aW1sYW5lUG9pbnRzID0gKHBvaW50ZXI6IFN3aW1sYW5lRHJhd1N5bWJvbHMsIGNlbnRlclBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXBbcG9pbnRlcl07XG4gICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRQb2ludHMoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5Q2VudGVyUG9pbnQoY2VudGVyUG9pbnQsIHByb3BlcnR5LndpZHRoLCBwcm9wZXJ0eS5oZWlnaHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0U3dpbWxhbmUgPSAoc2hhcGU6IFN3aW1sYW5lRHJhd1N5bWJvbHMsIHBvaW50czogW1BvaW50LCBQb2ludF0pID0+IHtcbiAgICBjb25zdCBoZWFkZXIgPSBpc1N3aW1sYW5lV2l0aEhlYWRlcihzaGFwZSk7XG4gICAgY29uc3QgZGF0YVNoYXBlID0gYWRqdXN0U3dpbWxhbmVTaGFwZShzaGFwZSk7XG4gICAgY29uc3Qgcm93cyA9IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zKGRhdGFTaGFwZSwgJ3JvdycsIGhlYWRlcik7XG4gICAgY29uc3QgY29sdW1ucyA9IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zKGRhdGFTaGFwZSwgJ2NvbHVtbicsIGhlYWRlcik7XG4gICAgY29uc3Qgc3dpbWxhbmUgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdHlwZTogJ3N3aW1sYW5lJyxcbiAgICAgICAgc2hhcGU6IGRhdGFTaGFwZSxcbiAgICAgICAgcG9pbnRzLFxuICAgICAgICByb3dzLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBoZWFkZXIsXG4gICAgICAgIGNlbGxzOiBjcmVhdGVEZWZhdWx0Q2VsbHMoZGF0YVNoYXBlLCByb3dzLCBjb2x1bW5zLCBoZWFkZXIpXG4gICAgfSBhcyBQbGFpdFN3aW1sYW5lO1xuICAgIHJldHVybiBzd2ltbGFuZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyA9IChzaGFwZTogU3dpbWxhbmVTeW1ib2xzLCB0eXBlOiAncm93JyB8ICdjb2x1bW4nLCBoZWFkZXI6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBjcmVhdGVJdGVtcyA9IChjb3VudDogbnVtYmVyKSA9PiBuZXcgQXJyYXkoY291bnQpLmZpbGwoJycpLm1hcCgoKSA9PiAoeyBpZDogaWRDcmVhdG9yKCkgfSkpO1xuICAgIGxldCBkYXRhID0gY3JlYXRlSXRlbXMoMyk7XG4gICAgaWYgKFxuICAgICAgICAodHlwZSA9PT0gJ3JvdycgJiYgc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsKSB8fFxuICAgICAgICAodHlwZSA9PT0gJ2NvbHVtbicgJiYgc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZUhvcml6b250YWwpXG4gICAgKSB7XG4gICAgICAgIGRhdGEgPSBoZWFkZXIgPyBkYXRhIDogY3JlYXRlSXRlbXMoMik7XG4gICAgICAgIGNvbnN0IGRpbWVuc2lvbiA9IHR5cGUgPT09ICdyb3cnID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICAgICAgICBkYXRhID0gZGF0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IDAgfHwgKGluZGV4ID09PSAxICYmIGhlYWRlcikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBbZGltZW5zaW9uXTogU1dJTUxBTkVfSEVBREVSX1NJWkVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRDZWxscyA9IChcbiAgICBzaGFwZTogU3dpbWxhbmVTeW1ib2xzLFxuICAgIHJvd3M6IHsgaWQ6IHN0cmluZzsgaGVpZ2h0PzogbnVtYmVyIH1bXSxcbiAgICBjb2x1bW5zOiB7IGlkOiBzdHJpbmc7IHdpZHRoPzogbnVtYmVyIH1bXSxcbiAgICBoZWFkZXI6IGJvb2xlYW5cbikgPT4ge1xuICAgIGxldCBoZWFkZXJDZWxsOiBQbGFpdFRhYmxlQ2VsbFtdID0gW107XG4gICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgaGVhZGVyQ2VsbCA9IFtjcmVhdGVDZWxsKHJvd3NbMF0uaWQsIGNvbHVtbnNbMF0uaWQsICdOZXcgU3dpbWxhbmUnKV07XG4gICAgICAgIHN0YXJ0SW5kZXggPSAxO1xuICAgIH1cbiAgICBjb25zdCBjZWxscyA9IG5ldyBBcnJheSg2KS5maWxsKCcnKS5tYXAoKF8sIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA8IDMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvd0lkID0gc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gcm93c1tzdGFydEluZGV4XS5pZCA6IHJvd3NbaW5kZXhdLmlkO1xuICAgICAgICAgICAgY29uc3QgY29sdW1uSWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4XS5pZCA6IGNvbHVtbnNbc3RhcnRJbmRleF0uaWQ7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlQ2VsbChyb3dJZCwgY29sdW1uSWQsICdMYW5lJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93SWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyByb3dzW3N0YXJ0SW5kZXggKyAxXS5pZCA6IHJvd3NbaW5kZXggLSAzXS5pZDtcbiAgICAgICAgY29uc3QgY29sdW1uSWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4IC0gM10uaWQgOiBjb2x1bW5zW3N0YXJ0SW5kZXggKyAxXS5pZDtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUNlbGwocm93SWQsIGNvbHVtbklkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gWy4uLmhlYWRlckNlbGwsIC4uLmNlbGxzXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTd2ltbGFuZUNvdW50ID0gKHN3aW1sYW5lOiBQbGFpdFN3aW1sYW5lKSA9PiB7XG4gICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNIb3Jpem9udGFsU3dpbWxhbmUoc3dpbWxhbmUpKSB7XG4gICAgICAgIHJldHVybiBzd2ltbGFuZS5yb3dzLmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNWZXJ0aWNhbFN3aW1sYW5lKHN3aW1sYW5lKSkge1xuICAgICAgICByZXR1cm4gc3dpbWxhbmUuY29sdW1ucy5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU3dpbWxhbmVXaXRoSGVhZGVyID0gKHNoYXBlOiBTd2ltbGFuZURyYXdTeW1ib2xzKSA9PiB7XG4gICAgcmV0dXJuIFtTd2ltbGFuZURyYXdTeW1ib2xzLnN3aW1sYW5lSG9yaXpvbnRhbFdpdGhIZWFkZXIsIFN3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbFdpdGhIZWFkZXJdLmluY2x1ZGVzKHNoYXBlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGp1c3RTd2ltbGFuZVNoYXBlID0gKHNoYXBlOiBTd2ltbGFuZURyYXdTeW1ib2xzKTogU3dpbWxhbmVTeW1ib2xzID0+IHtcbiAgICByZXR1cm4gW1N3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsV2l0aEhlYWRlciwgU3dpbWxhbmVEcmF3U3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxdLmluY2x1ZGVzKHNoYXBlKVxuICAgICAgICA/IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxcbiAgICAgICAgOiBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbDtcbn07XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getSelectedElements } from '@plait/core';
|
|
2
|
+
import { PlaitTableElement } from '../interfaces/table';
|
|
3
|
+
import { PlaitDrawElement } from '../interfaces';
|
|
4
|
+
export const isSingleSelectTable = (board) => {
|
|
5
|
+
const selectedElements = getSelectedElements(board);
|
|
6
|
+
return selectedElements && selectedElements.length === 1 && PlaitTableElement.isTable(selectedElements[0]);
|
|
7
|
+
};
|
|
8
|
+
export const isSingleSelectElementByTable = (board) => {
|
|
9
|
+
const selectedElements = getSelectedElements(board);
|
|
10
|
+
return selectedElements && selectedElements.length === 1 && PlaitDrawElement.isElementByTable(selectedElements[0]);
|
|
11
|
+
};
|
|
12
|
+
export const getSelectedTableElements = (board, elements) => {
|
|
13
|
+
const selectedElements = elements?.length ? elements : getSelectedElements(board);
|
|
14
|
+
return selectedElements.filter(value => PlaitTableElement.isTable(value));
|
|
15
|
+
};
|
|
16
|
+
export const SELECTED_CELLS = new WeakMap();
|
|
17
|
+
export function getSelectedCells(element) {
|
|
18
|
+
return SELECTED_CELLS.get(element);
|
|
19
|
+
}
|
|
20
|
+
export function setSelectedCells(element, cells) {
|
|
21
|
+
return SELECTED_CELLS.set(element, cells);
|
|
22
|
+
}
|
|
23
|
+
export function clearSelectedCells(element) {
|
|
24
|
+
return SELECTED_CELLS.delete(element);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2VsZWN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy90YWJsZS1zZWxlY3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsbUJBQW1CLEVBQWdCLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBOEMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxPQUFPLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0csQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxPQUFPLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2SCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsUUFBeUIsRUFBRSxFQUFFO0lBQ3JGLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBaUIsQ0FBQztBQUM5RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW9DLENBQUM7QUFFOUUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQXVCO0lBQ3BELE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQXVCLEVBQUUsS0FBdUI7SUFDN0UsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQXVCO0lBQ3RELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgUGxhaXRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRUYWJsZUVsZW1lbnQsIFBsYWl0VGFibGVDZWxsLCBQbGFpdEJhc2VUYWJsZSwgUGxhaXRUYWJsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFibGUnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgaXNTaW5nbGVTZWxlY3RUYWJsZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRFbGVtZW50cyAmJiBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBQbGFpdFRhYmxlRWxlbWVudC5pc1RhYmxlKHNlbGVjdGVkRWxlbWVudHNbMF0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2luZ2xlU2VsZWN0RWxlbWVudEJ5VGFibGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgcmV0dXJuIHNlbGVjdGVkRWxlbWVudHMgJiYgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgUGxhaXREcmF3RWxlbWVudC5pc0VsZW1lbnRCeVRhYmxlKHNlbGVjdGVkRWxlbWVudHNbMF0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkVGFibGVFbGVtZW50cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM/OiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gUGxhaXRUYWJsZUVsZW1lbnQuaXNUYWJsZSh2YWx1ZSkpIGFzIFBsYWl0VGFibGVbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RFRF9DRUxMUyA9IG5ldyBXZWFrTWFwPFBsYWl0QmFzZVRhYmxlLCBQbGFpdFRhYmxlQ2VsbFtdPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0ZWRDZWxscyhlbGVtZW50OiBQbGFpdEJhc2VUYWJsZSkge1xuICAgIHJldHVybiBTRUxFQ1RFRF9DRUxMUy5nZXQoZWxlbWVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZWxlY3RlZENlbGxzKGVsZW1lbnQ6IFBsYWl0QmFzZVRhYmxlLCBjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIHJldHVybiBTRUxFQ1RFRF9DRUxMUy5zZXQoZWxlbWVudCwgY2VsbHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJTZWxlY3RlZENlbGxzKGVsZW1lbnQ6IFBsYWl0QmFzZVRhYmxlKSB7XG4gICAgcmV0dXJuIFNFTEVDVEVEX0NFTExTLmRlbGV0ZShlbGVtZW50KTtcbn1cbiJdfQ==
|
package/esm2022/utils/table.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { idCreator, RectangleClient } from '@plait/core';
|
|
2
2
|
import { getTextManage } from '../generators/text.generator';
|
|
3
|
+
import { Alignment } from '@plait/common';
|
|
4
|
+
import { TEXT_DEFAULT_HEIGHT } from '@plait/text-plugins';
|
|
3
5
|
export function getCellsWithPoints(board, element) {
|
|
4
6
|
const table = board.buildTable(element);
|
|
5
7
|
const rectangle = RectangleClient.getRectangleByPoints(table.points);
|
|
@@ -121,4 +123,27 @@ export function updateCellIds(cells) {
|
|
|
121
123
|
export function isCellIncludeText(cell) {
|
|
122
124
|
return cell.text && cell.textHeight;
|
|
123
125
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzdELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFpQixFQUFFLE9BQW1CO0lBQ3JFLE1BQU0sS0FBSyxHQUFJLEtBQXlCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEMsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLE1BQU0sS0FBSyxHQUErQixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM3RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLEtBQUss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QUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBbUIsRUFBRSxJQUFzQjtJQUM1RSxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQixNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUMxQiwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBdUI7SUFDakQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBb0I7SUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkQ3JlYXRvciwgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0VGFibGUsIFBsYWl0VGFibGVDZWxsLCBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYmxlJztcbmltcG9ydCB7IGdldFRleHRNYW5hZ2UgfSBmcm9tICcuLi9nZW5lcmF0b3JzL3RleHQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFBsYWl0VGFibGVCb2FyZCB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC10YWJsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsc1dpdGhQb2ludHMoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0VGFibGUpOiBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHNbXSB7XG4gICAgY29uc3QgdGFibGUgPSAoYm9hcmQgYXMgUGxhaXRUYWJsZUJvYXJkKS5idWlsZFRhYmxlKGVsZW1lbnQpO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyh0YWJsZS5wb2ludHMpO1xuICAgIGNvbnN0IGNvbHVtbnNDb3VudCA9IHRhYmxlLmNvbHVtbnMubGVuZ3RoO1xuICAgIGNvbnN0IHJvd3NDb3VudCA9IHRhYmxlLnJvd3MubGVuZ3RoO1xuICAgIGNvbnN0IGNlbGxXaWR0aHMgPSBjYWxjdWxhdGVDZWxsc1NpemUodGFibGUuY29sdW1ucywgcmVjdGFuZ2xlLndpZHRoLCBjb2x1bW5zQ291bnQsIHRydWUpO1xuICAgIGNvbnN0IGNlbGxIZWlnaHRzID0gY2FsY3VsYXRlQ2VsbHNTaXplKHRhYmxlLnJvd3MsIHJlY3RhbmdsZS5oZWlnaHQsIHJvd3NDb3VudCwgZmFsc2UpO1xuICAgIGNvbnN0IGNlbGxzOiBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHNbXSA9IHRhYmxlLmNlbGxzLm1hcChjZWxsID0+IHtcbiAgICAgICAgY29uc3Qgcm93SWR4ID0gdGFibGUucm93cy5maW5kSW5kZXgocm93ID0+IHJvdy5pZCA9PT0gY2VsbC5yb3dJZCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbklkeCA9IHRhYmxlLmNvbHVtbnMuZmluZEluZGV4KGNvbHVtbiA9PiBjb2x1bW4uaWQgPT09IGNlbGwuY29sdW1uSWQpO1xuXG4gICAgICAgIGxldCBjZWxsVG9wTGVmdFggPSByZWN0YW5nbGUueDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5JZHg7IGkrKykge1xuICAgICAgICAgICAgY2VsbFRvcExlZnRYICs9IGNlbGxXaWR0aHNbaV07XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY2VsbFRvcExlZnRZID0gcmVjdGFuZ2xlLnk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93SWR4OyBpKyspIHtcbiAgICAgICAgICAgIGNlbGxUb3BMZWZ0WSArPSBjZWxsSGVpZ2h0c1tpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNlbGxXaWR0aCA9IGNhbGN1bGF0ZUNlbGxTaXplKGNlbGwsIGNlbGxXaWR0aHMsIGNvbHVtbklkeCwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGNlbGxCb3R0b21SaWdodFggPSBjZWxsVG9wTGVmdFggKyBjZWxsV2lkdGg7XG5cbiAgICAgICAgY29uc3QgY2VsbEhlaWdodCA9IGNhbGN1bGF0ZUNlbGxTaXplKGNlbGwsIGNlbGxIZWlnaHRzLCByb3dJZHgsIGZhbHNlKTtcbiAgICAgICAgY29uc3QgY2VsbEJvdHRvbVJpZ2h0WSA9IGNlbGxUb3BMZWZ0WSArIGNlbGxIZWlnaHQ7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNlbGwsXG4gICAgICAgICAgICBwb2ludHM6IFtcbiAgICAgICAgICAgICAgICBbY2VsbFRvcExlZnRYLCBjZWxsVG9wTGVmdFldLFxuICAgICAgICAgICAgICAgIFtjZWxsQm90dG9tUmlnaHRYLCBjZWxsQm90dG9tUmlnaHRZXVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNlbGxzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VsbFdpdGhQb2ludHMoYm9hcmQ6IFBsYWl0Qm9hcmQsIHRhYmxlOiBQbGFpdFRhYmxlLCBjZWxsSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNlbGxzID0gZ2V0Q2VsbHNXaXRoUG9pbnRzKGJvYXJkIGFzIFBsYWl0VGFibGVCb2FyZCwgdGFibGUpO1xuICAgIGNvbnN0IGNlbGxJbmRleCA9IHRhYmxlLmNlbGxzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGNlbGxJZCk7XG4gICAgcmV0dXJuIGNlbGxzW2NlbGxJbmRleF07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNlbGxzU2l6ZShpdGVtczogeyBpZDogc3RyaW5nOyBba2V5OiBzdHJpbmddOiBhbnkgfVtdLCB0YWJsZVNpemU6IG51bWJlciwgY291bnQ6IG51bWJlciwgaXNXaWR0aDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNlbGxTaXplczogbnVtYmVyW10gPSBbXTtcbiAgICBjb25zdCBzaXplVHlwZSA9IGlzV2lkdGggPyAnd2lkdGgnIDogJ2hlaWdodCc7XG5cbiAgICAvLyBUaGUgcmVtYWluaW5nIHNpemUgb2YgdGhlIHRhYmxlIGV4Y2x1ZGluZyBjZWxscyB3aXRoIGFscmVhZHkgc2V0IHNpemVzLlxuICAgIGxldCB0b3RhbFNpemVSZW1haW5pbmcgPSB0YWJsZVNpemU7XG5cbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaXRlbVtzaXplVHlwZV0pIHtcbiAgICAgICAgICAgIGNlbGxTaXplc1tpbmRleF0gPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgICAgIHRvdGFsU2l6ZVJlbWFpbmluZyAtPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gRGl2aWRlIHRoZSByZW1haW5pbmcgc2l6ZSBlcXVhbGx5LlxuICAgIGNvbnN0IHJlbWFpbmluZ0l0ZW1Db3VudCA9IGNvdW50IC0gY2VsbFNpemVzLmZpbHRlcihpdGVtID0+ICEhaXRlbSkubGVuZ3RoO1xuICAgIGNvbnN0IHJlbWFpbmluZ0NlbGxTaXplID0gcmVtYWluaW5nSXRlbUNvdW50ID4gMCA/IHRvdGFsU2l6ZVJlbWFpbmluZyAvIHJlbWFpbmluZ0l0ZW1Db3VudCA6IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgIGlmICghY2VsbFNpemVzW2ldKSB7XG4gICAgICAgICAgICBjZWxsU2l6ZXNbaV0gPSByZW1haW5pbmdDZWxsU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2VsbFNpemVzO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDZWxsU2l6ZShjZWxsOiBQbGFpdFRhYmxlQ2VsbCwgc2l6ZXM6IG51bWJlcltdLCBpbmRleDogbnVtYmVyLCBpc1dpZHRoOiBib29sZWFuKSB7XG4gICAgY29uc3Qgc3BhbiA9IGlzV2lkdGggPyBjZWxsLmNvbHNwYW4gfHwgMSA6IGNlbGwucm93c3BhbiB8fCAxO1xuICAgIGxldCBzaXplID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwYW47IGkrKykge1xuICAgICAgICBjb25zdCBjZWxsSW5kZXggPSBpbmRleCArIGk7XG4gICAgICAgIHNpemUgKz0gc2l6ZXNbY2VsbEluZGV4XTtcbiAgICB9XG4gICAgcmV0dXJuIHNpemU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIaXRDZWxsKGJvYXJkOiBQbGFpdFRhYmxlQm9hcmQsIGVsZW1lbnQ6IFBsYWl0VGFibGUsIHBvaW50OiBQb2ludCkge1xuICAgIGNvbnN0IHRhYmxlID0gYm9hcmQuYnVpbGRUYWJsZShlbGVtZW50KTtcbiAgICBjb25zdCBjZWxscyA9IGdldENlbGxzV2l0aFBvaW50cyhib2FyZCwgdGFibGUpO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhbcG9pbnQsIHBvaW50XSk7XG4gICAgY29uc3QgY2VsbCA9IGNlbGxzLmZpbmQoaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGNlbGxSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoaXRlbS5wb2ludHMpO1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJlY3RhbmdsZSwgY2VsbFJlY3RhbmdsZSk7XG4gICAgfSk7XG4gICAgaWYgKGNlbGwpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlLmNlbGxzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBjZWxsLmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlZGl0Q2VsbChjZWxsOiBQbGFpdFRhYmxlQ2VsbCkge1xuICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBnZXRUZXh0TWFuYWdlQnlDZWxsKGNlbGwpO1xuICAgIHRleHRNYW5hZ2UgJiYgdGV4dE1hbmFnZS5lZGl0KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0TWFuYWdlQnlDZWxsKGNlbGw6IFBsYWl0VGFibGVDZWxsKSB7XG4gICAgcmV0dXJuIGdldFRleHRNYW5hZ2UoY2VsbC5pZCk7XG59XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVDb2x1bW5zID0gKHRhYmxlOiBQbGFpdFRhYmxlLCBjb2x1bW5JZDogc3RyaW5nLCB3aWR0aDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLm1hcChpdGVtID0+IChpdGVtLmlkID09PSBjb2x1bW5JZCA/IHsgLi4uaXRlbSwgd2lkdGggfSA6IGl0ZW0pKTtcbiAgICBjb25zdCBwb2ludHMgPSBbdGFibGUucG9pbnRzWzBdLCBbdGFibGUucG9pbnRzWzFdWzBdICsgb2Zmc2V0LCB0YWJsZS5wb2ludHNbMV1bMV1dXSBhcyBQb2ludFtdO1xuICAgIHJldHVybiB7IGNvbHVtbnMsIHBvaW50cyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVJvd3MgPSAodGFibGU6IFBsYWl0VGFibGUsIHJvd0lkOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSB0YWJsZS5yb3dzLm1hcChpdGVtID0+IChpdGVtLmlkID09PSByb3dJZCA/IHsgLi4uaXRlbSwgaGVpZ2h0IH0gOiBpdGVtKSk7XG4gICAgY29uc3QgcG9pbnRzID0gW3RhYmxlLnBvaW50c1swXSwgW3RhYmxlLnBvaW50c1sxXVswXSwgdGFibGUucG9pbnRzWzFdWzFdICsgb2Zmc2V0XV0gYXMgUG9pbnRbXTtcbiAgICByZXR1cm4geyByb3dzLCBwb2ludHMgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDZWxsSWRzQnlSb3dPckNvbHVtbihjZWxsczogUGxhaXRUYWJsZUNlbGxbXSwgb2xkSWQ6IHN0cmluZywgbmV3SWQ6IHN0cmluZywgdHlwZTogJ3JvdycgfCAnY29sdW1uJykge1xuICAgIGNvbnN0IGlkOiAncm93SWQnIHwgJ2NvbHVtbklkJyA9IGAke3R5cGV9SWRgO1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChpdGVtW2lkXSA9PT0gb2xkSWQpIHtcbiAgICAgICAgICAgIGl0ZW1baWRdID0gbmV3SWQ7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVJvd09yQ29sdW1uSWRzKGVsZW1lbnQ6IFBsYWl0VGFibGUsIHR5cGU6ICdyb3cnIHwgJ2NvbHVtbicpIHtcbiAgICBlbGVtZW50W2Ake3R5cGV9c2BdLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIHVwZGF0ZUNlbGxJZHNCeVJvd09yQ29sdW1uKGVsZW1lbnQuY2VsbHMsIGl0ZW0uaWQsIG5ld0lkLCB0eXBlKTtcbiAgICAgICAgaXRlbS5pZCA9IG5ld0lkO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2VsbElkcyhjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIGl0ZW0uaWQgPSBuZXdJZDtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2VsbEluY2x1ZGVUZXh0KGNlbGw6IFBsYWl0VGFibGVDZWxsKSB7XG4gICAgcmV0dXJuIGNlbGwudGV4dCAmJiBjZWxsLnRleHRIZWlnaHQ7XG59XG4iXX0=
|
|
126
|
+
export function getCellsRectangle(board, element, cells) {
|
|
127
|
+
const cellsWithPoints = getCellsWithPoints(board, element);
|
|
128
|
+
const points = cells.map(cell => {
|
|
129
|
+
const cellWithPoints = cellsWithPoints.find(item => item.id === cell.id);
|
|
130
|
+
return cellWithPoints.points;
|
|
131
|
+
});
|
|
132
|
+
return RectangleClient.getRectangleByPoints(points);
|
|
133
|
+
}
|
|
134
|
+
export const createCell = (rowId, columnId, text = null) => {
|
|
135
|
+
const cell = {
|
|
136
|
+
id: idCreator(),
|
|
137
|
+
rowId,
|
|
138
|
+
columnId
|
|
139
|
+
};
|
|
140
|
+
if (text !== null) {
|
|
141
|
+
cell['textHeight'] = TEXT_DEFAULT_HEIGHT;
|
|
142
|
+
cell['text'] = {
|
|
143
|
+
children: [{ text }],
|
|
144
|
+
align: Alignment.center
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
return cell;
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWlCLEVBQUUsT0FBdUI7SUFDekUsTUFBTSxLQUFLLEdBQUksS0FBeUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRSxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUMxQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFGLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkYsTUFBTSxLQUFLLEdBQStCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzdELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcs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QyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sY0FBZSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxPQUFzQixJQUFJLEVBQUUsRUFBRTtJQUN0RixNQUFNLElBQUksR0FBbUI7UUFDekIsRUFBRSxFQUFFLFNBQVMsRUFBRTtRQUNmLEtBQUs7UUFDTCxRQUFRO0tBQ1gsQ0FBQztJQUNGLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxtQkFBbUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7WUFDWCxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTtTQUMxQixDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkQ3JlYXRvciwgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0QmFzZVRhYmxlLCBQbGFpdFRhYmxlLCBQbGFpdFRhYmxlQm9hcmQsIFBsYWl0VGFibGVDZWxsLCBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYmxlJztcbmltcG9ydCB7IGdldFRleHRNYW5hZ2UgfSBmcm9tICcuLi9nZW5lcmF0b3JzL3RleHQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgVEVYVF9ERUZBVUxUX0hFSUdIVCB9IGZyb20gJ0BwbGFpdC90ZXh0LXBsdWdpbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VsbHNXaXRoUG9pbnRzKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEJhc2VUYWJsZSk6IFBsYWl0VGFibGVDZWxsV2l0aFBvaW50c1tdIHtcbiAgICBjb25zdCB0YWJsZSA9IChib2FyZCBhcyBQbGFpdFRhYmxlQm9hcmQpLmJ1aWxkVGFibGUoZWxlbWVudCk7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKHRhYmxlLnBvaW50cyk7XG4gICAgY29uc3QgY29sdW1uc0NvdW50ID0gdGFibGUuY29sdW1ucy5sZW5ndGg7XG4gICAgY29uc3Qgcm93c0NvdW50ID0gdGFibGUucm93cy5sZW5ndGg7XG4gICAgY29uc3QgY2VsbFdpZHRocyA9IGNhbGN1bGF0ZUNlbGxzU2l6ZSh0YWJsZS5jb2x1bW5zLCByZWN0YW5nbGUud2lkdGgsIGNvbHVtbnNDb3VudCwgdHJ1ZSk7XG4gICAgY29uc3QgY2VsbEhlaWdodHMgPSBjYWxjdWxhdGVDZWxsc1NpemUodGFibGUucm93cywgcmVjdGFuZ2xlLmhlaWdodCwgcm93c0NvdW50LCBmYWxzZSk7XG4gICAgY29uc3QgY2VsbHM6IFBsYWl0VGFibGVDZWxsV2l0aFBvaW50c1tdID0gdGFibGUuY2VsbHMubWFwKGNlbGwgPT4ge1xuICAgICAgICBjb25zdCByb3dJZHggPSB0YWJsZS5yb3dzLmZpbmRJbmRleChyb3cgPT4gcm93LmlkID09PSBjZWxsLnJvd0lkKTtcbiAgICAgICAgY29uc3QgY29sdW1uSWR4ID0gdGFibGUuY29sdW1ucy5maW5kSW5kZXgoY29sdW1uID0+IGNvbHVtbi5pZCA9PT0gY2VsbC5jb2x1bW5JZCk7XG5cbiAgICAgICAgbGV0IGNlbGxUb3BMZWZ0WCA9IHJlY3RhbmdsZS54O1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbklkeDsgaSsrKSB7XG4gICAgICAgICAgICBjZWxsVG9wTGVmdFggKz0gY2VsbFdpZHRoc1tpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjZWxsVG9wTGVmdFkgPSByZWN0YW5nbGUueTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dJZHg7IGkrKykge1xuICAgICAgICAgICAgY2VsbFRvcExlZnRZICs9IGNlbGxIZWlnaHRzW2ldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2VsbFdpZHRoID0gY2FsY3VsYXRlQ2VsbFNpemUoY2VsbCwgY2VsbFdpZHRocywgY29sdW1uSWR4LCB0cnVlKTtcbiAgICAgICAgY29uc3QgY2VsbEJvdHRvbVJpZ2h0WCA9IGNlbGxUb3BMZWZ0WCArIGNlbGxXaWR0aDtcblxuICAgICAgICBjb25zdCBjZWxsSGVpZ2h0ID0gY2FsY3VsYXRlQ2VsbFNpemUoY2VsbCwgY2VsbEhlaWdodHMsIHJvd0lkeCwgZmFsc2UpO1xuICAgICAgICBjb25zdCBjZWxsQm90dG9tUmlnaHRZID0gY2VsbFRvcExlZnRZICsgY2VsbEhlaWdodDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2VsbCxcbiAgICAgICAgICAgIHBvaW50czogW1xuICAgICAgICAgICAgICAgIFtjZWxsVG9wTGVmdFgsIGNlbGxUb3BMZWZ0WV0sXG4gICAgICAgICAgICAgICAgW2NlbGxCb3R0b21SaWdodFgsIGNlbGxCb3R0b21SaWdodFldXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2VsbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsV2l0aFBvaW50cyhib2FyZDogUGxhaXRCb2FyZCwgdGFibGU6IFBsYWl0QmFzZVRhYmxlLCBjZWxsSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNlbGxzID0gZ2V0Q2VsbHNXaXRoUG9pbnRzKGJvYXJkIGFzIFBsYWl0VGFibGVCb2FyZCwgdGFibGUpO1xuICAgIGNvbnN0IGNlbGxJbmRleCA9IHRhYmxlLmNlbGxzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGNlbGxJZCk7XG4gICAgcmV0dXJuIGNlbGxzW2NlbGxJbmRleF07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNlbGxzU2l6ZShpdGVtczogeyBpZDogc3RyaW5nOyBba2V5OiBzdHJpbmddOiBhbnkgfVtdLCB0YWJsZVNpemU6IG51bWJlciwgY291bnQ6IG51bWJlciwgaXNXaWR0aDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNlbGxTaXplczogbnVtYmVyW10gPSBbXTtcbiAgICBjb25zdCBzaXplVHlwZSA9IGlzV2lkdGggPyAnd2lkdGgnIDogJ2hlaWdodCc7XG5cbiAgICAvLyBUaGUgcmVtYWluaW5nIHNpemUgb2YgdGhlIHRhYmxlIGV4Y2x1ZGluZyBjZWxscyB3aXRoIGFscmVhZHkgc2V0IHNpemVzLlxuICAgIGxldCB0b3RhbFNpemVSZW1haW5pbmcgPSB0YWJsZVNpemU7XG5cbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaXRlbVtzaXplVHlwZV0pIHtcbiAgICAgICAgICAgIGNlbGxTaXplc1tpbmRleF0gPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgICAgIHRvdGFsU2l6ZVJlbWFpbmluZyAtPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gRGl2aWRlIHRoZSByZW1haW5pbmcgc2l6ZSBlcXVhbGx5LlxuICAgIGNvbnN0IHJlbWFpbmluZ0l0ZW1Db3VudCA9IGNvdW50IC0gY2VsbFNpemVzLmZpbHRlcihpdGVtID0+ICEhaXRlbSkubGVuZ3RoO1xuICAgIGNvbnN0IHJlbWFpbmluZ0NlbGxTaXplID0gcmVtYWluaW5nSXRlbUNvdW50ID4gMCA/IHRvdGFsU2l6ZVJlbWFpbmluZyAvIHJlbWFpbmluZ0l0ZW1Db3VudCA6IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgIGlmICghY2VsbFNpemVzW2ldKSB7XG4gICAgICAgICAgICBjZWxsU2l6ZXNbaV0gPSByZW1haW5pbmdDZWxsU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2VsbFNpemVzO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDZWxsU2l6ZShjZWxsOiBQbGFpdFRhYmxlQ2VsbCwgc2l6ZXM6IG51bWJlcltdLCBpbmRleDogbnVtYmVyLCBpc1dpZHRoOiBib29sZWFuKSB7XG4gICAgY29uc3Qgc3BhbiA9IGlzV2lkdGggPyBjZWxsLmNvbHNwYW4gfHwgMSA6IGNlbGwucm93c3BhbiB8fCAxO1xuICAgIGxldCBzaXplID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwYW47IGkrKykge1xuICAgICAgICBjb25zdCBjZWxsSW5kZXggPSBpbmRleCArIGk7XG4gICAgICAgIHNpemUgKz0gc2l6ZXNbY2VsbEluZGV4XTtcbiAgICB9XG4gICAgcmV0dXJuIHNpemU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIaXRDZWxsKGJvYXJkOiBQbGFpdFRhYmxlQm9hcmQsIGVsZW1lbnQ6IFBsYWl0QmFzZVRhYmxlLCBwb2ludDogUG9pbnQpIHtcbiAgICBjb25zdCB0YWJsZSA9IGJvYXJkLmJ1aWxkVGFibGUoZWxlbWVudCk7XG4gICAgY29uc3QgY2VsbHMgPSBnZXRDZWxsc1dpdGhQb2ludHMoYm9hcmQsIHRhYmxlKTtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoW3BvaW50LCBwb2ludF0pO1xuICAgIGNvbnN0IGNlbGwgPSBjZWxscy5maW5kKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjZWxsUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGl0ZW0ucG9pbnRzKTtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5pc0hpdChyZWN0YW5nbGUsIGNlbGxSZWN0YW5nbGUpO1xuICAgIH0pO1xuICAgIGlmIChjZWxsKSB7XG4gICAgICAgIHJldHVybiB0YWJsZS5jZWxscy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gY2VsbC5pZCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZWRpdENlbGwoY2VsbDogUGxhaXRUYWJsZUNlbGwpIHtcbiAgICBjb25zdCB0ZXh0TWFuYWdlID0gZ2V0VGV4dE1hbmFnZUJ5Q2VsbChjZWxsKTtcbiAgICB0ZXh0TWFuYWdlICYmIHRleHRNYW5hZ2UuZWRpdCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dE1hbmFnZUJ5Q2VsbChjZWxsOiBQbGFpdFRhYmxlQ2VsbCkge1xuICAgIHJldHVybiBnZXRUZXh0TWFuYWdlKGNlbGwuaWQpO1xufVxuXG5leHBvcnQgY29uc3QgdXBkYXRlQ29sdW1ucyA9ICh0YWJsZTogUGxhaXRCYXNlVGFibGUsIGNvbHVtbklkOiBzdHJpbmcsIHdpZHRoOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgY29sdW1ucyA9IHRhYmxlLmNvbHVtbnMubWFwKGl0ZW0gPT4gKGl0ZW0uaWQgPT09IGNvbHVtbklkID8geyAuLi5pdGVtLCB3aWR0aCB9IDogaXRlbSkpO1xuICAgIGNvbnN0IHBvaW50cyA9IFt0YWJsZS5wb2ludHNbMF0sIFt0YWJsZS5wb2ludHNbMV1bMF0gKyBvZmZzZXQsIHRhYmxlLnBvaW50c1sxXVsxXV1dIGFzIFBvaW50W107XG4gICAgcmV0dXJuIHsgY29sdW1ucywgcG9pbnRzIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUm93cyA9ICh0YWJsZTogUGxhaXRCYXNlVGFibGUsIHJvd0lkOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSB0YWJsZS5yb3dzLm1hcChpdGVtID0+IChpdGVtLmlkID09PSByb3dJZCA/IHsgLi4uaXRlbSwgaGVpZ2h0IH0gOiBpdGVtKSk7XG4gICAgY29uc3QgcG9pbnRzID0gW3RhYmxlLnBvaW50c1swXSwgW3RhYmxlLnBvaW50c1sxXVswXSwgdGFibGUucG9pbnRzWzFdWzFdICsgb2Zmc2V0XV0gYXMgUG9pbnRbXTtcbiAgICByZXR1cm4geyByb3dzLCBwb2ludHMgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDZWxsSWRzQnlSb3dPckNvbHVtbihjZWxsczogUGxhaXRUYWJsZUNlbGxbXSwgb2xkSWQ6IHN0cmluZywgbmV3SWQ6IHN0cmluZywgdHlwZTogJ3JvdycgfCAnY29sdW1uJykge1xuICAgIGNvbnN0IGlkOiAncm93SWQnIHwgJ2NvbHVtbklkJyA9IGAke3R5cGV9SWRgO1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChpdGVtW2lkXSA9PT0gb2xkSWQpIHtcbiAgICAgICAgICAgIGl0ZW1baWRdID0gbmV3SWQ7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVJvd09yQ29sdW1uSWRzKGVsZW1lbnQ6IFBsYWl0VGFibGUsIHR5cGU6ICdyb3cnIHwgJ2NvbHVtbicpIHtcbiAgICBlbGVtZW50W2Ake3R5cGV9c2BdLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIHVwZGF0ZUNlbGxJZHNCeVJvd09yQ29sdW1uKGVsZW1lbnQuY2VsbHMsIGl0ZW0uaWQsIG5ld0lkLCB0eXBlKTtcbiAgICAgICAgaXRlbS5pZCA9IG5ld0lkO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2VsbElkcyhjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIGl0ZW0uaWQgPSBuZXdJZDtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2VsbEluY2x1ZGVUZXh0KGNlbGw6IFBsYWl0VGFibGVDZWxsKSB7XG4gICAgcmV0dXJuIGNlbGwudGV4dCAmJiBjZWxsLnRleHRIZWlnaHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsc1JlY3RhbmdsZShib2FyZDogUGxhaXRUYWJsZUJvYXJkLCBlbGVtZW50OiBQbGFpdFRhYmxlLCBjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIGNvbnN0IGNlbGxzV2l0aFBvaW50cyA9IGdldENlbGxzV2l0aFBvaW50cyhib2FyZCBhcyBQbGFpdFRhYmxlQm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHBvaW50cyA9IGNlbGxzLm1hcChjZWxsID0+IHtcbiAgICAgICAgY29uc3QgY2VsbFdpdGhQb2ludHMgPSBjZWxsc1dpdGhQb2ludHMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGNlbGwuaWQpO1xuICAgICAgICByZXR1cm4gY2VsbFdpdGhQb2ludHMhLnBvaW50cztcbiAgICB9KTtcbiAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKHBvaW50cyk7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDZWxsID0gKHJvd0lkOiBzdHJpbmcsIGNvbHVtbklkOiBzdHJpbmcsIHRleHQ6IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XG4gICAgY29uc3QgY2VsbDogUGxhaXRUYWJsZUNlbGwgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgcm93SWQsXG4gICAgICAgIGNvbHVtbklkXG4gICAgfTtcbiAgICBpZiAodGV4dCAhPT0gbnVsbCkge1xuICAgICAgICBjZWxsWyd0ZXh0SGVpZ2h0J10gPSBURVhUX0RFRkFVTFRfSEVJR0hUO1xuICAgICAgICBjZWxsWyd0ZXh0J10gPSB7XG4gICAgICAgICAgICBjaGlsZHJlbjogW3sgdGV4dCB9XSxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQuY2VudGVyXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBjZWxsO1xufTtcbiJdfQ==
|
package/esm2022/utils/uml.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const createUMLClassOrInterfaceGeometryElement = (board, shape, points) =
|
|
|
7
7
|
const memorizedLatest = getMemorizedLatestByPointer(shape);
|
|
8
8
|
const element = {
|
|
9
9
|
id: idCreator(),
|
|
10
|
-
type: '
|
|
10
|
+
type: 'geometry',
|
|
11
11
|
angle: 0,
|
|
12
12
|
opacity: 1,
|
|
13
13
|
points,
|
|
@@ -85,4 +85,4 @@ const buildTableCellsForGeometry = (board, rows, columns, shape) => {
|
|
|
85
85
|
};
|
|
86
86
|
});
|
|
87
87
|
};
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW1sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdXRpbHMvdW1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQWtCLFVBQVUsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBd0IsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHcEcsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQXFCLEVBQUUsTUFBc0IsRUFBRSxFQUFFO0lBQ3pILE1BQU0sZUFBZSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sT0FBTyxHQUFHO1FBQ1osRUFBRSxFQUFFLFNBQVMsRUFBRTtRQUNmLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxDQUFDO1FBQ1IsT0FBTyxFQUFFLENBQUM7UUFDVixNQUFNO1FBQ04sV0FBVyxFQUFFLHlCQUF5QixDQUFDLFdBQVc7UUFDbEQsR0FBSSxlQUFlLENBQUMsa0JBQTJDO0tBQ2xFLENBQUM7SUFDRixJQUFJLElBQXVDLENBQUM7SUFDNUMsSUFBSSxPQUEwQyxDQUFDO0lBQy9DLElBQUksS0FBSyxLQUFLLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLEdBQUc7WUFDSDtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2FBQ2I7WUFDRDtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1lBQ0Q7Z0JBQ0ksRUFBRSxFQUFFLFNBQVMsRUFBRTthQUNsQjtTQUNKLENBQUM7UUFDRixPQUFPLEdBQUc7WUFDTjtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1NBQ0osQ0FBQztJQUNOLENBQUM7U0FBTSxDQUFDO1FBQ0osSUFBSSxHQUFHO1lBQ0g7Z0JBQ0ksRUFBRSxFQUFFLFNBQVMsRUFBRTtnQkFDZixNQUFNLEVBQUUsRUFBRTthQUNiO1lBQ0Q7Z0JBQ0ksRUFBRSxFQUFFLFNBQVMsRUFBRTthQUNsQjtTQUNKLENBQUM7UUFDRixPQUFPLEdBQUc7WUFDTjtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFRO1FBQ0osR0FBRyxPQUFPO1FBQ1YsS0FBSztRQUNMLElBQUk7UUFDSixPQUFPO1FBQ1AsS0FBSyxFQUFFLDBCQUEwQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztLQUM5QixDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGLE1BQU0sMEJBQTBCLEdBQUcsQ0FDL0IsS0FBaUIsRUFDakIsSUFHRyxFQUNILE9BR0csRUFDSCxLQUFxQixFQUNMLEVBQUU7SUFDbEIsTUFBTSxlQUFlLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9DLE1BQU0sWUFBWSxHQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBUyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQTBCLEVBQUUsRUFBRTtRQUNoRSxPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLG1CQUFtQixDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RJLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLFdBQVcsR0FBRyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUMzQyxPQUFPO1lBQ0gsRUFBRSxFQUFFLFNBQVMsRUFBRTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtZQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7WUFDakMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDOUIsSUFBSSxFQUFFO2dCQUNGLFFBQVEsRUFBRTtvQkFDTjt3QkFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7cUJBQ2pDO2lCQUNKO2dCQUNELEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSzthQUNuQztTQUNKLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50LCBpZENyZWF0b3IgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0VGV4dFByb3BlcnR5LCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5IH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVzLCBVTUxTeW1ib2xzLCBQbGFpdENvbW1vbkdlb21ldHJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIgfSBmcm9tICcuL21lbW9yaXplJztcbmltcG9ydCB7IEdlb21ldHJ5U3R5bGVPcHRpb25zLCBnZXREZWZhdWx0R2VvbWV0cnlQcm9wZXJ0eSwgZ2V0VGV4dFNoYXBlUHJvcGVydHkgfSBmcm9tICcuL2dlb21ldHJ5JztcbmltcG9ydCB7IFBsYWl0VGFibGVDZWxsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90YWJsZSc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVVTUxDbGFzc09ySW50ZXJmYWNlR2VvbWV0cnlFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzaGFwZTogR2VvbWV0cnlTaGFwZXMsIHBvaW50czogW1BvaW50LCBQb2ludF0pID0+IHtcbiAgICBjb25zdCBtZW1vcml6ZWRMYXRlc3QgPSBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIoc2hhcGUpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgYW5nbGU6IDAsXG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkuc3Ryb2tlV2lkdGgsXG4gICAgICAgIC4uLihtZW1vcml6ZWRMYXRlc3QuZ2VvbWV0cnlQcm9wZXJ0aWVzIGFzIEdlb21ldHJ5U3R5bGVPcHRpb25zKVxuICAgIH07XG4gICAgbGV0IHJvd3M6IHsgaWQ6IHN0cmluZzsgaGVpZ2h0PzogbnVtYmVyIH1bXTtcbiAgICBsZXQgY29sdW1uczogeyBpZDogc3RyaW5nOyBoZWlnaHQ/OiBudW1iZXIgfVtdO1xuICAgIGlmIChzaGFwZSA9PT0gVU1MU3ltYm9scy5jbGFzcykge1xuICAgICAgICByb3dzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogaWRDcmVhdG9yKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICAgICAgY29sdW1ucyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogaWRDcmVhdG9yKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByb3dzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICBjb2x1bW5zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gKHtcbiAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgc2hhcGUsXG4gICAgICAgIHJvd3MsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGNlbGxzOiBidWlsZFRhYmxlQ2VsbHNGb3JHZW9tZXRyeShib2FyZCwgcm93cywgY29sdW1ucywgc2hhcGUpXG4gICAgfSBhcyB1bmtub3duKSBhcyBQbGFpdENvbW1vbkdlb21ldHJ5O1xufTtcblxuY29uc3QgYnVpbGRUYWJsZUNlbGxzRm9yR2VvbWV0cnkgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgcm93czoge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgfVtdLFxuICAgIGNvbHVtbnM6IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIH1bXSxcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZXNcbik6IFBsYWl0VGFibGVDZWxsW10gPT4ge1xuICAgIGNvbnN0IG1lbW9yaXplZExhdGVzdCA9IGdldE1lbW9yaXplZExhdGVzdEJ5UG9pbnRlcihzaGFwZSk7XG4gICAgY29uc3QgY2VsbENvdW50ID0gcm93cy5sZW5ndGggKiBjb2x1bW5zLmxlbmd0aDtcbiAgICBjb25zdCBkZWZhdWx0VGV4dHMgPSAoZ2V0RGVmYXVsdEdlb21ldHJ5UHJvcGVydHkoc2hhcGUpIGFzIGFueSk/LnRleHRzIHx8IFtdO1xuICAgIGNvbnN0IHRlc3RIZWlnaHRzID0gZGVmYXVsdFRleHRzLm1hcCgodGV4dEl0ZW06IHsgdGV4dDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGdldFRleHRTaGFwZVByb3BlcnR5KGJvYXJkLCB0ZXh0SXRlbS50ZXh0IHx8IERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSkuaGVpZ2h0O1xuICAgIH0pO1xuICAgIHJldHVybiBuZXcgQXJyYXkoY2VsbENvdW50KS5maWxsKCcnKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gTWF0aC5mbG9vcihpbmRleCAvIGNvbHVtbnMubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgY29sdW1uSW5kZXggPSBpbmRleCAlIGNvbHVtbnMubGVuZ3RoO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgcm93SWQ6IHJvd3Nbcm93SW5kZXhdLmlkLFxuICAgICAgICAgICAgY29sdW1uSWQ6IGNvbHVtbnNbY29sdW1uSW5kZXhdLmlkLFxuICAgICAgICAgICAgdGV4dEhlaWdodDogdGVzdEhlaWdodHNbaW5kZXhdLFxuICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGRlZmF1bHRUZXh0c1tpbmRleF0udGV4dFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBhbGlnbjogZGVmYXVsdFRleHRzW2luZGV4XS5hbGlnblxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pO1xufTtcbiJdfQ==
|