@plait/draw 0.1.0-next.6 → 0.1.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/constants/geometry.mjs +4 -3
- package/esm2022/generators/geometry-shape.generator.mjs +23 -0
- package/esm2022/generators/line-active.generator.mjs +36 -0
- package/esm2022/generators/line.generator.mjs +22 -0
- package/esm2022/geometry.component.mjs +13 -11
- package/esm2022/interfaces/geometry.mjs +5 -2
- package/esm2022/interfaces/line.mjs +9 -1
- package/esm2022/line.component.mjs +3 -3
- package/esm2022/plugins/with-draw-fragment.mjs +5 -10
- package/esm2022/plugins/with-draw-hotkey.mjs +7 -3
- package/esm2022/plugins/with-draw.mjs +3 -3
- package/esm2022/plugins/with-geometry-create.mjs +5 -6
- package/esm2022/plugins/with-geometry-resize.mjs +5 -5
- package/esm2022/plugins/with-line-bound-reaction.mjs +5 -7
- package/esm2022/plugins/with-line-create.mjs +4 -4
- package/esm2022/plugins/with-line-text.mjs +3 -3
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/transforms/index.mjs +4 -3
- package/esm2022/transforms/line.mjs +8 -1
- package/esm2022/utils/geometry.mjs +8 -8
- package/esm2022/utils/line-arrow.mjs +89 -0
- package/esm2022/utils/line.mjs +51 -46
- package/fesm2022/plait-draw.mjs +196 -109
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/geometry.component.d.ts +5 -5
- package/interfaces/geometry.d.ts +1 -0
- package/interfaces/line.d.ts +8 -1
- package/line.component.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/transforms/index.d.ts +1 -0
- package/transforms/line.d.ts +2 -1
- package/utils/geometry.d.ts +1 -1
- package/utils/line-arrow.d.ts +4 -0
- package/utils/line.d.ts +3 -3
- package/esm2022/generator/geometry-shape.generator.mjs +0 -22
- package/esm2022/generator/line-active.generator.mjs +0 -36
- package/esm2022/generator/line.generator.mjs +0 -43
- /package/{generator → generators}/geometry-shape.generator.d.ts +0 -0
- /package/{generator → generators}/line-active.generator.d.ts +0 -0
- /package/{generator → generators}/line.generator.d.ts +0 -0
|
@@ -6,7 +6,7 @@ import { getRectangleByPoints } from '@plait/common';
|
|
|
6
6
|
import { withDrawHotkey } from './with-draw-hotkey';
|
|
7
7
|
import { withGeometryCreateByDraw, withGeometryCreateByDrag } from './with-geometry-create';
|
|
8
8
|
import { withDrawFragment } from './with-draw-fragment';
|
|
9
|
-
import {
|
|
9
|
+
import { getTextRectangle, isHitPolyLine, isHitLineText, getTargetPoint, getSourcePoint, getLinePoints } from '../utils';
|
|
10
10
|
import { getStrokeWidthByElement } from '../utils/style/stroke';
|
|
11
11
|
import { withLineCreateByDraw } from './with-line-create';
|
|
12
12
|
import { withGeometryResize } from './with-geometry-resize';
|
|
@@ -46,7 +46,7 @@ export const withDraw = (board) => {
|
|
|
46
46
|
return RectangleClient.isHit(rangeRectangle, client);
|
|
47
47
|
}
|
|
48
48
|
if (PlaitDrawElement.isLine(element)) {
|
|
49
|
-
const points =
|
|
49
|
+
const points = getLinePoints(board, element);
|
|
50
50
|
const strokeWidth = getStrokeWidthByElement(element);
|
|
51
51
|
const isHitText = isHitLineText(board, element, range.focus);
|
|
52
52
|
const isHit = isHitPolyLine(points, range.focus, strokeWidth, 3) || isHitText;
|
|
@@ -70,4 +70,4 @@ export const withDraw = (board) => {
|
|
|
70
70
|
};
|
|
71
71
|
return withLineText(withLineBoundReaction(withLineResize(withGeometryResize(withLineCreateByDraw(withGeometryCreateByDrag(withGeometryCreateByDraw(withDrawFragment(withDrawHotkey(board)))))))));
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4RCxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFH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YWl0UGx1Z2luRWxlbWVudENvbnRleHQsIFJhbmdlLCBSZWN0YW5nbGVDbGllbnQsIGlzUG9seWxpbmVIaXRSZWN0YW5nbGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHZW9tZXRyeUNvbXBvbmVudCB9IGZyb20gJy4uL2dlb21ldHJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlQb2ludHMgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IHdpdGhEcmF3SG90a2V5IH0gZnJvbSAnLi93aXRoLWRyYXctaG90a2V5JztcbmltcG9ydCB7IHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhdywgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmFnIH0gZnJvbSAnLi93aXRoLWdlb21ldHJ5LWNyZWF0ZSc7XG5pbXBvcnQgeyB3aXRoRHJhd0ZyYWdtZW50IH0gZnJvbSAnLi93aXRoLWRyYXctZnJhZ21lbnQnO1xuaW1wb3J0IHsgZ2V0RWxib3dQb2ludHMsIGdldFRleHRSZWN0YW5nbGUsIGlzSGl0UG9seUxpbmUsIGlzSGl0TGluZVRleHQsIGdldFRhcmdldFBvaW50LCBnZXRTb3VyY2VQb2ludCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvc3R5bGUvc3Ryb2tlJztcbmltcG9ydCB7IHdpdGhMaW5lQ3JlYXRlQnlEcmF3IH0gZnJvbSAnLi93aXRoLWxpbmUtY3JlYXRlJztcbmltcG9ydCB7IHdpdGhHZW9tZXRyeVJlc2l6ZSB9IGZyb20gJy4vd2l0aC1nZW9tZXRyeS1yZXNpemUnO1xuaW1wb3J0IHsgd2l0aExpbmVSZXNpemUgfSBmcm9tICcuL3dpdGgtbGluZS1yZXNpemUnO1xuaW1wb3J0IHsgd2l0aExpbmVCb3VuZFJlYWN0aW9uIH0gZnJvbSAnLi93aXRoLWxpbmUtYm91bmQtcmVhY3Rpb24nO1xuaW1wb3J0IHsgd2l0aExpbmVUZXh0IH0gZnJvbSAnLi93aXRoLWxpbmUtdGV4dCc7XG5cbmV4cG9ydCBjb25zdCB3aXRoRHJhdyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgZHJhd0VsZW1lbnQsIGdldFJlY3RhbmdsZSwgaXNIaXRTZWxlY3Rpb24sIGlzTW92YWJsZSwgZGJsY2xpY2sgfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQuZHJhd0VsZW1lbnQgPSAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBHZW9tZXRyeUNvbXBvbmVudDtcbiAgICAgICAgfSBlbHNlIGlmIChQbGFpdERyYXdFbGVtZW50LmlzTGluZShjb250ZXh0LmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gTGluZUNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZHJhd0VsZW1lbnQoY29udGV4dCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdldFJlY3RhbmdsZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGdldFNvdXJjZVBvaW50KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGdldFRhcmdldFBvaW50KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeVBvaW50cyhbc291cmNlLCB0YXJnZXRdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc0hpdFNlbGVjdGlvbiA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQsIHJhbmdlOiBSYW5nZSkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBjbGllbnQgPSBnZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICBjb25zdCByYW5nZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcmFuZ2UuYW5jaG9yLCByYW5nZS5mb2N1c10pO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQudGV4dEhlaWdodCA+IGNsaWVudC5oZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0Q2xpZW50ID0gZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJhbmdlUmVjdGFuZ2xlLCBjbGllbnQpIHx8IFJlY3RhbmdsZUNsaWVudC5pc0hpdChyYW5nZVJlY3RhbmdsZSwgdGV4dENsaWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJhbmdlUmVjdGFuZ2xlLCBjbGllbnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzTGluZShlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0RWxib3dQb2ludHMoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGlzSGl0VGV4dCA9IGlzSGl0TGluZVRleHQoYm9hcmQsIGVsZW1lbnQsIHJhbmdlLmZvY3VzKTtcbiAgICAgICAgICAgIGNvbnN0IGlzSGl0ID0gaXNIaXRQb2x5TGluZShwb2ludHMsIHJhbmdlLmZvY3VzLCBzdHJva2VXaWR0aCwgMykgfHwgaXNIaXRUZXh0O1xuICAgICAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3JhbmdlLmFuY2hvciwgcmFuZ2UuZm9jdXNdKTtcbiAgICAgICAgICAgIGNvbnN0IGlzQ29udGFpblBvbHlMaW5lUG9pbnQgPSBwb2ludHMuc29tZShwb2ludCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5pc0hpdChyYW5nZVJlY3RhbmdsZSwgUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtwb2ludCwgcG9pbnRdKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGlzSW50ZXJzZWN0ID0gcmFuZ2UuYW5jaG9yID09PSByYW5nZS5mb2N1cyA/IGlzSGl0IDogaXNQb2x5bGluZUhpdFJlY3RhbmdsZShwb2ludHMsIHJhbmdlUmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIHJldHVybiBpc0NvbnRhaW5Qb2x5TGluZVBvaW50IHx8IGlzSW50ZXJzZWN0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzSGl0U2VsZWN0aW9uKGVsZW1lbnQsIHJhbmdlKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNNb3ZhYmxlID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiAhZWxlbWVudC5zb3VyY2UuYm91bmRJZCAmJiAhZWxlbWVudC5zb3VyY2UuYm91bmRJZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNNb3ZhYmxlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gd2l0aExpbmVUZXh0KFxuICAgICAgICB3aXRoTGluZUJvdW5kUmVhY3Rpb24oXG4gICAgICAgICAgICB3aXRoTGluZVJlc2l6ZShcbiAgICAgICAgICAgICAgICB3aXRoR2VvbWV0cnlSZXNpemUoXG4gICAgICAgICAgICAgICAgICAgIHdpdGhMaW5lQ3JlYXRlQnlEcmF3KHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhZyh3aXRoR2VvbWV0cnlDcmVhdGVCeURyYXcod2l0aERyYXdGcmFnbWVudCh3aXRoRHJhd0hvdGtleShib2FyZCkpKSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKTtcbn07XG4iXX0=
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4RCxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFH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YWl0UGx1Z2luRWxlbWVudENvbnRleHQsIFJhbmdlLCBSZWN0YW5nbGVDbGllbnQsIGlzUG9seWxpbmVIaXRSZWN0YW5nbGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHZW9tZXRyeUNvbXBvbmVudCB9IGZyb20gJy4uL2dlb21ldHJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlQb2ludHMgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IHdpdGhEcmF3SG90a2V5IH0gZnJvbSAnLi93aXRoLWRyYXctaG90a2V5JztcbmltcG9ydCB7IHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhdywgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmFnIH0gZnJvbSAnLi93aXRoLWdlb21ldHJ5LWNyZWF0ZSc7XG5pbXBvcnQgeyB3aXRoRHJhd0ZyYWdtZW50IH0gZnJvbSAnLi93aXRoLWRyYXctZnJhZ21lbnQnO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSwgaXNIaXRQb2x5TGluZSwgaXNIaXRMaW5lVGV4dCwgZ2V0VGFyZ2V0UG9pbnQsIGdldFNvdXJjZVBvaW50LCBnZXRMaW5lUG9pbnRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9zdHlsZS9zdHJva2UnO1xuaW1wb3J0IHsgd2l0aExpbmVDcmVhdGVCeURyYXcgfSBmcm9tICcuL3dpdGgtbGluZS1jcmVhdGUnO1xuaW1wb3J0IHsgd2l0aEdlb21ldHJ5UmVzaXplIH0gZnJvbSAnLi93aXRoLWdlb21ldHJ5LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZVJlc2l6ZSB9IGZyb20gJy4vd2l0aC1saW5lLXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTGluZUJvdW5kUmVhY3Rpb24gfSBmcm9tICcuL3dpdGgtbGluZS1ib3VuZC1yZWFjdGlvbic7XG5pbXBvcnQgeyB3aXRoTGluZVRleHQgfSBmcm9tICcuL3dpdGgtbGluZS10ZXh0JztcblxuZXhwb3J0IGNvbnN0IHdpdGhEcmF3ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBkcmF3RWxlbWVudCwgZ2V0UmVjdGFuZ2xlLCBpc0hpdFNlbGVjdGlvbiwgaXNNb3ZhYmxlLCBkYmxjbGljayB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIEdlb21ldHJ5Q29tcG9uZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBMaW5lQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2V0UmVjdGFuZ2xlID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzTGluZShlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gZ2V0U291cmNlUG9pbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0VGFyZ2V0UG9pbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKFtzb3VyY2UsIHRhcmdldF0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzSGl0U2VsZWN0aW9uID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCwgcmFuZ2U6IFJhbmdlKSA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsaWVudCA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtyYW5nZS5hbmNob3IsIHJhbmdlLmZvY3VzXSk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC50ZXh0SGVpZ2h0ID4gY2xpZW50LmhlaWdodCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRDbGllbnQgPSBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQocmFuZ2VSZWN0YW5nbGUsIGNsaWVudCkgfHwgUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJhbmdlUmVjdGFuZ2xlLCB0ZXh0Q2xpZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQocmFuZ2VSZWN0YW5nbGUsIGNsaWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRMaW5lUG9pbnRzKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBpc0hpdFRleHQgPSBpc0hpdExpbmVUZXh0KGJvYXJkLCBlbGVtZW50LCByYW5nZS5mb2N1cyk7XG4gICAgICAgICAgICBjb25zdCBpc0hpdCA9IGlzSGl0UG9seUxpbmUocG9pbnRzLCByYW5nZS5mb2N1cywgc3Ryb2tlV2lkdGgsIDMpIHx8IGlzSGl0VGV4dDtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtyYW5nZS5hbmNob3IsIHJhbmdlLmZvY3VzXSk7XG4gICAgICAgICAgICBjb25zdCBpc0NvbnRhaW5Qb2x5TGluZVBvaW50ID0gcG9pbnRzLnNvbWUocG9pbnQgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQocmFuZ2VSZWN0YW5nbGUsIFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcG9pbnQsIHBvaW50XSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBpc0ludGVyc2VjdCA9IHJhbmdlLmFuY2hvciA9PT0gcmFuZ2UuZm9jdXMgPyBpc0hpdCA6IGlzUG9seWxpbmVIaXRSZWN0YW5nbGUocG9pbnRzLCByYW5nZVJlY3RhbmdsZSk7XG4gICAgICAgICAgICByZXR1cm4gaXNDb250YWluUG9seUxpbmVQb2ludCB8fCBpc0ludGVyc2VjdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc0hpdFNlbGVjdGlvbihlbGVtZW50LCByYW5nZSk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzTW92YWJsZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeShlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gIWVsZW1lbnQuc291cmNlLmJvdW5kSWQgJiYgIWVsZW1lbnQuc291cmNlLmJvdW5kSWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzTW92YWJsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhMaW5lVGV4dChcbiAgICAgICAgd2l0aExpbmVCb3VuZFJlYWN0aW9uKFxuICAgICAgICAgICAgd2l0aExpbmVSZXNpemUoXG4gICAgICAgICAgICAgICAgd2l0aEdlb21ldHJ5UmVzaXplKFxuICAgICAgICAgICAgICAgICAgICB3aXRoTGluZUNyZWF0ZUJ5RHJhdyh3aXRoR2VvbWV0cnlDcmVhdGVCeURyYWcod2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmF3KHdpdGhEcmF3RnJhZ21lbnQod2l0aERyYXdIb3RrZXkoYm9hcmQpKSkpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BoardTransforms, PlaitBoard, PlaitPointerType, RectangleClient, Transforms, addSelectedElement, clearSelectedElement, createForeignObject, createG, preventTouchMove, toPoint, transformPoint } from '@plait/core';
|
|
2
2
|
import { GeometryShape } from '../interfaces';
|
|
3
|
-
import { GeometryShapeGenerator } from '../
|
|
3
|
+
import { GeometryShapeGenerator } from '../generators/geometry-shape.generator';
|
|
4
4
|
import { createGeometryElement, getPointsByCenterPoint } from '../utils';
|
|
5
5
|
import { DefaultGeometryProperty, DefaultTextProperty, DrawPointerType, GeometryPointer, ShapeDefaultSpace } from '../constants';
|
|
6
6
|
import { normalizeShapePoints, isDndMode, isDrawingMode } from '@plait/common';
|
|
@@ -53,7 +53,7 @@ export const withGeometryCreateByDrag = (board) => {
|
|
|
53
53
|
}
|
|
54
54
|
geometryShapeG?.remove();
|
|
55
55
|
geometryShapeG = null;
|
|
56
|
-
preventTouchMove(board, false);
|
|
56
|
+
preventTouchMove(board, event, false);
|
|
57
57
|
pointerUp(event);
|
|
58
58
|
};
|
|
59
59
|
return board;
|
|
@@ -77,8 +77,8 @@ export const withGeometryCreateByDraw = (board) => {
|
|
|
77
77
|
if (isGeometryPointer && isDrawingMode(board)) {
|
|
78
78
|
const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
79
79
|
start = point;
|
|
80
|
-
preventTouchMove(board, true);
|
|
81
80
|
const pointer = PlaitBoard.getPointer(board);
|
|
81
|
+
preventTouchMove(board, event, true);
|
|
82
82
|
if (pointer === DrawPointerType.text) {
|
|
83
83
|
const points = getDefaultGeometryPoints(pointer, point);
|
|
84
84
|
const textElement = createGeometryElement(GeometryShape.text, points, DefaultTextProperty.text);
|
|
@@ -87,7 +87,6 @@ export const withGeometryCreateByDraw = (board) => {
|
|
|
87
87
|
addSelectedElement(board, textElement);
|
|
88
88
|
BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
|
|
89
89
|
start = null;
|
|
90
|
-
preventTouchMove(board, false);
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
92
|
pointerDown(event);
|
|
@@ -136,7 +135,7 @@ export const withGeometryCreateByDraw = (board) => {
|
|
|
136
135
|
geometryShapeG = null;
|
|
137
136
|
start = null;
|
|
138
137
|
temporaryElement = null;
|
|
139
|
-
preventTouchMove(board, false);
|
|
138
|
+
preventTouchMove(board, event, false);
|
|
140
139
|
pointerUp(event);
|
|
141
140
|
};
|
|
142
141
|
return board;
|
|
@@ -158,4 +157,4 @@ const getTemporaryTextG = (movingPoint) => {
|
|
|
158
157
|
textG.appendChild(foreignObject);
|
|
159
158
|
return textG;
|
|
160
159
|
};
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZW9tZXRyeS1jcmVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGdCQUFnQixFQUVoQixlQUFlLEVBQ2YsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGFBQWEsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxvQkFBb0IsRUFBcUIsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzFELE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLElBQUksY0FBYyxHQUF1QixJQUFJLENBQUM7SUFFOUMsS0FBSyxDQUFDLFdB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O0lBQ25ELFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNsQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFakMsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBCb2FyZFRyYW5zZm9ybXMsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBvaW50ZXJUeXBlLFxuICAgIFBvaW50LFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIGFkZFNlbGVjdGVkRWxlbWVudCxcbiAgICBjbGVhclNlbGVjdGVkRWxlbWVudCxcbiAgICBjcmVhdGVGb3JlaWduT2JqZWN0LFxuICAgIGNyZWF0ZUcsXG4gICAgcHJldmVudFRvdWNoTW92ZSxcbiAgICB0b1BvaW50LFxuICAgIHRyYW5zZm9ybVBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGUsIFBsYWl0R2VvbWV0cnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuLi9nZW5lcmF0b3IvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCwgZ2V0UG9pbnRzQnlDZW50ZXJQb2ludCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LCBEZWZhdWx0VGV4dFByb3BlcnR5LCBEcmF3UG9pbnRlclR5cGUsIEdlb21ldHJ5UG9pbnRlciwgU2hhcGVEZWZhdWx0U3BhY2UgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplU2hhcGVQb2ludHMsIEJvYXJkQ3JlYXRpb25Nb2RlLCBpc0RuZE1vZGUsIGlzRHJhd2luZ01vZGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBERUZBVUxUX0ZPTlRfU0laRSB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IGlzS2V5SG90a2V5IH0gZnJvbSAnaXMtaG90a2V5JztcblxuZXhwb3J0IGNvbnN0IHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhZyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgcG9pbnRlck1vdmUsIHBvaW50ZXJVcCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgZ2VvbWV0cnlTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBjcmVhdGVHKCk7XG5cbiAgICAgICAgY29uc3QgZ2VvbWV0cnlHZW5lcmF0b3IgPSBuZXcgR2VvbWV0cnlTaGFwZUdlbmVyYXRvcihib2FyZCk7XG4gICAgICAgIGNvbnN0IGlzR2VvbWV0cnlQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgR2VvbWV0cnlQb2ludGVyKTtcbiAgICAgICAgY29uc3QgZHJhZ01vZGUgPSBpc0dlb21ldHJ5UG9pbnRlciAmJiBpc0RuZE1vZGUoYm9hcmQpO1xuICAgICAgICBjb25zdCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuXG4gICAgICAgIGlmIChkcmFnTW9kZSkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKHBvaW50ZXIsIG1vdmluZ1BvaW50KTtcbiAgICAgICAgICAgIGlmIChwb2ludGVyID09PSBEcmF3UG9pbnRlclR5cGUudGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRHID0gZ2V0VGVtcG9yYXJ5VGV4dEcobW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgICAgIGdlb21ldHJ5U2hhcGVHLmFwcGVuZENoaWxkKHRleHRHKTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZW1wb3JhcnlFbGVtZW50ID0gY3JlYXRlR2VvbWV0cnlFbGVtZW50KChwb2ludGVyIGFzIHVua25vd24pIGFzIEdlb21ldHJ5U2hhcGUsIHBvaW50cywgJycsIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlQ29sb3I6IERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LnN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkuc3Ryb2tlV2lkdGhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBnZW9tZXRyeUdlbmVyYXRvci5kcmF3KHRlbXBvcmFyeUVsZW1lbnQsIGdlb21ldHJ5U2hhcGVHKTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBwb2ludGVyID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBEcmF3UG9pbnRlclR5cGU7XG4gICAgICAgIGNvbnN0IGlzR2VvbWV0cnlQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgR2VvbWV0cnlQb2ludGVyKTtcbiAgICAgICAgY29uc3QgZHJhZ01vZGUgPSBpc0dlb21ldHJ5UG9pbnRlciAmJiBpc0RuZE1vZGUoYm9hcmQpO1xuXG4gICAgICAgIGlmIChkcmFnTW9kZSkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMocG9pbnRlciwgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgaWYgKHBvaW50ZXIgPT09IERyYXdQb2ludGVyVHlwZS50ZXh0KSB7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuaW5zZXJ0VGV4dChib2FyZCwgcG9pbnRzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuaW5zZXJ0R2VvbWV0cnkoYm9hcmQsIHBvaW50cywgKHBvaW50ZXIgYXMgdW5rbm93bikgYXMgR2VvbWV0cnlTaGFwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBmYWxzZSk7XG5cbiAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhHZW9tZXRyeUNyZWF0ZUJ5RHJhdyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgcG9pbnRlckRvd24sIHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAsIGtleWRvd24sIGtleXVwIH0gPSBib2FyZDtcbiAgICBsZXQgc3RhcnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgZ2VvbWV0cnlTaGFwZUc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgdGVtcG9yYXJ5RWxlbWVudDogUGxhaXRHZW9tZXRyeSB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IGlzU2hpZnQgPSBmYWxzZTtcblxuICAgIGJvYXJkLmtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaXNTaGlmdCA9IGlzS2V5SG90a2V5KCdzaGlmdCcsIGV2ZW50KTtcbiAgICAgICAga2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmtleXVwID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlzU2hpZnQgPSBmYWxzZTtcbiAgICAgICAga2V5dXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyRG93biA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzR2VvbWV0cnlQb2ludGVyID0gUGxhaXRCb2FyZC5pc0luUG9pbnRlcihib2FyZCwgR2VvbWV0cnlQb2ludGVyKTtcbiAgICAgICAgaWYgKGlzR2VvbWV0cnlQb2ludGVyICYmIGlzRHJhd2luZ01vZGUoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIHN0YXJ0ID0gcG9pbnQ7XG4gICAgICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCB0cnVlKTtcblxuICAgICAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICAgICAgaWYgKHBvaW50ZXIgPT09IERyYXdQb2ludGVyVHlwZS50ZXh0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKHBvaW50ZXIsIHBvaW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudChHZW9tZXRyeVNoYXBlLnRleHQsIHBvaW50cywgRGVmYXVsdFRleHRQcm9wZXJ0eS50ZXh0KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRleHRFbGVtZW50LCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgICAgICAgICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQoYm9hcmQpO1xuICAgICAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGV4dEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5R2VuZXJhdG9yID0gbmV3IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IoYm9hcmQpO1xuICAgICAgICBjb25zdCBkcmF3TW9kZSA9ICEhc3RhcnQ7XG4gICAgICAgIGNvbnN0IG1vdmluZ1BvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCBwb2ludGVyID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBEcmF3UG9pbnRlclR5cGU7XG5cbiAgICAgICAgaWYgKGRyYXdNb2RlICYmIHBvaW50ZXIgIT09IERyYXdQb2ludGVyVHlwZS50ZXh0KSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBub3JtYWxpemVTaGFwZVBvaW50cyhbc3RhcnQhLCBtb3ZpbmdQb2ludF0sIGlzU2hpZnQpO1xuICAgICAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCgocG9pbnRlciBhcyB1bmtub3duKSBhcyBHZW9tZXRyeVNoYXBlLCBwb2ludHMsICcnLCB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlQ29sb3I6IERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LnN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0R2VvbWV0cnlQcm9wZXJ0eS5zdHJva2VXaWR0aFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBnZW9tZXRyeUdlbmVyYXRvci5kcmF3KHRlbXBvcmFyeUVsZW1lbnQsIGdlb21ldHJ5U2hhcGVHKTtcbiAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQpLmFwcGVuZChnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzRHJhd01vZGUgPSAhIXN0YXJ0O1xuICAgICAgICBpZiAoaXNEcmF3TW9kZSkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbc3RhcnQhLCB0YXJnZXRQb2ludF0pO1xuICAgICAgICAgICAgaWYgKE1hdGguaHlwb3Qod2lkdGgsIGhlaWdodCkgPT09IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb2ludGVyID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBEcmF3UG9pbnRlclR5cGU7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKHBvaW50ZXIsIHRhcmdldFBvaW50KTtcbiAgICAgICAgICAgICAgICBpZiAocG9pbnRlciAhPT0gRHJhd1BvaW50ZXJUeXBlLnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5RWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCgocG9pbnRlciBhcyB1bmtub3duKSBhcyBHZW9tZXRyeVNoYXBlLCBwb2ludHMsICcnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VDb2xvcjogRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkuc3Ryb2tlQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkuc3Ryb2tlV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBudWxsO1xuICAgICAgICBzdGFydCA9IG51bGw7XG4gICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBmYWxzZSk7XG5cbiAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuY29uc3QgZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzID0gKHBvaW50ZXI6IERyYXdQb2ludGVyVHlwZSwgdGFyZ2V0UG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgcmV0dXJuIHBvaW50ZXIgPT09IERyYXdQb2ludGVyVHlwZS50ZXh0XG4gICAgICAgID8gZ2V0UG9pbnRzQnlDZW50ZXJQb2ludCh0YXJnZXRQb2ludCwgRGVmYXVsdFRleHRQcm9wZXJ0eS53aWR0aCwgRGVmYXVsdFRleHRQcm9wZXJ0eS5oZWlnaHQpXG4gICAgICAgIDogZ2V0UG9pbnRzQnlDZW50ZXJQb2ludCh0YXJnZXRQb2ludCwgRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkud2lkdGgsIERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LmhlaWdodCk7XG59O1xuXG5jb25zdCBnZXRUZW1wb3JhcnlUZXh0RyA9IChtb3ZpbmdQb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCB0ZXh0RyA9IGNyZWF0ZUcoKTtcbiAgICBjb25zdCB3aWR0aCA9IERlZmF1bHRUZXh0UHJvcGVydHkud2lkdGggLSBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICogMjtcbiAgICBjb25zdCBmb3JlaWduT2JqZWN0ID0gY3JlYXRlRm9yZWlnbk9iamVjdChcbiAgICAgICAgbW92aW5nUG9pbnRbMF0gLSB3aWR0aCAvIDIsXG4gICAgICAgIG1vdmluZ1BvaW50WzFdIC0gRGVmYXVsdFRleHRQcm9wZXJ0eS5oZWlnaHQgLyAyLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgRGVmYXVsdFRleHRQcm9wZXJ0eS5oZWlnaHRcbiAgICApO1xuXG4gICAgY29uc3QgcmljaHRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICByaWNodGV4dC50ZXh0Q29udGVudCA9IERlZmF1bHRUZXh0UHJvcGVydHkudGV4dDtcbiAgICByaWNodGV4dC5zdHlsZS5mb250U2l6ZSA9IGAke0RFRkFVTFRfRk9OVF9TSVpFfXB4YDtcbiAgICByaWNodGV4dC5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCc7XG4gICAgZm9yZWlnbk9iamVjdC5hcHBlbmRDaGlsZChyaWNodGV4dCk7XG4gICAgdGV4dEcuYXBwZW5kQ2hpbGQoZm9yZWlnbk9iamVjdCk7XG5cbiAgICByZXR1cm4gdGV4dEc7XG59O1xuIl19
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZW9tZXRyeS1jcmVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGdCQUFnQixFQUVoQixlQUFlLEVBQ2YsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGFBQWEsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDMUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFekMsSUFBSSxjQUFjLEdBQXVCLElBQUksQ0FBQztJQUU5QyxLQUFLLENBQUMsV0FB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QUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbEMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRWpDLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9hcmRUcmFuc2Zvcm1zLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQsXG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQsXG4gICAgY3JlYXRlRm9yZWlnbk9iamVjdCxcbiAgICBjcmVhdGVHLFxuICAgIHByZXZlbnRUb3VjaE1vdmUsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlLCBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi4vZ2VuZXJhdG9ycy9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgY3JlYXRlR2VvbWV0cnlFbGVtZW50LCBnZXRQb2ludHNCeUNlbnRlclBvaW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRGVmYXVsdEdlb21ldHJ5UHJvcGVydHksIERlZmF1bHRUZXh0UHJvcGVydHksIERyYXdQb2ludGVyVHlwZSwgR2VvbWV0cnlQb2ludGVyLCBTaGFwZURlZmF1bHRTcGFjZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBub3JtYWxpemVTaGFwZVBvaW50cywgaXNEbmRNb2RlLCBpc0RyYXdpbmdNb2RlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgREVGQVVMVF9GT05UX1NJWkUgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5cbmV4cG9ydCBjb25zdCB3aXRoR2VvbWV0cnlDcmVhdGVCeURyYWcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuXG4gICAgbGV0IGdlb21ldHJ5U2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gY3JlYXRlRygpO1xuXG4gICAgICAgIGNvbnN0IGdlb21ldHJ5R2VuZXJhdG9yID0gbmV3IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IoYm9hcmQpO1xuICAgICAgICBjb25zdCBpc0dlb21ldHJ5UG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIEdlb21ldHJ5UG9pbnRlcik7XG4gICAgICAgIGNvbnN0IGRyYWdNb2RlID0gaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEbmRNb2RlKGJvYXJkKTtcbiAgICAgICAgY29uc3QgbW92aW5nUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgIGNvbnN0IHBvaW50ZXIgPSBQbGFpdEJvYXJkLmdldFBvaW50ZXIoYm9hcmQpIGFzIERyYXdQb2ludGVyVHlwZTtcblxuICAgICAgICBpZiAoZHJhZ01vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhwb2ludGVyLCBtb3ZpbmdQb2ludCk7XG4gICAgICAgICAgICBpZiAocG9pbnRlciA9PT0gRHJhd1BvaW50ZXJUeXBlLnRleHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0RyA9IGdldFRlbXBvcmFyeVRleHRHKG1vdmluZ1BvaW50KTtcbiAgICAgICAgICAgICAgICBnZW9tZXRyeVNoYXBlRy5hcHBlbmRDaGlsZCh0ZXh0Ryk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKGdlb21ldHJ5U2hhcGVHKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGVtcG9yYXJ5RWxlbWVudCA9IGNyZWF0ZUdlb21ldHJ5RWxlbWVudCgocG9pbnRlciBhcyB1bmtub3duKSBhcyBHZW9tZXRyeVNoYXBlLCBwb2ludHMsICcnLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZUNvbG9yOiBEZWZhdWx0R2VvbWV0cnlQcm9wZXJ0eS5zdHJva2VDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LnN0cm9rZVdpZHRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZ2VvbWV0cnlHZW5lcmF0b3IuZHJhdyh0ZW1wb3JhcnlFbGVtZW50LCBnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKGdlb21ldHJ5U2hhcGVHKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlclVwID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICBjb25zdCBpc0dlb21ldHJ5UG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNJblBvaW50ZXIoYm9hcmQsIEdlb21ldHJ5UG9pbnRlcik7XG4gICAgICAgIGNvbnN0IGRyYWdNb2RlID0gaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEbmRNb2RlKGJvYXJkKTtcblxuICAgICAgICBpZiAoZHJhZ01vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gZ2V0RGVmYXVsdEdlb21ldHJ5UG9pbnRzKHBvaW50ZXIsIHRhcmdldFBvaW50KTtcbiAgICAgICAgICAgIGlmIChwb2ludGVyID09PSBEcmF3UG9pbnRlclR5cGUudGV4dCkge1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLmluc2VydFRleHQoYm9hcmQsIHBvaW50cyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLmluc2VydEdlb21ldHJ5KGJvYXJkLCBwb2ludHMsIChwb2ludGVyIGFzIHVua25vd24pIGFzIEdlb21ldHJ5U2hhcGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gbnVsbDtcbiAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIGZhbHNlKTtcblxuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEdlb21ldHJ5Q3JlYXRlQnlEcmF3ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIHBvaW50ZXJVcCwga2V5ZG93biwga2V5dXAgfSA9IGJvYXJkO1xuICAgIGxldCBzdGFydDogUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBnZW9tZXRyeVNoYXBlRzogU1ZHR0VsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCB0ZW1wb3JhcnlFbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBsZXQgaXNTaGlmdCA9IGZhbHNlO1xuXG4gICAgYm9hcmQua2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpc1NoaWZ0ID0gaXNLZXlIb3RrZXkoJ3NoaWZ0JywgZXZlbnQpO1xuICAgICAgICBrZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQua2V5dXAgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaXNTaGlmdCA9IGZhbHNlO1xuICAgICAgICBrZXl1cChldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaXNHZW9tZXRyeVBvaW50ZXIgPSBQbGFpdEJvYXJkLmlzSW5Qb2ludGVyKGJvYXJkLCBHZW9tZXRyeVBvaW50ZXIpO1xuICAgICAgICBpZiAoaXNHZW9tZXRyeVBvaW50ZXIgJiYgaXNEcmF3aW5nTW9kZShib2FyZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgc3RhcnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ZXIgPSBQbGFpdEJvYXJkLmdldFBvaW50ZXIoYm9hcmQpIGFzIERyYXdQb2ludGVyVHlwZTtcbiAgICAgICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCB0cnVlKTtcbiAgICAgICAgICAgIGlmIChwb2ludGVyID09PSBEcmF3UG9pbnRlclR5cGUudGV4dCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhwb2ludGVyLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoR2VvbWV0cnlTaGFwZS50ZXh0LCBwb2ludHMsIERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCB0ZXh0RWxlbWVudCwgW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF0pO1xuICAgICAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgICAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIHRleHRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBzdGFydCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgZ2VvbWV0cnlTaGFwZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5R2VuZXJhdG9yID0gbmV3IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IoYm9hcmQpO1xuICAgICAgICBjb25zdCBkcmF3TW9kZSA9ICEhc3RhcnQ7XG4gICAgICAgIGNvbnN0IG1vdmluZ1BvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCBwb2ludGVyID0gUGxhaXRCb2FyZC5nZXRQb2ludGVyKGJvYXJkKSBhcyBEcmF3UG9pbnRlclR5cGU7XG4gICAgICAgIGlmIChkcmF3TW9kZSAmJiBwb2ludGVyICE9PSBEcmF3UG9pbnRlclR5cGUudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gbm9ybWFsaXplU2hhcGVQb2ludHMoW3N0YXJ0ISwgbW92aW5nUG9pbnRdLCBpc1NoaWZ0KTtcbiAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoKHBvaW50ZXIgYXMgdW5rbm93bikgYXMgR2VvbWV0cnlTaGFwZSwgcG9pbnRzLCAnJywge1xuICAgICAgICAgICAgICAgIHN0cm9rZUNvbG9yOiBEZWZhdWx0R2VvbWV0cnlQcm9wZXJ0eS5zdHJva2VDb2xvcixcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkuc3Ryb2tlV2lkdGhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZ2VvbWV0cnlHZW5lcmF0b3IuZHJhdyh0ZW1wb3JhcnlFbGVtZW50LCBnZW9tZXRyeVNoYXBlRyk7XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoZ2VvbWV0cnlTaGFwZUcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpc0RyYXdNb2RlID0gISFzdGFydDtcbiAgICAgICAgaWYgKGlzRHJhd01vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3N0YXJ0ISwgdGFyZ2V0UG9pbnRdKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmh5cG90KHdpZHRoLCBoZWlnaHQpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pbnRlciA9IFBsYWl0Qm9hcmQuZ2V0UG9pbnRlcihib2FyZCkgYXMgRHJhd1BvaW50ZXJUeXBlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldERlZmF1bHRHZW9tZXRyeVBvaW50cyhwb2ludGVyLCB0YXJnZXRQb2ludCk7XG4gICAgICAgICAgICAgICAgaWYgKHBvaW50ZXIgIT09IERyYXdQb2ludGVyVHlwZS50ZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVHZW9tZXRyeUVsZW1lbnQoKHBvaW50ZXIgYXMgdW5rbm93bikgYXMgR2VvbWV0cnlTaGFwZSwgcG9pbnRzLCAnJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlQ29sb3I6IERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LnN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LnN0cm9rZVdpZHRoXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGVtcG9yYXJ5RWxlbWVudCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCB0ZW1wb3JhcnlFbGVtZW50LCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgICAgICBjbGVhclNlbGVjdGVkRWxlbWVudChib2FyZCk7XG4gICAgICAgICAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQpO1xuICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBnZW9tZXRyeVNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGdlb21ldHJ5U2hhcGVHID0gbnVsbDtcbiAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICB0ZW1wb3JhcnlFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIGZhbHNlKTtcblxuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuXG5jb25zdCBnZXREZWZhdWx0R2VvbWV0cnlQb2ludHMgPSAocG9pbnRlcjogRHJhd1BvaW50ZXJUeXBlLCB0YXJnZXRQb2ludDogUG9pbnQpID0+IHtcbiAgICByZXR1cm4gcG9pbnRlciA9PT0gRHJhd1BvaW50ZXJUeXBlLnRleHRcbiAgICAgICAgPyBnZXRQb2ludHNCeUNlbnRlclBvaW50KHRhcmdldFBvaW50LCBEZWZhdWx0VGV4dFByb3BlcnR5LndpZHRoLCBEZWZhdWx0VGV4dFByb3BlcnR5LmhlaWdodClcbiAgICAgICAgOiBnZXRQb2ludHNCeUNlbnRlclBvaW50KHRhcmdldFBvaW50LCBEZWZhdWx0R2VvbWV0cnlQcm9wZXJ0eS53aWR0aCwgRGVmYXVsdEdlb21ldHJ5UHJvcGVydHkuaGVpZ2h0KTtcbn07XG5cbmNvbnN0IGdldFRlbXBvcmFyeVRleHRHID0gKG1vdmluZ1BvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHRleHRHID0gY3JlYXRlRygpO1xuICAgIGNvbnN0IHdpZHRoID0gRGVmYXVsdFRleHRQcm9wZXJ0eS53aWR0aCAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyO1xuICAgIGNvbnN0IGZvcmVpZ25PYmplY3QgPSBjcmVhdGVGb3JlaWduT2JqZWN0KFxuICAgICAgICBtb3ZpbmdQb2ludFswXSAtIHdpZHRoIC8gMixcbiAgICAgICAgbW92aW5nUG9pbnRbMV0gLSBEZWZhdWx0VGV4dFByb3BlcnR5LmhlaWdodCAvIDIsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBEZWZhdWx0VGV4dFByb3BlcnR5LmhlaWdodFxuICAgICk7XG5cbiAgICBjb25zdCByaWNodGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHJpY2h0ZXh0LnRleHRDb250ZW50ID0gRGVmYXVsdFRleHRQcm9wZXJ0eS50ZXh0O1xuICAgIHJpY2h0ZXh0LnN0eWxlLmZvbnRTaXplID0gYCR7REVGQVVMVF9GT05UX1NJWkV9cHhgO1xuICAgIHJpY2h0ZXh0LnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JztcbiAgICBmb3JlaWduT2JqZWN0LmFwcGVuZENoaWxkKHJpY2h0ZXh0KTtcbiAgICB0ZXh0Ry5hcHBlbmRDaGlsZChmb3JlaWduT2JqZWN0KTtcblxuICAgIHJldHVybiB0ZXh0Rztcbn07XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { PlaitElement } from '@plait/core';
|
|
1
|
+
import { PlaitElement, getSelectedElements } from '@plait/core';
|
|
2
|
+
import { PlaitGeometry } from '../interfaces/geometry';
|
|
2
3
|
import { ResizeHandle, normalizeShapePoints, withResize } from '@plait/common';
|
|
3
4
|
import { getSelectedGeometryElements } from '../utils/selected';
|
|
4
5
|
import { getHitGeometryResizeHandleRef } from '../utils/position/geometry';
|
|
@@ -22,7 +23,7 @@ export const withGeometryResize = (board) => {
|
|
|
22
23
|
},
|
|
23
24
|
detect: (point) => {
|
|
24
25
|
const selectedGeometryElements = getSelectedGeometryElements(board);
|
|
25
|
-
if (selectedGeometryElements.length !== 1) {
|
|
26
|
+
if (selectedGeometryElements.length !== 1 || getSelectedElements(board).length !== 1) {
|
|
26
27
|
return null;
|
|
27
28
|
}
|
|
28
29
|
const target = selectedGeometryElements[0];
|
|
@@ -60,12 +61,11 @@ export const withGeometryResize = (board) => {
|
|
|
60
61
|
];
|
|
61
62
|
}
|
|
62
63
|
points = normalizeShapePoints(points, isShift);
|
|
63
|
-
const
|
|
64
|
-
const { height: textHeight } = component.textManage.getSize();
|
|
64
|
+
const { height: textHeight } = PlaitGeometry.getTextManage(resizeRef.element).getSize();
|
|
65
65
|
DrawTransforms.resizeGeometry(board, points, textHeight, resizeRef.path);
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
withResize(board, options);
|
|
69
69
|
return board;
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1nZW9tZXRyeS1yZXNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtZ2VvbWV0cnktcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQVMsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQTZDLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHeEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDcEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFakMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXBCLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDckMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDbkMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQXFDO1FBQzlDLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDckIsTUFBTSx3QkFBd0IsR0FBRywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRSxJQUFJLHdCQUF3QixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDbEYsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE1BQU0sTUFBTSxHQUFHLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQXNCLENBQUM7WUFDcEcsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRTtnQkFDakQsTUFBTSxTQUFTLEdBQUcsNkJBQTZCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdEUsSUFBSSxTQUFTLEVBQUU7b0JBQ1gsT0FBTzt3QkFDSCxPQUFPLEVBQUUsTUFBTTt3QkFDZixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07d0JBQ3hCLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVztxQkFDckMsQ0FBQztpQkFDTDthQUNKO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELFFBQVEsRUFBRSxDQUFDLFNBQW1DLEVBQUUsV0FBd0IsRUFBRSxFQUFFO1lBQ3hFLElBQUksTUFBTSxHQUFtQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekU7WUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxHQUFHO29CQUNMLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNsRSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDckUsQ0FBQzthQUNMO1lBQ0QsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3pFO1lBQ0QsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sR0FBRztvQkFDTCxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JFLENBQUM7YUFDTDtZQUNELE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4RixjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxDQUFDO0tBQ0osQ0FBQztJQUVGLFVBQVUsQ0FBZ0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTFDLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBSZXNpemVIYW5kbGUsIFJlc2l6ZVJlZiwgUmVzaXplU3RhdGUsIFdpdGhSZXNpemVPcHRpb25zLCBub3JtYWxpemVTaGFwZVBvaW50cywgd2l0aFJlc2l6ZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRHZW9tZXRyeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQnO1xuaW1wb3J0IHsgZ2V0SGl0R2VvbWV0cnlSZXNpemVIYW5kbGVSZWYgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgaXNLZXlIb3RrZXkgfSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgR2VvbWV0cnlDb21wb25lbnQgfSBmcm9tICcuLi9nZW9tZXRyeS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEdlb21ldHJ5UmVzaXplID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBrZXlkb3duLCBrZXl1cCB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgaXNTaGlmdCA9IGZhbHNlO1xuXG4gICAgYm9hcmQua2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpc1NoaWZ0ID0gaXNLZXlIb3RrZXkoJ3NoaWZ0JywgZXZlbnQpO1xuICAgICAgICBrZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQua2V5dXAgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaXNTaGlmdCA9IGZhbHNlO1xuICAgICAgICBrZXl1cChldmVudCk7XG4gICAgfTtcblxuICAgIGNvbnN0IG9wdGlvbnM6IFdpdGhSZXNpemVPcHRpb25zPFBsYWl0R2VvbWV0cnk+ID0ge1xuICAgICAgICBrZXk6ICdkcmF3LWdlb21ldHJ5JyxcbiAgICAgICAgY2FuUmVzaXplOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZGV0ZWN0OiAocG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZEdlb21ldHJ5RWxlbWVudHMgPSBnZXRTZWxlY3RlZEdlb21ldHJ5RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkR2VvbWV0cnlFbGVtZW50cy5sZW5ndGggIT09IDEgfHwgZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBzZWxlY3RlZEdlb21ldHJ5RWxlbWVudHNbMF07XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KHNlbGVjdGVkR2VvbWV0cnlFbGVtZW50c1swXSkgYXMgR2VvbWV0cnlDb21wb25lbnQ7XG4gICAgICAgICAgICBpZiAodGFyZ2V0Q29tcG9uZW50LmFjdGl2ZUdlbmVyYXRvci5oYXNSZXNpemVIYW5kbGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVSZWYgPSBnZXRIaXRHZW9tZXRyeVJlc2l6ZUhhbmRsZVJlZihib2FyZCwgdGFyZ2V0LCBwb2ludCk7XG4gICAgICAgICAgICAgICAgaWYgKGhhbmRsZVJlZikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogdGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlOiBoYW5kbGVSZWYuaGFuZGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yQ2xhc3M6IGhhbmRsZVJlZi5jdXJzb3JDbGFzc1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgICAgICBvblJlc2l6ZTogKHJlc2l6ZVJlZjogUmVzaXplUmVmPFBsYWl0R2VvbWV0cnk+LCByZXNpemVTdGF0ZTogUmVzaXplU3RhdGUpID0+IHtcbiAgICAgICAgICAgIGxldCBwb2ludHM6IFtQb2ludCwgUG9pbnRdID0gWy4uLnJlc2l6ZVJlZi5lbGVtZW50LnBvaW50c107XG4gICAgICAgICAgICBpZiAocmVzaXplUmVmLmhhbmRsZSA9PT0gUmVzaXplSGFuZGxlLm53KSB7XG4gICAgICAgICAgICAgICAgcG9pbnRzID0gW3Jlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50LCByZXNpemVSZWYuZWxlbWVudC5wb2ludHNbMV1dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlc2l6ZVJlZi5oYW5kbGUgPT09IFJlc2l6ZUhhbmRsZS5uZSkge1xuICAgICAgICAgICAgICAgIHBvaW50cyA9IFtcbiAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZVJlZi5lbGVtZW50LnBvaW50c1swXVswXSwgcmVzaXplU3RhdGUuZW5kVHJhbnNmb3JtUG9pbnRbMV1dLFxuICAgICAgICAgICAgICAgICAgICBbcmVzaXplU3RhdGUuZW5kVHJhbnNmb3JtUG9pbnRbMF0sIHJlc2l6ZVJlZi5lbGVtZW50LnBvaW50c1sxXVsxXV1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlc2l6ZVJlZi5oYW5kbGUgPT09IFJlc2l6ZUhhbmRsZS5zZSkge1xuICAgICAgICAgICAgICAgIHBvaW50cyA9IFtyZXNpemVSZWYuZWxlbWVudC5wb2ludHNbMF0sIHJlc2l6ZVN0YXRlLmVuZFRyYW5zZm9ybVBvaW50XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXNpemVSZWYuaGFuZGxlID09PSBSZXNpemVIYW5kbGUuc3cpIHtcbiAgICAgICAgICAgICAgICBwb2ludHMgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtyZXNpemVTdGF0ZS5lbmRUcmFuc2Zvcm1Qb2ludFswXSwgcmVzaXplUmVmLmVsZW1lbnQucG9pbnRzWzBdWzFdXSxcbiAgICAgICAgICAgICAgICAgICAgW3Jlc2l6ZVJlZi5lbGVtZW50LnBvaW50c1sxXVswXSwgcmVzaXplU3RhdGUuZW5kVHJhbnNmb3JtUG9pbnRbMV1dXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvaW50cyA9IG5vcm1hbGl6ZVNoYXBlUG9pbnRzKHBvaW50cywgaXNTaGlmdCk7XG4gICAgICAgICAgICBjb25zdCB7IGhlaWdodDogdGV4dEhlaWdodCB9ID0gUGxhaXRHZW9tZXRyeS5nZXRUZXh0TWFuYWdlKHJlc2l6ZVJlZi5lbGVtZW50KS5nZXRTaXplKCk7XG4gICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5yZXNpemVHZW9tZXRyeShib2FyZCwgcG9pbnRzLCB0ZXh0SGVpZ2h0LCByZXNpemVSZWYucGF0aCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgd2l0aFJlc2l6ZTxQbGFpdEdlb21ldHJ5Pihib2FyZCwgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { PlaitBoard, RectangleClient, SELECTION_BORDER_COLOR, drawCircle, toPoint, transformPoint } from '@plait/core';
|
|
1
|
+
import { ACTIVE_STROKE_WIDTH, PlaitBoard, RectangleClient, SELECTION_BORDER_COLOR, drawCircle, toPoint, transformPoint } from '@plait/core';
|
|
2
2
|
import { PlaitDrawElement } from '../interfaces';
|
|
3
3
|
import { drawBoundMask, getHitConnectorPoint, getNearestPoint } from '../utils';
|
|
4
4
|
import { DrawPointerType } from '../constants';
|
|
5
5
|
import { getRectangleByPoints, isResizingByCondition } from '@plait/common';
|
|
6
|
-
import { getStrokeWidthByElement } from '../utils/style/stroke';
|
|
7
6
|
import { getHitOutlineGeometry } from '../utils/position/geometry';
|
|
8
7
|
export const withLineBoundReaction = (board) => {
|
|
9
8
|
const { pointerMove, pointerUp } = board;
|
|
@@ -17,15 +16,14 @@ export const withLineBoundReaction = (board) => {
|
|
|
17
16
|
const hitElement = getHitOutlineGeometry(board, movingPoint, -4);
|
|
18
17
|
if (hitElement) {
|
|
19
18
|
boundShapeG = drawBoundMask(board, hitElement);
|
|
20
|
-
|
|
21
|
-
let nearestPoint = getNearestPoint(hitElement, movingPoint, offset);
|
|
19
|
+
let nearestPoint = getNearestPoint(hitElement, movingPoint, ACTIVE_STROKE_WIDTH);
|
|
22
20
|
const rectangle = getRectangleByPoints(hitElement.points);
|
|
23
|
-
const activeRectangle = RectangleClient.
|
|
21
|
+
const activeRectangle = RectangleClient.inflate(rectangle, ACTIVE_STROKE_WIDTH);
|
|
24
22
|
const hitConnector = getHitConnectorPoint(nearestPoint, hitElement, activeRectangle);
|
|
25
23
|
nearestPoint = hitConnector ? hitConnector : nearestPoint;
|
|
26
24
|
const circleG = drawCircle(PlaitBoard.getRoughSVG(board), nearestPoint, 6, {
|
|
27
25
|
stroke: SELECTION_BORDER_COLOR,
|
|
28
|
-
strokeWidth:
|
|
26
|
+
strokeWidth: ACTIVE_STROKE_WIDTH,
|
|
29
27
|
fill: SELECTION_BORDER_COLOR,
|
|
30
28
|
fillStyle: 'solid'
|
|
31
29
|
});
|
|
@@ -42,4 +40,4 @@ export const withLineBoundReaction = (board) => {
|
|
|
42
40
|
};
|
|
43
41
|
return board;
|
|
44
42
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLWJvdW5kLXJlYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWxpbmUtYm91bmQtcmVhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3ZELE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLElBQUksV0FBVyxHQUF1QixJQUFJLENBQUM7SUFFM0MsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDdEIsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVqRyxJQUFJLGFBQWEsSUFBSSxjQUFjLEVBQUU7WUFDakMsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksVUFBVSxFQUFFO2dCQUNaLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLFlBQVksR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNqRixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUM7Z0JBQ2hGLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7Z0JBQ3JGLFlBQVksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2dCQUMxRCxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFO29CQUN2RSxNQUFNLEVBQUUsc0JBQXNCO29CQUM5QixXQUFXLEVBQUUsbUJBQW1CO29CQUNoQyxJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixTQUFTLEVBQUUsT0FBTztpQkFDckIsQ0FBQyxDQUFDO2dCQUNILFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2pDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUQ7U0FDSjtRQUVELFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN0QixXQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5CLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQ1RJVkVfU1RST0tFX1dJRFRILCBQbGFpdEJvYXJkLCBSZWN0YW5nbGVDbGllbnQsIFNFTEVDVElPTl9CT1JERVJfQ09MT1IsIGRyYXdDaXJjbGUsIHRvUG9pbnQsIHRyYW5zZm9ybVBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZHJhd0JvdW5kTWFzaywgZ2V0SGl0Q29ubmVjdG9yUG9pbnQsIGdldE5lYXJlc3RQb2ludCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IERyYXdQb2ludGVyVHlwZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeVBvaW50cywgaXNSZXNpemluZ0J5Q29uZGl0aW9uIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRIaXRPdXRsaW5lR2VvbWV0cnkgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9nZW9tZXRyeSc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTGluZUJvdW5kUmVhY3Rpb24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuXG4gICAgbGV0IGJvdW5kU2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBib3VuZFNoYXBlRz8ucmVtb3ZlKCk7XG4gICAgICAgIGNvbnN0IGlzTGluZVBvaW50ZXIgPSBQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgRHJhd1BvaW50ZXJUeXBlLmxpbmUpO1xuICAgICAgICBjb25zdCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgaXNMaW5lUmVzaXppbmcgPSBpc1Jlc2l6aW5nQnlDb25kaXRpb24oYm9hcmQsIGVsZW1lbnQgPT4gUGxhaXREcmF3RWxlbWVudC5pc0xpbmUoZWxlbWVudCkpO1xuXG4gICAgICAgIGlmIChpc0xpbmVQb2ludGVyIHx8IGlzTGluZVJlc2l6aW5nKSB7XG4gICAgICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0T3V0bGluZUdlb21ldHJ5KGJvYXJkLCBtb3ZpbmdQb2ludCwgLTQpO1xuICAgICAgICAgICAgaWYgKGhpdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZFNoYXBlRyA9IGRyYXdCb3VuZE1hc2soYm9hcmQsIGhpdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGxldCBuZWFyZXN0UG9pbnQgPSBnZXROZWFyZXN0UG9pbnQoaGl0RWxlbWVudCwgbW92aW5nUG9pbnQsIEFDVElWRV9TVFJPS0VfV0lEVEgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKGhpdEVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuaW5mbGF0ZShyZWN0YW5nbGUsIEFDVElWRV9TVFJPS0VfV0lEVEgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhpdENvbm5lY3RvciA9IGdldEhpdENvbm5lY3RvclBvaW50KG5lYXJlc3RQb2ludCwgaGl0RWxlbWVudCwgYWN0aXZlUmVjdGFuZ2xlKTtcbiAgICAgICAgICAgICAgICBuZWFyZXN0UG9pbnQgPSBoaXRDb25uZWN0b3IgPyBoaXRDb25uZWN0b3IgOiBuZWFyZXN0UG9pbnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgY2lyY2xlRyA9IGRyYXdDaXJjbGUoUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCksIG5lYXJlc3RQb2ludCwgNiwge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBib3VuZFNoYXBlRy5hcHBlbmRDaGlsZChjaXJjbGVHKTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQoYm91bmRTaGFwZUcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyVXAgPSBldmVudCA9PiB7XG4gICAgICAgIGJvdW5kU2hhcGVHPy5yZW1vdmUoKTtcbiAgICAgICAgYm91bmRTaGFwZUcgPSBudWxsO1xuXG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { LineMarkerType, LineShape } from '../interfaces';
|
|
|
3
3
|
import { createLineElement, transformPointToConnection } from '../utils';
|
|
4
4
|
import { DrawPointerType } from '../constants';
|
|
5
5
|
import { DefaultLineStyle } from '../constants/line';
|
|
6
|
-
import { LineShapeGenerator } from '../
|
|
6
|
+
import { LineShapeGenerator } from '../generators/line.generator';
|
|
7
7
|
import { getHitOutlineGeometry } from '../utils/position/geometry';
|
|
8
8
|
import { isDrawingMode } from '@plait/common';
|
|
9
9
|
export const withLineCreateByDraw = (board) => {
|
|
@@ -23,7 +23,7 @@ export const withLineCreateByDraw = (board) => {
|
|
|
23
23
|
sourceRef.connection = transformPointToConnection(board, point, hitElement);
|
|
24
24
|
sourceRef.boundId = hitElement.id;
|
|
25
25
|
}
|
|
26
|
-
preventTouchMove(board, true);
|
|
26
|
+
preventTouchMove(board, event, true);
|
|
27
27
|
}
|
|
28
28
|
pointerDown(event);
|
|
29
29
|
};
|
|
@@ -58,9 +58,9 @@ export const withLineCreateByDraw = (board) => {
|
|
|
58
58
|
sourceRef = {};
|
|
59
59
|
targetRef = {};
|
|
60
60
|
temporaryElement = null;
|
|
61
|
-
preventTouchMove(board, false);
|
|
61
|
+
preventTouchMove(board, event, false);
|
|
62
62
|
pointerUp(event);
|
|
63
63
|
};
|
|
64
64
|
return board;
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLWNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1saW5lLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixnQkFBZ0IsRUFFaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQWMsY0FBYyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFdEQsSUFBSSxLQUFLLEdBQWlCLElBQUksQ0FBQztJQUUvQixJQUFJLFNBQVMsR0FBd0IsRUFBRSxDQUFDO0lBRXhDLElBQUksU0FBUyxHQUF3QixFQUFFLENBQUM7SUFFeEMsSUFBSSxVQUFVLEdBQXVCLElBQUksQ0FBQztJQUUxQyxJQUFJLGdCQUFnQixHQUFxQixJQUFJLENBQUM7SUFF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QUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQ3RDLElBQUksZ0JBQWdCLEVBQUU7WUFDbEIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsa0JBQWtCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDNUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4RTtRQUVELFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNyQixVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDYixTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEJvYXJkVHJhbnNmb3JtcyxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UG9pbnRlclR5cGUsXG4gICAgUG9pbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQsXG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQsXG4gICAgY3JlYXRlRyxcbiAgICBwcmV2ZW50VG91Y2hNb3ZlLFxuICAgIHRvUG9pbnQsXG4gICAgdHJhbnNmb3JtUG9pbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTGluZUhhbmRsZSwgTGluZU1hcmtlclR5cGUsIExpbmVTaGFwZSwgUGxhaXRHZW9tZXRyeSwgUGxhaXRMaW5lIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVMaW5lRWxlbWVudCwgdHJhbnNmb3JtUG9pbnRUb0Nvbm5lY3Rpb24gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBEcmF3UG9pbnRlclR5cGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGVmYXVsdExpbmVTdHlsZSB9IGZyb20gJy4uL2NvbnN0YW50cy9saW5lJztcbmltcG9ydCB7IExpbmVTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvbGluZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgZ2V0SGl0T3V0bGluZUdlb21ldHJ5IH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vZ2VvbWV0cnknO1xuaW1wb3J0IHsgaXNEcmF3aW5nTW9kZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3Qgd2l0aExpbmVDcmVhdGVCeURyYXcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgcG9pbnRlclVwIH0gPSBib2FyZDtcblxuICAgIGxldCBzdGFydDogUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxldCBzb3VyY2VSZWY6IFBhcnRpYWw8TGluZUhhbmRsZT4gPSB7fTtcblxuICAgIGxldCB0YXJnZXRSZWY6IFBhcnRpYWw8TGluZUhhbmRsZT4gPSB7fTtcblxuICAgIGxldCBsaW5lU2hhcGVHOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgbGV0IHRlbXBvcmFyeUVsZW1lbnQ6IFBsYWl0TGluZSB8IG51bGwgPSBudWxsO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpc0xpbmVQb2ludGVyID0gUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIERyYXdQb2ludGVyVHlwZS5saW5lKTtcbiAgICAgICAgaWYgKGlzTGluZVBvaW50ZXIgJiYgaXNEcmF3aW5nTW9kZShib2FyZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgc3RhcnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRPdXRsaW5lR2VvbWV0cnkoYm9hcmQsIHBvaW50LCAtNCk7XG4gICAgICAgICAgICBpZiAoaGl0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHNvdXJjZVJlZi5jb25uZWN0aW9uID0gdHJhbnNmb3JtUG9pbnRUb0Nvbm5lY3Rpb24oYm9hcmQsIHBvaW50LCBoaXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBzb3VyY2VSZWYuYm91bmRJZCA9IGhpdEVsZW1lbnQuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGxpbmVTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBsaW5lU2hhcGVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBtb3ZpbmdQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcblxuICAgICAgICBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRPdXRsaW5lR2VvbWV0cnkoYm9hcmQsIG1vdmluZ1BvaW50LCAtNCk7XG4gICAgICAgICAgICB0YXJnZXRSZWYuY29ubmVjdGlvbiA9IGhpdEVsZW1lbnQgPyB0cmFuc2Zvcm1Qb2ludFRvQ29ubmVjdGlvbihib2FyZCwgbW92aW5nUG9pbnQsIGhpdEVsZW1lbnQpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGFyZ2V0UmVmLmJvdW5kSWQgPSBoaXRFbGVtZW50ID8gaGl0RWxlbWVudC5pZCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVHZW5lcmF0b3IgPSBuZXcgTGluZVNoYXBlR2VuZXJhdG9yKGJvYXJkKTtcbiAgICAgICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBjcmVhdGVMaW5lRWxlbWVudChcbiAgICAgICAgICAgICAgICBMaW5lU2hhcGUuZWxib3csXG4gICAgICAgICAgICAgICAgW3N0YXJ0LCBtb3ZpbmdQb2ludF0sXG4gICAgICAgICAgICAgICAgeyBtYXJrZXI6IExpbmVNYXJrZXJUeXBlLm5vbmUsIGNvbm5lY3Rpb246IHNvdXJjZVJlZi5jb25uZWN0aW9uLCBib3VuZElkOiBzb3VyY2VSZWY/LmJvdW5kSWQgfSxcbiAgICAgICAgICAgICAgICB7IG1hcmtlcjogTGluZU1hcmtlclR5cGUuYXJyb3csIGNvbm5lY3Rpb246IHRhcmdldFJlZi5jb25uZWN0aW9uLCBib3VuZElkOiB0YXJnZXRSZWY/LmJvdW5kSWQgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZUNvbG9yOiBEZWZhdWx0TGluZVN0eWxlLnN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdExpbmVTdHlsZS5zdHJva2VXaWR0aFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsaW5lR2VuZXJhdG9yLmRyYXcodGVtcG9yYXJ5RWxlbWVudCwgbGluZVNoYXBlRyk7XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKS5hcHBlbmQobGluZVNoYXBlRyk7XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmICh0ZW1wb3JhcnlFbGVtZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIHRlbXBvcmFyeUVsZW1lbnQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgdGVtcG9yYXJ5RWxlbWVudCk7XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpbmVTaGFwZUc/LnJlbW92ZSgpO1xuICAgICAgICBsaW5lU2hhcGVHID0gbnVsbDtcbiAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICBzb3VyY2VSZWYgPSB7fTtcbiAgICAgICAgdGFyZ2V0UmVmID0ge307XG4gICAgICAgIHRlbXBvcmFyeUVsZW1lbnQgPSBudWxsO1xuICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgZmFsc2UpO1xuXG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PlaitBoard, PlaitElement, getHitElements, getNearestPointBetweenPointAndSegments, toPoint, transformPoint } from '@plait/core';
|
|
2
2
|
import { PlaitDrawElement } from '../interfaces';
|
|
3
3
|
import { Node } from 'slate';
|
|
4
|
-
import {
|
|
4
|
+
import { getHitLineTextIndex, getLinePoints, isHitLineText } from '../utils';
|
|
5
5
|
import { getRatioByPoint } from '@plait/common';
|
|
6
6
|
import { buildText } from '@plait/text';
|
|
7
7
|
import { DrawTransforms } from '../transforms';
|
|
@@ -13,7 +13,7 @@ export const withLineText = (board) => {
|
|
|
13
13
|
return PlaitDrawElement.isLine(element);
|
|
14
14
|
})[0];
|
|
15
15
|
if (hitTarget) {
|
|
16
|
-
const points =
|
|
16
|
+
const points = getLinePoints(board, hitTarget);
|
|
17
17
|
const point = getNearestPointBetweenPointAndSegments(clickPoint, points);
|
|
18
18
|
const texts = hitTarget.texts?.length ? [...hitTarget.texts] : [];
|
|
19
19
|
const textIndex = getHitLineTextIndex(board, hitTarget, clickPoint);
|
|
@@ -52,4 +52,4 @@ function editHandle(board, element, manageIndex, isFirstEdit = false) {
|
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1saW5lLXRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9wbHVnaW5zL3dpdGgtbGluZS10ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxzQ0FBc0MsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUM5QyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTNCLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDbkMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQXFCLEVBQUUsRUFBRTtZQUN2SCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQztRQUNuQixJQUFJLFNBQVMsRUFBRTtZQUNYLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDL0MsTUFBTSxLQUFLLEdBQUcsc0NBQXNDLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEUsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNwRSxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM5RCxJQUFJLFNBQVMsRUFBRTtnQkFDWCxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUMzQztpQkFBTTtnQkFDSCxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNQLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDO29CQUNyQixRQUFRLEVBQUUsS0FBSztvQkFDZixLQUFLLEVBQUUsRUFBRTtvQkFDVCxNQUFNLEVBQUUsRUFBRTtpQkFDYixDQUFDLENBQUM7Z0JBQ0gsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFrQixDQUFDO29CQUMzRSxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzVFLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUVELFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixTQUFTLFVBQVUsQ0FBQyxLQUFpQixFQUFFLE9BQWtCLEVBQUUsV0FBbUIsRUFBRSxjQUF1QixLQUFLO0lBQ3hHLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFrQixDQUFDO0lBQ3pFLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBRTdELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsSUFBSSxVQUFVLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekUsSUFBSSxZQUFZLEVBQUU7WUFDZCxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIGdldEhpdEVsZW1lbnRzLCBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cywgdG9Qb2ludCwgdHJhbnNmb3JtUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50LCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRIaXRMaW5lVGV4dEluZGV4LCBnZXRMaW5lUG9pbnRzLCBpc0hpdExpbmVUZXh0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0UmF0aW9CeVBvaW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBidWlsZFRleHQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IHdpdGhMaW5lVGV4dCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsgZGJsY2xpY2sgfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQuZGJsY2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgY2xpY2tQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgaGl0VGFyZ2V0ID0gZ2V0SGl0RWxlbWVudHMoYm9hcmQsIHsgcmFuZ2VzOiBbeyBhbmNob3I6IGNsaWNrUG9pbnQsIGZvY3VzOiBjbGlja1BvaW50IH1dIH0sIChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzTGluZShlbGVtZW50KTtcbiAgICAgICAgfSlbMF0gYXMgUGxhaXRMaW5lO1xuICAgICAgICBpZiAoaGl0VGFyZ2V0KSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRMaW5lUG9pbnRzKGJvYXJkLCBoaXRUYXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhjbGlja1BvaW50LCBwb2ludHMpO1xuICAgICAgICAgICAgY29uc3QgdGV4dHMgPSBoaXRUYXJnZXQudGV4dHM/Lmxlbmd0aCA/IFsuLi5oaXRUYXJnZXQudGV4dHNdIDogW107XG4gICAgICAgICAgICBjb25zdCB0ZXh0SW5kZXggPSBnZXRIaXRMaW5lVGV4dEluZGV4KGJvYXJkLCBoaXRUYXJnZXQsIGNsaWNrUG9pbnQpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXRUZXh0ID0gaXNIaXRMaW5lVGV4dChib2FyZCwgaGl0VGFyZ2V0LCBjbGlja1BvaW50KTtcbiAgICAgICAgICAgIGlmIChpc0hpdFRleHQpIHtcbiAgICAgICAgICAgICAgICBlZGl0SGFuZGxlKGJvYXJkLCBoaXRUYXJnZXQsIHRleHRJbmRleCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJhdGlvID0gZ2V0UmF0aW9CeVBvaW50KHBvaW50cywgcG9pbnQpO1xuICAgICAgICAgICAgICAgIHRleHRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBidWlsZFRleHQoJ+aWh+acrCcpLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmF0aW8sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldExpbmVUZXh0cyhib2FyZCwgaGl0VGFyZ2V0LCB0ZXh0cyk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhpdENvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoaGl0VGFyZ2V0KSBhcyBMaW5lQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgICAgICBlZGl0SGFuZGxlKGJvYXJkLCBoaXRUYXJnZXQsIGhpdENvbXBvbmVudC50ZXh0TWFuYWdlcy5sZW5ndGggLSAxLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRibGNsaWNrKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZnVuY3Rpb24gZWRpdEhhbmRsZShib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRMaW5lLCBtYW5hZ2VJbmRleDogbnVtYmVyLCBpc0ZpcnN0RWRpdDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgaGl0Q29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KSBhcyBMaW5lQ29tcG9uZW50O1xuICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBoaXRDb21wb25lbnQudGV4dE1hbmFnZXNbbWFuYWdlSW5kZXhdO1xuICAgIGNvbnN0IG9yaWdpblRleHQgPSB0ZXh0TWFuYWdlLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jaGlsZHJlbjtcblxuICAgIHRleHRNYW5hZ2UuZWRpdCgob3JpZ2luLCBkZXNjZW5kYW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHRleHQgPSBOb2RlLnN0cmluZyhkZXNjZW5kYW50WzBdKTtcbiAgICAgICAgY29uc3Qgc2hvdWxkUmVtb3ZlID0gKGlzRmlyc3RFZGl0ICYmIG9yaWdpblRleHQgPT09IGRlc2NlbmRhbnQpIHx8ICF0ZXh0O1xuICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlKSB7XG4gICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5yZW1vdmVMaW5lVGV4dChib2FyZCwgZWxlbWVudCwgbWFuYWdlSW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -4,4 +4,5 @@ export * from './constants';
|
|
|
4
4
|
export * from './utils';
|
|
5
5
|
export * from './geometry.component';
|
|
6
6
|
export * from './line.component';
|
|
7
|
-
|
|
7
|
+
export * from './transforms';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wbHVnaW5zL3dpdGgtZHJhdyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2Zvcm1zJztcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { insertText, insertGeometry, resizeGeometry } from './geometry';
|
|
2
2
|
import { setText, setTextSize } from './geometry-text';
|
|
3
|
-
import { removeLineText, resizeLine, setLineTexts } from './line';
|
|
3
|
+
import { removeLineText, resizeLine, setLineMark, setLineTexts } from './line';
|
|
4
4
|
export const DrawTransforms = {
|
|
5
5
|
setText,
|
|
6
6
|
insertGeometry,
|
|
@@ -9,6 +9,7 @@ export const DrawTransforms = {
|
|
|
9
9
|
setTextSize,
|
|
10
10
|
resizeLine,
|
|
11
11
|
setLineTexts,
|
|
12
|
-
removeLineText
|
|
12
|
+
removeLineText,
|
|
13
|
+
setLineMark
|
|
13
14
|
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLE9BQU87SUFDUCxjQUFjO0lBQ2QsY0FBYztJQUNkLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtJQUNWLFlBQVk7SUFDWixjQUFjO0lBQ2QsV0FBVztDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnNlcnRUZXh0LCBpbnNlcnRHZW9tZXRyeSwgcmVzaXplR2VvbWV0cnkgfSBmcm9tICcuL2dlb21ldHJ5JztcbmltcG9ydCB7IHNldFRleHQsIHNldFRleHRTaXplIH0gZnJvbSAnLi9nZW9tZXRyeS10ZXh0JztcbmltcG9ydCB7IHJlbW92ZUxpbmVUZXh0LCByZXNpemVMaW5lLCBzZXRMaW5lTWFyaywgc2V0TGluZVRleHRzIH0gZnJvbSAnLi9saW5lJztcblxuZXhwb3J0IGNvbnN0IERyYXdUcmFuc2Zvcm1zID0ge1xuICAgIHNldFRleHQsXG4gICAgaW5zZXJ0R2VvbWV0cnksXG4gICAgcmVzaXplR2VvbWV0cnksXG4gICAgaW5zZXJ0VGV4dCxcbiAgICBzZXRUZXh0U2l6ZSxcbiAgICByZXNpemVMaW5lLFxuICAgIHNldExpbmVUZXh0cyxcbiAgICByZW1vdmVMaW5lVGV4dCxcbiAgICBzZXRMaW5lTWFya1xufTtcbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PlaitBoard, Transforms } from '@plait/core';
|
|
2
|
+
import { LineHandleKey } from '../interfaces';
|
|
2
3
|
export const resizeLine = (board, options, path) => {
|
|
3
4
|
Transforms.setNode(board, options, path);
|
|
4
5
|
};
|
|
@@ -13,4 +14,10 @@ export const removeLineText = (board, element, index) => {
|
|
|
13
14
|
newTexts.splice(index, 1);
|
|
14
15
|
Transforms.setNode(board, { texts: newTexts }, path);
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
+
export const setLineMark = (board, element, handleKey, marker) => {
|
|
18
|
+
const path = PlaitBoard.findPath(board, element);
|
|
19
|
+
let handle = handleKey === LineHandleKey.source ? element.source : element.target;
|
|
20
|
+
handle = { ...handle, marker };
|
|
21
|
+
Transforms.setNode(board, { [handleKey]: handle }, path);
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3RyYW5zZm9ybXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVEsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUVuRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQTJCLEVBQUUsSUFBVSxFQUFFLEVBQUU7SUFDckYsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBa0IsRUFBRSxLQUFpQixFQUFFLEVBQUU7SUFDckYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQWtCLEVBQUUsS0FBYSxFQUFFLEVBQUU7SUFDbkYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDNUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFrQixFQUFFLFNBQXdCLEVBQUUsTUFBc0IsRUFBRSxFQUFFO0lBQ25ILE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELElBQUksTUFBTSxHQUFHLFNBQVMsS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ2xGLE1BQU0sR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQy9CLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoLCBQbGFpdEJvYXJkLCBUcmFuc2Zvcm1zIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTGluZUhhbmRsZUtleSwgTGluZU1hcmtlclR5cGUsIExpbmVUZXh0LCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IHJlc2l6ZUxpbmUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG9wdGlvbnM6IFBhcnRpYWw8UGxhaXRMaW5lPiwgcGF0aDogUGF0aCkgPT4ge1xuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgb3B0aW9ucywgcGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0TGluZVRleHRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdExpbmUsIHRleHRzOiBMaW5lVGV4dFtdKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyB0ZXh0cyB9LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMaW5lVGV4dCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRMaW5lLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHRleHRzID0gZWxlbWVudC50ZXh0cz8ubGVuZ3RoID8gWy4uLmVsZW1lbnQudGV4dHNdIDogW107XG4gICAgY29uc3QgbmV3VGV4dHMgPSBbLi4udGV4dHNdO1xuICAgIG5ld1RleHRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IHRleHRzOiBuZXdUZXh0cyB9LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRMaW5lTWFyayA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRMaW5lLCBoYW5kbGVLZXk6IExpbmVIYW5kbGVLZXksIG1hcmtlcjogTGluZU1hcmtlclR5cGUpID0+IHtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgbGV0IGhhbmRsZSA9IGhhbmRsZUtleSA9PT0gTGluZUhhbmRsZUtleS5zb3VyY2UgPyBlbGVtZW50LnNvdXJjZSA6IGVsZW1lbnQudGFyZ2V0O1xuICAgIGhhbmRsZSA9IHsgLi4uaGFuZGxlLCBtYXJrZXIgfTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgW2hhbmRsZUtleV06IGhhbmRsZSB9LCBwYXRoKTtcbn07XG4iXX0=
|