@plait/mind 0.77.2 → 0.78.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/plait-mind.mjs +2 -2
- package/fesm2022/plait-mind.mjs.map +1 -1
- package/package.json +1 -3
- package/esm2022/constants/abstract-node.mjs +0 -5
- package/esm2022/constants/default.mjs +0 -17
- package/esm2022/constants/index.mjs +0 -5
- package/esm2022/constants/node-style.mjs +0 -19
- package/esm2022/constants/node-topic-style.mjs +0 -7
- package/esm2022/constants/theme.mjs +0 -73
- package/esm2022/emoji/emoji-base.component.mjs +0 -6
- package/esm2022/emoji/index.mjs +0 -3
- package/esm2022/emoji/with-emoji.mjs +0 -8
- package/esm2022/generators/node-active.generator.mjs +0 -46
- package/esm2022/generators/node-collapse.generator.mjs +0 -108
- package/esm2022/generators/node-emojis.generator.mjs +0 -63
- package/esm2022/generators/node-plus.generator.mjs +0 -100
- package/esm2022/generators/node-shape.generator.mjs +0 -22
- package/esm2022/interfaces/element-data.mjs +0 -2
- package/esm2022/interfaces/element.mjs +0 -103
- package/esm2022/interfaces/index.mjs +0 -8
- package/esm2022/interfaces/layout.mjs +0 -19
- package/esm2022/interfaces/node.mjs +0 -14
- package/esm2022/interfaces/options.mjs +0 -2
- package/esm2022/interfaces/pointer.mjs +0 -5
- package/esm2022/interfaces/theme-color.mjs +0 -57
- package/esm2022/interfaces/types.mjs +0 -13
- package/esm2022/mind-node.component.mjs +0 -193
- package/esm2022/mind.component.mjs +0 -34
- package/esm2022/plait-mind.mjs +0 -5
- package/esm2022/plugins/with-abstract-resize.board.mjs +0 -12
- package/esm2022/plugins/with-abstract-resize.mjs +0 -112
- package/esm2022/plugins/with-mind-create.mjs +0 -104
- package/esm2022/plugins/with-mind-extend.mjs +0 -7
- package/esm2022/plugins/with-mind-fragment.mjs +0 -101
- package/esm2022/plugins/with-mind-hotkey.mjs +0 -62
- package/esm2022/plugins/with-mind.board.mjs +0 -2
- package/esm2022/plugins/with-mind.mjs +0 -148
- package/esm2022/plugins/with-node-dnd.mjs +0 -176
- package/esm2022/plugins/with-node-hover-hit-test.mjs +0 -23
- package/esm2022/plugins/with-node-image-resize.mjs +0 -46
- package/esm2022/plugins/with-node-image.mjs +0 -113
- package/esm2022/plugins/with-node-resize.mjs +0 -69
- package/esm2022/public-api.mjs +0 -16
- package/esm2022/queries/get-available-sublayouts-by-element.mjs +0 -23
- package/esm2022/queries/get-branch-layouts.mjs +0 -18
- package/esm2022/queries/get-correct-layout-by-element.mjs +0 -48
- package/esm2022/queries/get-layout-by-element.mjs +0 -18
- package/esm2022/queries/index.mjs +0 -11
- package/esm2022/transforms/abstract-node.mjs +0 -73
- package/esm2022/transforms/emoji.mjs +0 -41
- package/esm2022/transforms/image.mjs +0 -31
- package/esm2022/transforms/index.mjs +0 -30
- package/esm2022/transforms/layout.mjs +0 -19
- package/esm2022/transforms/node.mjs +0 -99
- package/esm2022/transforms/property.mjs +0 -34
- package/esm2022/utils/abstract/common.mjs +0 -170
- package/esm2022/utils/abstract/resize.mjs +0 -194
- package/esm2022/utils/clipboard.mjs +0 -108
- package/esm2022/utils/common.mjs +0 -26
- package/esm2022/utils/dnd/common.mjs +0 -59
- package/esm2022/utils/dnd/detector.mjs +0 -176
- package/esm2022/utils/draw/abstract-outline.mjs +0 -118
- package/esm2022/utils/draw/node-dnd.mjs +0 -164
- package/esm2022/utils/draw/node-link/abstract-link.mjs +0 -60
- package/esm2022/utils/draw/node-link/draw-link.mjs +0 -9
- package/esm2022/utils/draw/node-link/indented-link.mjs +0 -46
- package/esm2022/utils/draw/node-link/logic-link.mjs +0 -76
- package/esm2022/utils/draw/node-shape.mjs +0 -26
- package/esm2022/utils/index.mjs +0 -17
- package/esm2022/utils/layout.mjs +0 -105
- package/esm2022/utils/mind.mjs +0 -98
- package/esm2022/utils/node/adjust-node.mjs +0 -36
- package/esm2022/utils/node/common.mjs +0 -15
- package/esm2022/utils/node/create-node.mjs +0 -46
- package/esm2022/utils/node/dynamic-width.mjs +0 -14
- package/esm2022/utils/node/image.mjs +0 -15
- package/esm2022/utils/node/index.mjs +0 -6
- package/esm2022/utils/node/right-node-count.mjs +0 -45
- package/esm2022/utils/node-hover/extend.mjs +0 -50
- package/esm2022/utils/node-style/branch.mjs +0 -63
- package/esm2022/utils/node-style/common.mjs +0 -4
- package/esm2022/utils/node-style/index.mjs +0 -4
- package/esm2022/utils/node-style/shape.mjs +0 -37
- package/esm2022/utils/normalize.mjs +0 -40
- package/esm2022/utils/path.mjs +0 -12
- package/esm2022/utils/point-placement.mjs +0 -119
- package/esm2022/utils/position/emoji.mjs +0 -31
- package/esm2022/utils/position/image.mjs +0 -36
- package/esm2022/utils/position/index.mjs +0 -5
- package/esm2022/utils/position/node.mjs +0 -36
- package/esm2022/utils/position/topic.mjs +0 -16
- package/esm2022/utils/space/emoji.mjs +0 -20
- package/esm2022/utils/space/index.mjs +0 -4
- package/esm2022/utils/space/layout-options.mjs +0 -69
- package/esm2022/utils/space/node-space.mjs +0 -134
- package/esm2022/utils/weak-maps.mjs +0 -2
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { PlaitBoard, createG, drawLinearPath, getRectangleByElements } from '@plait/core';
|
|
2
|
-
import { getRectangleByNode } from '../../position/node';
|
|
3
|
-
import { HorizontalPlacement, VerticalPlacement } from '../../../interfaces/types';
|
|
4
|
-
import { getLayoutDirection, getPointByPlacement, getXDistanceBetweenPoint, moveXOfPoint, transformPlacement } from '../../point-placement';
|
|
5
|
-
import { getAbstractBranchColor, getAbstractBranchWidth, getBranchShapeByMindElement } from '../../node-style/branch';
|
|
6
|
-
import { BranchShape } from '../../../interfaces/element';
|
|
7
|
-
import { getStrokeStyleByElement } from '../../node-style';
|
|
8
|
-
import { getStrokeLineDash } from '@plait/common';
|
|
9
|
-
export function drawAbstractLink(board, node, isHorizontal) {
|
|
10
|
-
const linkPadding = 15;
|
|
11
|
-
const branchWidth = getAbstractBranchWidth(board, node.origin);
|
|
12
|
-
const branchColor = getAbstractBranchColor(board, node.origin);
|
|
13
|
-
const strokeStyle = getStrokeStyleByElement(board, node.origin);
|
|
14
|
-
const parent = node.parent;
|
|
15
|
-
const branchShape = getBranchShapeByMindElement(board, node.origin);
|
|
16
|
-
const abstractRectangle = getRectangleByNode(node);
|
|
17
|
-
let includedElements = parent.children.slice(node.origin.start, node.origin.end + 1).map(node => {
|
|
18
|
-
return node.origin;
|
|
19
|
-
});
|
|
20
|
-
const includedElementsRectangle = getRectangleByElements(board, includedElements, true);
|
|
21
|
-
const linkDirection = getLayoutDirection(node, isHorizontal);
|
|
22
|
-
const bezierBeginPlacement = [HorizontalPlacement.right, VerticalPlacement.top];
|
|
23
|
-
const bezierEndPlacement = [HorizontalPlacement.right, VerticalPlacement.bottom];
|
|
24
|
-
const abstractConnectorPlacement = [HorizontalPlacement.left, VerticalPlacement.middle];
|
|
25
|
-
transformPlacement(bezierBeginPlacement, linkDirection);
|
|
26
|
-
transformPlacement(bezierEndPlacement, linkDirection);
|
|
27
|
-
transformPlacement(abstractConnectorPlacement, linkDirection);
|
|
28
|
-
let bezierBeginPoint = getPointByPlacement(includedElementsRectangle, bezierBeginPlacement);
|
|
29
|
-
let bezierEndPoint = getPointByPlacement(includedElementsRectangle, bezierEndPlacement);
|
|
30
|
-
let abstractConnectorPoint = getPointByPlacement(abstractRectangle, abstractConnectorPlacement);
|
|
31
|
-
let curveDistance = getXDistanceBetweenPoint(abstractConnectorPoint, bezierBeginPoint, isHorizontal) - linkPadding * 2;
|
|
32
|
-
bezierBeginPoint = moveXOfPoint(bezierBeginPoint, linkPadding, linkDirection);
|
|
33
|
-
let c1 = moveXOfPoint(bezierBeginPoint, curveDistance, linkDirection);
|
|
34
|
-
bezierEndPoint = moveXOfPoint(bezierEndPoint, linkPadding, linkDirection);
|
|
35
|
-
let c2 = moveXOfPoint(bezierEndPoint, curveDistance, linkDirection);
|
|
36
|
-
let bezierConnectorPoint = moveXOfPoint(abstractConnectorPoint, -linkPadding, linkDirection);
|
|
37
|
-
const strokeLineDash = getStrokeLineDash(strokeStyle, branchWidth);
|
|
38
|
-
if (branchShape === BranchShape.polyline) {
|
|
39
|
-
const g = createG();
|
|
40
|
-
const polyline = drawLinearPath([bezierBeginPoint, c1, bezierConnectorPoint, c2, bezierEndPoint], {
|
|
41
|
-
stroke: branchColor,
|
|
42
|
-
strokeWidth: branchWidth
|
|
43
|
-
});
|
|
44
|
-
const straightLine = drawLinearPath([abstractConnectorPoint, bezierConnectorPoint], {
|
|
45
|
-
stroke: branchColor,
|
|
46
|
-
strokeWidth: branchWidth,
|
|
47
|
-
strokeLineDash
|
|
48
|
-
});
|
|
49
|
-
g.appendChild(polyline);
|
|
50
|
-
g.appendChild(straightLine);
|
|
51
|
-
return g;
|
|
52
|
-
}
|
|
53
|
-
const link = PlaitBoard.getRoughSVG(board).path(`M${bezierBeginPoint[0]},${bezierBeginPoint[1]} Q${c1[0]},${c1[1]} ${bezierConnectorPoint[0]},${bezierConnectorPoint[1]} Q${c2[0]},${c2[1]} ${bezierEndPoint[0]},${bezierEndPoint[1]} M${abstractConnectorPoint[0]},${abstractConnectorPoint[1]} L${bezierConnectorPoint[0]},${bezierConnectorPoint[1]}`, {
|
|
54
|
-
stroke: branchColor,
|
|
55
|
-
strokeWidth: branchWidth,
|
|
56
|
-
strokeLineDash
|
|
57
|
-
});
|
|
58
|
-
return link;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL2RyYXcvbm9kZS1saW5rL2Fic3RyYWN0LWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUksT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBaUIsRUFBRSxJQUFjLEVBQUUsWUFBcUI7SUFDckYsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRCxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFB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QUFNLFlBQVksR0FBRyxjQUFjLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO1lBQ2hGLE1BQU0sRUFBRSxXQUFXO1lBQ25CLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLGNBQWM7U0FDakIsQ0FBQyxDQUFDO1FBRUgsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMzQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3hTO1FBQ0ksTUFBTSxFQUFFLFdBQVc7UUFDbkIsV0FBVyxFQUFFLFdBQVc7UUFDeEIsY0FBYztLQUNqQixDQUNKLENBQUM7SUFDRixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgY3JlYXRlRywgZHJhd0xpbmVhclBhdGgsIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi8uLi9wb3NpdGlvbi9ub2RlJztcbmltcG9ydCB7IEhvcml6b250YWxQbGFjZW1lbnQsIFBvaW50UGxhY2VtZW50LCBWZXJ0aWNhbFBsYWNlbWVudCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0TGF5b3V0RGlyZWN0aW9uLCBnZXRQb2ludEJ5UGxhY2VtZW50LCBnZXRYRGlzdGFuY2VCZXR3ZWVuUG9pbnQsIG1vdmVYT2ZQb2ludCwgdHJhbnNmb3JtUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vcG9pbnQtcGxhY2VtZW50JztcbmltcG9ydCB7IGdldEFic3RyYWN0QnJhbmNoQ29sb3IsIGdldEFic3RyYWN0QnJhbmNoV2lkdGgsIGdldEJyYW5jaFNoYXBlQnlNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL25vZGUtc3R5bGUvYnJhbmNoJztcbmltcG9ydCB7IEJyYW5jaFNoYXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IGdldFN0cm9rZVN0eWxlQnlFbGVtZW50IH0gZnJvbSAnLi4vLi4vbm9kZS1zdHlsZSc7XG5pbXBvcnQgeyBnZXRTdHJva2VMaW5lRGFzaCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0Fic3RyYWN0TGluayhib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogTWluZE5vZGUsIGlzSG9yaXpvbnRhbDogYm9vbGVhbikge1xuICAgIGNvbnN0IGxpbmtQYWRkaW5nID0gMTU7XG4gICAgY29uc3QgYnJhbmNoV2lkdGggPSBnZXRBYnN0cmFjdEJyYW5jaFdpZHRoKGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgY29uc3QgYnJhbmNoQ29sb3IgPSBnZXRBYnN0cmFjdEJyYW5jaENvbG9yKGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgY29uc3Qgc3Ryb2tlU3R5bGUgPSBnZXRTdHJva2VTdHlsZUJ5RWxlbWVudChib2FyZCwgbm9kZS5vcmlnaW4pO1xuICAgIGNvbnN0IHBhcmVudCA9IG5vZGUucGFyZW50O1xuICAgIGNvbnN0IGJyYW5jaFNoYXBlID0gZ2V0QnJhbmNoU2hhcGVCeU1pbmRFbGVtZW50KGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgY29uc3QgYWJzdHJhY3RSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgbGV0IGluY2x1ZGVkRWxlbWVudHMgPSBwYXJlbnQuY2hpbGRyZW4uc2xpY2Uobm9kZS5vcmlnaW4uc3RhcnQsIG5vZGUub3JpZ2luLmVuZCEgKyAxKS5tYXAobm9kZSA9PiB7XG4gICAgICAgIHJldHVybiBub2RlLm9yaWdpbjtcbiAgICB9KTtcbiAgICBjb25zdCBpbmNsdWRlZEVsZW1lbnRzUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgaW5jbHVkZWRFbGVtZW50cywgdHJ1ZSk7XG5cbiAgICBjb25zdCBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKG5vZGUsIGlzSG9yaXpvbnRhbCk7XG4gICAgY29uc3QgYmV6aWVyQmVnaW5QbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodCwgVmVydGljYWxQbGFjZW1lbnQudG9wXSBhcyBQb2ludFBsYWNlbWVudDtcbiAgICBjb25zdCBiZXppZXJFbmRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodCwgVmVydGljYWxQbGFjZW1lbnQuYm90dG9tXSBhcyBQb2ludFBsYWNlbWVudDtcbiAgICBjb25zdCBhYnN0cmFjdENvbm5lY3RvclBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50Lm1pZGRsZV0gYXMgUG9pbnRQbGFjZW1lbnQ7XG5cbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoYmV6aWVyQmVnaW5QbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIHRyYW5zZm9ybVBsYWNlbWVudChiZXppZXJFbmRQbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIHRyYW5zZm9ybVBsYWNlbWVudChhYnN0cmFjdENvbm5lY3RvclBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG5cbiAgICBsZXQgYmV6aWVyQmVnaW5Qb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQoaW5jbHVkZWRFbGVtZW50c1JlY3RhbmdsZSwgYmV6aWVyQmVnaW5QbGFjZW1lbnQpO1xuICAgIGxldCBiZXppZXJFbmRQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQoaW5jbHVkZWRFbGVtZW50c1JlY3RhbmdsZSwgYmV6aWVyRW5kUGxhY2VtZW50KTtcbiAgICBsZXQgYWJzdHJhY3RDb25uZWN0b3JQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQoYWJzdHJhY3RSZWN0YW5nbGUsIGFic3RyYWN0Q29ubmVjdG9yUGxhY2VtZW50KTtcbiAgICBsZXQgY3VydmVEaXN0YW5jZSA9IGdldFhEaXN0YW5jZUJldHdlZW5Qb2ludChhYnN0cmFjdENvbm5lY3RvclBvaW50LCBiZXppZXJCZWdpblBvaW50LCBpc0hvcml6b250YWwpIC0gbGlua1BhZGRpbmcgKiAyO1xuICAgIGJlemllckJlZ2luUG9pbnQgPSBtb3ZlWE9mUG9pbnQoYmV6aWVyQmVnaW5Qb2ludCwgbGlua1BhZGRpbmcsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGxldCBjMSA9IG1vdmVYT2ZQb2ludChiZXppZXJCZWdpblBvaW50LCBjdXJ2ZURpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKTtcbiAgICBiZXppZXJFbmRQb2ludCA9IG1vdmVYT2ZQb2ludChiZXppZXJFbmRQb2ludCwgbGlua1BhZGRpbmcsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGxldCBjMiA9IG1vdmVYT2ZQb2ludChiZXppZXJFbmRQb2ludCwgY3VydmVEaXN0YW5jZSwgbGlua0RpcmVjdGlvbik7XG4gICAgbGV0IGJlemllckNvbm5lY3RvclBvaW50ID0gbW92ZVhPZlBvaW50KGFic3RyYWN0Q29ubmVjdG9yUG9pbnQsIC1saW5rUGFkZGluZywgbGlua0RpcmVjdGlvbik7XG4gICAgY29uc3Qgc3Ryb2tlTGluZURhc2ggPSBnZXRTdHJva2VMaW5lRGFzaChzdHJva2VTdHlsZSwgYnJhbmNoV2lkdGgpO1xuICAgIGlmIChicmFuY2hTaGFwZSA9PT0gQnJhbmNoU2hhcGUucG9seWxpbmUpIHtcbiAgICAgICAgY29uc3QgZyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgY29uc3QgcG9seWxpbmUgPSBkcmF3TGluZWFyUGF0aChbYmV6aWVyQmVnaW5Qb2ludCwgYzEsIGJlemllckNvbm5lY3RvclBvaW50LCBjMiwgYmV6aWVyRW5kUG9pbnRdLCB7XG4gICAgICAgICAgICBzdHJva2U6IGJyYW5jaENvbG9yLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IGJyYW5jaFdpZHRoXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzdHJhaWdodExpbmUgPSBkcmF3TGluZWFyUGF0aChbYWJzdHJhY3RDb25uZWN0b3JQb2ludCwgYmV6aWVyQ29ubmVjdG9yUG9pbnRdLCB7XG4gICAgICAgICAgICBzdHJva2U6IGJyYW5jaENvbG9yLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IGJyYW5jaFdpZHRoLFxuICAgICAgICAgICAgc3Ryb2tlTGluZURhc2hcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZy5hcHBlbmRDaGlsZChwb2x5bGluZSk7XG4gICAgICAgIGcuYXBwZW5kQ2hpbGQoc3RyYWlnaHRMaW5lKTtcblxuICAgICAgICByZXR1cm4gZztcbiAgICB9XG5cbiAgICBjb25zdCBsaW5rID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCkucGF0aChcbiAgICAgICAgYE0ke2JlemllckJlZ2luUG9pbnRbMF19LCR7YmV6aWVyQmVnaW5Qb2ludFsxXX0gUSR7YzFbMF19LCR7YzFbMV19ICR7YmV6aWVyQ29ubmVjdG9yUG9pbnRbMF19LCR7YmV6aWVyQ29ubmVjdG9yUG9pbnRbMV19IFEke2MyWzBdfSwke2MyWzFdfSAke2JlemllckVuZFBvaW50WzBdfSwke2JlemllckVuZFBvaW50WzFdfSBNJHthYnN0cmFjdENvbm5lY3RvclBvaW50WzBdfSwke2Fic3RyYWN0Q29ubmVjdG9yUG9pbnRbMV19IEwke2JlemllckNvbm5lY3RvclBvaW50WzBdfSwke2JlemllckNvbm5lY3RvclBvaW50WzFdfWAsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHN0cm9rZTogYnJhbmNoQ29sb3IsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogYnJhbmNoV2lkdGgsXG4gICAgICAgICAgICBzdHJva2VMaW5lRGFzaFxuICAgICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gbGluaztcbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { drawIndentedLink } from './indented-link';
|
|
2
|
-
import { drawLogicLink } from './logic-link';
|
|
3
|
-
import { MindElement } from '../../../interfaces/element';
|
|
4
|
-
export function drawLink(board, parentNode, node, isHorizontal, needDrawUnderline, defaultStrokeColor, defaultStrokeWidth, defaultStrokeStyle) {
|
|
5
|
-
return MindElement.isIndentedLayout(parentNode.origin)
|
|
6
|
-
? drawIndentedLink(board, parentNode, node, needDrawUnderline, defaultStrokeColor, defaultStrokeWidth, defaultStrokeStyle)
|
|
7
|
-
: drawLogicLink(board, parentNode, node, isHorizontal, defaultStrokeColor, defaultStrokeWidth, defaultStrokeStyle);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvZHJhdy9ub2RlLWxpbmsvZHJhdy1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTFELE1BQU0sVUFBVSxRQUFRLENBQ3BCLEtBQWlCLEVBQ2pCLFVBQW9CLEVBQ3BCLElBQWMsRUFDZCxZQUFxQixFQUNyQixpQkFBMkIsRUFDM0Isa0JBQTJCLEVBQzNCLGtCQUEyQixFQUMzQixrQkFBZ0M7SUFFaEMsT0FBTyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNsRCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7UUFDMUgsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztBQUMzSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGRyYXdJbmRlbnRlZExpbmsgfSBmcm9tICcuL2luZGVudGVkLWxpbmsnO1xuaW1wb3J0IHsgZHJhd0xvZ2ljTGluayB9IGZyb20gJy4vbG9naWMtbGluayc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBTdHJva2VTdHlsZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xpbmsoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgcGFyZW50Tm9kZTogTWluZE5vZGUsXG4gICAgbm9kZTogTWluZE5vZGUsXG4gICAgaXNIb3Jpem9udGFsOiBib29sZWFuLFxuICAgIG5lZWREcmF3VW5kZXJsaW5lPzogYm9vbGVhbixcbiAgICBkZWZhdWx0U3Ryb2tlQ29sb3I/OiBzdHJpbmcsXG4gICAgZGVmYXVsdFN0cm9rZVdpZHRoPzogbnVtYmVyLFxuICAgIGRlZmF1bHRTdHJva2VTdHlsZT86IFN0cm9rZVN0eWxlXG4pIHtcbiAgICByZXR1cm4gTWluZEVsZW1lbnQuaXNJbmRlbnRlZExheW91dChwYXJlbnROb2RlLm9yaWdpbilcbiAgICAgICAgPyBkcmF3SW5kZW50ZWRMaW5rKGJvYXJkLCBwYXJlbnROb2RlLCBub2RlLCBuZWVkRHJhd1VuZGVybGluZSwgZGVmYXVsdFN0cm9rZUNvbG9yLCBkZWZhdWx0U3Ryb2tlV2lkdGgsIGRlZmF1bHRTdHJva2VTdHlsZSlcbiAgICAgICAgOiBkcmF3TG9naWNMaW5rKGJvYXJkLCBwYXJlbnROb2RlLCBub2RlLCBpc0hvcml6b250YWwsIGRlZmF1bHRTdHJva2VDb2xvciwgZGVmYXVsdFN0cm9rZVdpZHRoLCBkZWZhdWx0U3Ryb2tlU3R5bGUpO1xufVxuIl19
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { pointsOnBezierCurves } from 'points-on-curve';
|
|
2
|
-
import { drawBezierPath, drawLinearPath } from '@plait/core';
|
|
3
|
-
import { getShapeByElement, getRectangleByNode, isChildUp, getStrokeStyleByElement } from '../..';
|
|
4
|
-
import { getBranchColorByMindElement, getBranchShapeByMindElement, getBranchWidthByMindElement } from '../../node-style/branch';
|
|
5
|
-
import { BranchShape, MindElementShape } from '../../../interfaces/element';
|
|
6
|
-
import { getStrokeLineDash } from '@plait/common';
|
|
7
|
-
export function drawIndentedLink(board, parent, child, needDrawUnderline = true, defaultStrokeColor = null, defaultStrokeWidth, defaultStrokeStyle) {
|
|
8
|
-
const branchShape = getBranchShapeByMindElement(board, parent.origin);
|
|
9
|
-
const branchWidth = defaultStrokeWidth || getBranchWidthByMindElement(board, child.origin);
|
|
10
|
-
const branchColor = defaultStrokeColor || getBranchColorByMindElement(board, child.origin);
|
|
11
|
-
const strokeStyle = defaultStrokeStyle || getStrokeStyleByElement(board, child.origin);
|
|
12
|
-
const isUnderlineShape = getShapeByElement(board, child.origin) === MindElementShape.underline;
|
|
13
|
-
let beginX, beginY, endX, endY, beginNode = parent, endNode = child;
|
|
14
|
-
const beginRectangle = getRectangleByNode(beginNode);
|
|
15
|
-
const endRectangle = getRectangleByNode(endNode);
|
|
16
|
-
beginX = beginNode.x + beginNode.width / 2;
|
|
17
|
-
beginY = isChildUp(parent, child) ? beginRectangle.y : beginRectangle.y + beginRectangle.height;
|
|
18
|
-
endX = parent.left ? endNode.x + endNode.hGap + endRectangle.width : endNode.x + endNode.hGap;
|
|
19
|
-
endY = isUnderlineShape ? endNode.y + endNode.height - endNode.vGap : endNode.y + endNode.height / 2;
|
|
20
|
-
let plusMinus = isChildUp(parent, child) ? (parent.left ? [-1, -1] : [1, -1]) : parent.left ? [-1, 1] : [1, 1];
|
|
21
|
-
let curve = [
|
|
22
|
-
[beginX, beginY],
|
|
23
|
-
[beginX, beginY],
|
|
24
|
-
[beginX, beginY],
|
|
25
|
-
[beginX, endY - (endNode.hGap * 3 * plusMinus[1]) / 5],
|
|
26
|
-
[beginX, endY - (endNode.hGap * plusMinus[1]) / 5],
|
|
27
|
-
[beginX + (endNode.hGap * plusMinus[0]) / 4, endY],
|
|
28
|
-
[beginX + (endNode.hGap * plusMinus[0] * 3) / 5, endY],
|
|
29
|
-
isUnderlineShape && needDrawUnderline ? [endX + (endNode.width - endNode.hGap * 2) * plusMinus[0], endY] : [endX, endY],
|
|
30
|
-
isUnderlineShape && needDrawUnderline ? [endX + (endNode.width - endNode.hGap * 2) * plusMinus[0], endY] : [endX, endY],
|
|
31
|
-
isUnderlineShape && needDrawUnderline ? [endX + (endNode.width - endNode.hGap * 2) * plusMinus[0], endY] : [endX, endY]
|
|
32
|
-
];
|
|
33
|
-
const strokeLineDash = getStrokeLineDash(strokeStyle, branchWidth);
|
|
34
|
-
if (branchShape === BranchShape.polyline) {
|
|
35
|
-
const polylinePoints = [
|
|
36
|
-
[beginX, beginY],
|
|
37
|
-
[beginX, endY],
|
|
38
|
-
[endX, endY],
|
|
39
|
-
isUnderlineShape && needDrawUnderline ? [endX + (endNode.width - endNode.hGap * 2) * plusMinus[0], endY] : [endX, endY]
|
|
40
|
-
];
|
|
41
|
-
return drawLinearPath(polylinePoints, { stroke: branchColor, strokeWidth: branchWidth, strokeLineDash });
|
|
42
|
-
}
|
|
43
|
-
const points = pointsOnBezierCurves(curve, 0.001);
|
|
44
|
-
return drawBezierPath(points, { stroke: branchColor, strokeWidth: branchWidth, strokeLineDash });
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50ZWQtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL2RyYXcvbm9kZS1saW5rL2luZGVudGVkLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFxQixjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEksT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLEtBQWlCLEVBQ2pCLE1BQWdCLEVBQ2hCLEtBQWUsRUFDZixpQkFBaUIsR0FBRyxJQUFJLEVBQ3hCLHFCQUFvQyxJQUFJLEVBQ3hDLGtCQUEyQixFQUMzQixrQkFBZ0M7SUFFaEMsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsSUFBSSwyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNGLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixJQUFJLDJCQUEyQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0YsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLElBQUksdUJBQXVCLENB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VyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELE9BQU8sY0FBYyxDQUFDLE1BQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztBQUNoSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9pbnRzT25CZXppZXJDdXJ2ZXMgfSBmcm9tICdwb2ludHMtb24tY3VydmUnO1xuaW1wb3J0IHsgTWluZE5vZGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGRyYXdCZXppZXJQYXRoLCBkcmF3TGluZWFyUGF0aCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldFNoYXBlQnlFbGVtZW50LCBnZXRSZWN0YW5nbGVCeU5vZGUsIGlzQ2hpbGRVcCwgZ2V0U3Ryb2tlU3R5bGVCeUVsZW1lbnQgfSBmcm9tICcuLi8uLic7XG5pbXBvcnQgeyBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQsIGdldEJyYW5jaFNoYXBlQnlNaW5kRWxlbWVudCwgZ2V0QnJhbmNoV2lkdGhCeU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vbm9kZS1zdHlsZS9icmFuY2gnO1xuaW1wb3J0IHsgQnJhbmNoU2hhcGUsIE1pbmRFbGVtZW50U2hhcGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlTGluZURhc2gsIFN0cm9rZVN0eWxlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3SW5kZW50ZWRMaW5rKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIHBhcmVudDogTWluZE5vZGUsXG4gICAgY2hpbGQ6IE1pbmROb2RlLFxuICAgIG5lZWREcmF3VW5kZXJsaW5lID0gdHJ1ZSxcbiAgICBkZWZhdWx0U3Ryb2tlQ29sb3I6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgIGRlZmF1bHRTdHJva2VXaWR0aD86IG51bWJlcixcbiAgICBkZWZhdWx0U3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZVxuKSB7XG4gICAgY29uc3QgYnJhbmNoU2hhcGUgPSBnZXRCcmFuY2hTaGFwZUJ5TWluZEVsZW1lbnQoYm9hcmQsIHBhcmVudC5vcmlnaW4pO1xuICAgIGNvbnN0IGJyYW5jaFdpZHRoID0gZGVmYXVsdFN0cm9rZVdpZHRoIHx8IGdldEJyYW5jaFdpZHRoQnlNaW5kRWxlbWVudChib2FyZCwgY2hpbGQub3JpZ2luKTtcbiAgICBjb25zdCBicmFuY2hDb2xvciA9IGRlZmF1bHRTdHJva2VDb2xvciB8fCBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQoYm9hcmQsIGNoaWxkLm9yaWdpbik7XG4gICAgY29uc3Qgc3Ryb2tlU3R5bGUgPSBkZWZhdWx0U3Ryb2tlU3R5bGUgfHwgZ2V0U3Ryb2tlU3R5bGVCeUVsZW1lbnQoYm9hcmQsIGNoaWxkLm9yaWdpbik7XG5cbiAgICBjb25zdCBpc1VuZGVybGluZVNoYXBlID0gKGdldFNoYXBlQnlFbGVtZW50KGJvYXJkLCBjaGlsZC5vcmlnaW4pIGFzIE1pbmRFbGVtZW50U2hhcGUpID09PSBNaW5kRWxlbWVudFNoYXBlLnVuZGVybGluZTtcbiAgICBsZXQgYmVnaW5YLFxuICAgICAgICBiZWdpblksXG4gICAgICAgIGVuZFgsXG4gICAgICAgIGVuZFksXG4gICAgICAgIGJlZ2luTm9kZSA9IHBhcmVudCxcbiAgICAgICAgZW5kTm9kZSA9IGNoaWxkO1xuICAgIGNvbnN0IGJlZ2luUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGJlZ2luTm9kZSk7XG4gICAgY29uc3QgZW5kUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGVuZE5vZGUpO1xuXG4gICAgYmVnaW5YID0gYmVnaW5Ob2RlLnggKyBiZWdpbk5vZGUud2lkdGggLyAyO1xuICAgIGJlZ2luWSA9IGlzQ2hpbGRVcChwYXJlbnQsIGNoaWxkKSA/IGJlZ2luUmVjdGFuZ2xlLnkgOiBiZWdpblJlY3RhbmdsZS55ICsgYmVnaW5SZWN0YW5nbGUuaGVpZ2h0O1xuICAgIGVuZFggPSBwYXJlbnQubGVmdCA/IGVuZE5vZGUueCArIGVuZE5vZGUuaEdhcCArIGVuZFJlY3RhbmdsZS53aWR0aCA6IGVuZE5vZGUueCArIGVuZE5vZGUuaEdhcDtcbiAgICBlbmRZID0gaXNVbmRlcmxpbmVTaGFwZSA/IGVuZE5vZGUueSArIGVuZE5vZGUuaGVpZ2h0IC0gZW5kTm9kZS52R2FwIDogZW5kTm9kZS55ICsgZW5kTm9kZS5oZWlnaHQgLyAyO1xuXG4gICAgbGV0IHBsdXNNaW51cyA9IGlzQ2hpbGRVcChwYXJlbnQsIGNoaWxkKSA/IChwYXJlbnQubGVmdCA/IFstMSwgLTFdIDogWzEsIC0xXSkgOiBwYXJlbnQubGVmdCA/IFstMSwgMV0gOiBbMSwgMV07XG5cbiAgICBsZXQgY3VydmU6IFBvaW50W10gPSBbXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGVuZFkgLSAoZW5kTm9kZS5oR2FwICogMyAqIHBsdXNNaW51c1sxXSkgLyA1XSxcbiAgICAgICAgW2JlZ2luWCwgZW5kWSAtIChlbmROb2RlLmhHYXAgKiBwbHVzTWludXNbMV0pIC8gNV0sXG4gICAgICAgIFtiZWdpblggKyAoZW5kTm9kZS5oR2FwICogcGx1c01pbnVzWzBdKSAvIDQsIGVuZFldLFxuICAgICAgICBbYmVnaW5YICsgKGVuZE5vZGUuaEdhcCAqIHBsdXNNaW51c1swXSAqIDMpIC8gNSwgZW5kWV0sXG4gICAgICAgIGlzVW5kZXJsaW5lU2hhcGUgJiYgbmVlZERyYXdVbmRlcmxpbmUgPyBbZW5kWCArIChlbmROb2RlLndpZHRoIC0gZW5kTm9kZS5oR2FwICogMikgKiBwbHVzTWludXNbMF0sIGVuZFldIDogW2VuZFgsIGVuZFldLFxuICAgICAgICBpc1VuZGVybGluZVNoYXBlICYmIG5lZWREcmF3VW5kZXJsaW5lID8gW2VuZFggKyAoZW5kTm9kZS53aWR0aCAtIGVuZE5vZGUuaEdhcCAqIDIpICogcGx1c01pbnVzWzBdLCBlbmRZXSA6IFtlbmRYLCBlbmRZXSxcbiAgICAgICAgaXNVbmRlcmxpbmVTaGFwZSAmJiBuZWVkRHJhd1VuZGVybGluZSA/IFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSAqIHBsdXNNaW51c1swXSwgZW5kWV0gOiBbZW5kWCwgZW5kWV1cbiAgICBdO1xuICAgIGNvbnN0IHN0cm9rZUxpbmVEYXNoID0gZ2V0U3Ryb2tlTGluZURhc2goc3Ryb2tlU3R5bGUsIGJyYW5jaFdpZHRoKTtcbiAgICBpZiAoYnJhbmNoU2hhcGUgPT09IEJyYW5jaFNoYXBlLnBvbHlsaW5lKSB7XG4gICAgICAgIGNvbnN0IHBvbHlsaW5lUG9pbnRzID0gW1xuICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZXSxcbiAgICAgICAgICAgIFtiZWdpblgsIGVuZFldLFxuICAgICAgICAgICAgW2VuZFgsIGVuZFldLFxuICAgICAgICAgICAgaXNVbmRlcmxpbmVTaGFwZSAmJiBuZWVkRHJhd1VuZGVybGluZSA/IFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSAqIHBsdXNNaW51c1swXSwgZW5kWV0gOiBbZW5kWCwgZW5kWV1cbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gZHJhd0xpbmVhclBhdGgocG9seWxpbmVQb2ludHMgYXMgUG9pbnRbXSwgeyBzdHJva2U6IGJyYW5jaENvbG9yLCBzdHJva2VXaWR0aDogYnJhbmNoV2lkdGgsIHN0cm9rZUxpbmVEYXNoIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHBvaW50cyA9IHBvaW50c09uQmV6aWVyQ3VydmVzKGN1cnZlLCAwLjAwMSk7XG4gICAgcmV0dXJuIGRyYXdCZXppZXJQYXRoKHBvaW50cyBhcyBQb2ludFtdLCB7IHN0cm9rZTogYnJhbmNoQ29sb3IsIHN0cm9rZVdpZHRoOiBicmFuY2hXaWR0aCwgc3Ryb2tlTGluZURhc2ggfSk7XG59XG4iXX0=
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { pointsOnBezierCurves } from 'points-on-curve';
|
|
2
|
-
import { PlaitBoard, drawLinearPath, setStrokeLinecap } from '@plait/core';
|
|
3
|
-
import { getRectangleByNode, getShapeByElement, getStrokeStyleByElement } from '../..';
|
|
4
|
-
import { getLayoutDirection, getPointByPlacement, moveXOfPoint, transformPlacement } from '../../point-placement';
|
|
5
|
-
import { HorizontalPlacement, VerticalPlacement } from '../../../interfaces/types';
|
|
6
|
-
import { getBranchColorByMindElement, getBranchShapeByMindElement, getBranchWidthByMindElement } from '../../node-style/branch';
|
|
7
|
-
import { BranchShape, MindElementShape } from '../../../interfaces/element';
|
|
8
|
-
import { getStrokeLineDash, StrokeStyle } from '@plait/common';
|
|
9
|
-
export function drawLogicLink(board, parent, node, isHorizontal, defaultStrokeColor = null, defaultStrokeWidth, defaultStrokeStyle) {
|
|
10
|
-
const branchShape = getBranchShapeByMindElement(board, parent.origin);
|
|
11
|
-
const branchColor = defaultStrokeColor || getBranchColorByMindElement(board, node.origin);
|
|
12
|
-
const branchWidth = defaultStrokeWidth || getBranchWidthByMindElement(board, node.origin);
|
|
13
|
-
const strokeStyle = defaultStrokeStyle || getStrokeStyleByElement(board, node.origin);
|
|
14
|
-
const hasStraightLine = branchShape === BranchShape.polyline ? true : !parent.origin.isRoot;
|
|
15
|
-
const parentShape = getShapeByElement(board, parent.origin);
|
|
16
|
-
const shape = getShapeByElement(board, node.origin);
|
|
17
|
-
const hasUnderlineShape = shape === MindElementShape.underline;
|
|
18
|
-
const hasUnderlineShapeOfParent = parentShape === MindElementShape.underline;
|
|
19
|
-
const nodeClient = getRectangleByNode(node);
|
|
20
|
-
const parentClient = getRectangleByNode(parent);
|
|
21
|
-
const linkDirection = getLayoutDirection(node, isHorizontal);
|
|
22
|
-
// ① ensure begin placement and end placement
|
|
23
|
-
// begin placement represent parent connector position and end placement represent child connector
|
|
24
|
-
const beginPlacement = [HorizontalPlacement.right, VerticalPlacement.middle];
|
|
25
|
-
const endPlacement = [HorizontalPlacement.left, VerticalPlacement.middle];
|
|
26
|
-
transformPlacement(beginPlacement, linkDirection);
|
|
27
|
-
transformPlacement(endPlacement, linkDirection);
|
|
28
|
-
// underline shape and horizontal
|
|
29
|
-
if (isHorizontal && hasUnderlineShapeOfParent && !parent.origin.isRoot) {
|
|
30
|
-
beginPlacement[1] = VerticalPlacement.bottom;
|
|
31
|
-
}
|
|
32
|
-
if (isHorizontal && hasUnderlineShape) {
|
|
33
|
-
endPlacement[1] = VerticalPlacement.bottom;
|
|
34
|
-
}
|
|
35
|
-
let beginPoint = getPointByPlacement(parentClient, beginPlacement);
|
|
36
|
-
let endPoint = getPointByPlacement(nodeClient, endPlacement);
|
|
37
|
-
// ② Determine the convex straight line
|
|
38
|
-
const straightLineDistance = 8;
|
|
39
|
-
const beginPoint2 = hasStraightLine ? moveXOfPoint(beginPoint, straightLineDistance, linkDirection) : beginPoint;
|
|
40
|
-
let straightLine = hasStraightLine ? [beginPoint, beginPoint2, beginPoint2] : [];
|
|
41
|
-
// ③ Determine the curve
|
|
42
|
-
const beginBufferDistance = (parent.hGap + node.hGap) / 3;
|
|
43
|
-
const endBufferDistance = -(parent.hGap + node.hGap) / 2.4;
|
|
44
|
-
let curve = [
|
|
45
|
-
beginPoint2,
|
|
46
|
-
moveXOfPoint(beginPoint2, beginBufferDistance, linkDirection),
|
|
47
|
-
moveXOfPoint(endPoint, endBufferDistance, linkDirection),
|
|
48
|
-
endPoint
|
|
49
|
-
];
|
|
50
|
-
// ④ underline shape and horizontal
|
|
51
|
-
const underlineEnd = moveXOfPoint(endPoint, nodeClient.width, linkDirection);
|
|
52
|
-
const underline = hasUnderlineShape && isHorizontal ? [underlineEnd, underlineEnd, underlineEnd] : [];
|
|
53
|
-
const points = pointsOnBezierCurves([...straightLine, ...curve, ...underline]);
|
|
54
|
-
const strokeLineDash = getStrokeLineDash(strokeStyle, branchWidth);
|
|
55
|
-
let linkG;
|
|
56
|
-
if (branchShape === BranchShape.polyline) {
|
|
57
|
-
const buffer = 8;
|
|
58
|
-
const movePoint = moveXOfPoint(beginPoint2, buffer, linkDirection);
|
|
59
|
-
const polylinePoints = [
|
|
60
|
-
...straightLine,
|
|
61
|
-
movePoint,
|
|
62
|
-
isHorizontal ? [movePoint[0], endPoint[1]] : [endPoint[0], movePoint[1]],
|
|
63
|
-
endPoint,
|
|
64
|
-
...underline
|
|
65
|
-
];
|
|
66
|
-
linkG = drawLinearPath(polylinePoints, { stroke: branchColor, strokeWidth: branchWidth, strokeLineDash });
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
linkG = PlaitBoard.getRoughSVG(board).curve(points, { stroke: branchColor, strokeWidth: branchWidth, strokeLineDash });
|
|
70
|
-
}
|
|
71
|
-
if (strokeStyle === StrokeStyle.dotted) {
|
|
72
|
-
setStrokeLinecap(linkG, 'round');
|
|
73
|
-
}
|
|
74
|
-
return linkG;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL2RyYXcvbm9kZS1saW5rL2xvZ2ljLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBUyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEksT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0QsTUFBTSxVQUFVLGFBQWEsQ0FDekIsS0FBaUIsRUFDakIsTUFBZ0IsRUFDaEIsSUFBYyxFQUNkLFlBQXFCLEVBQ3JCLHFCQUFvQyxJQUFJLEVBQ3hDLGtCQUEyQixFQUMzQixrQkFBZ0M7SUFFaEMsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsSUFBSSwyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FB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LFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDekgsQ0FBQztTQUFNLENBQUM7UUFDSixLQUFLLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEksQ0FBQztJQUNELElBQUksV0FBVyxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwb2ludHNPbkJlemllckN1cnZlcyB9IGZyb20gJ3BvaW50cy1vbi1jdXJ2ZSc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgZHJhd0xpbmVhclBhdGgsIHNldFN0cm9rZUxpbmVjYXAgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUsIGdldFNoYXBlQnlFbGVtZW50LCBnZXRTdHJva2VTdHlsZUJ5RWxlbWVudCB9IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IGdldExheW91dERpcmVjdGlvbiwgZ2V0UG9pbnRCeVBsYWNlbWVudCwgbW92ZVhPZlBvaW50LCB0cmFuc2Zvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9wb2ludC1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFBsYWNlbWVudCwgUG9pbnRQbGFjZW1lbnQsIFZlcnRpY2FsUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQsIGdldEJyYW5jaFNoYXBlQnlNaW5kRWxlbWVudCwgZ2V0QnJhbmNoV2lkdGhCeU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vbm9kZS1zdHlsZS9icmFuY2gnO1xuaW1wb3J0IHsgQnJhbmNoU2hhcGUsIE1pbmRFbGVtZW50U2hhcGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlTGluZURhc2gsIFN0cm9rZVN0eWxlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3TG9naWNMaW5rKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIHBhcmVudDogTWluZE5vZGUsXG4gICAgbm9kZTogTWluZE5vZGUsXG4gICAgaXNIb3Jpem9udGFsOiBib29sZWFuLFxuICAgIGRlZmF1bHRTdHJva2VDb2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgZGVmYXVsdFN0cm9rZVdpZHRoPzogbnVtYmVyLFxuICAgIGRlZmF1bHRTdHJva2VTdHlsZT86IFN0cm9rZVN0eWxlXG4pIHtcbiAgICBjb25zdCBicmFuY2hTaGFwZSA9IGdldEJyYW5jaFNoYXBlQnlNaW5kRWxlbWVudChib2FyZCwgcGFyZW50Lm9yaWdpbik7XG4gICAgY29uc3QgYnJhbmNoQ29sb3IgPSBkZWZhdWx0U3Ryb2tlQ29sb3IgfHwgZ2V0QnJhbmNoQ29sb3JCeU1pbmRFbGVtZW50KGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgY29uc3QgYnJhbmNoV2lkdGggPSBkZWZhdWx0U3Ryb2tlV2lkdGggfHwgZ2V0QnJhbmNoV2lkdGhCeU1pbmRFbGVtZW50KGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgY29uc3Qgc3Ryb2tlU3R5bGUgPSBkZWZhdWx0U3Ryb2tlU3R5bGUgfHwgZ2V0U3Ryb2tlU3R5bGVCeUVsZW1lbnQoYm9hcmQsIG5vZGUub3JpZ2luKTtcbiAgICBjb25zdCBoYXNTdHJhaWdodExpbmUgPSBicmFuY2hTaGFwZSA9PT0gQnJhbmNoU2hhcGUucG9seWxpbmUgPyB0cnVlIDogIXBhcmVudC5vcmlnaW4uaXNSb290O1xuICAgIGNvbnN0IHBhcmVudFNoYXBlID0gZ2V0U2hhcGVCeUVsZW1lbnQoYm9hcmQsIHBhcmVudC5vcmlnaW4pO1xuICAgIGNvbnN0IHNoYXBlID0gZ2V0U2hhcGVCeUVsZW1lbnQoYm9hcmQsIG5vZGUub3JpZ2luKTtcbiAgICBjb25zdCBoYXNVbmRlcmxpbmVTaGFwZSA9IHNoYXBlID09PSBNaW5kRWxlbWVudFNoYXBlLnVuZGVybGluZTtcbiAgICBjb25zdCBoYXNVbmRlcmxpbmVTaGFwZU9mUGFyZW50ID0gcGFyZW50U2hhcGUgPT09IE1pbmRFbGVtZW50U2hhcGUudW5kZXJsaW5lO1xuICAgIGNvbnN0IG5vZGVDbGllbnQgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgY29uc3QgcGFyZW50Q2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHBhcmVudCk7XG4gICAgY29uc3QgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihub2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgLy8g4pGgIGVuc3VyZSBiZWdpbiBwbGFjZW1lbnQgYW5kIGVuZCBwbGFjZW1lbnRcbiAgICAvLyBiZWdpbiBwbGFjZW1lbnQgcmVwcmVzZW50IHBhcmVudCBjb25uZWN0b3IgcG9zaXRpb24gYW5kIGVuZCBwbGFjZW1lbnQgcmVwcmVzZW50IGNoaWxkIGNvbm5lY3RvclxuICAgIGNvbnN0IGJlZ2luUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuICAgIGNvbnN0IGVuZFBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuXG4gICAgdHJhbnNmb3JtUGxhY2VtZW50KGJlZ2luUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoZW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIC8vIHVuZGVybGluZSBzaGFwZSBhbmQgaG9yaXpvbnRhbFxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCAmJiAhcGFyZW50Lm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgYmVnaW5QbGFjZW1lbnRbMV0gPSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b207XG4gICAgfVxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGUpIHtcbiAgICAgICAgZW5kUGxhY2VtZW50WzFdID0gVmVydGljYWxQbGFjZW1lbnQuYm90dG9tO1xuICAgIH1cblxuICAgIGxldCBiZWdpblBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwYXJlbnRDbGllbnQsIGJlZ2luUGxhY2VtZW50KTtcbiAgICBsZXQgZW5kUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5vZGVDbGllbnQsIGVuZFBsYWNlbWVudCk7XG5cbiAgICAvLyDikaEgRGV0ZXJtaW5lIHRoZSBjb252ZXggc3RyYWlnaHQgbGluZVxuICAgIGNvbnN0IHN0cmFpZ2h0TGluZURpc3RhbmNlID0gODtcbiAgICBjb25zdCBiZWdpblBvaW50MiA9IGhhc1N0cmFpZ2h0TGluZSA/IG1vdmVYT2ZQb2ludChiZWdpblBvaW50LCBzdHJhaWdodExpbmVEaXN0YW5jZSwgbGlua0RpcmVjdGlvbikgOiBiZWdpblBvaW50O1xuICAgIGxldCBzdHJhaWdodExpbmU6IFBvaW50W10gPSBoYXNTdHJhaWdodExpbmUgPyBbYmVnaW5Qb2ludCwgYmVnaW5Qb2ludDIsIGJlZ2luUG9pbnQyXSA6IFtdO1xuXG4gICAgLy8g4pGiIERldGVybWluZSB0aGUgY3VydmVcbiAgICBjb25zdCBiZWdpbkJ1ZmZlckRpc3RhbmNlID0gKHBhcmVudC5oR2FwICsgbm9kZS5oR2FwKSAvIDM7XG4gICAgY29uc3QgZW5kQnVmZmVyRGlzdGFuY2UgPSAtKHBhcmVudC5oR2FwICsgbm9kZS5oR2FwKSAvIDIuNDtcbiAgICBsZXQgY3VydmU6IFBvaW50W10gPSBbXG4gICAgICAgIGJlZ2luUG9pbnQyLFxuICAgICAgICBtb3ZlWE9mUG9pbnQoYmVnaW5Qb2ludDIsIGJlZ2luQnVmZmVyRGlzdGFuY2UsIGxpbmtEaXJlY3Rpb24pLFxuICAgICAgICBtb3ZlWE9mUG9pbnQoZW5kUG9pbnQsIGVuZEJ1ZmZlckRpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSxcbiAgICAgICAgZW5kUG9pbnRcbiAgICBdO1xuXG4gICAgLy8g4pGjIHVuZGVybGluZSBzaGFwZSBhbmQgaG9yaXpvbnRhbFxuICAgIGNvbnN0IHVuZGVybGluZUVuZCA9IG1vdmVYT2ZQb2ludChlbmRQb2ludCwgbm9kZUNsaWVudC53aWR0aCwgbGlua0RpcmVjdGlvbik7XG4gICAgY29uc3QgdW5kZXJsaW5lOiBQb2ludFtdID0gaGFzVW5kZXJsaW5lU2hhcGUgJiYgaXNIb3Jpem9udGFsID8gW3VuZGVybGluZUVuZCwgdW5kZXJsaW5lRW5kLCB1bmRlcmxpbmVFbmRdIDogW107XG4gICAgY29uc3QgcG9pbnRzID0gcG9pbnRzT25CZXppZXJDdXJ2ZXMoWy4uLnN0cmFpZ2h0TGluZSwgLi4uY3VydmUsIC4uLnVuZGVybGluZV0pO1xuICAgIGNvbnN0IHN0cm9rZUxpbmVEYXNoID0gZ2V0U3Ryb2tlTGluZURhc2goc3Ryb2tlU3R5bGUsIGJyYW5jaFdpZHRoKTtcbiAgICBsZXQgbGlua0c6IFNWR0dFbGVtZW50O1xuICAgIGlmIChicmFuY2hTaGFwZSA9PT0gQnJhbmNoU2hhcGUucG9seWxpbmUpIHtcbiAgICAgICAgY29uc3QgYnVmZmVyID0gODtcbiAgICAgICAgY29uc3QgbW92ZVBvaW50ID0gbW92ZVhPZlBvaW50KGJlZ2luUG9pbnQyLCBidWZmZXIsIGxpbmtEaXJlY3Rpb24pO1xuICAgICAgICBjb25zdCBwb2x5bGluZVBvaW50cyA9IFtcbiAgICAgICAgICAgIC4uLnN0cmFpZ2h0TGluZSxcbiAgICAgICAgICAgIG1vdmVQb2ludCxcbiAgICAgICAgICAgIGlzSG9yaXpvbnRhbCA/IFttb3ZlUG9pbnRbMF0sIGVuZFBvaW50WzFdXSA6IFtlbmRQb2ludFswXSwgbW92ZVBvaW50WzFdXSxcbiAgICAgICAgICAgIGVuZFBvaW50LFxuICAgICAgICAgICAgLi4udW5kZXJsaW5lXG4gICAgICAgIF07XG4gICAgICAgIGxpbmtHID0gZHJhd0xpbmVhclBhdGgocG9seWxpbmVQb2ludHMgYXMgUG9pbnRbXSwgeyBzdHJva2U6IGJyYW5jaENvbG9yLCBzdHJva2VXaWR0aDogYnJhbmNoV2lkdGgsIHN0cm9rZUxpbmVEYXNoIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmtHID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCkuY3VydmUocG9pbnRzIGFzIGFueSwgeyBzdHJva2U6IGJyYW5jaENvbG9yLCBzdHJva2VXaWR0aDogYnJhbmNoV2lkdGgsIHN0cm9rZUxpbmVEYXNoIH0pO1xuICAgIH1cbiAgICBpZiAoc3Ryb2tlU3R5bGUgPT09IFN0cm9rZVN0eWxlLmRvdHRlZCkge1xuICAgICAgICBzZXRTdHJva2VMaW5lY2FwKGxpbmtHLCAncm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmtHO1xufVxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { getRectangleByNode } from '../position/node';
|
|
2
|
-
import { PlaitBoard, RectangleClient, drawRoundRectangle } from '@plait/core';
|
|
3
|
-
import { getFillByElement, getStrokeColorByElement, getStrokeStyleByElement, getStrokeWidthByElement } from '../node-style/shape';
|
|
4
|
-
import { DefaultNodeStyle } from '../../constants/node-style';
|
|
5
|
-
import { getStrokeLineDash } from '@plait/common';
|
|
6
|
-
export function drawRoundRectangleByNode(board, node) {
|
|
7
|
-
const rectangle = getRectangleByNode(node);
|
|
8
|
-
return drawRoundRectangleByElement(board, rectangle, node.origin);
|
|
9
|
-
}
|
|
10
|
-
export function drawRoundRectangleByElement(board, nodeRectangle, element) {
|
|
11
|
-
const fill = getFillByElement(board, element);
|
|
12
|
-
const stroke = getStrokeColorByElement(board, element);
|
|
13
|
-
const strokeWidth = getStrokeWidthByElement(board, element);
|
|
14
|
-
const strokeStyle = getStrokeStyleByElement(board, element);
|
|
15
|
-
const strokeLineDash = getStrokeLineDash(strokeStyle, strokeWidth);
|
|
16
|
-
const newNodeRectangle = RectangleClient.inflate(nodeRectangle, -strokeWidth);
|
|
17
|
-
const nodeG = drawRoundRectangle(PlaitBoard.getRoughSVG(board), newNodeRectangle.x, newNodeRectangle.y, newNodeRectangle.x + newNodeRectangle.width, newNodeRectangle.y + newNodeRectangle.height, {
|
|
18
|
-
stroke,
|
|
19
|
-
strokeWidth,
|
|
20
|
-
fill,
|
|
21
|
-
fillStyle: 'solid',
|
|
22
|
-
strokeLineDash
|
|
23
|
-
}, false, DefaultNodeStyle.shape.rectangleRadius);
|
|
24
|
-
return nodeG;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zaGFwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL2RyYXcvbm9kZS1zaGFwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQWlCLEVBQUUsSUFBYztJQUN0RSxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxPQUFPLDJCQUEyQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsS0FBaUIsRUFBRSxhQUE4QixFQUFFLE9BQW9CO0lBQy9HLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUM1QixVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUM3QixnQkFBZ0IsQ0FBQyxDQUFDLEVBQ2xCLGdCQUFnQixDQUFDLENBQUMsRUFDbEIsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFDM0MsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFDNUM7UUFDSSxNQUFNO1FBQ04sV0FBVztRQUNYLElBQUk7UUFDSixTQUFTLEVBQUUsT0FBTztRQUNsQixjQUFjO0tBQ2pCLEVBQ0QsS0FBSyxFQUNMLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxlQUFlLENBQ3pDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZE5vZGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vcG9zaXRpb24vbm9kZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBSZWN0YW5nbGVDbGllbnQsIGRyYXdSb3VuZFJlY3RhbmdsZSB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldEZpbGxCeUVsZW1lbnQsIGdldFN0cm9rZUNvbG9yQnlFbGVtZW50LCBnZXRTdHJva2VTdHlsZUJ5RWxlbWVudCwgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi9ub2RlLXN0eWxlL3NoYXBlJztcbmltcG9ydCB7IERlZmF1bHROb2RlU3R5bGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbm9kZS1zdHlsZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlTGluZURhc2ggfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdSb3VuZFJlY3RhbmdsZUJ5Tm9kZShib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogTWluZE5vZGUpIHtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgcmV0dXJuIGRyYXdSb3VuZFJlY3RhbmdsZUJ5RWxlbWVudChib2FyZCwgcmVjdGFuZ2xlLCBub2RlLm9yaWdpbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3Um91bmRSZWN0YW5nbGVCeUVsZW1lbnQoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGVSZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICBjb25zdCBmaWxsID0gZ2V0RmlsbEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3Qgc3Ryb2tlID0gZ2V0U3Ryb2tlQ29sb3JCeUVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHN0cm9rZVN0eWxlID0gZ2V0U3Ryb2tlU3R5bGVCeUVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHN0cm9rZUxpbmVEYXNoID0gZ2V0U3Ryb2tlTGluZURhc2goc3Ryb2tlU3R5bGUsIHN0cm9rZVdpZHRoKTtcbiAgICBjb25zdCBuZXdOb2RlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmluZmxhdGUobm9kZVJlY3RhbmdsZSwgLXN0cm9rZVdpZHRoKTtcbiAgICBjb25zdCBub2RlRyA9IGRyYXdSb3VuZFJlY3RhbmdsZShcbiAgICAgICAgUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCksXG4gICAgICAgIG5ld05vZGVSZWN0YW5nbGUueCxcbiAgICAgICAgbmV3Tm9kZVJlY3RhbmdsZS55LFxuICAgICAgICBuZXdOb2RlUmVjdGFuZ2xlLnggKyBuZXdOb2RlUmVjdGFuZ2xlLndpZHRoLFxuICAgICAgICBuZXdOb2RlUmVjdGFuZ2xlLnkgKyBuZXdOb2RlUmVjdGFuZ2xlLmhlaWdodCxcbiAgICAgICAge1xuICAgICAgICAgICAgc3Ryb2tlLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGgsXG4gICAgICAgICAgICBmaWxsLFxuICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnLFxuICAgICAgICAgICAgc3Ryb2tlTGluZURhc2hcbiAgICAgICAgfSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIERlZmF1bHROb2RlU3R5bGUuc2hhcGUucmVjdGFuZ2xlUmFkaXVzXG4gICAgKTtcblxuICAgIHJldHVybiBub2RlRztcbn1cbiJdfQ==
|
package/esm2022/utils/index.mjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export * from './position';
|
|
2
|
-
export * from './weak-maps';
|
|
3
|
-
export * from './mind';
|
|
4
|
-
export * from './layout';
|
|
5
|
-
export * from './node';
|
|
6
|
-
export * from './node-style';
|
|
7
|
-
export * from './dnd/common';
|
|
8
|
-
export * from './dnd/detector';
|
|
9
|
-
export * from './draw/node-dnd';
|
|
10
|
-
export * from './abstract/common';
|
|
11
|
-
export * from './abstract/resize';
|
|
12
|
-
export * from './node/right-node-count';
|
|
13
|
-
export * from './space/node-space';
|
|
14
|
-
export * from './space';
|
|
15
|
-
export * from './path';
|
|
16
|
-
export * from './common';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9taW5kJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtc3R5bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kbmQvY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kL2RldGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhdy9ub2RlLWRuZCc7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0L2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0L3Jlc2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUvcmlnaHQtbm9kZS1jb3VudCc7XG5leHBvcnQgKiBmcm9tICcuL3NwYWNlL25vZGUtc3BhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhdGgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuIl19
|
package/esm2022/utils/layout.mjs
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { LayoutDirection, LayoutDirectionsMap } from '../interfaces';
|
|
2
|
-
import { isIndentedLayout, MindLayoutType } from '@plait/layouts';
|
|
3
|
-
export const getBranchDirectionsByLayouts = (branchLayouts) => {
|
|
4
|
-
const branchDirections = [];
|
|
5
|
-
branchLayouts.forEach(l => {
|
|
6
|
-
const directions = LayoutDirectionsMap[l];
|
|
7
|
-
directions.forEach(d => {
|
|
8
|
-
if (!branchDirections.includes(d) && !branchDirections.includes(getLayoutReverseDirection(d))) {
|
|
9
|
-
branchDirections.push(d);
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
return branchDirections;
|
|
14
|
-
};
|
|
15
|
-
export const isCorrectLayout = (root, layout) => {
|
|
16
|
-
const rootLayout = root.layout || getDefaultLayout();
|
|
17
|
-
return !getInCorrectLayoutDirection(rootLayout, layout);
|
|
18
|
-
};
|
|
19
|
-
export const isMixedLayout = (parentLayout, layout) => {
|
|
20
|
-
return (!isIndentedLayout(parentLayout) && isIndentedLayout(layout)) || (isIndentedLayout(parentLayout) && !isIndentedLayout(layout));
|
|
21
|
-
};
|
|
22
|
-
export const getInCorrectLayoutDirection = (rootLayout, layout) => {
|
|
23
|
-
const directions = LayoutDirectionsMap[rootLayout];
|
|
24
|
-
const subLayoutDirections = LayoutDirectionsMap[layout];
|
|
25
|
-
if (!subLayoutDirections) {
|
|
26
|
-
throw new Error(`unexpected layout: ${layout} on correct layout`);
|
|
27
|
-
}
|
|
28
|
-
return subLayoutDirections.find(d => directions.includes(getLayoutReverseDirection(d)));
|
|
29
|
-
};
|
|
30
|
-
export const correctLayoutByDirection = (layout, direction) => {
|
|
31
|
-
const isHorizontal = direction === LayoutDirection.left || direction === LayoutDirection.right ? true : false;
|
|
32
|
-
let inverseDirectionLayout = MindLayoutType.standard;
|
|
33
|
-
switch (layout) {
|
|
34
|
-
case MindLayoutType.left:
|
|
35
|
-
inverseDirectionLayout = MindLayoutType.right;
|
|
36
|
-
break;
|
|
37
|
-
case MindLayoutType.right:
|
|
38
|
-
inverseDirectionLayout = MindLayoutType.left;
|
|
39
|
-
break;
|
|
40
|
-
case MindLayoutType.downward:
|
|
41
|
-
inverseDirectionLayout = MindLayoutType.upward;
|
|
42
|
-
break;
|
|
43
|
-
case MindLayoutType.upward:
|
|
44
|
-
inverseDirectionLayout = MindLayoutType.downward;
|
|
45
|
-
break;
|
|
46
|
-
case MindLayoutType.rightBottomIndented:
|
|
47
|
-
inverseDirectionLayout = isHorizontal ? MindLayoutType.leftBottomIndented : MindLayoutType.rightTopIndented;
|
|
48
|
-
break;
|
|
49
|
-
case MindLayoutType.leftBottomIndented:
|
|
50
|
-
inverseDirectionLayout = isHorizontal ? MindLayoutType.rightBottomIndented : MindLayoutType.leftTopIndented;
|
|
51
|
-
break;
|
|
52
|
-
case MindLayoutType.rightTopIndented:
|
|
53
|
-
inverseDirectionLayout = isHorizontal ? MindLayoutType.leftTopIndented : MindLayoutType.rightBottomIndented;
|
|
54
|
-
break;
|
|
55
|
-
case MindLayoutType.leftTopIndented:
|
|
56
|
-
inverseDirectionLayout = isHorizontal ? MindLayoutType.rightTopIndented : MindLayoutType.leftBottomIndented;
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
return inverseDirectionLayout;
|
|
60
|
-
};
|
|
61
|
-
export const getLayoutDirection = (root) => {
|
|
62
|
-
const layout = root.layout || getDefaultLayout();
|
|
63
|
-
return LayoutDirectionsMap[layout];
|
|
64
|
-
};
|
|
65
|
-
export const getDefaultLayout = () => {
|
|
66
|
-
return MindLayoutType.standard;
|
|
67
|
-
};
|
|
68
|
-
export const getAvailableSubLayoutsByLayoutDirections = (directions) => {
|
|
69
|
-
const result = [];
|
|
70
|
-
const reverseDirections = directions.map(getLayoutReverseDirection);
|
|
71
|
-
for (const key in MindLayoutType) {
|
|
72
|
-
const layout = MindLayoutType[key];
|
|
73
|
-
const layoutDirections = LayoutDirectionsMap[layout];
|
|
74
|
-
if (layoutDirections) {
|
|
75
|
-
const hasSameDirection = layoutDirections.some(d => directions.includes(d));
|
|
76
|
-
const hasReverseDirection = layoutDirections.some(r => reverseDirections.includes(r));
|
|
77
|
-
if (hasSameDirection && !hasReverseDirection) {
|
|
78
|
-
result.push(layout);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return result;
|
|
83
|
-
};
|
|
84
|
-
export const getLayoutReverseDirection = (layoutDirection) => {
|
|
85
|
-
let reverseDirection = LayoutDirection.right;
|
|
86
|
-
switch (layoutDirection) {
|
|
87
|
-
case LayoutDirection.top:
|
|
88
|
-
reverseDirection = LayoutDirection.bottom;
|
|
89
|
-
break;
|
|
90
|
-
case LayoutDirection.bottom:
|
|
91
|
-
reverseDirection = LayoutDirection.top;
|
|
92
|
-
break;
|
|
93
|
-
case LayoutDirection.right:
|
|
94
|
-
reverseDirection = LayoutDirection.left;
|
|
95
|
-
break;
|
|
96
|
-
case LayoutDirection.left:
|
|
97
|
-
reverseDirection = LayoutDirection.right;
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
return reverseDirection;
|
|
101
|
-
};
|
|
102
|
-
export const getRootLayout = (root) => {
|
|
103
|
-
return root.layout || getDefaultLayout();
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvbGF5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLGFBQStCLEVBQUUsRUFBRTtJQUM1RSxNQUFNLGdCQUFnQixHQUFzQixFQUFFLENBQUM7SUFDL0MsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN0QixNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM1RixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGdCQUFnQixDQUFDO0FBQzVCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQWlCLEVBQUUsTUFBc0IsRUFBRSxFQUFFO0lBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUNyRCxPQUFPLENBQUMsMkJBQTJCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVELENBQUMsQ0FBQztBQUVG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LEVBQUU7SUFDMUUsSUFBSSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQzdDLFFBQVEsZUFBZSxFQUFFLENBQUM7UUFDdEIsS0FBSyxlQUFlLENBQUMsR0FBRztZQUNwQixnQkFBZ0IsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQzFDLE1BQU07UUFDVixLQUFLLGVBQWUsQ0FBQyxNQUFNO1lBQ3ZCLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7WUFDdkMsTUFBTTtRQUNWLEtBQUssZUFBZSxDQUFDLEtBQUs7WUFDdEIsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QyxNQUFNO1FBQ1YsS0FBSyxlQUFlLENBQUMsSUFBSTtZQUNyQixnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ3pDLE1BQU07SUFDZCxDQUFDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFpQixFQUFFLEVBQUU7SUFDL0MsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLGdCQUFnQixFQUFFLENBQUM7QUFDN0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF5b3V0RGlyZWN0aW9uLCBMYXlvdXREaXJlY3Rpb25zTWFwLCBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBpc0luZGVudGVkTGF5b3V0LCBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcblxuZXhwb3J0IGNvbnN0IGdldEJyYW5jaERpcmVjdGlvbnNCeUxheW91dHMgPSAoYnJhbmNoTGF5b3V0czogTWluZExheW91dFR5cGVbXSkgPT4ge1xuICAgIGNvbnN0IGJyYW5jaERpcmVjdGlvbnM6IExheW91dERpcmVjdGlvbltdID0gW107XG4gICAgYnJhbmNoTGF5b3V0cy5mb3JFYWNoKGwgPT4ge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb25zID0gTGF5b3V0RGlyZWN0aW9uc01hcFtsXTtcbiAgICAgICAgZGlyZWN0aW9ucy5mb3JFYWNoKGQgPT4ge1xuICAgICAgICAgICAgaWYgKCFicmFuY2hEaXJlY3Rpb25zLmluY2x1ZGVzKGQpICYmICFicmFuY2hEaXJlY3Rpb25zLmluY2x1ZGVzKGdldExheW91dFJldmVyc2VEaXJlY3Rpb24oZCkpKSB7XG4gICAgICAgICAgICAgICAgYnJhbmNoRGlyZWN0aW9ucy5wdXNoKGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gYnJhbmNoRGlyZWN0aW9ucztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0NvcnJlY3RMYXlvdXQgPSAocm9vdDogTWluZEVsZW1lbnQsIGxheW91dDogTWluZExheW91dFR5cGUpID0+IHtcbiAgICBjb25zdCByb290TGF5b3V0ID0gcm9vdC5sYXlvdXQgfHwgZ2V0RGVmYXVsdExheW91dCgpO1xuICAgIHJldHVybiAhZ2V0SW5Db3JyZWN0TGF5b3V0RGlyZWN0aW9uKHJvb3RMYXlvdXQsIGxheW91dCk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNNaXhlZExheW91dCA9IChwYXJlbnRMYXlvdXQ6IE1pbmRMYXlvdXRUeXBlLCBsYXlvdXQ6IE1pbmRMYXlvdXRUeXBlKSA9PiB7XG4gICAgcmV0dXJuICghaXNJbmRlbnRlZExheW91dChwYXJlbnRMYXlvdXQpICYmIGlzSW5kZW50ZWRMYXlvdXQobGF5b3V0KSkgfHwgKGlzSW5kZW50ZWRMYXlvdXQocGFyZW50TGF5b3V0KSAmJiAhaXNJbmRlbnRlZExheW91dChsYXlvdXQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJbkNvcnJlY3RMYXlvdXREaXJlY3Rpb24gPSAocm9vdExheW91dDogTWluZExheW91dFR5cGUsIGxheW91dDogTWluZExheW91dFR5cGUpID0+IHtcbiAgICBjb25zdCBkaXJlY3Rpb25zID0gTGF5b3V0RGlyZWN0aW9uc01hcFtyb290TGF5b3V0XTtcbiAgICBjb25zdCBzdWJMYXlvdXREaXJlY3Rpb25zID0gTGF5b3V0RGlyZWN0aW9uc01hcFtsYXlvdXRdO1xuICAgIGlmICghc3ViTGF5b3V0RGlyZWN0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgbGF5b3V0OiAke2xheW91dH0gb24gY29ycmVjdCBsYXlvdXRgKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1YkxheW91dERpcmVjdGlvbnMuZmluZChkID0+IGRpcmVjdGlvbnMuaW5jbHVkZXMoZ2V0TGF5b3V0UmV2ZXJzZURpcmVjdGlvbihkKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcnJlY3RMYXlvdXRCeURpcmVjdGlvbiA9IChsYXlvdXQ6IE1pbmRMYXlvdXRUeXBlLCBkaXJlY3Rpb246IExheW91dERpcmVjdGlvbikgPT4ge1xuICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLmxlZnQgfHwgZGlyZWN0aW9uID09PSBMYXlvdXREaXJlY3Rpb24ucmlnaHQgPyB0cnVlIDogZmFsc2U7XG4gICAgbGV0IGludmVyc2VEaXJlY3Rpb25MYXlvdXQgPSBNaW5kTGF5b3V0VHlwZS5zdGFuZGFyZDtcbiAgICBzd2l0Y2ggKGxheW91dCkge1xuICAgICAgICBjYXNlIE1pbmRMYXlvdXRUeXBlLmxlZnQ6XG4gICAgICAgICAgICBpbnZlcnNlRGlyZWN0aW9uTGF5b3V0ID0gTWluZExheW91dFR5cGUucmlnaHQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBNaW5kTGF5b3V0VHlwZS5yaWdodDpcbiAgICAgICAgICAgIGludmVyc2VEaXJlY3Rpb25MYXlvdXQgPSBNaW5kTGF5b3V0VHlwZS5sZWZ0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgTWluZExheW91dFR5cGUuZG93bndhcmQ6XG4gICAgICAgICAgICBpbnZlcnNlRGlyZWN0aW9uTGF5b3V0ID0gTWluZExheW91dFR5cGUudXB3YXJkO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgTWluZExheW91dFR5cGUudXB3YXJkOlxuICAgICAgICAgICAgaW52ZXJzZURpcmVjdGlvbkxheW91dCA9IE1pbmRMYXlvdXRUeXBlLmRvd253YXJkO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgTWluZExheW91dFR5cGUucmlnaHRCb3R0b21JbmRlbnRlZDpcbiAgICAgICAgICAgIGludmVyc2VEaXJlY3Rpb25MYXlvdXQgPSBpc0hvcml6b250YWwgPyBNaW5kTGF5b3V0VHlwZS5sZWZ0Qm90dG9tSW5kZW50ZWQgOiBNaW5kTGF5b3V0VHlwZS5yaWdodFRvcEluZGVudGVkO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgTWluZExheW91dFR5cGUubGVmdEJvdHRvbUluZGVudGVkOlxuICAgICAgICAgICAgaW52ZXJzZURpcmVjdGlvbkxheW91dCA9IGlzSG9yaXpvbnRhbCA/IE1pbmRMYXlvdXRUeXBlLnJpZ2h0Qm90dG9tSW5kZW50ZWQgOiBNaW5kTGF5b3V0VHlwZS5sZWZ0VG9wSW5kZW50ZWQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBNaW5kTGF5b3V0VHlwZS5yaWdodFRvcEluZGVudGVkOlxuICAgICAgICAgICAgaW52ZXJzZURpcmVjdGlvbkxheW91dCA9IGlzSG9yaXpvbnRhbCA/IE1pbmRMYXlvdXRUeXBlLmxlZnRUb3BJbmRlbnRlZCA6IE1pbmRMYXlvdXRUeXBlLnJpZ2h0Qm90dG9tSW5kZW50ZWQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBNaW5kTGF5b3V0VHlwZS5sZWZ0VG9wSW5kZW50ZWQ6XG4gICAgICAgICAgICBpbnZlcnNlRGlyZWN0aW9uTGF5b3V0ID0gaXNIb3Jpem9udGFsID8gTWluZExheW91dFR5cGUucmlnaHRUb3BJbmRlbnRlZCA6IE1pbmRMYXlvdXRUeXBlLmxlZnRCb3R0b21JbmRlbnRlZDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gaW52ZXJzZURpcmVjdGlvbkxheW91dDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMYXlvdXREaXJlY3Rpb24gPSAocm9vdDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBsYXlvdXQgPSByb290LmxheW91dCB8fCBnZXREZWZhdWx0TGF5b3V0KCk7XG4gICAgcmV0dXJuIExheW91dERpcmVjdGlvbnNNYXBbbGF5b3V0XTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0TGF5b3V0ID0gKCkgPT4ge1xuICAgIHJldHVybiBNaW5kTGF5b3V0VHlwZS5zdGFuZGFyZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBdmFpbGFibGVTdWJMYXlvdXRzQnlMYXlvdXREaXJlY3Rpb25zID0gKGRpcmVjdGlvbnM6IExheW91dERpcmVjdGlvbltdKTogTWluZExheW91dFR5cGVbXSA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBNaW5kTGF5b3V0VHlwZVtdID0gW107XG4gICAgY29uc3QgcmV2ZXJzZURpcmVjdGlvbnMgPSBkaXJlY3Rpb25zLm1hcChnZXRMYXlvdXRSZXZlcnNlRGlyZWN0aW9uKTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBNaW5kTGF5b3V0VHlwZSkge1xuICAgICAgICBjb25zdCBsYXlvdXQgPSBNaW5kTGF5b3V0VHlwZVtrZXkgYXMga2V5b2YgdHlwZW9mIE1pbmRMYXlvdXRUeXBlXTtcbiAgICAgICAgY29uc3QgbGF5b3V0RGlyZWN0aW9ucyA9IExheW91dERpcmVjdGlvbnNNYXBbbGF5b3V0XTtcbiAgICAgICAgaWYgKGxheW91dERpcmVjdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVEaXJlY3Rpb24gPSBsYXlvdXREaXJlY3Rpb25zLnNvbWUoZCA9PiBkaXJlY3Rpb25zLmluY2x1ZGVzKGQpKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1JldmVyc2VEaXJlY3Rpb24gPSBsYXlvdXREaXJlY3Rpb25zLnNvbWUociA9PiByZXZlcnNlRGlyZWN0aW9ucy5pbmNsdWRlcyhyKSk7XG4gICAgICAgICAgICBpZiAoaGFzU2FtZURpcmVjdGlvbiAmJiAhaGFzUmV2ZXJzZURpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGxheW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMYXlvdXRSZXZlcnNlRGlyZWN0aW9uID0gKGxheW91dERpcmVjdGlvbjogTGF5b3V0RGlyZWN0aW9uKSA9PiB7XG4gICAgbGV0IHJldmVyc2VEaXJlY3Rpb24gPSBMYXlvdXREaXJlY3Rpb24ucmlnaHQ7XG4gICAgc3dpdGNoIChsYXlvdXREaXJlY3Rpb24pIHtcbiAgICAgICAgY2FzZSBMYXlvdXREaXJlY3Rpb24udG9wOlxuICAgICAgICAgICAgcmV2ZXJzZURpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi5ib3R0b207XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBMYXlvdXREaXJlY3Rpb24uYm90dG9tOlxuICAgICAgICAgICAgcmV2ZXJzZURpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi50b3A7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBMYXlvdXREaXJlY3Rpb24ucmlnaHQ6XG4gICAgICAgICAgICByZXZlcnNlRGlyZWN0aW9uID0gTGF5b3V0RGlyZWN0aW9uLmxlZnQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBMYXlvdXREaXJlY3Rpb24ubGVmdDpcbiAgICAgICAgICAgIHJldmVyc2VEaXJlY3Rpb24gPSBMYXlvdXREaXJlY3Rpb24ucmlnaHQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHJldmVyc2VEaXJlY3Rpb247XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Um9vdExheW91dCA9IChyb290OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIHJldHVybiByb290LmxheW91dCB8fCBnZXREZWZhdWx0TGF5b3V0KCk7XG59O1xuIl19
|
package/esm2022/utils/mind.mjs
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { addSelectedElement, clearSelectedElement, idCreator, Transforms } from '@plait/core';
|
|
2
|
-
import { MindElement, PlaitMind } from '../interfaces/element';
|
|
3
|
-
import { editTopic } from './node/common';
|
|
4
|
-
import { createMindElement, INHERIT_ATTRIBUTE_KEYS } from './node/create-node';
|
|
5
|
-
import { ROOT_TOPIC_FONT_SIZE, TOPIC_FONT_SIZE } from '../constants/node-topic-style';
|
|
6
|
-
import { TEXT_DEFAULT_HEIGHT } from '@plait/text-plugins';
|
|
7
|
-
export const getChildrenCount = (element) => {
|
|
8
|
-
const count = element.children.reduce((p, c) => {
|
|
9
|
-
return p + getChildrenCount(c);
|
|
10
|
-
}, 0);
|
|
11
|
-
return count + element.children.length;
|
|
12
|
-
};
|
|
13
|
-
export const isChildElement = (origin, child) => {
|
|
14
|
-
let parent = MindElement.findParent(child);
|
|
15
|
-
while (parent) {
|
|
16
|
-
if (parent === origin) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
parent = MindElement.findParent(parent);
|
|
20
|
-
}
|
|
21
|
-
return false;
|
|
22
|
-
};
|
|
23
|
-
export const getFirstLevelElement = (elements) => {
|
|
24
|
-
let result = [];
|
|
25
|
-
elements.forEach(element => {
|
|
26
|
-
const isChild = elements.some(node => {
|
|
27
|
-
return isChildElement(node, element);
|
|
28
|
-
});
|
|
29
|
-
if (!isChild) {
|
|
30
|
-
result.push(element);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
export const isChildRight = (parent, child) => {
|
|
36
|
-
return parent.x < child.x;
|
|
37
|
-
};
|
|
38
|
-
export const isChildUp = (parent, child) => {
|
|
39
|
-
return parent.y > child.y;
|
|
40
|
-
};
|
|
41
|
-
export const copyNewNode = (node) => {
|
|
42
|
-
const newNode = { ...node };
|
|
43
|
-
newNode.id = idCreator();
|
|
44
|
-
newNode.children = [];
|
|
45
|
-
for (const childNode of node.children) {
|
|
46
|
-
newNode.children.push(copyNewNode(childNode));
|
|
47
|
-
}
|
|
48
|
-
return newNode;
|
|
49
|
-
};
|
|
50
|
-
export const insertMindElement = (board, inheritNode, path) => {
|
|
51
|
-
const newNode = {};
|
|
52
|
-
if (!inheritNode.isRoot) {
|
|
53
|
-
INHERIT_ATTRIBUTE_KEYS.forEach(attr => {
|
|
54
|
-
newNode[attr] = inheritNode[attr];
|
|
55
|
-
});
|
|
56
|
-
delete newNode.layout;
|
|
57
|
-
}
|
|
58
|
-
const newElement = createMindElement('', TOPIC_FONT_SIZE, TEXT_DEFAULT_HEIGHT, newNode);
|
|
59
|
-
Transforms.insertNode(board, newElement, path);
|
|
60
|
-
clearSelectedElement(board);
|
|
61
|
-
addSelectedElement(board, newElement);
|
|
62
|
-
setTimeout(() => {
|
|
63
|
-
editTopic(newElement);
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
export const findLastChild = (child) => {
|
|
67
|
-
let result = child;
|
|
68
|
-
while (result.children.length !== 0) {
|
|
69
|
-
result = result.children[result.children.length - 1];
|
|
70
|
-
}
|
|
71
|
-
return result;
|
|
72
|
-
};
|
|
73
|
-
export const divideElementByParent = (elements) => {
|
|
74
|
-
const abstractIncludedGroups = [];
|
|
75
|
-
const parentElements = [];
|
|
76
|
-
for (let i = 0; i < elements.length; i++) {
|
|
77
|
-
const parent = MindElement.getParent(elements[i]);
|
|
78
|
-
const parentIndex = parentElements.indexOf(parent);
|
|
79
|
-
if (parentIndex === -1) {
|
|
80
|
-
parentElements.push(parent);
|
|
81
|
-
abstractIncludedGroups.push([elements[i]]);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
abstractIncludedGroups[parentIndex].push(elements[i]);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return { parentElements, abstractIncludedGroups };
|
|
88
|
-
};
|
|
89
|
-
export const getDefaultMindElementFontSize = (board, element) => {
|
|
90
|
-
if (PlaitMind.isMind(element)) {
|
|
91
|
-
return ROOT_TOPIC_FONT_SIZE;
|
|
92
|
-
}
|
|
93
|
-
if (MindElement.isMindElement(board, element)) {
|
|
94
|
-
return TOPIC_FONT_SIZE;
|
|
95
|
-
}
|
|
96
|
-
throw new Error('can not find default font-size');
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL21pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBb0IsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFHakcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBb0IsRUFBRSxFQUFFO0lBQ3JELE1BQU0sS0FBSyxHQUFXLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBUyxFQUFFLENBQWMsRUFBRSxFQUFFO1FBQ3hFLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNOLE9BQU8sS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQW1CLEVBQUUsS0FBa0IsRUFBRSxFQUFFO0lBQ3RFLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsT0FBTyxNQUFNLEVBQUUsQ0FBQztRQUNaLElBQUksTUFBTSxLQUFLLE1B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RUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDckYsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxvQkFBb0IsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkU2VsZWN0ZWRFbGVtZW50LCBjbGVhclNlbGVjdGVkRWxlbWVudCwgaWRDcmVhdG9yLCBQYXRoLCBQbGFpdEJvYXJkLCBUcmFuc2Zvcm1zIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBlZGl0VG9waWMgfSBmcm9tICcuL25vZGUvY29tbW9uJztcbmltcG9ydCB7IGNyZWF0ZU1pbmRFbGVtZW50LCBJTkhFUklUX0FUVFJJQlVURV9LRVlTLCBJbmhlcml0QXR0cmlidXRlIH0gZnJvbSAnLi9ub2RlL2NyZWF0ZS1ub2RlJztcbmltcG9ydCB7IE1pbmROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgUk9PVF9UT1BJQ19GT05UX1NJWkUsIFRPUElDX0ZPTlRfU0laRSB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXRvcGljLXN0eWxlJztcbmltcG9ydCB7IFRFWFRfREVGQVVMVF9IRUlHSFQgfSBmcm9tICdAcGxhaXQvdGV4dC1wbHVnaW5zJztcblxuZXhwb3J0IGNvbnN0IGdldENoaWxkcmVuQ291bnQgPSAoZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBjb3VudDogbnVtYmVyID0gZWxlbWVudC5jaGlsZHJlbi5yZWR1Y2UoKHA6IG51bWJlciwgYzogTWluZEVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIHAgKyBnZXRDaGlsZHJlbkNvdW50KGMpO1xuICAgIH0sIDApO1xuICAgIHJldHVybiBjb3VudCArIGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ2hpbGRFbGVtZW50ID0gKG9yaWdpbjogTWluZEVsZW1lbnQsIGNoaWxkOiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGxldCBwYXJlbnQgPSBNaW5kRWxlbWVudC5maW5kUGFyZW50KGNoaWxkKTtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICAgIGlmIChwYXJlbnQgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChwYXJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RMZXZlbEVsZW1lbnQgPSAoZWxlbWVudHM6IE1pbmRFbGVtZW50W10pID0+IHtcbiAgICBsZXQgcmVzdWx0OiBNaW5kRWxlbWVudFtdID0gW107XG4gICAgZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3QgaXNDaGlsZCA9IGVsZW1lbnRzLnNvbWUobm9kZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXNDaGlsZEVsZW1lbnQobm9kZSwgZWxlbWVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghaXNDaGlsZCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ2hpbGRSaWdodCA9IChwYXJlbnQ6IE1pbmROb2RlLCBjaGlsZDogTWluZE5vZGUpID0+IHtcbiAgICByZXR1cm4gcGFyZW50LnggPCBjaGlsZC54O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ2hpbGRVcCA9IChwYXJlbnQ6IE1pbmROb2RlLCBjaGlsZDogTWluZE5vZGUpID0+IHtcbiAgICByZXR1cm4gcGFyZW50LnkgPiBjaGlsZC55O1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcHlOZXdOb2RlID0gKG5vZGU6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgbmV3Tm9kZTogTWluZEVsZW1lbnQgPSB7IC4uLm5vZGUgfTtcbiAgICBuZXdOb2RlLmlkID0gaWRDcmVhdG9yKCk7XG4gICAgbmV3Tm9kZS5jaGlsZHJlbiA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjaGlsZE5vZGUgb2Ygbm9kZS5jaGlsZHJlbikge1xuICAgICAgICBuZXdOb2RlLmNoaWxkcmVuLnB1c2goY29weU5ld05vZGUoY2hpbGROb2RlKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXdOb2RlO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydE1pbmRFbGVtZW50ID0gKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgaW5oZXJpdE5vZGU6IE1pbmRFbGVtZW50LCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3QgbmV3Tm9kZTogSW5oZXJpdEF0dHJpYnV0ZSA9IHt9O1xuICAgIGlmICghaW5oZXJpdE5vZGUuaXNSb290KSB7XG4gICAgICAgIElOSEVSSVRfQVRUUklCVVRFX0tFWVMuZm9yRWFjaChhdHRyID0+IHtcbiAgICAgICAgICAgIChuZXdOb2RlIGFzIGFueSlbYXR0cl0gPSBpbmhlcml0Tm9kZVthdHRyXTtcbiAgICAgICAgfSk7XG4gICAgICAgIGRlbGV0ZSBuZXdOb2RlLmxheW91dDtcbiAgICB9XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IGNyZWF0ZU1pbmRFbGVtZW50KCcnLCBUT1BJQ19GT05UX1NJWkUsIFRFWFRfREVGQVVMVF9IRUlHSFQsIG5ld05vZGUpO1xuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQoYm9hcmQpO1xuICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgbmV3RWxlbWVudCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVkaXRUb3BpYyhuZXdFbGVtZW50KTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kTGFzdENoaWxkID0gKGNoaWxkOiBNaW5kTm9kZSkgPT4ge1xuICAgIGxldCByZXN1bHQgPSBjaGlsZDtcbiAgICB3aGlsZSAocmVzdWx0LmNoaWxkcmVuLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQuY2hpbGRyZW5bcmVzdWx0LmNoaWxkcmVuLmxlbmd0aCAtIDFdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGRpdmlkZUVsZW1lbnRCeVBhcmVudCA9IChlbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IGFic3RyYWN0SW5jbHVkZWRHcm91cHMgPSBbXTtcbiAgICBjb25zdCBwYXJlbnRFbGVtZW50czogTWluZEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5nZXRQYXJlbnQoZWxlbWVudHNbaV0pO1xuICAgICAgICBjb25zdCBwYXJlbnRJbmRleCA9IHBhcmVudEVsZW1lbnRzLmluZGV4T2YocGFyZW50KTtcbiAgICAgICAgaWYgKHBhcmVudEluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgcGFyZW50RWxlbWVudHMucHVzaChwYXJlbnQpO1xuICAgICAgICAgICAgYWJzdHJhY3RJbmNsdWRlZEdyb3Vwcy5wdXNoKFtlbGVtZW50c1tpXV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWJzdHJhY3RJbmNsdWRlZEdyb3Vwc1twYXJlbnRJbmRleF0ucHVzaChlbGVtZW50c1tpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgcGFyZW50RWxlbWVudHMsIGFic3RyYWN0SW5jbHVkZWRHcm91cHMgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0TWluZEVsZW1lbnRGb250U2l6ZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gUk9PVF9UT1BJQ19GT05UX1NJWkU7XG4gICAgfVxuICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gVE9QSUNfRk9OVF9TSVpFO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbiBub3QgZmluZCBkZWZhdWx0IGZvbnQtc2l6ZScpO1xufTtcbiJdfQ==
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Node } from 'slate';
|
|
2
|
-
import { MindLayoutType } from '@plait/layouts';
|
|
3
|
-
export const adjustRootToNode = (board, node) => {
|
|
4
|
-
const newNode = { ...node };
|
|
5
|
-
delete newNode.isRoot;
|
|
6
|
-
delete newNode.rightNodeCount;
|
|
7
|
-
delete newNode.type;
|
|
8
|
-
if (newNode.layout === MindLayoutType.standard) {
|
|
9
|
-
delete newNode.layout;
|
|
10
|
-
}
|
|
11
|
-
return newNode;
|
|
12
|
-
};
|
|
13
|
-
export const adjustAbstractToNode = (node) => {
|
|
14
|
-
const newNode = { ...node };
|
|
15
|
-
delete newNode.start;
|
|
16
|
-
delete newNode.end;
|
|
17
|
-
return newNode;
|
|
18
|
-
};
|
|
19
|
-
export const adjustNodeToRoot = (board, node) => {
|
|
20
|
-
const newElement = { ...node };
|
|
21
|
-
if (!Node.string(newElement.data.topic)) {
|
|
22
|
-
newElement.data.topic = { children: [{ text: '思维导图' }] };
|
|
23
|
-
}
|
|
24
|
-
delete newElement?.strokeColor;
|
|
25
|
-
delete newElement?.fill;
|
|
26
|
-
delete newElement?.shape;
|
|
27
|
-
delete newElement?.strokeWidth;
|
|
28
|
-
delete newElement?.isCollapsed;
|
|
29
|
-
return {
|
|
30
|
-
...newElement,
|
|
31
|
-
layout: newElement.layout ?? MindLayoutType.right,
|
|
32
|
-
isRoot: true,
|
|
33
|
-
type: 'mindmap'
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRqdXN0LW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2FkanVzdC1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBaUIsRUFBRSxJQUFpQixFQUFFLEVBQUU7SUFDckUsTUFBTSxPQUFPLEdBQWdCLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDdEIsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQzlCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztJQUNwQixJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFpQixFQUFFLEVBQUU7SUFDdEQsTUFBTSxPQUFPLEdBQWdCLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDckIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBRW5CLE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBcUIsRUFBRSxJQUFpQixFQUFlLEVBQUU7SUFDdEYsTUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsT0FBTyxVQUFVLEVBQUUsV0FBVyxDQUFDO0lBQy9CLE9BQU8sVUFBVSxFQUFFLElBQUksQ0FBQztJQUN4QixPQUFPLFVBQVUsRUFBRSxLQUFLLENBQUM7SUFDekIsT0FBTyxVQUFVLEVBQUUsV0FBVyxDQUFDO0lBQy9CLE9BQU8sVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUMvQixPQUFPO1FBQ0gsR0FBRyxVQUFVO1FBQ2IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLElBQUksY0FBYyxDQUFDLEtBQUs7UUFDakQsTUFBTSxFQUFFLElBQUk7UUFDWixJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuXG5leHBvcnQgY29uc3QgYWRqdXN0Um9vdFRvTm9kZSA9IChib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBuZXdOb2RlOiBNaW5kRWxlbWVudCA9IHsgLi4ubm9kZSB9O1xuICAgIGRlbGV0ZSBuZXdOb2RlLmlzUm9vdDtcbiAgICBkZWxldGUgbmV3Tm9kZS5yaWdodE5vZGVDb3VudDtcbiAgICBkZWxldGUgbmV3Tm9kZS50eXBlO1xuICAgIGlmIChuZXdOb2RlLmxheW91dCA9PT0gTWluZExheW91dFR5cGUuc3RhbmRhcmQpIHtcbiAgICAgICAgZGVsZXRlIG5ld05vZGUubGF5b3V0O1xuICAgIH1cbiAgICByZXR1cm4gbmV3Tm9kZTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGp1c3RBYnN0cmFjdFRvTm9kZSA9IChub2RlOiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IG5ld05vZGU6IE1pbmRFbGVtZW50ID0geyAuLi5ub2RlIH07XG4gICAgZGVsZXRlIG5ld05vZGUuc3RhcnQ7XG4gICAgZGVsZXRlIG5ld05vZGUuZW5kO1xuXG4gICAgcmV0dXJuIG5ld05vZGU7XG59O1xuXG5leHBvcnQgY29uc3QgYWRqdXN0Tm9kZVRvUm9vdCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIG5vZGU6IE1pbmRFbGVtZW50KTogTWluZEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7IC4uLm5vZGUgfTtcbiAgICBpZiAoIU5vZGUuc3RyaW5nKG5ld0VsZW1lbnQuZGF0YS50b3BpYykpIHtcbiAgICAgICAgbmV3RWxlbWVudC5kYXRhLnRvcGljID0geyBjaGlsZHJlbjogW3sgdGV4dDogJ+aAnee7tOWvvOWbvicgfV0gfTtcbiAgICB9XG4gICAgZGVsZXRlIG5ld0VsZW1lbnQ/LnN0cm9rZUNvbG9yO1xuICAgIGRlbGV0ZSBuZXdFbGVtZW50Py5maWxsO1xuICAgIGRlbGV0ZSBuZXdFbGVtZW50Py5zaGFwZTtcbiAgICBkZWxldGUgbmV3RWxlbWVudD8uc3Ryb2tlV2lkdGg7XG4gICAgZGVsZXRlIG5ld0VsZW1lbnQ/LmlzQ29sbGFwc2VkO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLm5ld0VsZW1lbnQsXG4gICAgICAgIGxheW91dDogbmV3RWxlbWVudC5sYXlvdXQgPz8gTWluZExheW91dFR5cGUucmlnaHQsXG4gICAgICAgIGlzUm9vdDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ21pbmRtYXAnXG4gICAgfTtcbn07XG4iXX0=
|