@plait/draw 0.35.0 → 0.37.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/line.d.ts +4 -0
- package/esm2022/constants/line.mjs +5 -1
- package/esm2022/generators/line-active.generator.mjs +10 -7
- package/esm2022/generators/line-auto-complete.generator.mjs +45 -0
- package/esm2022/geometry.component.mjs +21 -11
- package/esm2022/image.component.mjs +14 -1
- package/esm2022/interfaces/element.mjs +2 -1
- package/esm2022/interfaces/index.mjs +2 -2
- package/esm2022/line.component.mjs +10 -15
- package/esm2022/plugins/with-draw-hotkey.mjs +5 -4
- package/esm2022/plugins/with-draw.mjs +4 -4
- package/esm2022/plugins/with-geometry-create.mjs +69 -53
- package/esm2022/plugins/with-line-auto-complete-reaction.mjs +36 -0
- package/esm2022/plugins/with-line-auto-complete.mjs +61 -0
- package/esm2022/plugins/with-line-bound-reaction.mjs +5 -1
- package/esm2022/plugins/with-line-create.mjs +2 -2
- package/esm2022/plugins/with-line-resize.mjs +2 -2
- package/esm2022/plugins/with-line-text.mjs +29 -27
- package/esm2022/transforms/geometry.mjs +3 -3
- package/esm2022/transforms/index.mjs +2 -7
- package/esm2022/utils/geometry.mjs +25 -12
- package/esm2022/utils/index.mjs +2 -1
- package/esm2022/utils/line-arrow.mjs +10 -6
- package/esm2022/utils/line.mjs +12 -5
- package/esm2022/utils/memorize.mjs +75 -0
- package/fesm2022/plait-draw.mjs +432 -325
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/generators/line-active.generator.d.ts +0 -1
- package/generators/{auto-complete.generator.d.ts → line-auto-complete.generator.d.ts} +3 -3
- package/geometry.component.d.ts +2 -2
- package/image.component.d.ts +2 -0
- package/interfaces/element.d.ts +1 -0
- package/interfaces/index.d.ts +2 -2
- package/line.component.d.ts +0 -1
- package/package.json +1 -1
- package/plugins/with-geometry-create.d.ts +7 -2
- package/plugins/with-line-auto-complete-reaction.d.ts +2 -0
- package/plugins/with-line-auto-complete.d.ts +7 -0
- package/styles/styles.scss +1 -2
- package/transforms/index.d.ts +0 -4
- package/utils/geometry.d.ts +15 -4
- package/utils/index.d.ts +1 -0
- package/utils/line.d.ts +4 -4
- package/utils/memorize.d.ts +25 -0
- package/utils/position/geometry.d.ts +1 -1
- package/esm2022/generators/auto-complete.generator.mjs +0 -44
- package/esm2022/plugins/with-auto-complete-reaction.mjs +0 -35
- package/esm2022/plugins/with-auto-complete.mjs +0 -61
- package/esm2022/transforms/common.mjs +0 -33
- package/plugins/with-auto-complete-reaction.d.ts +0 -2
- package/plugins/with-auto-complete.d.ts +0 -7
- package/transforms/common.d.ts +0 -6
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { BoardTransforms, PRESS_AND_MOVE_BUFFER, PlaitBoard, PlaitPointerType, Transforms, addSelectedElement, clearSelectedElement, createG, distanceBetweenPointAndPoint, temporaryDisableSelection, toPoint, transformPoint } from '@plait/core';
|
|
2
|
+
import { LineShape, PlaitDrawElement } from '../interfaces';
|
|
3
|
+
import { handleLineCreating, getAutoCompletePoints, getHitIndexOfAutoCompletePoint, getSelectedDrawElements } from '../utils';
|
|
4
|
+
export const withLineAutoCompletePluginKey = 'plait-line-auto-complete-plugin-key';
|
|
5
|
+
export const withLineAutoComplete = (board) => {
|
|
6
|
+
const { pointerDown, pointerMove, pointerUp } = board;
|
|
7
|
+
let startPoint = null;
|
|
8
|
+
let lineShapeG = null;
|
|
9
|
+
let sourceElement;
|
|
10
|
+
let temporaryElement;
|
|
11
|
+
board.pointerDown = (event) => {
|
|
12
|
+
const selectedElements = getSelectedDrawElements(board);
|
|
13
|
+
const targetElement = selectedElements.length === 1 && selectedElements[0];
|
|
14
|
+
const clickPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
15
|
+
if (!PlaitBoard.isReadonly(board) && targetElement && PlaitDrawElement.isShape(targetElement)) {
|
|
16
|
+
const points = getAutoCompletePoints(targetElement);
|
|
17
|
+
const index = getHitIndexOfAutoCompletePoint(clickPoint, points);
|
|
18
|
+
const hitPoint = points[index];
|
|
19
|
+
if (hitPoint) {
|
|
20
|
+
temporaryDisableSelection(board);
|
|
21
|
+
startPoint = clickPoint;
|
|
22
|
+
sourceElement = targetElement;
|
|
23
|
+
BoardTransforms.updatePointerType(board, LineShape.elbow);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
pointerDown(event);
|
|
27
|
+
};
|
|
28
|
+
board.pointerMove = (event) => {
|
|
29
|
+
lineShapeG?.remove();
|
|
30
|
+
lineShapeG = createG();
|
|
31
|
+
let movingPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
32
|
+
if (startPoint && sourceElement) {
|
|
33
|
+
const distance = distanceBetweenPointAndPoint(...movingPoint, ...startPoint);
|
|
34
|
+
if (distance > PRESS_AND_MOVE_BUFFER) {
|
|
35
|
+
temporaryElement = handleLineCreating(board, LineShape.elbow, startPoint, movingPoint, sourceElement, lineShapeG);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
pointerMove(event);
|
|
39
|
+
};
|
|
40
|
+
board.pointerUp = event => {
|
|
41
|
+
if (temporaryElement) {
|
|
42
|
+
Transforms.insertNode(board, temporaryElement, [board.children.length]);
|
|
43
|
+
clearSelectedElement(board);
|
|
44
|
+
addSelectedElement(board, temporaryElement);
|
|
45
|
+
const afterComplete = board.getPluginOptions(withLineAutoCompletePluginKey)
|
|
46
|
+
?.afterComplete;
|
|
47
|
+
afterComplete && afterComplete(temporaryElement);
|
|
48
|
+
}
|
|
49
|
+
if (startPoint) {
|
|
50
|
+
BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
|
|
51
|
+
startPoint = null;
|
|
52
|
+
}
|
|
53
|
+
lineShapeG?.remove();
|
|
54
|
+
lineShapeG = null;
|
|
55
|
+
sourceElement = null;
|
|
56
|
+
temporaryElement = null;
|
|
57
|
+
pointerUp(event);
|
|
58
|
+
};
|
|
59
|
+
return board;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLWF1dG8tY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtbGluZS1hdXRvLWNvbXBsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFVBQVUsRUFFVixnQkFBZ0IsRUFFaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsT0FBTyxFQUNQLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBTTlILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHFDQUFxQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3RELE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUV0RCxJQUFJLFVBQVUsR0FBaUIsSUFBSSxDQUFDO0lBQ3BDLElBQUksVUFBVSxHQUF1QixJQUFJLENBQUM7SUFDMUMsSUFBSSxhQUFnQyxDQUFDO0lBQ3JDLElBQUksZ0JBQWtDLENBQUM7SUFFdkMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxNQUFNLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMs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Q0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9hcmRUcmFuc2Zvcm1zLFxuICAgIFBSRVNTX0FORF9NT1ZFX0JVRkZFUixcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0T3B0aW9uc0JvYXJkLFxuICAgIFBsYWl0UG9pbnRlclR5cGUsXG4gICAgUG9pbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQsXG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQsXG4gICAgY3JlYXRlRyxcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50LFxuICAgIHRlbXBvcmFyeURpc2FibGVTZWxlY3Rpb24sXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBMaW5lU2hhcGUsIFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0TGluZSwgUGxhaXRTaGFwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaGFuZGxlTGluZUNyZWF0aW5nLCBnZXRBdXRvQ29tcGxldGVQb2ludHMsIGdldEhpdEluZGV4T2ZBdXRvQ29tcGxldGVQb2ludCwgZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZUF1dG9Db21wbGV0ZU9wdGlvbnMge1xuICAgIGFmdGVyQ29tcGxldGU6IChlbGVtZW50OiBQbGFpdExpbmUpID0+IHt9O1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aExpbmVBdXRvQ29tcGxldGVQbHVnaW5LZXkgPSAncGxhaXQtbGluZS1hdXRvLWNvbXBsZXRlLXBsdWdpbi1rZXknO1xuXG5leHBvcnQgY29uc3Qgd2l0aExpbmVBdXRvQ29tcGxldGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgcG9pbnRlclVwIH0gPSBib2FyZDtcblxuICAgIGxldCBzdGFydFBvaW50OiBQb2ludCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBsaW5lU2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBzb3VyY2VFbGVtZW50OiBQbGFpdFNoYXBlIHwgbnVsbDtcbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRMaW5lIHwgbnVsbDtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmIHNlbGVjdGVkRWxlbWVudHNbMF07XG4gICAgICAgIGNvbnN0IGNsaWNrUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJiB0YXJnZXRFbGVtZW50ICYmIFBsYWl0RHJhd0VsZW1lbnQuaXNTaGFwZSh0YXJnZXRFbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0QXV0b0NvbXBsZXRlUG9pbnRzKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBnZXRIaXRJbmRleE9mQXV0b0NvbXBsZXRlUG9pbnQoY2xpY2tQb2ludCwgcG9pbnRzKTtcbiAgICAgICAgICAgIGNvbnN0IGhpdFBvaW50ID0gcG9pbnRzW2luZGV4XTtcbiAgICAgICAgICAgIGlmIChoaXRQb2ludCkge1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeURpc2FibGVTZWxlY3Rpb24oYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpO1xuICAgICAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBjbGlja1BvaW50O1xuICAgICAgICAgICAgICAgIHNvdXJjZUVsZW1lbnQgPSB0YXJnZXRFbGVtZW50O1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgTGluZVNoYXBlLmVsYm93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyRG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgbGluZVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGxpbmVTaGFwZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGxldCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQgJiYgc291cmNlRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50KC4uLm1vdmluZ1BvaW50LCAuLi5zdGFydFBvaW50KTtcbiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IFBSRVNTX0FORF9NT1ZFX0JVRkZFUikge1xuICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBoYW5kbGVMaW5lQ3JlYXRpbmcoYm9hcmQsIExpbmVTaGFwZS5lbGJvdywgc3RhcnRQb2ludCwgbW92aW5nUG9pbnQsIHNvdXJjZUVsZW1lbnQsIGxpbmVTaGFwZUcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSBldmVudCA9PiB7XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBhZnRlckNvbXBsZXRlID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPExpbmVBdXRvQ29tcGxldGVPcHRpb25zPih3aXRoTGluZUF1dG9Db21wbGV0ZVBsdWdpbktleSlcbiAgICAgICAgICAgICAgICA/LmFmdGVyQ29tcGxldGU7XG4gICAgICAgICAgICBhZnRlckNvbXBsZXRlICYmIGFmdGVyQ29tcGxldGUodGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGluZVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGxpbmVTaGFwZUcgPSBudWxsO1xuICAgICAgICBzb3VyY2VFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IG51bGw7XG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
@@ -9,6 +9,10 @@ export const withLineBoundReaction = (board) => {
|
|
|
9
9
|
let boundShapeG = null;
|
|
10
10
|
board.pointerMove = (event) => {
|
|
11
11
|
boundShapeG?.remove();
|
|
12
|
+
if (PlaitBoard.isReadonly(board)) {
|
|
13
|
+
pointerMove(event);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
12
16
|
const linePointers = Object.keys(LineShape);
|
|
13
17
|
const isLinePointer = PlaitBoard.isInPointer(board, linePointers);
|
|
14
18
|
const movingPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
@@ -45,4 +49,4 @@ export const withLineBoundReaction = (board) => {
|
|
|
45
49
|
};
|
|
46
50
|
return board;
|
|
47
51
|
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLWJvdW5kLXJlYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWxpbmUtYm91bmQtcmVhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixVQUFVLEVBRVYsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsT0FBTyxFQUNQLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDdkQsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFekMsSUFBSSxXQUFXLEdBQXVCLElBQUksQ0FBQztJQUUzQyxLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3hDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN0QixJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUIsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE9BQU87U0FDVjtRQUNELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFpQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDNUYsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7WUFDbEcsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksZ0JBQWdCLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLGFBQWEsSUFBSSxjQUFjLEVBQUU7WUFDakMsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksVUFBVSxFQUFFO2dCQUNaLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLFlBQVksR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNqRixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUM7Z0JBQ2hGLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7Z0JBQ3JGLFlBQVksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUMxRCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFO29CQUN2RSxNQUFNLEVBQUUsc0JBQXNCO29CQUM5QixXQUFXLEVBQUUsbUJBQW1CO29CQUNoQyxJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixTQUFTLEVBQUUsT0FBTztpQkFDckIsQ0FBQyxDQUFDO2dCQUNILFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2pDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUQ7U0FDSjtRQUNELFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN0QixXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgZHJhd0NpcmNsZSxcbiAgICB0b1BvaW50LFxuICAgIHRyYW5zZm9ybVBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IExpbmVTaGFwZSwgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZHJhd0JvdW5kTWFzaywgZ2V0SGl0Q29ubmVjdG9yUG9pbnQsIGdldE5lYXJlc3RQb2ludCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5UG9pbnRzLCBpc1Jlc2l6aW5nQnlDb25kaXRpb24gfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldEhpdE91dGxpbmVHZW9tZXRyeSB9IGZyb20gJy4uL3V0aWxzL3Bvc2l0aW9uL2dlb21ldHJ5JztcbmltcG9ydCB7IExpbmVSZXNpemVIYW5kbGUgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9saW5lJztcblxuZXhwb3J0IGNvbnN0IHdpdGhMaW5lQm91bmRSZWFjdGlvbiA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgcG9pbnRlck1vdmUsIHBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgYm91bmRTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGJvdW5kU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkpIHtcbiAgICAgICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsaW5lUG9pbnRlcnMgPSBPYmplY3Qua2V5cyhMaW5lU2hhcGUpO1xuICAgICAgICBjb25zdCBpc0xpbmVQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgbGluZVBvaW50ZXJzKTtcbiAgICAgICAgY29uc3QgbW92aW5nUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGNvbnN0IGlzTGluZVJlc2l6aW5nID0gaXNSZXNpemluZ0J5Q29uZGl0aW9uPFBsYWl0RWxlbWVudCwgTGluZVJlc2l6ZUhhbmRsZT4oYm9hcmQsIHJlc2l6ZVJlZiA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGVsZW1lbnQsIGhhbmRsZSB9ID0gcmVzaXplUmVmO1xuICAgICAgICAgICAgY29uc3QgaXNTb3VyY2VPclRhcmdldCA9IGhhbmRsZSA9PT0gTGluZVJlc2l6ZUhhbmRsZS50YXJnZXQgfHwgaGFuZGxlID09PSBMaW5lUmVzaXplSGFuZGxlLnNvdXJjZTtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzTGluZShlbGVtZW50KSAmJiBpc1NvdXJjZU9yVGFyZ2V0O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzTGluZVBvaW50ZXIgfHwgaXNMaW5lUmVzaXppbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRPdXRsaW5lR2VvbWV0cnkoYm9hcmQsIG1vdmluZ1BvaW50LCAtNCk7XG4gICAgICAgICAgICBpZiAoaGl0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kU2hhcGVHID0gZHJhd0JvdW5kTWFzayhib2FyZCwgaGl0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgbGV0IG5lYXJlc3RQb2ludCA9IGdldE5lYXJlc3RQb2ludChoaXRFbGVtZW50LCBtb3ZpbmdQb2ludCwgQUNUSVZFX1NUUk9LRV9XSURUSCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoaGl0RWxlbWVudC5wb2ludHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5pbmZsYXRlKHJlY3RhbmdsZSwgQUNUSVZFX1NUUk9LRV9XSURUSCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaGl0Q29ubmVjdG9yID0gZ2V0SGl0Q29ubmVjdG9yUG9pbnQobmVhcmVzdFBvaW50LCBoaXRFbGVtZW50LCBhY3RpdmVSZWN0YW5nbGUpO1xuICAgICAgICAgICAgICAgIG5lYXJlc3RQb2ludCA9IGhpdENvbm5lY3RvciA/IGhpdENvbm5lY3RvciA6IG5lYXJlc3RQb2ludDtcbiAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGVHID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgbmVhcmVzdFBvaW50LCA2LCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogU0VMRUNUSU9OX0JPUkRFUl9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJvdW5kU2hhcGVHLmFwcGVuZENoaWxkKGNpcmNsZUcpO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQpLmFwcGVuZChib3VuZFNoYXBlRyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSBldmVudCA9PiB7XG4gICAgICAgIGJvdW5kU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgYm91bmRTaGFwZUcgPSBudWxsO1xuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
@@ -12,7 +12,7 @@ export const withLineCreateByDraw = (board) => {
|
|
|
12
12
|
board.pointerDown = (event) => {
|
|
13
13
|
const linePointers = getLinePointers();
|
|
14
14
|
const isLinePointer = PlaitBoard.isInPointer(board, linePointers);
|
|
15
|
-
if (isLinePointer && isDrawingMode(board)) {
|
|
15
|
+
if (!PlaitBoard.isReadonly(board) && isLinePointer && isDrawingMode(board)) {
|
|
16
16
|
const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
17
17
|
start = point;
|
|
18
18
|
const hitElement = getHitOutlineGeometry(board, point, REACTION_MARGIN);
|
|
@@ -50,4 +50,4 @@ export const withLineCreateByDraw = (board) => {
|
|
|
50
50
|
};
|
|
51
51
|
return board;
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLWNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1saW5lLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixnQkFBZ0IsRUFFaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFdEQsSUFBSSxLQUFLLEdBQWlCLElBQUksQ0FBQztJQUUvQixJQUFJLGFBQW1DLENBQUM7SUFFeEMsSUFBSSxVQUFVLEdBQXVCLElBQUksQ0FBQztJQUUxQyxJQUFJLGdCQUFnQixHQUFxQixJQUFJLENBQUM7SUFFOUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxNQUFNLFlBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUN2QyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hFLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRixLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2QsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQztZQUN4RSxJQUFJLFVBQVUsRUFBRTtnQkFDWixhQUFhLEdBQUcsVUFBVSxDQUFDO2FBQzlCO1lBQ0QsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUNELFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3hDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNyQixVQUFVLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksS0FBSyxFQUFFO1lBQ1AsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQWMsQ0FBQztZQUM1RCxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzFHO1FBRUQsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDdEMsSUFBSSxnQkFBZ0IsRUFBRTtZQUNsQixVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4RSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUM1QyxlQUFlLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2IsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9hcmRUcmFuc2Zvcm1zLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBQb2ludCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIGFkZFNlbGVjdGVkRWxlbWVudCxcbiAgICBjbGVhclNlbGVjdGVkRWxlbWVudCxcbiAgICBjcmVhdGVHLFxuICAgIHByZXZlbnRUb3VjaE1vdmUsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBMaW5lU2hhcGUsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaGFuZGxlTGluZUNyZWF0aW5nIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUkVBQ1RJT05fTUFSR0lOLCBnZXRMaW5lUG9pbnRlcnMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0SGl0T3V0bGluZUdlb21ldHJ5IH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vZ2VvbWV0cnknO1xuaW1wb3J0IHsgaXNEcmF3aW5nTW9kZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3Qgd2l0aExpbmVDcmVhdGVCeURyYXcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgcG9pbnRlclVwIH0gPSBib2FyZDtcblxuICAgIGxldCBzdGFydDogUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBzb3VyY2VFbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgbnVsbDtcblxuICAgIGxldCBsaW5lU2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IHRlbXBvcmFyeUVsZW1lbnQ6IFBsYWl0TGluZSB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBsaW5lUG9pbnRlcnMgPSBnZXRMaW5lUG9pbnRlcnMoKTtcbiAgICAgICAgY29uc3QgaXNMaW5lUG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIGxpbmVQb2ludGVycyk7XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJiBpc0xpbmVQb2ludGVyICYmIGlzRHJhd2luZ01vZGUoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIHN0YXJ0ID0gcG9pbnQ7XG4gICAgICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0T3V0bGluZUdlb21ldHJ5KGJvYXJkLCBwb2ludCwgUkVBQ1RJT05fTUFSR0lOKTtcbiAgICAgICAgICAgIGlmIChoaXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgc291cmNlRWxlbWVudCA9IGhpdEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGxpbmVTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBsaW5lU2hhcGVHID0gY3JlYXRlRygpO1xuICAgICAgICBsZXQgbW92aW5nUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGlmIChzdGFydCkge1xuICAgICAgICAgICAgY29uc3QgbGluZVNoYXBlID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBMaW5lU2hhcGU7XG4gICAgICAgICAgICB0ZW1wb3JhcnlFbGVtZW50ID0gaGFuZGxlTGluZUNyZWF0aW5nKGJvYXJkLCBsaW5lU2hhcGUsIHN0YXJ0LCBtb3ZpbmdQb2ludCwgc291cmNlRWxlbWVudCwgbGluZVNoYXBlRyk7XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBsaW5lU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgbGluZVNoYXBlRyA9IG51bGw7XG4gICAgICAgIHNvdXJjZUVsZW1lbnQgPSBudWxsO1xuICAgICAgICBzdGFydCA9IG51bGw7XG4gICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
@@ -48,7 +48,7 @@ export const withLineResize = (board) => {
|
|
|
48
48
|
if (points.length === 2) {
|
|
49
49
|
let movingPoint = points[pointIndex];
|
|
50
50
|
const drawPoints = getLinePoints(board, resizeRef.element);
|
|
51
|
-
const index = pointIndex === 0 ? drawPoints.length - 1 :
|
|
51
|
+
const index = pointIndex === 0 ? drawPoints.length - 1 : 0;
|
|
52
52
|
const otherPoint = drawPoints[index];
|
|
53
53
|
points[pointIndex] = alignPoints(otherPoint, movingPoint);
|
|
54
54
|
}
|
|
@@ -66,4 +66,4 @@ export const withLineResize = (board) => {
|
|
|
66
66
|
withResize(board, options);
|
|
67
67
|
return board;
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1saW5lLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQTZDLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ2hELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuQixNQUFNLE9BQU8sR0FBbUQ7UUFDNUQsR0FBRyxFQUFFLFdBQVc7UUFDaEIsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUNyQixNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVELElBQUksb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixvQkFBb0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLE1BQU0sU0FBUyxHQUFHLHlCQUF5QixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ2pFLElBQUksU0FBUyxFQUFFO3dCQUNYLE1BQU0sR0FBRzs0QkFDTCxPQUFPLEVBQUUsS0FBSzs0QkFDZCxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07eUJBQzNCLENBQUM7d0JBQ0YsVUFBVSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7cUJBQ2hDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELFFBQVEsRUFBRSxDQUFDLFNBQWlELEVBQUUsV0FBd0IsRUFBRSxFQUFFO1lBQ3RGLElBQUksTUFBTSxHQUFZLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BELElBQUksTUFBTSxHQUFlLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pELElBQUksTUFBTSxHQUFlLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQzlGLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFDOUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbkQsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQztnQkFDaEcsSUFBSSxVQUFVLEVBQUU7b0JBQ1osTUFBTSxDQUFDLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNqRyxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7aUJBQ2xDO3FCQUFNO29CQUNILE1BQU0sQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO29CQUM5QixNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztvQkFDM0IsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTt3QkFDckIsSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUNyQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDM0QsTUFBTSxLQUFLLEdBQUcsVUFBVSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDM0QsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNyQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztxQkFDN0Q7aUJBQ0o7YUFDSjtpQkFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxFQUFFO2dCQUN4RCxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ25FO2lCQUFNO2dCQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUM7YUFDdEQ7WUFDRCxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pGLENBQUM7S0FDSixDQUFDO0lBRUYsVUFBVSxDQUE4QixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFeEQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBSZXNpemVSZWYsIFJlc2l6ZVN0YXRlLCBXaXRoUmVzaXplT3B0aW9ucywgd2l0aFJlc2l6ZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRMaW5lRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZCc7XG5pbXBvcnQgeyBnZXRIaXRMaW5lUmVzaXplSGFuZGxlUmVmLCBMaW5lUmVzaXplSGFuZGxlIH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vbGluZSc7XG5pbXBvcnQgeyBnZXRIaXRPdXRsaW5lR2VvbWV0cnkgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBMaW5lSGFuZGxlLCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGFsaWduUG9pbnRzLCBnZXRMaW5lUG9pbnRzLCB0cmFuc2Zvcm1Qb2ludFRvQ29ubmVjdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBSRUFDVElPTl9NQVJHSU4gfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aExpbmVSZXNpemUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBsZXQgcG9pbnRJbmRleCA9IDA7XG4gICAgY29uc3Qgb3B0aW9uczogV2l0aFJlc2l6ZU9wdGlvbnM8UGxhaXRMaW5lLCBMaW5lUmVzaXplSGFuZGxlPiA9IHtcbiAgICAgICAga2V5OiAnZHJhdy1saW5lJyxcbiAgICAgICAgY2FuUmVzaXplOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZGV0ZWN0OiAocG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZExpbmVFbGVtZW50cyA9IGdldFNlbGVjdGVkTGluZUVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZExpbmVFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRMaW5lRWxlbWVudHMuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZVJlZiA9IGdldEhpdExpbmVSZXNpemVIYW5kbGVSZWYoYm9hcmQsIHZhbHVlLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChoYW5kbGVSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU6IGhhbmRsZVJlZi5oYW5kbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludEluZGV4ID0gaGFuZGxlUmVmLmluZGV4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgICAgICBvblJlc2l6ZTogKHJlc2l6ZVJlZjogUmVzaXplUmVmPFBsYWl0TGluZSwgTGluZVJlc2l6ZUhhbmRsZT4sIHJlc2l6ZVN0YXRlOiBSZXNpemVTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgbGV0IHBvaW50czogUG9pbnRbXSA9IFsuLi5yZXNpemVSZWYuZWxlbWVudC5wb2ludHNdO1xuICAgICAgICAgICAgbGV0IHNvdXJjZTogTGluZUhhbmRsZSA9IHsgLi4ucmVzaXplUmVmLmVsZW1lbnQuc291cmNlIH07XG4gICAgICAgICAgICBsZXQgdGFyZ2V0OiBMaW5lSGFuZGxlID0geyAuLi5yZXNpemVSZWYuZWxlbWVudC50YXJnZXQgfTtcbiAgICAgICAgICAgIGlmIChyZXNpemVSZWYuaGFuZGxlID09PSBMaW5lUmVzaXplSGFuZGxlLnNvdXJjZSB8fCByZXNpemVSZWYuaGFuZGxlID09PSBMaW5lUmVzaXplSGFuZGxlLnRhcmdldCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iamVjdCA9IHJlc2l6ZVJlZi5oYW5kbGUgPT09IExpbmVSZXNpemVIYW5kbGUuc291cmNlID8gc291cmNlIDogdGFyZ2V0O1xuICAgICAgICAgICAgICAgIHBvaW50c1twb2ludEluZGV4XSA9IHJlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRPdXRsaW5lR2VvbWV0cnkoYm9hcmQsIHJlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50LCBSRUFDVElPTl9NQVJHSU4pO1xuICAgICAgICAgICAgICAgIGlmIChoaXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC5jb25uZWN0aW9uID0gdHJhbnNmb3JtUG9pbnRUb0Nvbm5lY3Rpb24oYm9hcmQsIHJlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50LCBoaXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LmJvdW5kSWQgPSBoaXRFbGVtZW50LmlkO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC5jb25uZWN0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QuYm91bmRJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb3ZpbmdQb2ludCA9IHBvaW50c1twb2ludEluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRyYXdQb2ludHMgPSBnZXRMaW5lUG9pbnRzKGJvYXJkLCByZXNpemVSZWYuZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHBvaW50SW5kZXggPT09IDAgPyBkcmF3UG9pbnRzLmxlbmd0aCAtIDEgOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3RoZXJQb2ludCA9IGRyYXdQb2ludHNbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzW3BvaW50SW5kZXhdID0gYWxpZ25Qb2ludHMob3RoZXJQb2ludCwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNpemVSZWYuaGFuZGxlID09PSBMaW5lUmVzaXplSGFuZGxlLmFkZEhhbmRsZSkge1xuICAgICAgICAgICAgICAgIHBvaW50cy5zcGxpY2UocG9pbnRJbmRleCArIDEsIDAsIHJlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcG9pbnRzW3BvaW50SW5kZXhdID0gcmVzaXplU3RhdGUuZW5kVHJhbnNmb3JtUG9pbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5yZXNpemVMaW5lKGJvYXJkLCB7IHBvaW50cywgc291cmNlLCB0YXJnZXQgfSwgcmVzaXplUmVmLnBhdGgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHdpdGhSZXNpemU8UGxhaXRMaW5lLCBMaW5lUmVzaXplSGFuZGxlPihib2FyZCwgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
@@ -8,32 +8,34 @@ import { DrawTransforms } from '../transforms';
|
|
|
8
8
|
export const withLineText = (board) => {
|
|
9
9
|
const { dblclick } = board;
|
|
10
10
|
board.dblclick = (event) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
11
|
+
if (!PlaitBoard.isReadonly(board)) {
|
|
12
|
+
const clickPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
13
|
+
const hitTarget = getHitElementByPoint(board, clickPoint, (element) => {
|
|
14
|
+
return PlaitDrawElement.isLine(element);
|
|
15
|
+
});
|
|
16
|
+
if (hitTarget) {
|
|
17
|
+
const points = getLinePoints(board, hitTarget);
|
|
18
|
+
const point = getNearestPointBetweenPointAndSegments(clickPoint, points);
|
|
19
|
+
const texts = hitTarget.texts?.length ? [...hitTarget.texts] : [];
|
|
20
|
+
const textIndex = getHitLineTextIndex(board, hitTarget, clickPoint);
|
|
21
|
+
const isHitText = isHitLineText(board, hitTarget, clickPoint);
|
|
22
|
+
if (isHitText) {
|
|
23
|
+
editHandle(board, hitTarget, textIndex);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const ratio = getRatioByPoint(points, point);
|
|
27
|
+
texts.push({
|
|
28
|
+
text: buildText('文本'),
|
|
29
|
+
position: ratio,
|
|
30
|
+
width: 28,
|
|
31
|
+
height: 20
|
|
32
|
+
});
|
|
33
|
+
DrawTransforms.setLineTexts(board, hitTarget, texts);
|
|
34
|
+
setTimeout(() => {
|
|
35
|
+
const hitComponent = PlaitElement.getComponent(hitTarget);
|
|
36
|
+
editHandle(board, hitTarget, hitComponent.textManages.length - 1, true);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
dblclick(event);
|
|
@@ -52,4 +54,4 @@ function editHandle(board, element, manageIndex, isFirstEdit = false) {
|
|
|
52
54
|
}
|
|
53
55
|
});
|
|
54
56
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtbGluZS10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixzQ0FBc0MsRUFDdEMsT0FBTyxFQUNQLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDN0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzlDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFM0IsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQixNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0YsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLE9BQXFCLEVBQUUsRUFBRTtnQkFDaEYsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUEwQixDQUFDO1lBQzVCLElBQUksU0FBUyxFQUFFO2dCQUNYLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sS0FBSyxHQUFHLHNDQUFzQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDekUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbEUsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDcEUsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzlELElBQUksU0FBUyxFQUFFO29CQUNYLFVBQVUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUMzQztxQkFBTTtvQkFDSCxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDO3dCQUNQLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNyQixRQUFRLEVBQUUsS0FBSzt3QkFDZixLQUFLLEVBQUUsRUFBRTt3QkFDVCxNQUFNLEVBQUUsRUFBRTtxQkFDYixDQUFDLENBQUM7b0JBQ0gsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUNaLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFrQixDQUFDO3dCQUMzRSxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzVFLENBQUMsQ0FBQyxDQUFDO2lCQUNOO2FBQ0o7U0FDSjtRQUNELFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixTQUFTLFVBQVUsQ0FBQyxLQUFpQixFQUFFLE9BQWtCLEVBQUUsV0FBbUIsRUFBRSxjQUF1QixLQUFLO0lBQ3hHLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFrQixDQUFDO0lBQ3pFLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBRTdELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsSUFBSSxVQUFVLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekUsSUFBSSxZQUFZLEVBQUU7WUFDZCxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRFbGVtZW50LFxuICAgIGdldEhpdEVsZW1lbnRCeVBvaW50LFxuICAgIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzLFxuICAgIHRvUG9pbnQsXG4gICAgdHJhbnNmb3JtUG9pbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRMaW5lIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgZ2V0SGl0TGluZVRleHRJbmRleCwgZ2V0TGluZVBvaW50cywgaXNIaXRMaW5lVGV4dCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFJhdGlvQnlQb2ludCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgYnVpbGRUZXh0IH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgTGluZUNvbXBvbmVudCB9IGZyb20gJy4uL2xpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTGluZVRleHQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IGRibGNsaWNrIH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmRibGNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSkge1xuICAgICAgICAgICAgY29uc3QgY2xpY2tQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIGNvbnN0IGhpdFRhcmdldCA9IGdldEhpdEVsZW1lbnRCeVBvaW50KGJvYXJkLCBjbGlja1BvaW50LCAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpO1xuICAgICAgICAgICAgfSkgYXMgdW5kZWZpbmVkIHwgUGxhaXRMaW5lO1xuICAgICAgICAgICAgaWYgKGhpdFRhcmdldCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldExpbmVQb2ludHMoYm9hcmQsIGhpdFRhcmdldCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhjbGlja1BvaW50LCBwb2ludHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRzID0gaGl0VGFyZ2V0LnRleHRzPy5sZW5ndGggPyBbLi4uaGl0VGFyZ2V0LnRleHRzXSA6IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRJbmRleCA9IGdldEhpdExpbmVUZXh0SW5kZXgoYm9hcmQsIGhpdFRhcmdldCwgY2xpY2tQb2ludCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNIaXRUZXh0ID0gaXNIaXRMaW5lVGV4dChib2FyZCwgaGl0VGFyZ2V0LCBjbGlja1BvaW50KTtcbiAgICAgICAgICAgICAgICBpZiAoaXNIaXRUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRIYW5kbGUoYm9hcmQsIGhpdFRhcmdldCwgdGV4dEluZGV4KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByYXRpbyA9IGdldFJhdGlvQnlQb2ludChwb2ludHMsIHBvaW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBidWlsZFRleHQoJ+aWh+acrCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJhdGlvLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0TGluZVRleHRzKGJvYXJkLCBoaXRUYXJnZXQsIHRleHRzKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoaXRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGhpdFRhcmdldCkgYXMgTGluZUNvbXBvbmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRIYW5kbGUoYm9hcmQsIGhpdFRhcmdldCwgaGl0Q29tcG9uZW50LnRleHRNYW5hZ2VzLmxlbmd0aCAtIDEsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGJsY2xpY2soZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuXG5mdW5jdGlvbiBlZGl0SGFuZGxlKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdExpbmUsIG1hbmFnZUluZGV4OiBudW1iZXIsIGlzRmlyc3RFZGl0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBoaXRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIExpbmVDb21wb25lbnQ7XG4gICAgY29uc3QgdGV4dE1hbmFnZSA9IGhpdENvbXBvbmVudC50ZXh0TWFuYWdlc1ttYW5hZ2VJbmRleF07XG4gICAgY29uc3Qgb3JpZ2luVGV4dCA9IHRleHRNYW5hZ2UuY29tcG9uZW50UmVmLmluc3RhbmNlLmNoaWxkcmVuO1xuXG4gICAgdGV4dE1hbmFnZS5lZGl0KChvcmlnaW4sIGRlc2NlbmRhbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGV4dCA9IE5vZGUuc3RyaW5nKGRlc2NlbmRhbnRbMF0pO1xuICAgICAgICBjb25zdCBzaG91bGRSZW1vdmUgPSAoaXNGaXJzdEVkaXQgJiYgb3JpZ2luVGV4dCA9PT0gZGVzY2VuZGFudCkgfHwgIXRleHQ7XG4gICAgICAgIGlmIChzaG91bGRSZW1vdmUpIHtcbiAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnJlbW92ZUxpbmVUZXh0KGJvYXJkLCBlbGVtZW50LCBtYW5hZ2VJbmRleCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -4,7 +4,7 @@ import { BasicShapes, PlaitDrawElement } from '../interfaces';
|
|
|
4
4
|
import { createGeometryElement } from '../utils';
|
|
5
5
|
import { normalizeShapePoints } from '@plait/common';
|
|
6
6
|
export const insertGeometry = (board, points, shape) => {
|
|
7
|
-
let newElement = createGeometryElement(shape, points, '', {
|
|
7
|
+
let newElement = createGeometryElement(board, shape, points, '', {
|
|
8
8
|
strokeWidth: DefaultBasicShapeProperty.strokeWidth
|
|
9
9
|
});
|
|
10
10
|
Transforms.insertNode(board, newElement, [board.children.length]);
|
|
@@ -12,7 +12,7 @@ export const insertGeometry = (board, points, shape) => {
|
|
|
12
12
|
addSelectedElement(board, newElement);
|
|
13
13
|
};
|
|
14
14
|
export const insertText = (board, points, text = '文本') => {
|
|
15
|
-
let newElement = createGeometryElement(BasicShapes.text, points, text);
|
|
15
|
+
let newElement = createGeometryElement(board, BasicShapes.text, points, text);
|
|
16
16
|
Transforms.insertNode(board, newElement, [board.children.length]);
|
|
17
17
|
clearSelectedElement(board);
|
|
18
18
|
addSelectedElement(board, newElement);
|
|
@@ -31,4 +31,4 @@ export const transformShape = (board, element, shape) => {
|
|
|
31
31
|
const path = PlaitBoard.findPath(board, element);
|
|
32
32
|
Transforms.setNode(board, { shape }, path);
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy90cmFuc2Zvcm1zL2dlb21ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFTLGtCQUFrQixFQUFFLG9CQUFvQixFQUFRLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2SCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBNEMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE1BQXNCLEVBQUUsS0FBcUIsRUFBRSxFQUFFO0lBQy9GLElBQUksVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtRQUM3RCxXQUFXLEVBQUUseUJBQXlCLENBQUMsV0FBVztLQUNyRCxDQUFrQixDQUFDO0lBQ3BCLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBRSxNQUFzQixFQUFFLE9BQXlCLElBQUksRUFBRSxFQUFFO0lBQ25HLElBQUksVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQWtCLENBQUM7SUFDL0YsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE1BQXNCLEVBQUUsVUFBa0IsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUN4RyxNQUFNLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDbkQsTUFBTSxhQUFhLEdBQUcsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUN6RSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ3JELGFBQW9DLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztLQUMxRDtJQUNELFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQXNCLEVBQUUsS0FBcUIsRUFBRSxFQUFFO0lBQy9GLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgVHJhbnNmb3JtcywgUG9pbnQsIGFkZFNlbGVjdGVkRWxlbWVudCwgY2xlYXJTZWxlY3RlZEVsZW1lbnQsIFBhdGgsIFBsYWl0Tm9kZSB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQmFzaWNTaGFwZXMsIFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0R2VvbWV0cnksIEdlb21ldHJ5U2hhcGVzLCBQbGFpdFRleHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBub3JtYWxpemVTaGFwZVBvaW50cyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0R2VvbWV0cnkgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50czogW1BvaW50LCBQb2ludF0sIHNoYXBlOiBHZW9tZXRyeVNoYXBlcykgPT4ge1xuICAgIGxldCBuZXdFbGVtZW50ID0gY3JlYXRlR2VvbWV0cnlFbGVtZW50KGJvYXJkLCBzaGFwZSwgcG9pbnRzLCAnJywge1xuICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eS5zdHJva2VXaWR0aFxuICAgIH0pIGFzIFBsYWl0R2VvbWV0cnk7XG4gICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQoYm9hcmQpO1xuICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgbmV3RWxlbWVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0VGV4dCA9IChib2FyZDogUGxhaXRCb2FyZCwgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSwgdGV4dDogc3RyaW5nIHwgRWxlbWVudCA9ICfmlofmnKwnKSA9PiB7XG4gICAgbGV0IG5ld0VsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoYm9hcmQsIEJhc2ljU2hhcGVzLnRleHQsIHBvaW50cywgdGV4dCkgYXMgUGxhaXRHZW9tZXRyeTtcbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICBjbGVhclNlbGVjdGVkRWxlbWVudChib2FyZCk7XG4gICAgYWRkU2VsZWN0ZWRFbGVtZW50KGJvYXJkLCBuZXdFbGVtZW50KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZXNpemVHZW9tZXRyeSA9IChib2FyZDogUGxhaXRCb2FyZCwgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSwgdGV4dEhlaWdodDogbnVtYmVyLCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3Qgbm9ybWFsaXplUG9pbnRzID0gbm9ybWFsaXplU2hhcGVQb2ludHMocG9pbnRzKTtcbiAgICBjb25zdCBlbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCk7XG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gdGV4dEhlaWdodCAvIGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgY29uc3QgbmV3UHJvcGVydGllcyA9IHsgcG9pbnRzOiBub3JtYWxpemVQb2ludHMsIHRleHRIZWlnaHQ6IG5ld0hlaWdodCB9O1xuICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzVGV4dChlbGVtZW50KSAmJiBlbGVtZW50LmF1dG9TaXplKSB7XG4gICAgICAgIChuZXdQcm9wZXJ0aWVzIGFzIFBhcnRpYWw8UGxhaXRUZXh0PikuYXV0b1NpemUgPSBmYWxzZTtcbiAgICB9XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdQcm9wZXJ0aWVzLCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1TaGFwZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRHZW9tZXRyeSwgc2hhcGU6IEdlb21ldHJ5U2hhcGVzKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBzaGFwZSB9LCBwYXRoKTtcbn07XG4iXX0=
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { setFillColor, setStrokeColor, setStrokeStyle, setStrokeWidth } from './common';
|
|
2
1
|
import { insertText, insertGeometry, resizeGeometry, transformShape } from './geometry';
|
|
3
2
|
import { setText, setTextSize } from './geometry-text';
|
|
4
3
|
import { insertImage } from './image';
|
|
@@ -14,10 +13,6 @@ export const DrawTransforms = {
|
|
|
14
13
|
removeLineText,
|
|
15
14
|
setLineMark,
|
|
16
15
|
insertImage,
|
|
17
|
-
transformShape
|
|
18
|
-
setStrokeColor,
|
|
19
|
-
setStrokeWidth,
|
|
20
|
-
setFillColor,
|
|
21
|
-
setStrokeStyle
|
|
16
|
+
transformShape
|
|
22
17
|
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLE9BQU87SUFDUCxjQUFjO0lBQ2QsY0FBYztJQUNkLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtJQUNWLFlBQVk7SUFDWixjQUFjO0lBQ2QsV0FBVztJQUNYLFdBQVc7SUFDWCxjQUFjO0NBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnNlcnRUZXh0LCBpbnNlcnRHZW9tZXRyeSwgcmVzaXplR2VvbWV0cnksIHRyYW5zZm9ybVNoYXBlIH0gZnJvbSAnLi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBzZXRUZXh0LCBzZXRUZXh0U2l6ZSB9IGZyb20gJy4vZ2VvbWV0cnktdGV4dCc7XG5pbXBvcnQgeyBpbnNlcnRJbWFnZSB9IGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IHsgcmVtb3ZlTGluZVRleHQsIHJlc2l6ZUxpbmUsIHNldExpbmVNYXJrLCBzZXRMaW5lVGV4dHMgfSBmcm9tICcuL2xpbmUnO1xuXG5leHBvcnQgY29uc3QgRHJhd1RyYW5zZm9ybXMgPSB7XG4gICAgc2V0VGV4dCxcbiAgICBpbnNlcnRHZW9tZXRyeSxcbiAgICByZXNpemVHZW9tZXRyeSxcbiAgICBpbnNlcnRUZXh0LFxuICAgIHNldFRleHRTaXplLFxuICAgIHJlc2l6ZUxpbmUsXG4gICAgc2V0TGluZVRleHRzLFxuICAgIHJlbW92ZUxpbmVUZXh0LFxuICAgIHNldExpbmVNYXJrLFxuICAgIGluc2VydEltYWdlLFxuICAgIHRyYW5zZm9ybVNoYXBlXG59O1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ACTIVE_STROKE_WIDTH, PlaitBoard, RectangleClient, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, createG, distanceBetweenPointAndSegment, drawCircle, idCreator } from '@plait/core';
|
|
2
2
|
import { BasicShapes, FlowchartSymbols } from '../interfaces/geometry';
|
|
3
|
-
import { Alignment, buildText } from '@plait/text';
|
|
4
|
-
import { DefaultBasicShapeProperty, DefaultFlowchartPropertyMap,
|
|
3
|
+
import { Alignment, DEFAULT_FONT_SIZE, buildText, getTextSize } from '@plait/text';
|
|
4
|
+
import { DefaultBasicShapeProperty, DefaultFlowchartPropertyMap, DrawThemeColors, ShapeDefaultSpace } from '../constants';
|
|
5
5
|
import { RESIZE_HANDLE_DIAMETER, getRectangleByPoints } from '@plait/common';
|
|
6
6
|
import { getStrokeWidthByElement } from './style/stroke';
|
|
7
7
|
import { getEngine } from '../engines';
|
|
@@ -10,21 +10,25 @@ import { getDefaultGeometryPoints } from '../plugins/with-geometry-create';
|
|
|
10
10
|
import { createLineElement } from './line';
|
|
11
11
|
import { LineMarkerType, LineShape } from '../interfaces';
|
|
12
12
|
import { DefaultLineStyle } from '../constants/line';
|
|
13
|
-
export const createGeometryElement = (shape, points, text, options) => {
|
|
13
|
+
export const createGeometryElement = (board, shape, points, text, options = {}, textProperties = {}) => {
|
|
14
14
|
let textOptions = {};
|
|
15
15
|
let alignment = Alignment.center;
|
|
16
16
|
if (shape === BasicShapes.text) {
|
|
17
17
|
textOptions = { autoSize: true };
|
|
18
18
|
alignment = undefined;
|
|
19
19
|
}
|
|
20
|
+
textProperties = { ...textProperties };
|
|
21
|
+
textProperties?.align && (alignment = textProperties?.align);
|
|
22
|
+
delete textProperties?.align;
|
|
23
|
+
const textHeight = getDefaultTextShapeProperty(board, textProperties['font-size']).height;
|
|
20
24
|
return {
|
|
21
25
|
id: idCreator(),
|
|
22
26
|
type: 'geometry',
|
|
23
27
|
shape,
|
|
24
28
|
angle: 0,
|
|
25
29
|
opacity: 1,
|
|
26
|
-
textHeight
|
|
27
|
-
text: buildText(text, alignment),
|
|
30
|
+
textHeight,
|
|
31
|
+
text: buildText(text, alignment, textProperties),
|
|
28
32
|
points,
|
|
29
33
|
...textOptions,
|
|
30
34
|
...options
|
|
@@ -102,7 +106,7 @@ export const getEdgeOnPolygonByPoint = (corners, point) => {
|
|
|
102
106
|
export const getDefaultFlowchartProperty = (symbol) => {
|
|
103
107
|
return DefaultFlowchartPropertyMap[symbol];
|
|
104
108
|
};
|
|
105
|
-
export const createDefaultFlowchart = (point) => {
|
|
109
|
+
export const createDefaultFlowchart = (board, point) => {
|
|
106
110
|
const decisionProperty = getDefaultFlowchartProperty(FlowchartSymbols.decision);
|
|
107
111
|
const processProperty = getDefaultFlowchartProperty(FlowchartSymbols.process);
|
|
108
112
|
const terminalProperty = getDefaultFlowchartProperty(FlowchartSymbols.terminal);
|
|
@@ -112,15 +116,15 @@ export const createDefaultFlowchart = (point) => {
|
|
|
112
116
|
const lineOptions = {
|
|
113
117
|
strokeWidth: DefaultLineStyle.strokeWidth
|
|
114
118
|
};
|
|
115
|
-
const startElement = createGeometryElement(FlowchartSymbols.terminal, getDefaultGeometryPoints(FlowchartSymbols.terminal, point), '开始', options);
|
|
119
|
+
const startElement = createGeometryElement(board, FlowchartSymbols.terminal, getDefaultGeometryPoints(board, FlowchartSymbols.terminal, point), '开始', options);
|
|
116
120
|
const processPoint1 = [point[0], point[1] + terminalProperty.height / 2 + 55 + processProperty.height / 2];
|
|
117
|
-
const processElement1 = createGeometryElement(FlowchartSymbols.process, getDefaultGeometryPoints(FlowchartSymbols.process, processPoint1), '过程', options);
|
|
121
|
+
const processElement1 = createGeometryElement(board, FlowchartSymbols.process, getDefaultGeometryPoints(board, FlowchartSymbols.process, processPoint1), '过程', options);
|
|
118
122
|
const decisionPoint = [processPoint1[0], processPoint1[1] + processProperty.height / 2 + 55 + decisionProperty.height / 2];
|
|
119
|
-
const decisionElement = createGeometryElement(FlowchartSymbols.decision, getDefaultGeometryPoints(FlowchartSymbols.decision, decisionPoint), '过程', options);
|
|
123
|
+
const decisionElement = createGeometryElement(board, FlowchartSymbols.decision, getDefaultGeometryPoints(board, FlowchartSymbols.decision, decisionPoint), '过程', options);
|
|
120
124
|
const processPoint2 = [decisionPoint[0] + decisionProperty.width / 2 + 75 + processProperty.width / 2, decisionPoint[1]];
|
|
121
|
-
const processElement2 = createGeometryElement(FlowchartSymbols.process, getDefaultGeometryPoints(FlowchartSymbols.process, processPoint2), '过程', options);
|
|
125
|
+
const processElement2 = createGeometryElement(board, FlowchartSymbols.process, getDefaultGeometryPoints(board, FlowchartSymbols.process, processPoint2), '过程', options);
|
|
122
126
|
const endPoint = [decisionPoint[0], decisionPoint[1] + decisionProperty.height / 2 + 95 + terminalProperty.height / 2];
|
|
123
|
-
const endElement = createGeometryElement(FlowchartSymbols.terminal, getDefaultGeometryPoints(FlowchartSymbols.terminal, endPoint), '结束', options);
|
|
127
|
+
const endElement = createGeometryElement(board, FlowchartSymbols.terminal, getDefaultGeometryPoints(board, FlowchartSymbols.terminal, endPoint), '结束', options);
|
|
124
128
|
const line1 = createLineElement(LineShape.elbow, [
|
|
125
129
|
[0, 0],
|
|
126
130
|
[0, 0]
|
|
@@ -177,4 +181,13 @@ export const getDrawDefaultStrokeColor = (theme) => {
|
|
|
177
181
|
export const getFlowchartDefaultFill = (theme) => {
|
|
178
182
|
return DrawThemeColors[theme].fill;
|
|
179
183
|
};
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9nZW9tZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLFVBQVUsRUFFVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUVwQixPQUFPLEVBQ1AsOEJBQThCLEVBQzlCLFVBQVUsRUFDVixTQUFTLEVBQ1osTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFrQixXQUFXLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkQsT0FBTyxFQUNILHlCQUF5QixFQUN6QiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixpQkFBaUIsRUFDcEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDakMsS0FBcUIsRUFDckIsTUFBc0IsRUFDdEIsSUFB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QUMsQ0FBQztJQUNyRCxTQUFTLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNuRSxPQUFPLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxDQUFDLFdBQWtCLEVBQUUsTUFBZSxFQUFFLEVBQUU7SUFDbEYsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzVCLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxTQUFTLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRCxTQUFTLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN2RSxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUU7SUFDL0QsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQzlDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQzdELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgU0VMRUNUSU9OX0JPUkRFUl9DT0xPUixcbiAgICBTRUxFQ1RJT05fRklMTF9DT0xPUixcbiAgICBUaGVtZUNvbG9yTW9kZSxcbiAgICBjcmVhdGVHLFxuICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kU2VnbWVudCxcbiAgICBkcmF3Q2lyY2xlLFxuICAgIGlkQ3JlYXRvclxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlcywgQmFzaWNTaGFwZXMsIFBsYWl0R2VvbWV0cnksIEZsb3djaGFydFN5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEFsaWdubWVudCwgYnVpbGRUZXh0IH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7XG4gICAgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eSxcbiAgICBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAsXG4gICAgRGVmYXVsdFRleHRQcm9wZXJ0eSxcbiAgICBEcmF3VGhlbWVDb2xvcnMsXG4gICAgU2hhcGVEZWZhdWx0U3BhY2Vcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFJFU0laRV9IQU5ETEVfRElBTUVURVIsIGdldFJlY3RhbmdsZUJ5UG9pbnRzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudCB9IGZyb20gJy4vc3R5bGUvc3Ryb2tlJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgZ2V0U2hhcGUgfSBmcm9tICcuL3NoYXBlJztcbmltcG9ydCB7IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC1nZW9tZXRyeS1jcmVhdGUnO1xuaW1wb3J0IHsgY3JlYXRlTGluZUVsZW1lbnQgfSBmcm9tICcuL2xpbmUnO1xuaW1wb3J0IHsgTGluZU1hcmtlclR5cGUsIExpbmVTaGFwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGVmYXVsdExpbmVTdHlsZSB9IGZyb20gJy4uL2NvbnN0YW50cy9saW5lJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCA9IChcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZXMsXG4gICAgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSxcbiAgICB0ZXh0OiBzdHJpbmcgfCBFbGVtZW50LFxuICAgIG9wdGlvbnM/OiBQaWNrPFBsYWl0R2VvbWV0cnksICdmaWxsJyB8ICdzdHJva2VDb2xvcicgfCAnc3Ryb2tlV2lkdGgnPlxuKTogUGxhaXRHZW9tZXRyeSA9PiB7XG4gICAgbGV0IHRleHRPcHRpb25zID0ge307XG4gICAgbGV0IGFsaWdubWVudDogdW5kZWZpbmVkIHwgQWxpZ25tZW50ID0gQWxpZ25tZW50LmNlbnRlcjtcbiAgICBpZiAoc2hhcGUgPT09IEJhc2ljU2hhcGVzLnRleHQpIHtcbiAgICAgICAgdGV4dE9wdGlvbnMgPSB7IGF1dG9TaXplOiB0cnVlIH07XG4gICAgICAgIGFsaWdubWVudCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHR5cGU6ICdnZW9tZXRyeScsXG4gICAgICAgIHNoYXBlLFxuICAgICAgICBhbmdsZTogMCxcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgdGV4dEhlaWdodDogRGVmYXVsdFRleHRQcm9wZXJ0eS5oZWlnaHQsXG4gICAgICAgIHRleHQ6IGJ1aWxkVGV4dCh0ZXh0LCBhbGlnbm1lbnQpLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIC4uLnRleHRPcHRpb25zLFxuICAgICAgICAuLi5vcHRpb25zXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQb2ludHNCeUNlbnRlclBvaW50ID0gKHBvaW50OiBQb2ludCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiBbUG9pbnQsIFBvaW50XSA9PiB7XG4gICAgY29uc3QgbGVmdFRvcFBvaW50OiBQb2ludCA9IFtwb2ludFswXSAtIHdpZHRoIC8gMiwgcG9pbnRbMV0gLSBoZWlnaHQgLyAyXTtcbiAgICBjb25zdCByaWdodEJvdHRvbVBvaW50OiBQb2ludCA9IFtwb2ludFswXSArIHdpZHRoIC8gMiwgcG9pbnRbMV0gKyBoZWlnaHQgLyAyXTtcblxuICAgIHJldHVybiBbbGVmdFRvcFBvaW50LCByaWdodEJvdHRvbVBvaW50XTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0UmVjdGFuZ2xlID0gKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICBjb25zdCBlbGVtZW50UmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMhKTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGhlaWdodCA9IGVsZW1lbnQudGV4dEhlaWdodDtcbiAgICBjb25zdCB3aWR0aCA9IGVsZW1lbnRSZWN0YW5nbGUud2lkdGggLSBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICogMiAtIHN0cm9rZVdpZHRoICogMjtcbiAgICByZXR1cm4ge1xuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHdpZHRoOiB3aWR0aCA+IDAgPyB3aWR0aCA6IDAsXG4gICAgICAgIHg6IGVsZW1lbnRSZWN0YW5nbGUueCArIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKyBzdHJva2VXaWR0aCxcbiAgICAgICAgeTogZWxlbWVudFJlY3RhbmdsZS55ICsgKGVsZW1lbnRSZWN0YW5nbGUuaGVpZ2h0IC0gaGVpZ2h0KSAvIDJcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdCb3VuZE1hc2sgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICBjb25zdCBHID0gY3JlYXRlRygpO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICBjb25zdCBhY3RpdmVSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuaW5mbGF0ZShyZWN0YW5nbGUsIEFDVElWRV9TVFJPS0VfV0lEVEgpO1xuICAgIGNvbnN0IHNoYXBlID0gZ2V0U2hhcGUoZWxlbWVudCk7XG4gICAgY29uc3QgbWFza0cgPSBkcmF3R2VvbWV0cnkoYm9hcmQsIGFjdGl2ZVJlY3RhbmdsZSwgc2hhcGUsIHtcbiAgICAgICAgc3Ryb2tlOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgZmlsbDogU0VMRUNUSU9OX0ZJTExfQ09MT1IsXG4gICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgIH0pO1xuICAgIEcuYXBwZW5kQ2hpbGQobWFza0cpO1xuICAgIGNvbnN0IGNvbm5lY3RvclBvaW50cyA9IGdldEVuZ2luZShzaGFwZSkuZ2V0Q29ubmVjdG9yUG9pbnRzKGFjdGl2ZVJlY3RhbmdsZSk7XG4gICAgY29ubmVjdG9yUG9pbnRzLmZvckVhY2gocG9pbnQgPT4ge1xuICAgICAgICBjb25zdCBjaXJjbGVHID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgcG9pbnQsIDYsIHtcbiAgICAgICAgICAgIHN0cm9rZTogJyM5OTk5OTknLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBmaWxsOiAnI0ZGRicsXG4gICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgfSk7XG4gICAgICAgIEcuYXBwZW5kQ2hpbGQoY2lyY2xlRyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gRztcbn07XG5cbmV4cG9ydCBjb25zdCBkcmF3R2VvbWV0cnkgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG91dGVyUmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHNoYXBlOiBHZW9tZXRyeVNoYXBlcywgb3B0aW9uczogT3B0aW9ucykgPT4ge1xuICAgIHJldHVybiBnZXRFbmdpbmUoc2hhcGUpLmRyYXcoYm9hcmQsIG91dGVyUmVjdGFuZ2xlLCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZWFyZXN0UG9pbnQgPSAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSwgcG9pbnQ6IFBvaW50LCBpbmZsYXRlRGVsdGEgPSAwKSA9PiB7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5pbmZsYXRlKHJlY3RhbmdsZSwgaW5mbGF0ZURlbHRhKTtcbiAgICBjb25zdCBzaGFwZSA9IGdldFNoYXBlKGVsZW1lbnQpO1xuICAgIHJldHVybiBnZXRFbmdpbmUoc2hhcGUpLmdldE5lYXJlc3RQb2ludChhY3RpdmVSZWN0YW5nbGUsIHBvaW50KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDZW50ZXJQb2ludHNPblBvbHlnb24gPSAocG9pbnRzOiBQb2ludFtdKSA9PiB7XG4gICAgY29uc3QgY2VudGVyUG9pbnQ6IFBvaW50W10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgaiA9IGkgPT0gcG9pbnRzLmxlbmd0aCAtIDEgPyAwIDogaSArIDE7XG4gICAgICAgIGNlbnRlclBvaW50LnB1c2goWyhwb2ludHNbaV1bMF0gKyBwb2ludHNbal1bMF0pIC8gMiwgKHBvaW50c1tpXVsxXSArIHBvaW50c1tqXVsxXSkgLyAyXSk7XG4gICAgfVxuICAgIHJldHVybiBjZW50ZXJQb2ludDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFZGdlT25Qb2x5Z29uQnlQb2ludCA9IChjb3JuZXJzOiBQb2ludFtdLCBwb2ludDogUG9pbnQpID0+IHtcbiAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDw9IGNvcm5lcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGxldCBzdGFydCA9IGNvcm5lcnNbaW5kZXggLSAxXTtcbiAgICAgICAgbGV0IGVuZCA9IGluZGV4ID09PSBjb3JuZXJzLmxlbmd0aCA/IGNvcm5lcnNbMF0gOiBjb3JuZXJzW2luZGV4XTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFNlZ21lbnQocG9pbnRbMF0sIHBvaW50WzFdLCBzdGFydFswXSwgc3RhcnRbMV0sIGVuZFswXSwgZW5kWzFdKTtcbiAgICAgICAgaWYgKGRpc3RhbmNlIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuIFtzdGFydCwgZW5kXSBhcyBbUG9pbnQsIFBvaW50XTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHkgPSAoc3ltYm9sOiBGbG93Y2hhcnRTeW1ib2xzKSA9PiB7XG4gICAgcmV0dXJuIERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eU1hcFtzeW1ib2xdO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRGbG93Y2hhcnQgPSAocG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgY29uc3QgZGVjaXNpb25Qcm9wZXJ0eSA9IGdldERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eShGbG93Y2hhcnRTeW1ib2xzLmRlY2lzaW9uKTtcbiAgICBjb25zdCBwcm9jZXNzUHJvcGVydHkgPSBnZXREZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHkoRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzKTtcbiAgICBjb25zdCB0ZXJtaW5hbFByb3BlcnR5ID0gZ2V0RGVmYXVsdEZsb3djaGFydFByb3BlcnR5KEZsb3djaGFydFN5bWJvbHMudGVybWluYWwpO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkuc3Ryb2tlV2lkdGhcbiAgICB9O1xuXG4gICAgY29uc3QgbGluZU9wdGlvbnMgPSB7XG4gICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0TGluZVN0eWxlLnN0cm9rZVdpZHRoXG4gICAgfTtcbiAgICBjb25zdCBzdGFydEVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgIEZsb3djaGFydFN5bWJvbHMudGVybWluYWwsXG4gICAgICAgIGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhGbG93Y2hhcnRTeW1ib2xzLnRlcm1pbmFsLCBwb2ludCksXG4gICAgICAgICflvIDlp4snLFxuICAgICAgICBvcHRpb25zXG4gICAgKTtcblxuICAgIGNvbnN0IHByb2Nlc3NQb2ludDE6IFBvaW50ID0gW3BvaW50WzBdLCBwb2ludFsxXSArIHRlcm1pbmFsUHJvcGVydHkuaGVpZ2h0IC8gMiArIDU1ICsgcHJvY2Vzc1Byb3BlcnR5LmhlaWdodCAvIDJdO1xuICAgIGNvbnN0IHByb2Nlc3NFbGVtZW50MSA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChcbiAgICAgICAgRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzLFxuICAgICAgICBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMoRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzLCBwcm9jZXNzUG9pbnQxKSxcbiAgICAgICAgJ+i/h+eoiycsXG4gICAgICAgIG9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgZGVjaXNpb25Qb2ludDogUG9pbnQgPSBbcHJvY2Vzc1BvaW50MVswXSwgcHJvY2Vzc1BvaW50MVsxXSArIHByb2Nlc3NQcm9wZXJ0eS5oZWlnaHQgLyAyICsgNTUgKyBkZWNpc2lvblByb3BlcnR5LmhlaWdodCAvIDJdO1xuICAgIGNvbnN0IGRlY2lzaW9uRWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChcbiAgICAgICAgRmxvd2NoYXJ0U3ltYm9scy5kZWNpc2lvbixcbiAgICAgICAgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKEZsb3djaGFydFN5bWJvbHMuZGVjaXNpb24sIGRlY2lzaW9uUG9pbnQpLFxuICAgICAgICAn6L+H56iLJyxcbiAgICAgICAgb3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBwcm9jZXNzUG9pbnQyOiBQb2ludCA9IFtkZWNpc2lvblBvaW50WzBdICsgZGVjaXNpb25Qcm9wZXJ0eS53aWR0aCAvIDIgKyA3NSArIHByb2Nlc3NQcm9wZXJ0eS53aWR0aCAvIDIsIGRlY2lzaW9uUG9pbnRbMV1dO1xuICAgIGNvbnN0IHByb2Nlc3NFbGVtZW50MiA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChcbiAgICAgICAgRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzLFxuICAgICAgICBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMoRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzLCBwcm9jZXNzUG9pbnQyKSxcbiAgICAgICAgJ+i/h+eoiycsXG4gICAgICAgIG9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgZW5kUG9pbnQ6IFBvaW50ID0gW2RlY2lzaW9uUG9pbnRbMF0sIGRlY2lzaW9uUG9pbnRbMV0gKyBkZWNpc2lvblByb3BlcnR5LmhlaWdodCAvIDIgKyA5NSArIHRlcm1pbmFsUHJvcGVydHkuaGVpZ2h0IC8gMl07XG4gICAgY29uc3QgZW5kRWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChcbiAgICAgICAgRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbCxcbiAgICAgICAgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKEZsb3djaGFydFN5bWJvbHMudGVybWluYWwsIGVuZFBvaW50KSxcbiAgICAgICAgJ+e7k+adnycsXG4gICAgICAgIG9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgbGluZTEgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgTGluZVNoYXBlLmVsYm93LFxuICAgICAgICBbXG4gICAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgICBbMCwgMF1cbiAgICAgICAgXSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IFswLjUsIDFdLCBib3VuZElkOiBzdGFydEVsZW1lbnQuaWQgfSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLmFycm93LCBjb25uZWN0aW9uOiBbMC41LCAwXSwgYm91bmRJZDogcHJvY2Vzc0VsZW1lbnQxLmlkIH0sXG4gICAgICAgIFtdLFxuICAgICAgICBsaW5lT3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBsaW5lMiA9IGNyZWF0ZUxpbmVFbGVtZW50KFxuICAgICAgICBMaW5lU2hhcGUuZWxib3csXG4gICAgICAgIFtcbiAgICAgICAgICAgIFswLCAwXSxcbiAgICAgICAgICAgIFswLCAwXVxuICAgICAgICBdLFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUubm9uZSwgY29ubmVjdGlvbjogWzAuNSwgMV0sIGJvdW5kSWQ6IHByb2Nlc3NFbGVtZW50MS5pZCB9LFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUuYXJyb3csIGNvbm5lY3Rpb246IFswLjUsIDBdLCBib3VuZElkOiBkZWNpc2lvbkVsZW1lbnQuaWQgfSxcbiAgICAgICAgW10sXG4gICAgICAgIGxpbmVPcHRpb25zXG4gICAgKTtcblxuICAgIGNvbnN0IGxpbmUzID0gY3JlYXRlTGluZUVsZW1lbnQoXG4gICAgICAgIExpbmVTaGFwZS5lbGJvdyxcbiAgICAgICAgW1xuICAgICAgICAgICAgWzAsIDBdLFxuICAgICAgICAgICAgWzAsIDBdXG4gICAgICAgIF0sXG4gICAgICAgIHsgbWFya2VyOiBMaW5lTWFya2VyVHlwZS5ub25lLCBjb25uZWN0aW9uOiBbMC41LCAxXSwgYm91bmRJZDogZGVjaXNpb25FbGVtZW50LmlkIH0sXG4gICAgICAgIHsgbWFya2VyOiBMaW5lTWFya2VyVHlwZS5hcnJvdywgY29ubmVjdGlvbjogWzAuNSwgMF0sIGJvdW5kSWQ6IGVuZEVsZW1lbnQuaWQgfSxcbiAgICAgICAgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQ6IGJ1aWxkVGV4dCgn5pivJyksXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IDAuNSxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMFxuICAgICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBsaW5lT3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBsaW5lNCA9IGNyZWF0ZUxpbmVFbGVtZW50KFxuICAgICAgICBMaW5lU2hhcGUuZWxib3csXG4gICAgICAgIFtcbiAgICAgICAgICAgIFswLCAwXSxcbiAgICAgICAgICAgIFswLCAwXVxuICAgICAgICBdLFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUubm9uZSwgY29ubmVjdGlvbjogWzEsIDAuNV0sIGJvdW5kSWQ6IGRlY2lzaW9uRWxlbWVudC5pZCB9LFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUuYXJyb3csIGNvbm5lY3Rpb246IFswLCAwLjVdLCBib3VuZElkOiBwcm9jZXNzRWxlbWVudDIuaWQgfSxcbiAgICAgICAgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQ6IGJ1aWxkVGV4dCgn5ZCmJyksXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IDAuNSxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTQsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMFxuICAgICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBsaW5lT3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBsaW5lNSA9IGNyZWF0ZUxpbmVFbGVtZW50KFxuICAgICAgICBMaW5lU2hhcGUuZWxib3csXG4gICAgICAgIFtcbiAgICAgICAgICAgIFswLCAwXSxcbiAgICAgICAgICAgIFswLCAwXVxuICAgICAgICBdLFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUubm9uZSwgY29ubmVjdGlvbjogWzAuNSwgMV0sIGJvdW5kSWQ6IHByb2Nlc3NFbGVtZW50Mi5pZCB9LFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUuYXJyb3csIGNvbm5lY3Rpb246IFsxLCAwLjVdLCBib3VuZElkOiBlbmRFbGVtZW50LmlkIH0sXG4gICAgICAgIFtdLFxuICAgICAgICBsaW5lT3B0aW9uc1xuICAgICk7XG5cbiAgICByZXR1cm4gW3N0YXJ0RWxlbWVudCwgcHJvY2Vzc0VsZW1lbnQxLCBkZWNpc2lvbkVsZW1lbnQsIHByb2Nlc3NFbGVtZW50MiwgZW5kRWxlbWVudCwgbGluZTEsIGxpbmUyLCBsaW5lMywgbGluZTQsIGxpbmU1XTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBdXRvQ29tcGxldGVQb2ludHMgPSAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgIGNvbnN0IEF1dG9Db21wbGV0ZU1hcmdpbiA9ICgxMiArIFJFU0laRV9IQU5ETEVfRElBTUVURVIgLyAyKSAqIDI7XG4gICAgbGV0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuaW5mbGF0ZShyZWN0YW5nbGUsIEF1dG9Db21wbGV0ZU1hcmdpbik7XG4gICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGl0SW5kZXhPZkF1dG9Db21wbGV0ZVBvaW50ID0gKG1vdmluZ1BvaW50OiBQb2ludCwgcG9pbnRzOiBQb2ludFtdKSA9PiB7XG4gICAgcmV0dXJuIHBvaW50cy5maW5kSW5kZXgocG9pbnQgPT4ge1xuICAgICAgICBjb25zdCBtb3ZpbmdSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW21vdmluZ1BvaW50XSk7XG4gICAgICAgIGxldCByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3BvaW50XSk7XG4gICAgICAgIHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5pbmZsYXRlKHJlY3RhbmdsZSwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUik7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQobW92aW5nUmVjdGFuZ2xlLCByZWN0YW5nbGUpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERyYXdEZWZhdWx0U3Ryb2tlQ29sb3IgPSAodGhlbWU6IFRoZW1lQ29sb3JNb2RlKSA9PiB7XG4gICAgcmV0dXJuIERyYXdUaGVtZUNvbG9yc1t0aGVtZV0uc3Ryb2tlQ29sb3I7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvd2NoYXJ0RGVmYXVsdEZpbGwgPSAodGhlbWU6IFRoZW1lQ29sb3JNb2RlKSA9PiB7XG4gICAgcmV0dXJuIERyYXdUaGVtZUNvbG9yc1t0aGVtZV0uZmlsbDtcbn07XG4iXX0=
|
|
184
|
+
export const getDefaultTextShapeProperty = (board, fontSize) => {
|
|
185
|
+
fontSize = fontSize ? Number(fontSize) : DEFAULT_FONT_SIZE;
|
|
186
|
+
const textSize = getTextSize(board, '文本', 10, { fontSize });
|
|
187
|
+
return {
|
|
188
|
+
width: textSize.width + ShapeDefaultSpace.rectangleAndText * 2,
|
|
189
|
+
height: textSize.height,
|
|
190
|
+
text: '文本'
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9nZW9tZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLFVBQVUsRUFFVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUVwQixPQUFPLEVBQ1AsOEJBQThCLEVBQzlCLFVBQVUsRUFDVixTQUFTLEVBQ1osTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFrQixXQUFXLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBYyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNckQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FDakMsS0FBaUIsRUFDakIsS0FBcUIsRUFD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TUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUU7SUFDL0QsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQzlDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQzdELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsUUFBMEIsRUFBRSxFQUFFO0lBQ3pGLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFDM0QsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxPQUFPO1FBQ0gsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQztRQUM5RCxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07UUFDdkIsSUFBSSxFQUFFLElBQUk7S0FDYixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgU0VMRUNUSU9OX0ZJTExfQ09MT1IsXG4gICAgVGhlbWVDb2xvck1vZGUsXG4gICAgY3JlYXRlRyxcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFNlZ21lbnQsXG4gICAgZHJhd0NpcmNsZSxcbiAgICBpZENyZWF0b3Jcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgR2VvbWV0cnlTaGFwZXMsIEJhc2ljU2hhcGVzLCBQbGFpdEdlb21ldHJ5LCBGbG93Y2hhcnRTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIEN1c3RvbVRleHQsIERFRkFVTFRfRk9OVF9TSVpFLCBidWlsZFRleHQsIGdldFRleHRTaXplIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHksIERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eU1hcCwgRHJhd1RoZW1lQ29sb3JzLCBTaGFwZURlZmF1bHRTcGFjZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSRVNJWkVfSEFORExFX0RJQU1FVEVSLCBnZXRSZWN0YW5nbGVCeVBvaW50cyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuL3N0eWxlL3N0cm9rZSc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBnZXRFbmdpbmUgfSBmcm9tICcuLi9lbmdpbmVzJztcbmltcG9ydCB7IGdldFNoYXBlIH0gZnJvbSAnLi9zaGFwZSc7XG5pbXBvcnQgeyBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktY3JlYXRlJztcbmltcG9ydCB7IGNyZWF0ZUxpbmVFbGVtZW50IH0gZnJvbSAnLi9saW5lJztcbmltcG9ydCB7IExpbmVNYXJrZXJUeXBlLCBMaW5lU2hhcGUsIFBsYWl0U2hhcGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IERlZmF1bHRMaW5lU3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMvbGluZSc7XG5cbmV4cG9ydCB0eXBlIEdlb21ldHJ5U3R5bGVPcHRpb25zID0gUGljazxQbGFpdEdlb21ldHJ5LCAnZmlsbCcgfCAnc3Ryb2tlQ29sb3InIHwgJ3N0cm9rZVdpZHRoJz47XG5cbmV4cG9ydCB0eXBlIFRleHRQcm9wZXJ0aWVzID0gUGFydGlhbDxDdXN0b21UZXh0PiAmIHsgYWxpZ24/OiBBbGlnbm1lbnQgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZXMsXG4gICAgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSxcbiAgICB0ZXh0OiBzdHJpbmcgfCBFbGVtZW50LFxuICAgIG9wdGlvbnM6IEdlb21ldHJ5U3R5bGVPcHRpb25zID0ge30sXG4gICAgdGV4dFByb3BlcnRpZXM6IFRleHRQcm9wZXJ0aWVzID0ge31cbik6IFBsYWl0R2VvbWV0cnkgPT4ge1xuICAgIGxldCB0ZXh0T3B0aW9ucyA9IHt9O1xuICAgIGxldCBhbGlnbm1lbnQ6IHVuZGVmaW5lZCB8IEFsaWdubWVudCA9IEFsaWdubWVudC5jZW50ZXI7XG4gICAgaWYgKHNoYXBlID09PSBCYXNpY1NoYXBlcy50ZXh0KSB7XG4gICAgICAgIHRleHRPcHRpb25zID0geyBhdXRvU2l6ZTogdHJ1ZSB9O1xuICAgICAgICBhbGlnbm1lbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRleHRQcm9wZXJ0aWVzID0geyAuLi50ZXh0UHJvcGVydGllcyB9O1xuICAgIHRleHRQcm9wZXJ0aWVzPy5hbGlnbiAmJiAoYWxpZ25tZW50ID0gdGV4dFByb3BlcnRpZXM/LmFsaWduKTtcbiAgICBkZWxldGUgdGV4dFByb3BlcnRpZXM/LmFsaWduO1xuICAgIGNvbnN0IHRleHRIZWlnaHQgPSBnZXREZWZhdWx0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIHRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSkuaGVpZ2h0O1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgc2hhcGUsXG4gICAgICAgIGFuZ2xlOiAwLFxuICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICB0ZXh0SGVpZ2h0LFxuICAgICAgICB0ZXh0OiBidWlsZFRleHQodGV4dCwgYWxpZ25tZW50LCB0ZXh0UHJvcGVydGllcyksXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgLi4udGV4dE9wdGlvbnMsXG4gICAgICAgIC4uLm9wdGlvbnNcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBvaW50c0J5Q2VudGVyUG9pbnQgPSAocG9pbnQ6IFBvaW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IFtQb2ludCwgUG9pbnRdID0+IHtcbiAgICBjb25zdCBsZWZ0VG9wUG9pbnQ6IFBvaW50ID0gW3BvaW50WzBdIC0gd2lkdGggLyAyLCBwb2ludFsxXSAtIGhlaWdodCAvIDJdO1xuICAgIGNvbnN0IHJpZ2h0Qm90dG9tUG9pbnQ6IFBvaW50ID0gW3BvaW50WzBdICsgd2lkdGggLyAyLCBwb2ludFsxXSArIGhlaWdodCAvIDJdO1xuXG4gICAgcmV0dXJuIFtsZWZ0VG9wUG9pbnQsIHJpZ2h0Qm90dG9tUG9pbnRdO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRSZWN0YW5nbGUgPSAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyEpO1xuICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC50ZXh0SGVpZ2h0O1xuICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudFJlY3RhbmdsZS53aWR0aCAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyIC0gc3Ryb2tlV2lkdGggKiAyO1xuICAgIHJldHVybiB7XG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgd2lkdGg6IHdpZHRoID4gMCA/IHdpZHRoIDogMCxcbiAgICAgICAgeDogZWxlbWVudFJlY3RhbmdsZS54ICsgU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCArIHN0cm9rZVdpZHRoLFxuICAgICAgICB5OiBlbGVtZW50UmVjdGFuZ2xlLnkgKyAoZWxlbWVudFJlY3RhbmdsZS5oZWlnaHQgLSBoZWlnaHQpIC8gMlxuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd0JvdW5kTWFzayA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgIGNvbnN0IEcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5pbmZsYXRlKHJlY3RhbmdsZSwgQUNUSVZFX1NUUk9LRV9XSURUSCk7XG4gICAgY29uc3Qgc2hhcGUgPSBnZXRTaGFwZShlbGVtZW50KTtcbiAgICBjb25zdCBtYXNrRyA9IGRyYXdHZW9tZXRyeShib2FyZCwgYWN0aXZlUmVjdGFuZ2xlLCBzaGFwZSwge1xuICAgICAgICBzdHJva2U6IFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICBmaWxsOiBTRUxFQ1RJT05fRklMTF9DT0xPUixcbiAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgfSk7XG4gICAgRy5hcHBlbmRDaGlsZChtYXNrRyk7XG4gICAgY29uc3QgY29ubmVjdG9yUG9pbnRzID0gZ2V0RW5naW5lKHNoYXBlKS5nZXRDb25uZWN0b3JQb2ludHMoYWN0aXZlUmVjdGFuZ2xlKTtcbiAgICBjb25uZWN0b3JQb2ludHMuZm9yRWFjaChwb2ludCA9PiB7XG4gICAgICAgIGNvbnN0IGNpcmNsZUcgPSBkcmF3Q2lyY2xlKFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLCBwb2ludCwgNiwge1xuICAgICAgICAgICAgc3Ryb2tlOiAnIzk5OTk5OScsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgIGZpbGw6ICcjRkZGJyxcbiAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICB9KTtcbiAgICAgICAgRy5hcHBlbmRDaGlsZChjaXJjbGVHKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBHO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdHZW9tZXRyeSA9IChib2FyZDogUGxhaXRCb2FyZCwgb3V0ZXJSZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgc2hhcGU6IEdlb21ldHJ5U2hhcGVzLCBvcHRpb25zOiBPcHRpb25zKSA9PiB7XG4gICAgcmV0dXJuIGdldEVuZ2luZShzaGFwZSkuZHJhdyhib2FyZCwgb3V0ZXJSZWN0YW5nbGUsIG9wdGlvbnMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5lYXJlc3RQb2ludCA9IChlbGVtZW50OiBQbGFpdFNoYXBlLCBwb2ludDogUG9pbnQsIGluZmxhdGVEZWx0YSA9IDApID0+IHtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgY29uc3QgYWN0aXZlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmluZmxhdGUocmVjdGFuZ2xlLCBpbmZsYXRlRGVsdGEpO1xuICAgIGNvbnN0IHNoYXBlID0gZ2V0U2hhcGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIGdldEVuZ2luZShzaGFwZSkuZ2V0TmVhcmVzdFBvaW50KGFjdGl2ZVJlY3RhbmdsZSwgcG9pbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENlbnRlclBvaW50c09uUG9seWdvbiA9IChwb2ludHM6IFBvaW50W10pID0+IHtcbiAgICBjb25zdCBjZW50ZXJQb2ludDogUG9pbnRbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBqID0gaSA9PSBwb2ludHMubGVuZ3RoIC0gMSA/IDAgOiBpICsgMTtcbiAgICAgICAgY2VudGVyUG9pbnQucHVzaChbKHBvaW50c1tpXVswXSArIHBvaW50c1tqXVswXSkgLyAyLCAocG9pbnRzW2ldWzFdICsgcG9pbnRzW2pdWzFdKSAvIDJdKTtcbiAgICB9XG4gICAgcmV0dXJuIGNlbnRlclBvaW50O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVkZ2VPblBvbHlnb25CeVBvaW50ID0gKGNvcm5lcnM6IFBvaW50W10sIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gY29ybmVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gY29ybmVyc1tpbmRleCAtIDFdO1xuICAgICAgICBsZXQgZW5kID0gaW5kZXggPT09IGNvcm5lcnMubGVuZ3RoID8gY29ybmVyc1swXSA6IGNvcm5lcnNbaW5kZXhdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kU2VnbWVudChwb2ludFswXSwgcG9pbnRbMV0sIHN0YXJ0WzBdLCBzdGFydFsxXSwgZW5kWzBdLCBlbmRbMV0pO1xuICAgICAgICBpZiAoZGlzdGFuY2UgPCAxKSB7XG4gICAgICAgICAgICByZXR1cm4gW3N0YXJ0LCBlbmRdIGFzIFtQb2ludCwgUG9pbnRdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSA9IChzeW1ib2w6IEZsb3djaGFydFN5bWJvbHMpID0+IHtcbiAgICByZXR1cm4gRGVmYXVsdEZsb3djaGFydFByb3BlcnR5TWFwW3N5bWJvbF07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVmYXVsdEZsb3djaGFydCA9IChib2FyZDogUGxhaXRCb2FyZCwgcG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgY29uc3QgZGVjaXNpb25Qcm9wZXJ0eSA9IGdldERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eShGbG93Y2hhcnRTeW1ib2xzLmRlY2lzaW9uKTtcbiAgICBjb25zdCBwcm9jZXNzUHJvcGVydHkgPSBnZXREZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHkoRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzKTtcbiAgICBjb25zdCB0ZXJtaW5hbFByb3BlcnR5ID0gZ2V0RGVmYXVsdEZsb3djaGFydFByb3BlcnR5KEZsb3djaGFydFN5bWJvbHMudGVybWluYWwpO1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkuc3Ryb2tlV2lkdGhcbiAgICB9O1xuXG4gICAgY29uc3QgbGluZU9wdGlvbnMgPSB7XG4gICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0TGluZVN0eWxlLnN0cm9rZVdpZHRoXG4gICAgfTtcbiAgICBjb25zdCBzdGFydEVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgIGJvYXJkLFxuICAgICAgICBGbG93Y2hhcnRTeW1ib2xzLnRlcm1pbmFsLFxuICAgICAgICBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMoYm9hcmQsIEZsb3djaGFydFN5bWJvbHMudGVybWluYWwsIHBvaW50KSxcbiAgICAgICAgJ+W8gOWniycsXG4gICAgICAgIG9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgcHJvY2Vzc1BvaW50MTogUG9pbnQgPSBbcG9pbnRbMF0sIHBvaW50WzFdICsgdGVybWluYWxQcm9wZXJ0eS5oZWlnaHQgLyAyICsgNTUgKyBwcm9jZXNzUHJvcGVydHkuaGVpZ2h0IC8gMl07XG4gICAgY29uc3QgcHJvY2Vzc0VsZW1lbnQxID0gY3JlYXRlR2VvbWV0cnlFbGVtZW50KFxuICAgICAgICBib2FyZCxcbiAgICAgICAgRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzLFxuICAgICAgICBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMoYm9hcmQsIEZsb3djaGFydFN5bWJvbHMucHJvY2VzcywgcHJvY2Vzc1BvaW50MSksXG4gICAgICAgICfov4fnqIsnLFxuICAgICAgICBvcHRpb25zXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY2lzaW9uUG9pbnQ6IFBvaW50ID0gW3Byb2Nlc3NQb2ludDFbMF0sIHByb2Nlc3NQb2ludDFbMV0gKyBwcm9jZXNzUHJvcGVydHkuaGVpZ2h0IC8gMiArIDU1ICsgZGVjaXNpb25Qcm9wZXJ0eS5oZWlnaHQgLyAyXTtcbiAgICBjb25zdCBkZWNpc2lvbkVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoXG4gICAgICAgIGJvYXJkLFxuICAgICAgICBGbG93Y2hhcnRTeW1ib2xzLmRlY2lzaW9uLFxuICAgICAgICBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMoYm9hcmQsIEZsb3djaGFydFN5bWJvbHMuZGVjaXNpb24sIGRlY2lzaW9uUG9pbnQpLFxuICAgICAgICAn6L+H56iLJyxcbiAgICAgICAgb3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBwcm9jZXNzUG9pbnQyOiBQb2ludCA9IFtkZWNpc2lvblBvaW50WzBdICsgZGVjaXNpb25Qcm9wZXJ0eS53aWR0aCAvIDIgKyA3NSArIHByb2Nlc3NQcm9wZXJ0eS53aWR0aCAvIDIsIGRlY2lzaW9uUG9pbnRbMV1dO1xuICAgIGNvbnN0IHByb2Nlc3NFbGVtZW50MiA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChcbiAgICAgICAgYm9hcmQsXG4gICAgICAgIEZsb3djaGFydFN5bWJvbHMucHJvY2VzcyxcbiAgICAgICAgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKGJvYXJkLCBGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3MsIHByb2Nlc3NQb2ludDIpLFxuICAgICAgICAn6L+H56iLJyxcbiAgICAgICAgb3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBlbmRQb2ludDogUG9pbnQgPSBbZGVjaXNpb25Qb2ludFswXSwgZGVjaXNpb25Qb2ludFsxXSArIGRlY2lzaW9uUHJvcGVydHkuaGVpZ2h0IC8gMiArIDk1ICsgdGVybWluYWxQcm9wZXJ0eS5oZWlnaHQgLyAyXTtcbiAgICBjb25zdCBlbmRFbGVtZW50ID0gY3JlYXRlR2VvbWV0cnlFbGVtZW50KFxuICAgICAgICBib2FyZCxcbiAgICAgICAgRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbCxcbiAgICAgICAgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKGJvYXJkLCBGbG93Y2hhcnRTeW1ib2xzLnRlcm1pbmFsLCBlbmRQb2ludCksXG4gICAgICAgICfnu5PmnZ8nLFxuICAgICAgICBvcHRpb25zXG4gICAgKTtcblxuICAgIGNvbnN0IGxpbmUxID0gY3JlYXRlTGluZUVsZW1lbnQoXG4gICAgICAgIExpbmVTaGFwZS5lbGJvdyxcbiAgICAgICAgW1xuICAgICAgICAgICAgWzAsIDBdLFxuICAgICAgICAgICAgWzAsIDBdXG4gICAgICAgIF0sXG4gICAgICAgIHsgbWFya2VyOiBMaW5lTWFya2VyVHlwZS5ub25lLCBjb25uZWN0aW9uOiBbMC41LCAxXSwgYm91bmRJZDogc3RhcnRFbGVtZW50LmlkIH0sXG4gICAgICAgIHsgbWFya2VyOiBMaW5lTWFya2VyVHlwZS5hcnJvdywgY29ubmVjdGlvbjogWzAuNSwgMF0sIGJvdW5kSWQ6IHByb2Nlc3NFbGVtZW50MS5pZCB9LFxuICAgICAgICBbXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgbGluZTIgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgTGluZVNoYXBlLmVsYm93LFxuICAgICAgICBbXG4gICAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgICBbMCwgMF1cbiAgICAgICAgXSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IFswLjUsIDFdLCBib3VuZElkOiBwcm9jZXNzRWxlbWVudDEuaWQgfSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLmFycm93LCBjb25uZWN0aW9uOiBbMC41LCAwXSwgYm91bmRJZDogZGVjaXNpb25FbGVtZW50LmlkIH0sXG4gICAgICAgIFtdLFxuICAgICAgICBsaW5lT3B0aW9uc1xuICAgICk7XG5cbiAgICBjb25zdCBsaW5lMyA9IGNyZWF0ZUxpbmVFbGVtZW50KFxuICAgICAgICBMaW5lU2hhcGUuZWxib3csXG4gICAgICAgIFtcbiAgICAgICAgICAgIFswLCAwXSxcbiAgICAgICAgICAgIFswLCAwXVxuICAgICAgICBdLFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUubm9uZSwgY29ubmVjdGlvbjogWzAuNSwgMV0sIGJvdW5kSWQ6IGRlY2lzaW9uRWxlbWVudC5pZCB9LFxuICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUuYXJyb3csIGNvbm5lY3Rpb246IFswLjUsIDBdLCBib3VuZElkOiBlbmRFbGVtZW50LmlkIH0sXG4gICAgICAgIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBidWlsZFRleHQoJ+aYrycpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAwLjUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0LFxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgbGluZTQgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgTGluZVNoYXBlLmVsYm93LFxuICAgICAgICBbXG4gICAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgICBbMCwgMF1cbiAgICAgICAgXSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IFsxLCAwLjVdLCBib3VuZElkOiBkZWNpc2lvbkVsZW1lbnQuaWQgfSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLmFycm93LCBjb25uZWN0aW9uOiBbMCwgMC41XSwgYm91bmRJZDogcHJvY2Vzc0VsZW1lbnQyLmlkIH0sXG4gICAgICAgIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBidWlsZFRleHQoJ+WQpicpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAwLjUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0LFxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgY29uc3QgbGluZTUgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgTGluZVNoYXBlLmVsYm93LFxuICAgICAgICBbXG4gICAgICAgICAgICBbMCwgMF0sXG4gICAgICAgICAgICBbMCwgMF1cbiAgICAgICAgXSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IFswLjUsIDFdLCBib3VuZElkOiBwcm9jZXNzRWxlbWVudDIuaWQgfSxcbiAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLmFycm93LCBjb25uZWN0aW9uOiBbMSwgMC41XSwgYm91bmRJZDogZW5kRWxlbWVudC5pZCB9LFxuICAgICAgICBbXSxcbiAgICAgICAgbGluZU9wdGlvbnNcbiAgICApO1xuXG4gICAgcmV0dXJuIFtzdGFydEVsZW1lbnQsIHByb2Nlc3NFbGVtZW50MSwgZGVjaXNpb25FbGVtZW50LCBwcm9jZXNzRWxlbWVudDIsIGVuZEVsZW1lbnQsIGxpbmUxLCBsaW5lMiwgbGluZTMsIGxpbmU0LCBsaW5lNV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXV0b0NvbXBsZXRlUG9pbnRzID0gKGVsZW1lbnQ6IFBsYWl0U2hhcGUpID0+IHtcbiAgICBjb25zdCBBdXRvQ29tcGxldGVNYXJnaW4gPSAoMTIgKyBSRVNJWkVfSEFORExFX0RJQU1FVEVSIC8gMikgKiAyO1xuICAgIGxldCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmluZmxhdGUocmVjdGFuZ2xlLCBBdXRvQ29tcGxldGVNYXJnaW4pO1xuICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEhpdEluZGV4T2ZBdXRvQ29tcGxldGVQb2ludCA9IChtb3ZpbmdQb2ludDogUG9pbnQsIHBvaW50czogUG9pbnRbXSkgPT4ge1xuICAgIHJldHVybiBwb2ludHMuZmluZEluZGV4KHBvaW50ID0+IHtcbiAgICAgICAgY29uc3QgbW92aW5nUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFttb3ZpbmdQb2ludF0pO1xuICAgICAgICBsZXQgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtwb2ludF0pO1xuICAgICAgICByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuaW5mbGF0ZShyZWN0YW5nbGUsIFJFU0laRV9IQU5ETEVfRElBTUVURVIpO1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KG1vdmluZ1JlY3RhbmdsZSwgcmVjdGFuZ2xlKTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREcmF3RGVmYXVsdFN0cm9rZUNvbG9yID0gKHRoZW1lOiBUaGVtZUNvbG9yTW9kZSkgPT4ge1xuICAgIHJldHVybiBEcmF3VGhlbWVDb2xvcnNbdGhlbWVdLnN0cm9rZUNvbG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb3djaGFydERlZmF1bHRGaWxsID0gKHRoZW1lOiBUaGVtZUNvbG9yTW9kZSkgPT4ge1xuICAgIHJldHVybiBEcmF3VGhlbWVDb2xvcnNbdGhlbWVdLmZpbGw7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdFRleHRTaGFwZVByb3BlcnR5ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBmb250U2l6ZT86IG51bWJlciB8IHN0cmluZykgPT4ge1xuICAgIGZvbnRTaXplID0gZm9udFNpemUgPyBOdW1iZXIoZm9udFNpemUpIDogREVGQVVMVF9GT05UX1NJWkU7XG4gICAgY29uc3QgdGV4dFNpemUgPSBnZXRUZXh0U2l6ZShib2FyZCwgJ+aWh+acrCcsIDEwLCB7IGZvbnRTaXplIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiB0ZXh0U2l6ZS53aWR0aCArIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyLFxuICAgICAgICBoZWlnaHQ6IHRleHRTaXplLmhlaWdodCxcbiAgICAgICAgdGV4dDogJ+aWh+acrCdcbiAgICB9O1xufTtcbiJdfQ==
|