@plait/mind 0.2.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/README.md +24 -0
- package/constants/default.d.ts +12 -0
- package/constants/index.d.ts +2 -0
- package/constants/node.d.ts +17 -0
- package/draw/abstract.d.ts +4 -0
- package/draw/indented-link.d.ts +3 -0
- package/draw/link/abstract-link.d.ts +3 -0
- package/draw/link/logic-link.d.ts +3 -0
- package/draw/link.d.ts +3 -0
- package/draw/richtext.d.ts +14 -0
- package/draw/shape.d.ts +3 -0
- package/esm2020/constants/default.mjs +13 -0
- package/esm2020/constants/index.mjs +3 -0
- package/esm2020/constants/node.mjs +19 -0
- package/esm2020/draw/abstract.mjs +48 -0
- package/esm2020/draw/indented-link.mjs +44 -0
- package/esm2020/draw/link/abstract-link.mjs +42 -0
- package/esm2020/draw/link/logic-link.mjs +51 -0
- package/esm2020/draw/link.mjs +158 -0
- package/esm2020/draw/richtext.mjs +35 -0
- package/esm2020/draw/shape.mjs +18 -0
- package/esm2020/interfaces/abstract.mjs +6 -0
- package/esm2020/interfaces/element-data.mjs +2 -0
- package/esm2020/interfaces/element.mjs +59 -0
- package/esm2020/interfaces/index.mjs +6 -0
- package/esm2020/interfaces/layout.mjs +19 -0
- package/esm2020/interfaces/node.mjs +23 -0
- package/esm2020/interfaces/types.mjs +13 -0
- package/esm2020/layout-option.mjs +72 -0
- package/esm2020/mind.component.mjs +50 -0
- package/esm2020/mind.module.mjs +21 -0
- package/esm2020/node.component.mjs +742 -0
- package/esm2020/plait-mind.mjs +5 -0
- package/esm2020/plugins/emoji/emoji-base.component.mjs +21 -0
- package/esm2020/plugins/emoji/emoji.drawer.mjs +79 -0
- package/esm2020/plugins/emoji/emoji.mjs +15 -0
- package/esm2020/plugins/emoji/index.mjs +4 -0
- package/esm2020/plugins/emoji/with-mind-emoji.mjs +8 -0
- package/esm2020/plugins/with-abstract.mjs +92 -0
- package/esm2020/plugins/with-dnd.mjs +276 -0
- package/esm2020/plugins/with-mind.mjs +183 -0
- package/esm2020/public-api.mjs +14 -0
- package/esm2020/queries/get-available-sublayouts-by-element.mjs +29 -0
- package/esm2020/queries/get-branch-mindmap-layouts-by-element.mjs +18 -0
- package/esm2020/queries/get-correct-layout-by-element.mjs +50 -0
- package/esm2020/queries/get-layout-by-element.mjs +16 -0
- package/esm2020/queries/get-layout-parent-by-element.mjs +17 -0
- package/esm2020/queries/index.mjs +13 -0
- package/esm2020/transforms/index.mjs +10 -0
- package/esm2020/transforms/layout.mjs +23 -0
- package/esm2020/transforms/node.mjs +44 -0
- package/esm2020/utils/abstract/common.mjs +25 -0
- package/esm2020/utils/abstract/resize.mjs +169 -0
- package/esm2020/utils/clipboard.mjs +71 -0
- package/esm2020/utils/colors.mjs +41 -0
- package/esm2020/utils/direction-corrector.mjs +54 -0
- package/esm2020/utils/direction-detector.mjs +56 -0
- package/esm2020/utils/draw-placeholder.mjs +311 -0
- package/esm2020/utils/drop-target-corrector.mjs +86 -0
- package/esm2020/utils/graph.mjs +24 -0
- package/esm2020/utils/index.mjs +14 -0
- package/esm2020/utils/is-virtual-key.mjs +13 -0
- package/esm2020/utils/layout.mjs +105 -0
- package/esm2020/utils/mindmap.mjs +295 -0
- package/esm2020/utils/node-space.mjs +72 -0
- package/esm2020/utils/node.mjs +6 -0
- package/esm2020/utils/path.mjs +11 -0
- package/esm2020/utils/point-placement.mjs +99 -0
- package/esm2020/utils/shape.mjs +17 -0
- package/esm2020/utils/weak-maps.mjs +3 -0
- package/fesm2015/plait-mind.mjs +3583 -0
- package/fesm2015/plait-mind.mjs.map +1 -0
- package/fesm2020/plait-mind.mjs +3595 -0
- package/fesm2020/plait-mind.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/interfaces/abstract.d.ts +4 -0
- package/interfaces/element-data.d.ts +11 -0
- package/interfaces/element.d.ts +39 -0
- package/interfaces/index.d.ts +5 -0
- package/interfaces/layout.d.ts +10 -0
- package/interfaces/node.d.ts +33 -0
- package/interfaces/types.d.ts +11 -0
- package/layout-option.d.ts +2 -0
- package/mind.component.d.ts +16 -0
- package/mind.module.d.ts +11 -0
- package/node.component.d.ts +60 -0
- package/package.json +31 -0
- package/plugins/emoji/emoji-base.component.d.ts +12 -0
- package/plugins/emoji/emoji.d.ts +6 -0
- package/plugins/emoji/emoji.drawer.d.ts +22 -0
- package/plugins/emoji/index.d.ts +3 -0
- package/plugins/emoji/with-mind-emoji.d.ts +8 -0
- package/plugins/with-abstract.d.ts +2 -0
- package/plugins/with-dnd.d.ts +11 -0
- package/plugins/with-mind.d.ts +2 -0
- package/public-api.d.ts +10 -0
- package/queries/get-available-sublayouts-by-element.d.ts +8 -0
- package/queries/get-branch-mindmap-layouts-by-element.d.ts +3 -0
- package/queries/get-correct-layout-by-element.d.ts +9 -0
- package/queries/get-layout-by-element.d.ts +3 -0
- package/queries/get-layout-parent-by-element.d.ts +8 -0
- package/queries/index.d.ts +7 -0
- package/styles/styles.scss +99 -0
- package/transforms/index.d.ts +7 -0
- package/transforms/layout.d.ts +3 -0
- package/transforms/node.d.ts +8 -0
- package/utils/abstract/common.d.ts +5 -0
- package/utils/abstract/resize.d.ts +21 -0
- package/utils/clipboard.d.ts +7 -0
- package/utils/colors.d.ts +4 -0
- package/utils/direction-corrector.d.ts +3 -0
- package/utils/direction-detector.d.ts +9 -0
- package/utils/draw-placeholder.d.ts +42 -0
- package/utils/drop-target-corrector.d.ts +8 -0
- package/utils/graph.d.ts +5 -0
- package/utils/index.d.ts +13 -0
- package/utils/is-virtual-key.d.ts +1 -0
- package/utils/layout.d.ts +12 -0
- package/utils/mindmap.d.ts +33 -0
- package/utils/node-space.d.ts +9 -0
- package/utils/node.d.ts +2 -0
- package/utils/path.d.ts +4 -0
- package/utils/point-placement.d.ts +8 -0
- package/utils/shape.d.ts +3 -0
- package/utils/weak-maps.d.ts +5 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { LayoutDirection } from '../interfaces/layout';
|
|
2
|
+
import { HorizontalPlacement, VerticalPlacement } from '../interfaces/types';
|
|
3
|
+
export const getPointByPlacement = (client, placement) => {
|
|
4
|
+
let x = client.x;
|
|
5
|
+
let y = client.y;
|
|
6
|
+
if (placement[0] === HorizontalPlacement.center) {
|
|
7
|
+
x = client.x + client.width / 2;
|
|
8
|
+
}
|
|
9
|
+
if (placement[0] === HorizontalPlacement.right) {
|
|
10
|
+
x = client.x + client.width;
|
|
11
|
+
}
|
|
12
|
+
if (placement[1] === VerticalPlacement.middle) {
|
|
13
|
+
y = client.y + client.height / 2;
|
|
14
|
+
}
|
|
15
|
+
if (placement[1] === VerticalPlacement.bottom) {
|
|
16
|
+
y = client.y + client.height;
|
|
17
|
+
}
|
|
18
|
+
return [x, y];
|
|
19
|
+
};
|
|
20
|
+
export const getLayoutDirection = (node, isHorizontal) => {
|
|
21
|
+
if (isHorizontal) {
|
|
22
|
+
if (node.left) {
|
|
23
|
+
return LayoutDirection.left;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return LayoutDirection.right;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
if (node.up) {
|
|
31
|
+
return LayoutDirection.top;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return LayoutDirection.bottom;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
// 以右为基准
|
|
39
|
+
// 右 -> 左:
|
|
40
|
+
// 1. 终点 -> 起点/起点 -> 终点
|
|
41
|
+
// 2. 加 -> 减
|
|
42
|
+
// 水平 -> 垂直:
|
|
43
|
+
// 1. 起点/终点 -> 纵轴
|
|
44
|
+
// 2. 加减 -> 纵轴
|
|
45
|
+
// 下 -> 上:
|
|
46
|
+
// 1. 终点 -> 起点/终点 -> 起点
|
|
47
|
+
// 2. 加 -> 减
|
|
48
|
+
export const movePoint = (point, distance, direction = LayoutDirection.right) => {
|
|
49
|
+
if (direction === LayoutDirection.left) {
|
|
50
|
+
return [point[0] - distance, point[1]];
|
|
51
|
+
}
|
|
52
|
+
if (direction === LayoutDirection.bottom) {
|
|
53
|
+
return [point[0], point[1] + distance];
|
|
54
|
+
}
|
|
55
|
+
if (direction === LayoutDirection.top) {
|
|
56
|
+
return [point[0], point[1] - distance];
|
|
57
|
+
}
|
|
58
|
+
return [point[0] + distance, point[1]];
|
|
59
|
+
};
|
|
60
|
+
export const transformPlacement = (placement, direction) => {
|
|
61
|
+
// to left
|
|
62
|
+
if (direction === LayoutDirection.left) {
|
|
63
|
+
if (placement[0] === HorizontalPlacement.right) {
|
|
64
|
+
placement[0] = HorizontalPlacement.left;
|
|
65
|
+
}
|
|
66
|
+
else if (placement[0] === HorizontalPlacement.left) {
|
|
67
|
+
placement[0] = HorizontalPlacement.right;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// to bottom
|
|
71
|
+
if (direction === LayoutDirection.bottom || direction === LayoutDirection.top) {
|
|
72
|
+
let horizontal = HorizontalPlacement.center;
|
|
73
|
+
let vertical = VerticalPlacement.middle;
|
|
74
|
+
if (placement[1] === VerticalPlacement.top) {
|
|
75
|
+
horizontal = HorizontalPlacement.left;
|
|
76
|
+
}
|
|
77
|
+
if (placement[1] === VerticalPlacement.bottom) {
|
|
78
|
+
horizontal = HorizontalPlacement.right;
|
|
79
|
+
}
|
|
80
|
+
if (placement[0] === HorizontalPlacement.left) {
|
|
81
|
+
vertical = VerticalPlacement.top;
|
|
82
|
+
}
|
|
83
|
+
if (placement[0] === HorizontalPlacement.right) {
|
|
84
|
+
vertical = VerticalPlacement.bottom;
|
|
85
|
+
}
|
|
86
|
+
placement[0] = horizontal;
|
|
87
|
+
placement[1] = vertical;
|
|
88
|
+
}
|
|
89
|
+
// to up
|
|
90
|
+
if (direction === LayoutDirection.top) {
|
|
91
|
+
if (placement[1] === VerticalPlacement.bottom) {
|
|
92
|
+
placement[1] = VerticalPlacement.top;
|
|
93
|
+
}
|
|
94
|
+
else if (placement[1] === VerticalPlacement.top) {
|
|
95
|
+
placement[1] = VerticalPlacement.bottom;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtcGxhY2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvcG9pbnQtcGxhY2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUF1QixFQUFFLFNBQXlCLEVBQVMsRUFBRTtJQUM3RixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDakIsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLENBQUMsTUFBTSxFQUFFO1FBQzdDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLENBQUMsS0FBSyxFQUFFO1FBQzVDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDL0I7SUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7UUFDM0MsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7S0FDcEM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7UUFDM0MsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztLQUNoQztJQUNELE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFpQixFQUFFLFlBQXFCLEVBQUUsRUFBRTtJQUMzRSxJQUFJLFlBQVksRUFBRTtRQUNkLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQztTQUMvQjthQUFNO1lBQ0gsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDO1NBQ2hDO0tBQ0o7U0FBTTtRQUNILElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNULE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQztTQUM5QjthQUFNO1lBQ0gsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ2pDO0tBQ0o7QUFDTCxDQUFDLENBQUM7QUFFRixRQUFRO0FBQ1IsVUFBVTtBQUNWLHVCQUF1QjtBQUN2QixZQUFZO0FBRVosWUFBWTtBQUNaLGlCQUFpQjtBQUNqQixjQUFjO0FBRWQsVUFBVTtBQUNWLHVCQUF1QjtBQUN2QixZQUFZO0FBQ1osTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBWSxFQUFFLFFBQWdCLEVBQUUsWUFBNkIsZUFBZSxDQUFDLEtBQUssRUFBUyxFQUFFO0lBQ25ILElBQUksU0FBUyxLQUFLLGVBQWUsQ0FBQyxJQUFJLEVBQUU7UUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUM7SUFDRCxJQUFJLFNBQVMsS0FBSyxlQUFlLENBQUMsTUFBTSxFQUFFO1FBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0tBQzFDO0lBQ0QsSUFBSSxTQUFTLEtBQUssZUFBZSxDQUFDLEdBQUcsRUFBRTtRQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztLQUMxQztJQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBeUIsRUFBRSxTQUEwQixFQUFFLEVBQUU7SUFDeEYsVUFBVTtJQUNWLElBQUksU0FBUyxLQUFLLGVBQWUsQ0FBQyxJQUFJLEVBQUU7UUFDcEMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLENBQUMsS0FBSyxFQUFFO1lBQzVDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7U0FDM0M7YUFBTSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUU7WUFDbEQsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQztTQUM1QztLQUNKO0lBQ0QsWUFBWTtJQUNaLElBQUksU0FBUyxLQUFLLGVBQWUsQ0FBQyxNQUFNLElBQUksU0FBUyxLQUFLLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDM0UsSUFBSSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQzVDLElBQUksUUFBUSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQztTQUN6QztRQUNELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUMzQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLENBQUMsSUFBSSxFQUFFO1lBQzNDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7U0FDcEM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUU7WUFDNUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztTQUN2QztRQUNELFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztLQUMzQjtJQUNELFFBQVE7SUFDUixJQUFJLFNBQVMsS0FBSyxlQUFlLENBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUMzQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7U0FDM0M7S0FDSjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50LCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kbWFwTm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBMYXlvdXREaXJlY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2xheW91dCc7XG5pbXBvcnQgeyBIb3Jpem9udGFsUGxhY2VtZW50LCBQb2ludFBsYWNlbWVudCwgVmVydGljYWxQbGFjZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGdldFBvaW50QnlQbGFjZW1lbnQgPSAoY2xpZW50OiBSZWN0YW5nbGVDbGllbnQsIHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQpOiBQb2ludCA9PiB7XG4gICAgbGV0IHggPSBjbGllbnQueDtcbiAgICBsZXQgeSA9IGNsaWVudC55O1xuICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQuY2VudGVyKSB7XG4gICAgICAgIHggPSBjbGllbnQueCArIGNsaWVudC53aWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQucmlnaHQpIHtcbiAgICAgICAgeCA9IGNsaWVudC54ICsgY2xpZW50LndpZHRoO1xuICAgIH1cbiAgICBpZiAocGxhY2VtZW50WzFdID09PSBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGUpIHtcbiAgICAgICAgeSA9IGNsaWVudC55ICsgY2xpZW50LmhlaWdodCAvIDI7XG4gICAgfVxuICAgIGlmIChwbGFjZW1lbnRbMV0gPT09IFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbSkge1xuICAgICAgICB5ID0gY2xpZW50LnkgKyBjbGllbnQuaGVpZ2h0O1xuICAgIH1cbiAgICByZXR1cm4gW3gsIHldO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExheW91dERpcmVjdGlvbiA9IChub2RlOiBNaW5kbWFwTm9kZSwgaXNIb3Jpem9udGFsOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICBpZiAobm9kZS5sZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm4gTGF5b3V0RGlyZWN0aW9uLmxlZnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTGF5b3V0RGlyZWN0aW9uLnJpZ2h0O1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG5vZGUudXApIHtcbiAgICAgICAgICAgIHJldHVybiBMYXlvdXREaXJlY3Rpb24udG9wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIExheW91dERpcmVjdGlvbi5ib3R0b207XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vLyDku6Xlj7PkuLrln7rlh4Zcbi8vIOWPsyAtPiDlt6Y6XG4vLyAxLiDnu4jngrkgLT4g6LW354K5L+i1t+eCuSAtPiDnu4jngrlcbi8vIDIuIOWKoCAtPiDlh49cblxuLy8g5rC05bmzIC0+IOWeguebtDpcbi8vIDEuIOi1t+eCuS/nu4jngrkgLT4g57q16L20XG4vLyAyLiDliqDlh48gLT4g57q16L20XG5cbi8vIOS4iyAtPiDkuIo6XG4vLyAxLiDnu4jngrkgLT4g6LW354K5L+e7iOeCuSAtPiDotbfngrlcbi8vIDIuIOWKoCAtPiDlh49cbmV4cG9ydCBjb25zdCBtb3ZlUG9pbnQgPSAocG9pbnQ6IFBvaW50LCBkaXN0YW5jZTogbnVtYmVyLCBkaXJlY3Rpb246IExheW91dERpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi5yaWdodCk6IFBvaW50ID0+IHtcbiAgICBpZiAoZGlyZWN0aW9uID09PSBMYXlvdXREaXJlY3Rpb24ubGVmdCkge1xuICAgICAgICByZXR1cm4gW3BvaW50WzBdIC0gZGlzdGFuY2UsIHBvaW50WzFdXTtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLmJvdHRvbSkge1xuICAgICAgICByZXR1cm4gW3BvaW50WzBdLCBwb2ludFsxXSArIGRpc3RhbmNlXTtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLnRvcCkge1xuICAgICAgICByZXR1cm4gW3BvaW50WzBdLCBwb2ludFsxXSAtIGRpc3RhbmNlXTtcbiAgICB9XG4gICAgcmV0dXJuIFtwb2ludFswXSArIGRpc3RhbmNlLCBwb2ludFsxXV07XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtUGxhY2VtZW50ID0gKHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQsIGRpcmVjdGlvbjogTGF5b3V0RGlyZWN0aW9uKSA9PiB7XG4gICAgLy8gdG8gbGVmdFxuICAgIGlmIChkaXJlY3Rpb24gPT09IExheW91dERpcmVjdGlvbi5sZWZ0KSB7XG4gICAgICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQucmlnaHQpIHtcbiAgICAgICAgICAgIHBsYWNlbWVudFswXSA9IEhvcml6b250YWxQbGFjZW1lbnQubGVmdDtcbiAgICAgICAgfSBlbHNlIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQubGVmdCkge1xuICAgICAgICAgICAgcGxhY2VtZW50WzBdID0gSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB0byBib3R0b21cbiAgICBpZiAoZGlyZWN0aW9uID09PSBMYXlvdXREaXJlY3Rpb24uYm90dG9tIHx8IGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLnRvcCkge1xuICAgICAgICBsZXQgaG9yaXpvbnRhbCA9IEhvcml6b250YWxQbGFjZW1lbnQuY2VudGVyO1xuICAgICAgICBsZXQgdmVydGljYWwgPSBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGU7XG4gICAgICAgIGlmIChwbGFjZW1lbnRbMV0gPT09IFZlcnRpY2FsUGxhY2VtZW50LnRvcCkge1xuICAgICAgICAgICAgaG9yaXpvbnRhbCA9IEhvcml6b250YWxQbGFjZW1lbnQubGVmdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGxhY2VtZW50WzFdID09PSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b20pIHtcbiAgICAgICAgICAgIGhvcml6b250YWwgPSBIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQubGVmdCkge1xuICAgICAgICAgICAgdmVydGljYWwgPSBWZXJ0aWNhbFBsYWNlbWVudC50b3A7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBsYWNlbWVudFswXSA9PT0gSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodCkge1xuICAgICAgICAgICAgdmVydGljYWwgPSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b207XG4gICAgICAgIH1cbiAgICAgICAgcGxhY2VtZW50WzBdID0gaG9yaXpvbnRhbDtcbiAgICAgICAgcGxhY2VtZW50WzFdID0gdmVydGljYWw7XG4gICAgfVxuICAgIC8vIHRvIHVwXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLnRvcCkge1xuICAgICAgICBpZiAocGxhY2VtZW50WzFdID09PSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b20pIHtcbiAgICAgICAgICAgIHBsYWNlbWVudFsxXSA9IFZlcnRpY2FsUGxhY2VtZW50LnRvcDtcbiAgICAgICAgfSBlbHNlIGlmIChwbGFjZW1lbnRbMV0gPT09IFZlcnRpY2FsUGxhY2VtZW50LnRvcCkge1xuICAgICAgICAgICAgcGxhY2VtZW50WzFdID0gVmVydGljYWxQbGFjZW1lbnQuYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MindmapNodeShape } from '../constants';
|
|
2
|
+
import { findParentElement } from './mindmap';
|
|
3
|
+
export const getNodeShapeByElement = (element) => {
|
|
4
|
+
let nodeShape = element.shape;
|
|
5
|
+
if (nodeShape) {
|
|
6
|
+
return nodeShape;
|
|
7
|
+
}
|
|
8
|
+
let parent = findParentElement(element);
|
|
9
|
+
while (parent) {
|
|
10
|
+
if (parent.shape) {
|
|
11
|
+
return parent.shape;
|
|
12
|
+
}
|
|
13
|
+
parent = findParentElement(parent);
|
|
14
|
+
}
|
|
15
|
+
return MindmapNodeShape.roundRectangle;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9zaGFwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBb0IsRUFBb0IsRUFBRTtJQUM1RSxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLElBQUksU0FBUyxFQUFFO1FBQ1gsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFDRCxJQUFJLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV4QyxPQUFPLE1BQU0sRUFBRTtRQUNYLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztTQUN2QjtRQUNELE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8sZ0JBQWdCLENBQUMsY0FBYyxDQUFDO0FBQzNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRtYXBOb2RlU2hhcGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZpbmRQYXJlbnRFbGVtZW50IH0gZnJvbSAnLi9taW5kbWFwJztcblxuZXhwb3J0IGNvbnN0IGdldE5vZGVTaGFwZUJ5RWxlbWVudCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCk6IE1pbmRtYXBOb2RlU2hhcGUgPT4ge1xuICAgIGxldCBub2RlU2hhcGUgPSBlbGVtZW50LnNoYXBlO1xuICAgIGlmIChub2RlU2hhcGUpIHtcbiAgICAgICAgcmV0dXJuIG5vZGVTaGFwZTtcbiAgICB9XG4gICAgbGV0IHBhcmVudCA9IGZpbmRQYXJlbnRFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgICBpZiAocGFyZW50LnNoYXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyZW50LnNoYXBlO1xuICAgICAgICB9XG4gICAgICAgIHBhcmVudCA9IGZpbmRQYXJlbnRFbGVtZW50KHBhcmVudCk7XG4gICAgfVxuICAgIHJldHVybiBNaW5kbWFwTm9kZVNoYXBlLnJvdW5kUmVjdGFuZ2xlO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export const MINDMAP_ELEMENT_TO_COMPONENT = new WeakMap();
|
|
2
|
+
export const ELEMENT_TO_NODE = new WeakMap();
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvd2Vhay1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUE0QyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBRW5HLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmROb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZG1hcE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuXG5leHBvcnQgY29uc3QgTUlORE1BUF9FTEVNRU5UX1RPX0NPTVBPTkVOVDogV2Vha01hcDxNaW5kRWxlbWVudCwgTWluZE5vZGVDb21wb25lbnQ+ID0gbmV3IFdlYWtNYXAoKTtcblxuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fTk9ERSA9IG5ldyBXZWFrTWFwPE1pbmRFbGVtZW50LCBNaW5kbWFwTm9kZT4oKTtcbiJdfQ==
|