@plait/mind 0.77.3 → 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,113 +0,0 @@
|
|
|
1
|
-
import { PlaitBoard, isMainPointer, hotkeys, PlaitPointerType, addSelectedElement, getSelectedElements, getHitElementByPoint, temporaryDisableSelection, WritableClipboardType, toHostPoint, toViewBoxPoint, createClipboardContext, isContextmenu, PlaitElement } from '@plait/core';
|
|
2
|
-
import { MindElement } from '../interfaces';
|
|
3
|
-
import { addImageFocus, removeImageFocus } from '../utils/node/image';
|
|
4
|
-
import { isHitImage } from '../utils';
|
|
5
|
-
import { MindTransforms } from '../transforms';
|
|
6
|
-
import { acceptImageTypes, buildImage, getElementOfFocusedImage, ImageGenerator } from '@plait/common';
|
|
7
|
-
import { DEFAULT_MIND_IMAGE_WIDTH } from '../constants';
|
|
8
|
-
export const withNodeImage = (board) => {
|
|
9
|
-
const { keyDown, pointerUp, globalPointerUp, buildFragment, insertFragment, deleteFragment, afterChange } = board;
|
|
10
|
-
board.pointerUp = (event) => {
|
|
11
|
-
const elementOfFocusedImage = getElementOfFocusedImage(board);
|
|
12
|
-
if (elementOfFocusedImage &&
|
|
13
|
-
MindElement.isMindElement(board, elementOfFocusedImage) &&
|
|
14
|
-
!isContextmenu(event) &&
|
|
15
|
-
(PlaitBoard.isReadonly(board) || !isMainPointer(event) || !PlaitBoard.isPointer(board, PlaitPointerType.selection))) {
|
|
16
|
-
removeImageFocus(board, elementOfFocusedImage);
|
|
17
|
-
pointerUp(event);
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
if (PlaitBoard.isReadonly(board)) {
|
|
21
|
-
pointerUp(event);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
25
|
-
const hitElement = getHitElementByPoint(board, point);
|
|
26
|
-
const isHitImageResult = hitElement &&
|
|
27
|
-
MindElement.isMindElement(board, hitElement) &&
|
|
28
|
-
MindElement.hasImage(hitElement) &&
|
|
29
|
-
isHitImage(board, hitElement, point);
|
|
30
|
-
if (isHitImageResult && elementOfFocusedImage && hitElement === elementOfFocusedImage) {
|
|
31
|
-
temporaryDisableSelection(board);
|
|
32
|
-
pointerUp(event);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
if (elementOfFocusedImage && MindElement.isMindElement(board, elementOfFocusedImage)) {
|
|
36
|
-
removeImageFocus(board, elementOfFocusedImage);
|
|
37
|
-
}
|
|
38
|
-
if (isHitImageResult && hitElement) {
|
|
39
|
-
temporaryDisableSelection(board);
|
|
40
|
-
addImageFocus(board, hitElement);
|
|
41
|
-
}
|
|
42
|
-
pointerUp(event);
|
|
43
|
-
};
|
|
44
|
-
board.keyDown = (event) => {
|
|
45
|
-
const selectedImageElement = getElementOfFocusedImage(board);
|
|
46
|
-
if (!PlaitBoard.isReadonly(board) && selectedImageElement && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
|
|
47
|
-
addSelectedElement(board, selectedImageElement);
|
|
48
|
-
MindTransforms.removeImage(board, selectedImageElement);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
keyDown(event);
|
|
52
|
-
};
|
|
53
|
-
board.globalPointerUp = (event) => {
|
|
54
|
-
if (PlaitBoard.isFocus(board)) {
|
|
55
|
-
const isInBoard = event.target instanceof Node && PlaitBoard.getBoardContainer(board).contains(event.target);
|
|
56
|
-
const selectedImageElement = getElementOfFocusedImage(board);
|
|
57
|
-
// Clear image selection when mouse board outside area
|
|
58
|
-
if (selectedImageElement && MindElement.isMindElement(board, selectedImageElement) && !isInBoard) {
|
|
59
|
-
removeImageFocus(board, selectedImageElement);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
globalPointerUp(event);
|
|
63
|
-
};
|
|
64
|
-
board.buildFragment = (clipboardContext, rectangle, operationType, originData) => {
|
|
65
|
-
const selectedImageElement = getElementOfFocusedImage(board);
|
|
66
|
-
if (selectedImageElement) {
|
|
67
|
-
clipboardContext = createClipboardContext(WritableClipboardType.medias, [selectedImageElement.data.image], '');
|
|
68
|
-
}
|
|
69
|
-
return buildFragment(clipboardContext, rectangle, operationType, originData);
|
|
70
|
-
};
|
|
71
|
-
board.deleteFragment = (elements) => {
|
|
72
|
-
const selectedImageElement = getElementOfFocusedImage(board);
|
|
73
|
-
if (selectedImageElement) {
|
|
74
|
-
MindTransforms.removeImage(board, selectedImageElement);
|
|
75
|
-
}
|
|
76
|
-
deleteFragment(elements);
|
|
77
|
-
};
|
|
78
|
-
board.insertFragment = (clipboardData, targetPoint, operationType) => {
|
|
79
|
-
const selectedElements = getSelectedElements(board);
|
|
80
|
-
const isSelectedImage = !!getElementOfFocusedImage(board);
|
|
81
|
-
const isSingleSelection = selectedElements.length === 1 && MindElement.isMindElement(board, selectedElements[0]);
|
|
82
|
-
if (isSelectedImage || isSingleSelection) {
|
|
83
|
-
if (clipboardData?.files?.length) {
|
|
84
|
-
const acceptImageArray = acceptImageTypes.map((type) => 'image/' + type);
|
|
85
|
-
const selectedElement = (selectedElements[0] || getElementOfFocusedImage(board));
|
|
86
|
-
if (acceptImageArray.includes(clipboardData.files[0].type)) {
|
|
87
|
-
const imageFile = clipboardData.files[0];
|
|
88
|
-
buildImage(board, imageFile, DEFAULT_MIND_IMAGE_WIDTH, (imageItem) => {
|
|
89
|
-
MindTransforms.setImage(board, selectedElement, imageItem);
|
|
90
|
-
});
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if (clipboardData?.medias?.length) {
|
|
95
|
-
const selectedElement = (selectedElements[0] || getElementOfFocusedImage(board));
|
|
96
|
-
MindTransforms.setImage(board, selectedElement, clipboardData.medias[0]);
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
insertFragment(clipboardData, targetPoint, operationType);
|
|
101
|
-
};
|
|
102
|
-
board.afterChange = () => {
|
|
103
|
-
afterChange();
|
|
104
|
-
const selectedImageElement = getElementOfFocusedImage(board);
|
|
105
|
-
if (selectedImageElement && MindElement.isMindElement(board, selectedImageElement)) {
|
|
106
|
-
const commonElementRef = PlaitElement.getElementRef(selectedImageElement);
|
|
107
|
-
const imageGenerator = commonElementRef.getGenerator(ImageGenerator.key);
|
|
108
|
-
imageGenerator.setFocus(selectedImageElement, true);
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
return board;
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW5vZGUtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFDVixhQUFhLEVBRWIsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixrQkFBa0IsRUFFbEIsbUJBQW1CLEVBRW5CLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxjQUFjLEVBRWQsc0JBQXNCLEVBRXRCLGFBQWEsRUFDYixZQUFZLEVBRWYsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQy9DLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFbEgsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN0QyxNQUFNLHFCQUFxQixHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELElBQ0ks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QUNELElBQUksYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBZ0IsQ0FBQztnQkFDaEcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekUsT0FBTztZQUNYLENBQUM7UUFDTCxDQUFDO1FBQ0QsY0FBYyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUU7UUFDckIsV0FBVyxFQUFFLENBQUM7UUFDZCxNQUFNLG9CQUFvQixHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELElBQUksb0JBQW9CLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQ2pGLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBd0Isb0JBQW9CLENBQUMsQ0FBQztZQUNqRyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQWlCLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RixjQUFjLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgaXNNYWluUG9pbnRlcixcbiAgICBQbGFpdE9wdGlvbnNCb2FyZCxcbiAgICBob3RrZXlzLFxuICAgIFBsYWl0UG9pbnRlclR5cGUsXG4gICAgYWRkU2VsZWN0ZWRFbGVtZW50LFxuICAgIFBvaW50LFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGdldEhpdEVsZW1lbnRCeVBvaW50LFxuICAgIHRlbXBvcmFyeURpc2FibGVTZWxlY3Rpb24sXG4gICAgV3JpdGFibGVDbGlwYm9hcmRUeXBlLFxuICAgIHRvSG9zdFBvaW50LFxuICAgIHRvVmlld0JveFBvaW50LFxuICAgIFdyaXRhYmxlQ2xpcGJvYXJkQ29udGV4dCxcbiAgICBjcmVhdGVDbGlwYm9hcmRDb250ZXh0LFxuICAgIENsaXBib2FyZERhdGEsXG4gICAgaXNDb250ZXh0bWVudSxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgV3JpdGFibGVDbGlwYm9hcmRPcGVyYXRpb25UeXBlXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbWFnZURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQtZGF0YSc7XG5pbXBvcnQgeyBhZGRJbWFnZUZvY3VzLCByZW1vdmVJbWFnZUZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9pbWFnZSc7XG5pbXBvcnQgeyBpc0hpdEltYWdlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGFjY2VwdEltYWdlVHlwZXMsIGJ1aWxkSW1hZ2UsIGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZSwgSW1hZ2VHZW5lcmF0b3IsIFBsYWl0Q29tbW9uRWxlbWVudFJlZiB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgREVGQVVMVF9NSU5EX0lNQUdFX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IHdpdGhOb2RlSW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IGtleURvd24sIHBvaW50ZXJVcCwgZ2xvYmFsUG9pbnRlclVwLCBidWlsZEZyYWdtZW50LCBpbnNlcnRGcmFnbWVudCwgZGVsZXRlRnJhZ21lbnQsIGFmdGVyQ2hhbmdlIH0gPSBib2FyZDtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRPZkZvY3VzZWRJbWFnZSA9IGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZShib2FyZCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGVsZW1lbnRPZkZvY3VzZWRJbWFnZSAmJlxuICAgICAgICAgICAgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudE9mRm9jdXNlZEltYWdlKSAmJlxuICAgICAgICAgICAgIWlzQ29udGV4dG1lbnUoZXZlbnQpICYmXG4gICAgICAgICAgICAoUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSB8fCAhaXNNYWluUG9pbnRlcihldmVudCkgfHwgIVBsYWl0Qm9hcmQuaXNQb2ludGVyKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbikpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmVtb3ZlSW1hZ2VGb2N1cyhib2FyZCwgZWxlbWVudE9mRm9jdXNlZEltYWdlIGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT4pO1xuICAgICAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSkge1xuICAgICAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0RWxlbWVudEJ5UG9pbnQoYm9hcmQsIHBvaW50KTtcbiAgICAgICAgY29uc3QgaXNIaXRJbWFnZVJlc3VsdCA9XG4gICAgICAgICAgICBoaXRFbGVtZW50ICYmXG4gICAgICAgICAgICBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBoaXRFbGVtZW50KSAmJlxuICAgICAgICAgICAgTWluZEVsZW1lbnQuaGFzSW1hZ2UoaGl0RWxlbWVudCkgJiZcbiAgICAgICAgICAgIGlzSGl0SW1hZ2UoYm9hcmQsIGhpdEVsZW1lbnQgYXMgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPiwgcG9pbnQpO1xuICAgICAgICBpZiAoaXNIaXRJbWFnZVJlc3VsdCAmJiBlbGVtZW50T2ZGb2N1c2VkSW1hZ2UgJiYgaGl0RWxlbWVudCA9PT0gZWxlbWVudE9mRm9jdXNlZEltYWdlKSB7XG4gICAgICAgICAgICB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKTtcbiAgICAgICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsZW1lbnRPZkZvY3VzZWRJbWFnZSAmJiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50T2ZGb2N1c2VkSW1hZ2UpKSB7XG4gICAgICAgICAgICByZW1vdmVJbWFnZUZvY3VzKGJvYXJkLCBlbGVtZW50T2ZGb2N1c2VkSW1hZ2UgYXMgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzSGl0SW1hZ2VSZXN1bHQgJiYgaGl0RWxlbWVudCkge1xuICAgICAgICAgICAgdGVtcG9yYXJ5RGlzYWJsZVNlbGVjdGlvbihib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCk7XG4gICAgICAgICAgICBhZGRJbWFnZUZvY3VzKGJvYXJkLCBoaXRFbGVtZW50IGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT4pO1xuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmtleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQpO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgJiYgKGhvdGtleXMuaXNEZWxldGVCYWNrd2FyZChldmVudCkgfHwgaG90a2V5cy5pc0RlbGV0ZUZvcndhcmQoZXZlbnQpKSkge1xuICAgICAgICAgICAgYWRkU2VsZWN0ZWRFbGVtZW50KGJvYXJkLCBzZWxlY3RlZEltYWdlRWxlbWVudCk7XG4gICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5yZW1vdmVJbWFnZShib2FyZCwgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgYXMgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAga2V5RG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbFBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzRm9jdXMoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBpc0luQm9hcmQgPSBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlICYmIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZEltYWdlRWxlbWVudCA9IGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZShib2FyZCk7XG4gICAgICAgICAgICAvLyBDbGVhciBpbWFnZSBzZWxlY3Rpb24gd2hlbiBtb3VzZSBib2FyZCBvdXRzaWRlIGFyZWFcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEltYWdlRWxlbWVudCAmJiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBzZWxlY3RlZEltYWdlRWxlbWVudCkgJiYgIWlzSW5Cb2FyZCkge1xuICAgICAgICAgICAgICAgIHJlbW92ZUltYWdlRm9jdXMoYm9hcmQsIHNlbGVjdGVkSW1hZ2VFbGVtZW50IGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmJ1aWxkRnJhZ21lbnQgPSAoXG4gICAgICAgIGNsaXBib2FyZENvbnRleHQ6IFdyaXRhYmxlQ2xpcGJvYXJkQ29udGV4dCB8IG51bGwsXG4gICAgICAgIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50IHwgbnVsbCxcbiAgICAgICAgb3BlcmF0aW9uVHlwZTogV3JpdGFibGVDbGlwYm9hcmRPcGVyYXRpb25UeXBlLFxuICAgICAgICBvcmlnaW5EYXRhPzogUGxhaXRFbGVtZW50W11cbiAgICApID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQpIGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT47XG4gICAgICAgIGlmIChzZWxlY3RlZEltYWdlRWxlbWVudCkge1xuICAgICAgICAgICAgY2xpcGJvYXJkQ29udGV4dCA9IGNyZWF0ZUNsaXBib2FyZENvbnRleHQoV3JpdGFibGVDbGlwYm9hcmRUeXBlLm1lZGlhcywgW3NlbGVjdGVkSW1hZ2VFbGVtZW50LmRhdGEuaW1hZ2VdLCAnJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJ1aWxkRnJhZ21lbnQoY2xpcGJvYXJkQ29udGV4dCwgcmVjdGFuZ2xlLCBvcGVyYXRpb25UeXBlLCBvcmlnaW5EYXRhKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGVsZXRlRnJhZ21lbnQgPSAoZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSW1hZ2VFbGVtZW50ID0gZ2V0RWxlbWVudE9mRm9jdXNlZEltYWdlKGJvYXJkKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5yZW1vdmVJbWFnZShib2FyZCwgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgYXMgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPik7XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlRnJhZ21lbnQoZWxlbWVudHMpO1xuICAgIH07XG5cbiAgICBib2FyZC5pbnNlcnRGcmFnbWVudCA9IChjbGlwYm9hcmREYXRhOiBDbGlwYm9hcmREYXRhIHwgbnVsbCwgdGFyZ2V0UG9pbnQ6IFBvaW50LCBvcGVyYXRpb25UeXBlPzogV3JpdGFibGVDbGlwYm9hcmRPcGVyYXRpb25UeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgY29uc3QgaXNTZWxlY3RlZEltYWdlID0gISFnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQpO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVNlbGVjdGlvbiA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmIE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHNbMF0pO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZEltYWdlIHx8IGlzU2luZ2xlU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBpZiAoY2xpcGJvYXJkRGF0YT8uZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjY2VwdEltYWdlQXJyYXkgPSBhY2NlcHRJbWFnZVR5cGVzLm1hcCgodHlwZSkgPT4gJ2ltYWdlLycgKyB0eXBlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSAoc2VsZWN0ZWRFbGVtZW50c1swXSB8fCBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAoYWNjZXB0SW1hZ2VBcnJheS5pbmNsdWRlcyhjbGlwYm9hcmREYXRhLmZpbGVzWzBdLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGltYWdlRmlsZSA9IGNsaXBib2FyZERhdGEuZmlsZXNbMF07XG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkSW1hZ2UoYm9hcmQsIGltYWdlRmlsZSwgREVGQVVMVF9NSU5EX0lNQUdFX1dJRFRILCAoaW1hZ2VJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRJbWFnZShib2FyZCwgc2VsZWN0ZWRFbGVtZW50LCBpbWFnZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjbGlwYm9hcmREYXRhPy5tZWRpYXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IChzZWxlY3RlZEVsZW1lbnRzWzBdIHx8IGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZShib2FyZCkpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldEltYWdlKGJvYXJkLCBzZWxlY3RlZEVsZW1lbnQsIGNsaXBib2FyZERhdGEubWVkaWFzWzBdKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RnJhZ21lbnQoY2xpcGJvYXJkRGF0YSwgdGFyZ2V0UG9pbnQsIG9wZXJhdGlvblR5cGUpO1xuICAgIH07XG5cbiAgICBib2FyZC5hZnRlckNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgYWZ0ZXJDaGFuZ2UoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJbWFnZUVsZW1lbnQgJiYgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgc2VsZWN0ZWRJbWFnZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBjb21tb25FbGVtZW50UmVmID0gUGxhaXRFbGVtZW50LmdldEVsZW1lbnRSZWY8UGxhaXRDb21tb25FbGVtZW50UmVmPihzZWxlY3RlZEltYWdlRWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBpbWFnZUdlbmVyYXRvciA9IGNvbW1vbkVsZW1lbnRSZWYuZ2V0R2VuZXJhdG9yPEltYWdlR2VuZXJhdG9yPihJbWFnZUdlbmVyYXRvci5rZXkpO1xuICAgICAgICAgICAgaW1hZ2VHZW5lcmF0b3Iuc2V0Rm9jdXMoc2VsZWN0ZWRJbWFnZUVsZW1lbnQsIHRydWUpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { PlaitBoard, PlaitNode, Point, ResizeCursorClass, distanceBetweenPointAndRectangle, getSelectedElements } from '@plait/core';
|
|
2
|
-
import { MindElement } from '../interfaces/element';
|
|
3
|
-
import { getRectangleByNode } from '../utils/position/node';
|
|
4
|
-
import { NodeSpace } from '../utils/space/node-space';
|
|
5
|
-
import { MindTransforms } from '../transforms';
|
|
6
|
-
import { EXTEND_OFFSET } from '../constants/default';
|
|
7
|
-
import { getFirstTextManage, withResize } from '@plait/common';
|
|
8
|
-
export const withNodeResize = (board) => {
|
|
9
|
-
let targetElementRef = null;
|
|
10
|
-
const options = {
|
|
11
|
-
key: 'mind-node',
|
|
12
|
-
canResize: () => {
|
|
13
|
-
return true;
|
|
14
|
-
},
|
|
15
|
-
hitTest: (point) => {
|
|
16
|
-
const newTargetElement = getSelectedTarget(board, point);
|
|
17
|
-
if (newTargetElement) {
|
|
18
|
-
return {
|
|
19
|
-
element: newTargetElement,
|
|
20
|
-
handle: null,
|
|
21
|
-
cursorClass: ResizeCursorClass.ew
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
},
|
|
26
|
-
beforeResize: (resizeRef) => {
|
|
27
|
-
targetElementRef = {
|
|
28
|
-
minWidth: NodeSpace.getNodeResizableMinWidth(board, resizeRef.element),
|
|
29
|
-
currentWidth: NodeSpace.getNodeDynamicWidth(board, resizeRef.element),
|
|
30
|
-
path: PlaitBoard.findPath(board, resizeRef.element),
|
|
31
|
-
textManage: getFirstTextManage(resizeRef.element)
|
|
32
|
-
};
|
|
33
|
-
},
|
|
34
|
-
onResize: (resizeRef, resizeState) => {
|
|
35
|
-
let resizedWidth = targetElementRef.currentWidth + Point.getOffsetX(resizeState.startPoint, resizeState.endPoint);
|
|
36
|
-
if (resizedWidth <= targetElementRef.minWidth) {
|
|
37
|
-
resizedWidth = targetElementRef.minWidth;
|
|
38
|
-
}
|
|
39
|
-
const newTarget = PlaitNode.get(board, targetElementRef.path);
|
|
40
|
-
if (newTarget && NodeSpace.getNodeTopicMinWidth(board, newTarget) !== resizedWidth) {
|
|
41
|
-
targetElementRef.textManage.updateRectangleWidth(resizedWidth);
|
|
42
|
-
const { height } = targetElementRef.textManage.getSize(undefined, resizedWidth);
|
|
43
|
-
MindTransforms.setNodeManualWidth(board, newTarget, resizedWidth, height);
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
afterResize: (resizeRef) => {
|
|
47
|
-
targetElementRef = null;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
withResize(board, options);
|
|
51
|
-
return board;
|
|
52
|
-
};
|
|
53
|
-
export const getSelectedTarget = (board, point) => {
|
|
54
|
-
const selectedElements = getSelectedElements(board).filter(value => MindElement.isMindElement(board, value));
|
|
55
|
-
if (selectedElements.length > 0) {
|
|
56
|
-
const target = selectedElements.find(value => {
|
|
57
|
-
const rectangle = getResizeActiveRectangle(board, value);
|
|
58
|
-
return distanceBetweenPointAndRectangle(point[0], point[1], rectangle) <= 0;
|
|
59
|
-
});
|
|
60
|
-
return target ? target : null;
|
|
61
|
-
}
|
|
62
|
-
return null;
|
|
63
|
-
};
|
|
64
|
-
export const getResizeActiveRectangle = (board, element) => {
|
|
65
|
-
const node = MindElement.getNode(element);
|
|
66
|
-
const rectangle = getRectangleByNode(node);
|
|
67
|
-
return { x: rectangle.x + rectangle.width - EXTEND_OFFSET, y: rectangle.y, width: EXTEND_OFFSET * 2, height: rectangle.height };
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsVUFBVSxFQUNWLFNBQVMsRUFDVCxLQUFLLEVBRUwsaUJBQWlCLEVBQ2pCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFFdEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQXlELGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVN0SCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsSUFBSSxnQkFBZ0IsR0FBNEIsSUFBSSxDQUFDO0lBQ3JELE1BQU0sT0FBTyxHQUF5QztRQUNsRCxHQUFHLEVBQUUsV0FBVztRQUNoQixTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3RCLE1BQU0sZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsS0FBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLE9BQU87b0JBQ0gsT0FBTyxFQUFFLGdCQUFnQjtvQkFDekIsTUFBTSxFQUFFLElBQUk7b0JBQ1osV0FBVyxF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LENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBbUIsRUFBRTtJQUNqRyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLGFBQWEsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3BJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGF0aCxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0Tm9kZSxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgUmVzaXplQ3Vyc29yQ2xhc3MsXG4gICAgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBpc0RyYWdnaW5nXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4uL3V0aWxzL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vdXRpbHMvc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4vd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBFWFRFTkRfT0ZGU0VUIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuaW1wb3J0IHsgUmVzaXplUmVmLCBSZXNpemVTdGF0ZSwgVGV4dE1hbmFnZSwgV2l0aFJlc2l6ZU9wdGlvbnMsIGdldEZpcnN0VGV4dE1hbmFnZSwgd2l0aFJlc2l6ZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5pbnRlcmZhY2UgVGFyZ2V0RWxlbWVudFJlZiB7XG4gICAgbWluV2lkdGg6IG51bWJlcjtcbiAgICBjdXJyZW50V2lkdGg6IG51bWJlcjtcbiAgICBwYXRoOiBQYXRoO1xuICAgIHRleHRNYW5hZ2U6IFRleHRNYW5hZ2U7XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZVJlc2l6ZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGxldCB0YXJnZXRFbGVtZW50UmVmOiBUYXJnZXRFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3Qgb3B0aW9uczogV2l0aFJlc2l6ZU9wdGlvbnM8TWluZEVsZW1lbnQsIG51bGw+ID0ge1xuICAgICAgICBrZXk6ICdtaW5kLW5vZGUnLFxuICAgICAgICBjYW5SZXNpemU6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9LFxuICAgICAgICBoaXRUZXN0OiAocG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdUYXJnZXRFbGVtZW50ID0gZ2V0U2VsZWN0ZWRUYXJnZXQoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHBvaW50KTtcbiAgICAgICAgICAgIGlmIChuZXdUYXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogbmV3VGFyZ2V0RWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBjdXJzb3JDbGFzczogUmVzaXplQ3Vyc29yQ2xhc3MuZXdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0sXG4gICAgICAgIGJlZm9yZVJlc2l6ZTogKHJlc2l6ZVJlZjogUmVzaXplUmVmPE1pbmRFbGVtZW50LCBudWxsPikgPT4ge1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudFJlZiA9IHtcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogTm9kZVNwYWNlLmdldE5vZGVSZXNpemFibGVNaW5XaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgcmVzaXplUmVmLmVsZW1lbnQpLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRXaWR0aDogTm9kZVNwYWNlLmdldE5vZGVEeW5hbWljV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIHJlc2l6ZVJlZi5lbGVtZW50KSxcbiAgICAgICAgICAgICAgICBwYXRoOiBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCByZXNpemVSZWYuZWxlbWVudCksXG4gICAgICAgICAgICAgICAgdGV4dE1hbmFnZTogZ2V0Rmlyc3RUZXh0TWFuYWdlKHJlc2l6ZVJlZi5lbGVtZW50KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgICAgb25SZXNpemU6IChyZXNpemVSZWY6IFJlc2l6ZVJlZjxNaW5kRWxlbWVudCwgbnVsbD4sIHJlc2l6ZVN0YXRlOiBSZXNpemVTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc2l6ZWRXaWR0aCA9IHRhcmdldEVsZW1lbnRSZWYhLmN1cnJlbnRXaWR0aCArIFBvaW50LmdldE9mZnNldFgocmVzaXplU3RhdGUuc3RhcnRQb2ludCwgcmVzaXplU3RhdGUuZW5kUG9pbnQpO1xuICAgICAgICAgICAgaWYgKHJlc2l6ZWRXaWR0aCA8PSB0YXJnZXRFbGVtZW50UmVmIS5taW5XaWR0aCkge1xuICAgICAgICAgICAgICAgIHJlc2l6ZWRXaWR0aCA9IHRhcmdldEVsZW1lbnRSZWYhLm1pbldpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gUGxhaXROb2RlLmdldDxNaW5kRWxlbWVudD4oYm9hcmQsIHRhcmdldEVsZW1lbnRSZWYhLnBhdGgpO1xuICAgICAgICAgICAgaWYgKG5ld1RhcmdldCAmJiBOb2RlU3BhY2UuZ2V0Tm9kZVRvcGljTWluV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIG5ld1RhcmdldCkgIT09IHJlc2l6ZWRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRhcmdldEVsZW1lbnRSZWYhLnRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlV2lkdGgocmVzaXplZFdpZHRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGhlaWdodCB9ID0gdGFyZ2V0RWxlbWVudFJlZiEudGV4dE1hbmFnZS5nZXRTaXplKHVuZGVmaW5lZCwgcmVzaXplZFdpZHRoKTtcbiAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXROb2RlTWFudWFsV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIG5ld1RhcmdldCwgcmVzaXplZFdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBhZnRlclJlc2l6ZTogKHJlc2l6ZVJlZjogUmVzaXplUmVmPE1pbmRFbGVtZW50LCBudWxsPikgPT4ge1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHdpdGhSZXNpemU8TWluZEVsZW1lbnQsIG51bGw+KGJvYXJkLCBvcHRpb25zKTtcbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRUYXJnZXQgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBwb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkuZmlsdGVyKHZhbHVlID0+IE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIHZhbHVlKSkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHNlbGVjdGVkRWxlbWVudHMuZmluZCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZXNpemVBY3RpdmVSZWN0YW5nbGUoYm9hcmQsIHZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZShwb2ludFswXSwgcG9pbnRbMV0sIHJlY3RhbmdsZSkgPD0gMDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0YXJnZXQgPyB0YXJnZXQgOiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSZXNpemVBY3RpdmVSZWN0YW5nbGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KTogUmVjdGFuZ2xlQ2xpZW50ID0+IHtcbiAgICBjb25zdCBub2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KTtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgcmV0dXJuIHsgeDogcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLSBFWFRFTkRfT0ZGU0VULCB5OiByZWN0YW5nbGUueSwgd2lkdGg6IEVYVEVORF9PRkZTRVQgKiAyLCBoZWlnaHQ6IHJlY3RhbmdsZS5oZWlnaHQgfTtcbn07XG4iXX0=
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of mind
|
|
3
|
-
*/
|
|
4
|
-
export * from './mind.component';
|
|
5
|
-
export * from './mind-node.component';
|
|
6
|
-
export * from './utils';
|
|
7
|
-
export * from './interfaces';
|
|
8
|
-
export * from './plugins/with-mind';
|
|
9
|
-
export * from './plugins/with-mind-extend';
|
|
10
|
-
export * from './constants';
|
|
11
|
-
export * from './queries/index';
|
|
12
|
-
export * from './transforms/index';
|
|
13
|
-
export * from './emoji';
|
|
14
|
-
export * from './plugins/with-mind.board';
|
|
15
|
-
export * from './plugins/with-abstract-resize.board';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG1pbmRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21pbmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWluZC1ub2RlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbnMvd2l0aC1taW5kJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2lucy93aXRoLW1pbmQtZXh0ZW5kJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcmllcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zZm9ybXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9lbW9qaSc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2lucy93aXRoLWFic3RyYWN0LXJlc2l6ZS5ib2FyZCc7XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { MindElement } from '../interfaces';
|
|
2
|
-
import { getAvailableSubLayoutsByLayoutDirections, getBranchDirectionsByLayouts } from '../utils';
|
|
3
|
-
import { MindLayoutType } from '@plait/layouts';
|
|
4
|
-
import { getBranchLayouts } from './get-branch-layouts';
|
|
5
|
-
export const getAvailableSubLayoutsByElement = (board, element) => {
|
|
6
|
-
const parentElement = MindElement.findParent(element);
|
|
7
|
-
if (parentElement) {
|
|
8
|
-
const branchLayouts = getBranchLayouts(board, parentElement);
|
|
9
|
-
if (branchLayouts[0] === MindLayoutType.standard) {
|
|
10
|
-
const node = MindElement.getNode(element);
|
|
11
|
-
branchLayouts[0] = node.left ? MindLayoutType.left : MindLayoutType.right;
|
|
12
|
-
}
|
|
13
|
-
const currentLayoutDirections = getBranchDirectionsByLayouts(branchLayouts);
|
|
14
|
-
let availableSubLayouts = getAvailableSubLayoutsByLayoutDirections(currentLayoutDirections);
|
|
15
|
-
const parentLayout = [branchLayouts[branchLayouts.length - 1]];
|
|
16
|
-
const parentDirections = getBranchDirectionsByLayouts(parentLayout);
|
|
17
|
-
const parentAvailableSubLayouts = getAvailableSubLayoutsByLayoutDirections(parentDirections);
|
|
18
|
-
availableSubLayouts = availableSubLayouts.filter(layout => parentAvailableSubLayouts.some(parentAvailableSubLayout => parentAvailableSubLayout === layout));
|
|
19
|
-
return availableSubLayouts;
|
|
20
|
-
}
|
|
21
|
-
return undefined;
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF2YWlsYWJsZS1zdWJsYXlvdXRzLWJ5LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9xdWVyaWVzL2dldC1hdmFpbGFibGUtc3VibGF5b3V0cy1ieS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoQixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDN0QsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDOUUsQ0FBQztRQUNELE1BQU0sdUJBQXVCLEdBQUcsNEJBQTRCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsSUFBSSxtQkFBbUIsR0FBRyx3Q0FBd0MsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sWUFBWSxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxNQUFNLGdCQUFnQixHQUFHLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0seUJBQXlCLEdBQUcsd0NBQXdDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU3RixtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDdEQseUJBQXlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsS0FBSyxNQUFNLENBQUMsQ0FDbEcsQ0FBQztRQUNGLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRBdmFpbGFibGVTdWJMYXlvdXRzQnlMYXlvdXREaXJlY3Rpb25zLCBnZXRCcmFuY2hEaXJlY3Rpb25zQnlMYXlvdXRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRCcmFuY2hMYXlvdXRzIH0gZnJvbSAnLi9nZXQtYnJhbmNoLWxheW91dHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGdldEF2YWlsYWJsZVN1YkxheW91dHNCeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IE1pbmRFbGVtZW50LmZpbmRQYXJlbnQoZWxlbWVudCk7XG4gICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgYnJhbmNoTGF5b3V0cyA9IGdldEJyYW5jaExheW91dHMoYm9hcmQsIHBhcmVudEVsZW1lbnQpO1xuICAgICAgICBpZiAoYnJhbmNoTGF5b3V0c1swXSA9PT0gTWluZExheW91dFR5cGUuc3RhbmRhcmQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpO1xuICAgICAgICAgICAgYnJhbmNoTGF5b3V0c1swXSA9IG5vZGUubGVmdCA/IE1pbmRMYXlvdXRUeXBlLmxlZnQgOiBNaW5kTGF5b3V0VHlwZS5yaWdodDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50TGF5b3V0RGlyZWN0aW9ucyA9IGdldEJyYW5jaERpcmVjdGlvbnNCeUxheW91dHMoYnJhbmNoTGF5b3V0cyk7XG4gICAgICAgIGxldCBhdmFpbGFibGVTdWJMYXlvdXRzID0gZ2V0QXZhaWxhYmxlU3ViTGF5b3V0c0J5TGF5b3V0RGlyZWN0aW9ucyhjdXJyZW50TGF5b3V0RGlyZWN0aW9ucyk7XG4gICAgICAgIGNvbnN0IHBhcmVudExheW91dCA9IFticmFuY2hMYXlvdXRzW2JyYW5jaExheW91dHMubGVuZ3RoIC0gMV1dO1xuICAgICAgICBjb25zdCBwYXJlbnREaXJlY3Rpb25zID0gZ2V0QnJhbmNoRGlyZWN0aW9uc0J5TGF5b3V0cyhwYXJlbnRMYXlvdXQpO1xuICAgICAgICBjb25zdCBwYXJlbnRBdmFpbGFibGVTdWJMYXlvdXRzID0gZ2V0QXZhaWxhYmxlU3ViTGF5b3V0c0J5TGF5b3V0RGlyZWN0aW9ucyhwYXJlbnREaXJlY3Rpb25zKTtcblxuICAgICAgICBhdmFpbGFibGVTdWJMYXlvdXRzID0gYXZhaWxhYmxlU3ViTGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+XG4gICAgICAgICAgICBwYXJlbnRBdmFpbGFibGVTdWJMYXlvdXRzLnNvbWUocGFyZW50QXZhaWxhYmxlU3ViTGF5b3V0ID0+IHBhcmVudEF2YWlsYWJsZVN1YkxheW91dCA9PT0gbGF5b3V0KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gYXZhaWxhYmxlU3ViTGF5b3V0cztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MindElement } from '../interfaces';
|
|
2
|
-
import { getCorrectLayoutByElement } from './get-correct-layout-by-element';
|
|
3
|
-
export const getBranchLayouts = (board, element) => {
|
|
4
|
-
const layouts = [];
|
|
5
|
-
if (element.layout) {
|
|
6
|
-
// TODO: getCorrectLayoutByElement Contains recursive operations. getBranchLayouts itself also has recursive operations and needs to be optimized.
|
|
7
|
-
layouts.unshift(getCorrectLayoutByElement(board, element));
|
|
8
|
-
}
|
|
9
|
-
let parent = MindElement.findParent(element);
|
|
10
|
-
while (parent) {
|
|
11
|
-
if (parent.layout) {
|
|
12
|
-
layouts.unshift(parent.layout);
|
|
13
|
-
}
|
|
14
|
-
parent = MindElement.findParent(parent);
|
|
15
|
-
}
|
|
16
|
-
return layouts;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJyYW5jaC1sYXlvdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcXVlcmllcy9nZXQtYnJhbmNoLWxheW91dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc1RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQ3hFLE1BQU0sT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakIsa0pBQWtKO1FBQ2xKLE9BQU8sQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsT0FBTyxNQUFNLEVBQUUsQ0FBQztRQUNaLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxNQUFNLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1pbmRMYXlvdXRUeXBlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZ2V0Q29ycmVjdExheW91dEJ5RWxlbWVudCB9IGZyb20gJy4vZ2V0LWNvcnJlY3QtbGF5b3V0LWJ5LWVsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGdldEJyYW5jaExheW91dHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgbGF5b3V0czogTWluZExheW91dFR5cGVbXSA9IFtdO1xuICAgIGlmIChlbGVtZW50LmxheW91dCkge1xuICAgICAgICAvLyBUT0RPOiBnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50IENvbnRhaW5zIHJlY3Vyc2l2ZSBvcGVyYXRpb25zLiBnZXRCcmFuY2hMYXlvdXRzIGl0c2VsZiBhbHNvIGhhcyByZWN1cnNpdmUgb3BlcmF0aW9ucyBhbmQgbmVlZHMgdG8gYmUgb3B0aW1pemVkLlxuICAgICAgICBsYXlvdXRzLnVuc2hpZnQoZ2V0Q29ycmVjdExheW91dEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCkpO1xuICAgIH1cbiAgICBsZXQgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChlbGVtZW50KTtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICAgIGlmIChwYXJlbnQubGF5b3V0KSB7XG4gICAgICAgICAgICBsYXlvdXRzLnVuc2hpZnQocGFyZW50LmxheW91dCk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChwYXJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gbGF5b3V0cztcbn07XG4iXX0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { MindElement, PlaitMind } from '../interfaces';
|
|
2
|
-
import { correctLayoutByDirection, getInCorrectLayoutDirection, getRootLayout } from '../utils';
|
|
3
|
-
import { AbstractNode, MindLayoutType, getAbstractLayout } from '@plait/layouts';
|
|
4
|
-
/**
|
|
5
|
-
* get correctly layout:
|
|
6
|
-
* 1. root is standard -> left or right
|
|
7
|
-
* 2. correct layout by incorrect layout direction
|
|
8
|
-
* @param element
|
|
9
|
-
*/
|
|
10
|
-
export const getCorrectLayoutByElement = (board, element) => {
|
|
11
|
-
const ancestors = MindElement.getAncestors(board, element);
|
|
12
|
-
ancestors.unshift(element);
|
|
13
|
-
const root = ancestors[ancestors.length - 1];
|
|
14
|
-
let rootLayout = getRootLayout(root);
|
|
15
|
-
if (PlaitMind.isMind(element)) {
|
|
16
|
-
return rootLayout;
|
|
17
|
-
}
|
|
18
|
-
const node = MindElement.getNode(element);
|
|
19
|
-
let correctRootLayout = rootLayout;
|
|
20
|
-
if (rootLayout === MindLayoutType.standard) {
|
|
21
|
-
correctRootLayout = node.left ? MindLayoutType.left : MindLayoutType.right;
|
|
22
|
-
}
|
|
23
|
-
let layout = null;
|
|
24
|
-
const elementWithLayout = ancestors.find(value => value.layout || AbstractNode.isAbstract(value));
|
|
25
|
-
if (elementWithLayout) {
|
|
26
|
-
if (AbstractNode.isAbstract(elementWithLayout)) {
|
|
27
|
-
const parent = MindElement.getParent(elementWithLayout);
|
|
28
|
-
const parentLayout = getCorrectLayoutByElement(board, parent);
|
|
29
|
-
layout = getAbstractLayout(parentLayout);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
layout = elementWithLayout?.layout;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (layout === MindLayoutType.standard || !layout) {
|
|
36
|
-
return correctRootLayout;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
const incorrectDirection = getInCorrectLayoutDirection(correctRootLayout, layout);
|
|
40
|
-
if (incorrectDirection) {
|
|
41
|
-
return correctLayoutByDirection(layout, incorrectDirection);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return layout;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvcnJlY3QtbGF5b3V0LWJ5LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9xdWVyaWVzL2dldC1jb3JyZWN0LWxheW91dC1ieS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDakYsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFrQixDQUFDO0lBQzVFLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJDLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLElBQUksaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0lBQ25DLElBQUksVUFBVSxLQUFLLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDbEIsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3BCLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sWUFBWSxHQUFHLHlCQUF5QixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM5RCxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLEdBQUcsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixPQUFPLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY29ycmVjdExheW91dEJ5RGlyZWN0aW9uLCBnZXRJbkNvcnJlY3RMYXlvdXREaXJlY3Rpb24sIGdldFJvb3RMYXlvdXQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUsIE1pbmRMYXlvdXRUeXBlLCBnZXRBYnN0cmFjdExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcblxuLyoqXG4gKiBnZXQgY29ycmVjdGx5IGxheW91dO+8mlxuICogMS4gcm9vdCBpcyBzdGFuZGFyZCAtPiBsZWZ0IG9yIHJpZ2h0XG4gKiAyLiBjb3JyZWN0IGxheW91dCBieSBpbmNvcnJlY3QgbGF5b3V0IGRpcmVjdGlvblxuICogQHBhcmFtIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgYW5jZXN0b3JzID0gTWluZEVsZW1lbnQuZ2V0QW5jZXN0b3JzKGJvYXJkLCBlbGVtZW50KSBhcyBNaW5kRWxlbWVudFtdO1xuICAgIGFuY2VzdG9ycy51bnNoaWZ0KGVsZW1lbnQpO1xuICAgIGNvbnN0IHJvb3QgPSBhbmNlc3RvcnNbYW5jZXN0b3JzLmxlbmd0aCAtIDFdO1xuICAgIGxldCByb290TGF5b3V0ID0gZ2V0Um9vdExheW91dChyb290KTtcblxuICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiByb290TGF5b3V0O1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpO1xuICAgIGxldCBjb3JyZWN0Um9vdExheW91dCA9IHJvb3RMYXlvdXQ7XG4gICAgaWYgKHJvb3RMYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnN0YW5kYXJkKSB7XG4gICAgICAgIGNvcnJlY3RSb290TGF5b3V0ID0gbm9kZS5sZWZ0ID8gTWluZExheW91dFR5cGUubGVmdCA6IE1pbmRMYXlvdXRUeXBlLnJpZ2h0O1xuICAgIH1cblxuICAgIGxldCBsYXlvdXQgPSBudWxsO1xuICAgIGNvbnN0IGVsZW1lbnRXaXRoTGF5b3V0ID0gYW5jZXN0b3JzLmZpbmQodmFsdWUgPT4gdmFsdWUubGF5b3V0IHx8IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHZhbHVlKSk7XG4gICAgaWYgKGVsZW1lbnRXaXRoTGF5b3V0KSB7XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50V2l0aExheW91dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmdldFBhcmVudChlbGVtZW50V2l0aExheW91dCk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMYXlvdXQgPSBnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBwYXJlbnQpO1xuICAgICAgICAgICAgbGF5b3V0ID0gZ2V0QWJzdHJhY3RMYXlvdXQocGFyZW50TGF5b3V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxheW91dCA9IGVsZW1lbnRXaXRoTGF5b3V0Py5sYXlvdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobGF5b3V0ID09PSBNaW5kTGF5b3V0VHlwZS5zdGFuZGFyZCB8fCAhbGF5b3V0KSB7XG4gICAgICAgIHJldHVybiBjb3JyZWN0Um9vdExheW91dDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmNvcnJlY3REaXJlY3Rpb24gPSBnZXRJbkNvcnJlY3RMYXlvdXREaXJlY3Rpb24oY29ycmVjdFJvb3RMYXlvdXQsIGxheW91dCk7XG4gICAgICAgIGlmIChpbmNvcnJlY3REaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBjb3JyZWN0TGF5b3V0QnlEaXJlY3Rpb24obGF5b3V0LCBpbmNvcnJlY3REaXJlY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGxheW91dDtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MindElement, PlaitMind } from '../interfaces';
|
|
2
|
-
import { AbstractNode, getAbstractLayout } from '@plait/layouts';
|
|
3
|
-
import { getDefaultLayout } from '../utils/layout';
|
|
4
|
-
export const getLayoutByElement = (element) => {
|
|
5
|
-
const layout = element.layout;
|
|
6
|
-
if (layout) {
|
|
7
|
-
return layout;
|
|
8
|
-
}
|
|
9
|
-
const parent = !PlaitMind.isMind(element) && MindElement.getParent(element);
|
|
10
|
-
if (AbstractNode.isAbstract(element) && parent) {
|
|
11
|
-
return getAbstractLayout(getLayoutByElement(parent));
|
|
12
|
-
}
|
|
13
|
-
if (parent) {
|
|
14
|
-
return getLayoutByElement(parent);
|
|
15
|
-
}
|
|
16
|
-
return getDefaultLayout();
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxheW91dC1ieS1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcXVlcmllcy9nZXQtbGF5b3V0LWJ5LWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQW9CLEVBQWtCLEVBQUU7SUFDdkUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM5QixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVFLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUM3QyxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPLGdCQUFnQixFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBNaW5kTGF5b3V0VHlwZSwgZ2V0QWJzdHJhY3RMYXlvdXQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0TGF5b3V0IH0gZnJvbSAnLi4vdXRpbHMvbGF5b3V0JztcblxuZXhwb3J0IGNvbnN0IGdldExheW91dEJ5RWxlbWVudCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCk6IE1pbmRMYXlvdXRUeXBlID0+IHtcbiAgICBjb25zdCBsYXlvdXQgPSBlbGVtZW50LmxheW91dDtcbiAgICBpZiAobGF5b3V0KSB7XG4gICAgICAgIHJldHVybiBsYXlvdXQ7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50ID0gIVBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgTWluZEVsZW1lbnQuZ2V0UGFyZW50KGVsZW1lbnQpO1xuXG4gICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpICYmIHBhcmVudCkge1xuICAgICAgICByZXR1cm4gZ2V0QWJzdHJhY3RMYXlvdXQoZ2V0TGF5b3V0QnlFbGVtZW50KHBhcmVudCkpO1xuICAgIH1cblxuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldExheW91dEJ5RWxlbWVudChwYXJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBnZXREZWZhdWx0TGF5b3V0KCk7XG59O1xuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { getAvailableSubLayoutsByElement } from './get-available-sublayouts-by-element';
|
|
2
|
-
import { getBranchLayouts } from './get-branch-layouts';
|
|
3
|
-
import { getCorrectLayoutByElement } from './get-correct-layout-by-element';
|
|
4
|
-
import { getLayoutByElement } from './get-layout-by-element';
|
|
5
|
-
export const MindQueries = {
|
|
6
|
-
getAvailableSubLayoutsByElement,
|
|
7
|
-
getBranchLayouts,
|
|
8
|
-
getLayoutByElement,
|
|
9
|
-
getCorrectLayoutByElement
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9xdWVyaWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QiwrQkFBK0I7SUFDL0IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQix5QkFBeUI7Q0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEF2YWlsYWJsZVN1YkxheW91dHNCeUVsZW1lbnQgfSBmcm9tICcuL2dldC1hdmFpbGFibGUtc3VibGF5b3V0cy1ieS1lbGVtZW50JztcbmltcG9ydCB7IGdldEJyYW5jaExheW91dHMgfSBmcm9tICcuL2dldC1icmFuY2gtbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50IH0gZnJvbSAnLi9nZXQtY29ycmVjdC1sYXlvdXQtYnktZWxlbWVudCc7XG5pbXBvcnQgeyBnZXRMYXlvdXRCeUVsZW1lbnQgfSBmcm9tICcuL2dldC1sYXlvdXQtYnktZWxlbWVudCc7XG5cbmV4cG9ydCBjb25zdCBNaW5kUXVlcmllcyA9IHtcbiAgICBnZXRBdmFpbGFibGVTdWJMYXlvdXRzQnlFbGVtZW50LFxuICAgIGdldEJyYW5jaExheW91dHMsXG4gICAgZ2V0TGF5b3V0QnlFbGVtZW50LFxuICAgIGdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnRcbn07XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Path, PlaitBoard, Transforms, addSelectedElement, clearSelectedElement } from '@plait/core';
|
|
2
|
-
import { AbstractNode, isStandardLayout } from '@plait/layouts';
|
|
3
|
-
import { divideElementByParent, getFirstLevelElement } from '../utils/mind';
|
|
4
|
-
import { MindQueries } from '../queries';
|
|
5
|
-
import { DefaultAbstractNodeStyle } from '../constants/node-style';
|
|
6
|
-
import { createMindElement } from '../utils/node/create-node';
|
|
7
|
-
import { getAbstractNodeText, getTopicSize } from '../utils/common';
|
|
8
|
-
import { buildText } from '@plait/common';
|
|
9
|
-
export const setAbstractsByRefs = (board, abstractRefs) => {
|
|
10
|
-
abstractRefs.forEach((newProperty, element) => {
|
|
11
|
-
const start = element.start + newProperty.start;
|
|
12
|
-
const end = element.end + newProperty.end;
|
|
13
|
-
const path = PlaitBoard.findPath(board, element);
|
|
14
|
-
if (start > end) {
|
|
15
|
-
Transforms.removeNode(board, path);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
Transforms.setNode(board, { start, end }, path);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
export const setAbstractByStandardLayout = (board, element) => {
|
|
23
|
-
const rightNodeCount = element.rightNodeCount;
|
|
24
|
-
const abstract = element.children.find((child) => {
|
|
25
|
-
return AbstractNode.isAbstract(child) && child.end >= rightNodeCount && child.start < rightNodeCount;
|
|
26
|
-
});
|
|
27
|
-
if (abstract) {
|
|
28
|
-
const path = PlaitBoard.findPath(board, abstract);
|
|
29
|
-
Transforms.setNode(board, { end: rightNodeCount - 1 }, path);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
export const insertAbstract = (board, elements) => {
|
|
33
|
-
let elementGroup = getFirstLevelElement(elements);
|
|
34
|
-
const { parentElements, abstractIncludedGroups } = divideElementByParent(elementGroup);
|
|
35
|
-
abstractIncludedGroups.forEach((group, index) => {
|
|
36
|
-
const groupParent = parentElements[index];
|
|
37
|
-
setAbstractByElements(board, groupParent, group);
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
const setAbstractByElements = (board, groupParent, group) => {
|
|
41
|
-
const indexArray = group.map((child) => groupParent.children.indexOf(child)).sort((a, b) => a - b);
|
|
42
|
-
const rightNodeCount = groupParent?.rightNodeCount;
|
|
43
|
-
const start = indexArray[0], end = indexArray[indexArray.length - 1];
|
|
44
|
-
if (isStandardLayout(MindQueries.getLayoutByElement(groupParent)) &&
|
|
45
|
-
rightNodeCount &&
|
|
46
|
-
start < rightNodeCount &&
|
|
47
|
-
end >= rightNodeCount) {
|
|
48
|
-
const childrenLength = groupParent.children.length;
|
|
49
|
-
const path = [...PlaitBoard.findPath(board, groupParent), childrenLength];
|
|
50
|
-
const leftChildren = indexArray.filter((index) => index >= rightNodeCount);
|
|
51
|
-
const rightChildren = indexArray.filter((index) => index < rightNodeCount);
|
|
52
|
-
insertAbstractNode(board, path, rightChildren[0], rightChildren[rightChildren.length - 1]);
|
|
53
|
-
insertAbstractNode(board, Path.next(path), leftChildren[0], leftChildren[leftChildren.length - 1]);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
const path = [...PlaitBoard.findPath(board, groupParent), groupParent.children.length];
|
|
57
|
-
insertAbstractNode(board, path, start, end);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const insertAbstractNode = (board, path, start, end) => {
|
|
61
|
-
const abstractNodeText = getAbstractNodeText(board);
|
|
62
|
-
const { width, height } = getTopicSize(false, false, buildText(abstractNodeText));
|
|
63
|
-
const mindElement = createMindElement(abstractNodeText, width, height, {
|
|
64
|
-
strokeWidth: DefaultAbstractNodeStyle.branch.width,
|
|
65
|
-
branchWidth: DefaultAbstractNodeStyle.branch.width
|
|
66
|
-
});
|
|
67
|
-
mindElement.start = start;
|
|
68
|
-
mindElement.end = end;
|
|
69
|
-
Transforms.insertNode(board, mindElement, path);
|
|
70
|
-
clearSelectedElement(board);
|
|
71
|
-
addSelectedElement(board, mindElement);
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvYWJzdHJhY3Qtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBZ0IsVUFBVSxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsWUFBMEIsRUFBRSxFQUFFO0lBQ2hGLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQU0sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2pELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFzQixDQUFDLENBQUM7UUFFaEUsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDZCxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNKLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDbkYsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWUsQ0FBQztJQUMvQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzdDLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLGNBQWMsSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztJQUN6RyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksUUFBUSxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsUUFBd0IsRUFBRSxFQUFFO0lBQzFFLElBQUksWUFBWSxHQUFHLG9CQUFvQixDQUFDLFFBQXlCLENBQUMsQ0FBQztJQUNuRSxNQUFNLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFdkYsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzVDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsV0FBd0IsRUFBRSxLQUFvQixFQUFFLEVBQUU7SUFDaEcsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsV0FBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEcsTUFBTSxjQUFjLEdBQUcsV0FBVyxFQUFFLGNBQWMsQ0FBQztJQUNuRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQ3ZCLEdBQUcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUU1QyxJQUNJLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxjQUFjO1FBQ2QsS0FBSyxHQUFHLGNBQWM7UUFDdEIsR0FBRyxJQUFJLGNBQWMsRUFDdkIsQ0FBQztRQUNDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ25ELE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMxRSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDLENBQUM7UUFDM0UsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLGtCQUFrQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0Ysa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBVSxFQUFFLEtBQWEsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUNyRixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNsRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ25FLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSztRQUNsRCxXQUFXLEVBQUUsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUs7S0FDckQsQ0FBQyxDQUFDO0lBRUgsV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDMUIsV0FBVyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFFdEIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWhELG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFRyYW5zZm9ybXMsIGFkZFNlbGVjdGVkRWxlbWVudCwgY2xlYXJTZWxlY3RlZEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlZnMgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtYWJzdHJhY3QtcmVzaXplLmJvYXJkJztcbmltcG9ydCB7IE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBpc1N0YW5kYXJkTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZGl2aWRlRWxlbWVudEJ5UGFyZW50LCBnZXRGaXJzdExldmVsRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL21pbmQnO1xuaW1wb3J0IHsgTWluZFF1ZXJpZXMgfSBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IERlZmF1bHRBYnN0cmFjdE5vZGVTdHlsZSB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXN0eWxlJztcbmltcG9ydCB7IGNyZWF0ZU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jcmVhdGUtbm9kZSc7XG5pbXBvcnQgeyBnZXRBYnN0cmFjdE5vZGVUZXh0LCBnZXRUb3BpY1NpemUgfSBmcm9tICcuLi91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgYnVpbGRUZXh0IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBzZXRBYnN0cmFjdHNCeVJlZnMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGFic3RyYWN0UmVmczogQWJzdHJhY3RSZWZzKSA9PiB7XG4gICAgYWJzdHJhY3RSZWZzLmZvckVhY2goKG5ld1Byb3BlcnR5LCBlbGVtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gZWxlbWVudC5zdGFydCEgKyBuZXdQcm9wZXJ0eS5zdGFydDtcbiAgICAgICAgY29uc3QgZW5kID0gZWxlbWVudC5lbmQhICsgbmV3UHJvcGVydHkuZW5kO1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCBhcyBNaW5kRWxlbWVudCk7XG5cbiAgICAgICAgaWYgKHN0YXJ0ID4gZW5kKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGUoYm9hcmQsIHBhdGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IHN0YXJ0LCBlbmQgfSwgcGF0aCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRBYnN0cmFjdEJ5U3RhbmRhcmRMYXlvdXQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcmlnaHROb2RlQ291bnQgPSBlbGVtZW50LnJpZ2h0Tm9kZUNvdW50ITtcbiAgICBjb25zdCBhYnN0cmFjdCA9IGVsZW1lbnQuY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IHtcbiAgICAgICAgcmV0dXJuIEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5lbmQgPj0gcmlnaHROb2RlQ291bnQgJiYgY2hpbGQuc3RhcnQgPCByaWdodE5vZGVDb3VudDtcbiAgICB9KTtcblxuICAgIGlmIChhYnN0cmFjdCkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgYWJzdHJhY3QpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgZW5kOiByaWdodE5vZGVDb3VudCAtIDEgfSwgcGF0aCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydEFic3RyYWN0ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICBsZXQgZWxlbWVudEdyb3VwID0gZ2V0Rmlyc3RMZXZlbEVsZW1lbnQoZWxlbWVudHMgYXMgTWluZEVsZW1lbnRbXSk7XG4gICAgY29uc3QgeyBwYXJlbnRFbGVtZW50cywgYWJzdHJhY3RJbmNsdWRlZEdyb3VwcyB9ID0gZGl2aWRlRWxlbWVudEJ5UGFyZW50KGVsZW1lbnRHcm91cCk7XG5cbiAgICBhYnN0cmFjdEluY2x1ZGVkR3JvdXBzLmZvckVhY2goKGdyb3VwLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBncm91cFBhcmVudCA9IHBhcmVudEVsZW1lbnRzW2luZGV4XTtcbiAgICAgICAgc2V0QWJzdHJhY3RCeUVsZW1lbnRzKGJvYXJkLCBncm91cFBhcmVudCwgZ3JvdXApO1xuICAgIH0pO1xufTtcblxuY29uc3Qgc2V0QWJzdHJhY3RCeUVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBncm91cFBhcmVudDogTWluZEVsZW1lbnQsIGdyb3VwOiBNaW5kRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3QgaW5kZXhBcnJheSA9IGdyb3VwLm1hcCgoY2hpbGQpID0+IGdyb3VwUGFyZW50IS5jaGlsZHJlbi5pbmRleE9mKGNoaWxkKSkuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgIGNvbnN0IHJpZ2h0Tm9kZUNvdW50ID0gZ3JvdXBQYXJlbnQ/LnJpZ2h0Tm9kZUNvdW50O1xuICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXhBcnJheVswXSxcbiAgICAgICAgZW5kID0gaW5kZXhBcnJheVtpbmRleEFycmF5Lmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKFxuICAgICAgICBpc1N0YW5kYXJkTGF5b3V0KE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudChncm91cFBhcmVudCkpICYmXG4gICAgICAgIHJpZ2h0Tm9kZUNvdW50ICYmXG4gICAgICAgIHN0YXJ0IDwgcmlnaHROb2RlQ291bnQgJiZcbiAgICAgICAgZW5kID49IHJpZ2h0Tm9kZUNvdW50XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuTGVuZ3RoID0gZ3JvdXBQYXJlbnQuY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICBjb25zdCBwYXRoID0gWy4uLlBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGdyb3VwUGFyZW50KSwgY2hpbGRyZW5MZW5ndGhdO1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGRyZW4gPSBpbmRleEFycmF5LmZpbHRlcigoaW5kZXgpID0+IGluZGV4ID49IHJpZ2h0Tm9kZUNvdW50KTtcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZHJlbiA9IGluZGV4QXJyYXkuZmlsdGVyKChpbmRleCkgPT4gaW5kZXggPCByaWdodE5vZGVDb3VudCk7XG4gICAgICAgIGluc2VydEFic3RyYWN0Tm9kZShib2FyZCwgcGF0aCwgcmlnaHRDaGlsZHJlblswXSwgcmlnaHRDaGlsZHJlbltyaWdodENoaWxkcmVuLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgaW5zZXJ0QWJzdHJhY3ROb2RlKGJvYXJkLCBQYXRoLm5leHQocGF0aCksIGxlZnRDaGlsZHJlblswXSwgbGVmdENoaWxkcmVuW2xlZnRDaGlsZHJlbi5sZW5ndGggLSAxXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFsuLi5QbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBncm91cFBhcmVudCksIGdyb3VwUGFyZW50LmNoaWxkcmVuLmxlbmd0aF07XG4gICAgICAgIGluc2VydEFic3RyYWN0Tm9kZShib2FyZCwgcGF0aCwgc3RhcnQsIGVuZCk7XG4gICAgfVxufTtcblxuY29uc3QgaW5zZXJ0QWJzdHJhY3ROb2RlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBwYXRoOiBQYXRoLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGFic3RyYWN0Tm9kZVRleHQgPSBnZXRBYnN0cmFjdE5vZGVUZXh0KGJvYXJkKTtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFRvcGljU2l6ZShmYWxzZSwgZmFsc2UsIGJ1aWxkVGV4dChhYnN0cmFjdE5vZGVUZXh0KSk7XG4gICAgY29uc3QgbWluZEVsZW1lbnQgPSBjcmVhdGVNaW5kRWxlbWVudChhYnN0cmFjdE5vZGVUZXh0LCB3aWR0aCwgaGVpZ2h0LCB7XG4gICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUuYnJhbmNoLndpZHRoLFxuICAgICAgICBicmFuY2hXaWR0aDogRGVmYXVsdEFic3RyYWN0Tm9kZVN0eWxlLmJyYW5jaC53aWR0aFxuICAgIH0pO1xuXG4gICAgbWluZEVsZW1lbnQuc3RhcnQgPSBzdGFydDtcbiAgICBtaW5kRWxlbWVudC5lbmQgPSBlbmQ7XG5cbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIG1pbmRFbGVtZW50LCBwYXRoKTtcblxuICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIG1pbmRFbGVtZW50KTtcbn07XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { MindElement } from '../interfaces/element';
|
|
2
|
-
import { PlaitBoard, Transforms } from '@plait/core';
|
|
3
|
-
export const addEmoji = (board, element, emojiItem) => {
|
|
4
|
-
const emojis = element.data.emojis || [];
|
|
5
|
-
const newEmojis = [...emojis];
|
|
6
|
-
newEmojis.push(emojiItem);
|
|
7
|
-
const newElement = {
|
|
8
|
-
data: { ...element.data, emojis: newEmojis }
|
|
9
|
-
};
|
|
10
|
-
const path = PlaitBoard.findPath(board, element);
|
|
11
|
-
Transforms.setNode(board, newElement, path);
|
|
12
|
-
};
|
|
13
|
-
export const removeEmoji = (board, element, emojiItem) => {
|
|
14
|
-
const emojis = element.data.emojis.filter(value => value !== emojiItem);
|
|
15
|
-
const newElement = {
|
|
16
|
-
data: { topic: element.data.topic }
|
|
17
|
-
};
|
|
18
|
-
if (MindElement.hasImage(element)) {
|
|
19
|
-
newElement.data.image = element.data.image;
|
|
20
|
-
}
|
|
21
|
-
if (emojis.length > 0) {
|
|
22
|
-
newElement.data.emojis = emojis;
|
|
23
|
-
}
|
|
24
|
-
const path = PlaitBoard.findPath(board, element);
|
|
25
|
-
Transforms.setNode(board, newElement, path);
|
|
26
|
-
};
|
|
27
|
-
export const replaceEmoji = (board, element, oldEmoji, newEmoji) => {
|
|
28
|
-
const newElement = {
|
|
29
|
-
data: { ...element.data }
|
|
30
|
-
};
|
|
31
|
-
const newEmojis = element.data.emojis.map(value => {
|
|
32
|
-
if (value === oldEmoji) {
|
|
33
|
-
return newEmoji;
|
|
34
|
-
}
|
|
35
|
-
return value;
|
|
36
|
-
});
|
|
37
|
-
newElement.data.emojis = newEmojis;
|
|
38
|
-
const path = PlaitBoard.findPath(board, element);
|
|
39
|
-
Transforms.setNode(board, newElement, path);
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2Vtb2ppLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdyRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsU0FBb0IsRUFBRSxFQUFFO0lBQ3RGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQixNQUFNLFVBQVUsR0FBRztRQUNmLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0tBQ2hDLENBQUM7SUFDakIsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBK0IsRUFBRSxTQUFvQixFQUFFLEVBQUU7SUFDcEcsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sVUFBVSxHQUFHO1FBQ2YsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO0tBQ3ZCLENBQUM7SUFFakIsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDaEMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsUUFBbUIsRUFBRSxRQUFtQixFQUFFLEVBQUU7SUFDekgsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7S0FDYixDQUFDO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM5QyxJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQixPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDSCxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbkMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBFbW9qaURhdGEsIEVtb2ppSXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudC1kYXRhJztcblxuZXhwb3J0IGNvbnN0IGFkZEVtb2ppID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgZW1vamlJdGVtOiBFbW9qaUl0ZW0pID0+IHtcbiAgICBjb25zdCBlbW9qaXMgPSBlbGVtZW50LmRhdGEuZW1vamlzIHx8IFtdO1xuICAgIGNvbnN0IG5ld0Vtb2ppcyA9IFsuLi5lbW9qaXNdO1xuICAgIG5ld0Vtb2ppcy5wdXNoKGVtb2ppSXRlbSk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgZGF0YTogeyAuLi5lbGVtZW50LmRhdGEsIGVtb2ppczogbmV3RW1vamlzIH1cbiAgICB9IGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUVtb2ppID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxFbW9qaURhdGE+LCBlbW9qaUl0ZW06IEVtb2ppSXRlbSkgPT4ge1xuICAgIGNvbnN0IGVtb2ppcyA9IGVsZW1lbnQuZGF0YS5lbW9qaXMuZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBlbW9qaUl0ZW0pO1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIGRhdGE6IHsgdG9waWM6IGVsZW1lbnQuZGF0YS50b3BpYyB9XG4gICAgfSBhcyBNaW5kRWxlbWVudDtcblxuICAgIGlmIChNaW5kRWxlbWVudC5oYXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICBuZXdFbGVtZW50LmRhdGEuaW1hZ2UgPSBlbGVtZW50LmRhdGEuaW1hZ2U7XG4gICAgfVxuXG4gICAgaWYgKGVtb2ppcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG5ld0VsZW1lbnQuZGF0YS5lbW9qaXMgPSBlbW9qaXM7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlcGxhY2VFbW9qaSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQ8RW1vamlEYXRhPiwgb2xkRW1vamk6IEVtb2ppSXRlbSwgbmV3RW1vamk6IEVtb2ppSXRlbSkgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIGRhdGE6IHsgLi4uZWxlbWVudC5kYXRhIH1cbiAgICB9IGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IG5ld0Vtb2ppcyA9IGVsZW1lbnQuZGF0YS5lbW9qaXMubWFwKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBvbGRFbW9qaSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ld0Vtb2ppO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcbiAgICBuZXdFbGVtZW50LmRhdGEuZW1vamlzID0gbmV3RW1vamlzO1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { PlaitBoard, Transforms } from '@plait/core';
|
|
2
|
-
import { removeImageFocus } from '../utils/node/image';
|
|
3
|
-
import { NodeSpace } from '../utils/space/node-space';
|
|
4
|
-
import { getNewNodeHeight } from '../utils/node/dynamic-width';
|
|
5
|
-
export const removeImage = (board, element) => {
|
|
6
|
-
removeImageFocus(board, element);
|
|
7
|
-
const newElement = {
|
|
8
|
-
data: { ...element.data }
|
|
9
|
-
};
|
|
10
|
-
delete newElement.data.image;
|
|
11
|
-
const path = PlaitBoard.findPath(board, element);
|
|
12
|
-
const newDynamicWidth = NodeSpace.getNodeNewDynamicWidth(board, element, 0);
|
|
13
|
-
const newHeight = getNewNodeHeight(board, element, newDynamicWidth);
|
|
14
|
-
if (newHeight) {
|
|
15
|
-
newElement.height = newHeight;
|
|
16
|
-
}
|
|
17
|
-
Transforms.setNode(board, newElement, path);
|
|
18
|
-
};
|
|
19
|
-
export const setImage = (board, element, imageItem) => {
|
|
20
|
-
const newElement = {
|
|
21
|
-
data: { ...element.data, image: imageItem }
|
|
22
|
-
};
|
|
23
|
-
const newDynamicWidth = NodeSpace.getNodeNewDynamicWidth(board, element, imageItem.width);
|
|
24
|
-
const newHeight = getNewNodeHeight(board, element, newDynamicWidth);
|
|
25
|
-
if (newHeight) {
|
|
26
|
-
newElement.height = newHeight;
|
|
27
|
-
}
|
|
28
|
-
const path = PlaitBoard.findPath(board, element);
|
|
29
|
-
Transforms.setNode(board, newElement, path);
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcvRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsRUFBRTtJQUM5RSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakMsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7S0FDYixDQUFDO0lBQ2pCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlGLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLElBQUksU0FBUyxFQUFFLENBQUM7UUFDWixVQUFVLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxTQUEwQixFQUFFLEVBQUU7SUFDNUYsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtLQUM5QyxDQUFDO0lBQ0YsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUF1QixFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0RixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ1gsVUFBMEIsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEltYWdlRGF0YSwgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlbW92ZUltYWdlRm9jdXMgfSBmcm9tICcuLi91dGlscy9ub2RlL2ltYWdlJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBnZXROZXdOb2RlSGVpZ2h0IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9keW5hbWljLXdpZHRoJztcbmltcG9ydCB7IENvbW1vbkltYWdlSXRlbSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlSW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pID0+IHtcbiAgICByZW1vdmVJbWFnZUZvY3VzKGJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSB9XG4gICAgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBkZWxldGUgbmV3RWxlbWVudC5kYXRhLmltYWdlO1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBuZXdEeW5hbWljV2lkdGggPSBOb2RlU3BhY2UuZ2V0Tm9kZU5ld0R5bmFtaWNXaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgMCk7XG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gZ2V0TmV3Tm9kZUhlaWdodChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgbmV3RHluYW1pY1dpZHRoKTtcbiAgICBpZiAobmV3SGVpZ2h0KSB7XG4gICAgICAgIG5ld0VsZW1lbnQuaGVpZ2h0ID0gbmV3SGVpZ2h0O1xuICAgIH1cbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEltYWdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgaW1hZ2VJdGVtOiBDb21tb25JbWFnZUl0ZW0pID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSwgaW1hZ2U6IGltYWdlSXRlbSB9XG4gICAgfTtcbiAgICBjb25zdCBuZXdEeW5hbWljV2lkdGggPSBOb2RlU3BhY2UuZ2V0Tm9kZU5ld0R5bmFtaWNXaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgaW1hZ2VJdGVtLndpZHRoKTtcbiAgICBjb25zdCBuZXdIZWlnaHQgPSBnZXROZXdOb2RlSGVpZ2h0KGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50LCBuZXdEeW5hbWljV2lkdGgpO1xuICAgIGlmIChuZXdIZWlnaHQpIHtcbiAgICAgICAgKG5ld0VsZW1lbnQgYXMgTWluZEVsZW1lbnQpLmhlaWdodCA9IG5ld0hlaWdodDtcbiAgICB9XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG59O1xuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { insertAbstract, setAbstractsByRefs, setAbstractByStandardLayout } from './abstract-node';
|
|
2
|
-
import { setTopic, setTopicSize, insertNodes, insertAbstractNodes, setRightNodeCountByRefs, setNodeManualWidth, insertChildNode, insertSiblingNode, insertMind } from './node';
|
|
3
|
-
import { addEmoji, removeEmoji, replaceEmoji } from './emoji';
|
|
4
|
-
import { removeImage, setImage } from './image';
|
|
5
|
-
import { setShape, setBranchShape, setBranchWidth, setLayout, setBranchColor } from './property';
|
|
6
|
-
export const MindTransforms = {
|
|
7
|
-
setLayout,
|
|
8
|
-
setShape,
|
|
9
|
-
setBranchShape,
|
|
10
|
-
setBranchWidth,
|
|
11
|
-
setBranchColor,
|
|
12
|
-
setTopic,
|
|
13
|
-
setTopicSize,
|
|
14
|
-
setNodeManualWidth,
|
|
15
|
-
addEmoji,
|
|
16
|
-
removeEmoji,
|
|
17
|
-
replaceEmoji,
|
|
18
|
-
insertAbstract,
|
|
19
|
-
setAbstractsByRefs,
|
|
20
|
-
setAbstractByStandardLayout,
|
|
21
|
-
insertNodes,
|
|
22
|
-
insertAbstractNodes,
|
|
23
|
-
setRightNodeCountByRefs,
|
|
24
|
-
removeImage,
|
|
25
|
-
setImage,
|
|
26
|
-
insertChildNode,
|
|
27
|
-
insertSiblingNode,
|
|
28
|
-
insertMind
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRyxPQUFPLEVBQ0gsUUFBUSxFQUNSLFlBQVksRUFDWixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixVQUFVLEVBQ2IsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixTQUFTO0lBQ1QsUUFBUTtJQUNSLGNBQWM7SUFDZCxjQUFjO0lBQ2QsY0FBYztJQUNkLFFBQVE7SUFDUixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixXQUFXO0lBQ1gsWUFBWTtJQUNaLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsMkJBQTJCO0lBQzNCLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxRQUFRO0lBQ1IsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixVQUFVO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluc2VydEFic3RyYWN0LCBzZXRBYnN0cmFjdHNCeVJlZnMsIHNldEFic3RyYWN0QnlTdGFuZGFyZExheW91dCB9IGZyb20gJy4vYWJzdHJhY3Qtbm9kZSc7XG5pbXBvcnQge1xuICAgIHNldFRvcGljLFxuICAgIHNldFRvcGljU2l6ZSxcbiAgICBpbnNlcnROb2RlcyxcbiAgICBpbnNlcnRBYnN0cmFjdE5vZGVzLFxuICAgIHNldFJpZ2h0Tm9kZUNvdW50QnlSZWZzLFxuICAgIHNldE5vZGVNYW51YWxXaWR0aCxcbiAgICBpbnNlcnRDaGlsZE5vZGUsXG4gICAgaW5zZXJ0U2libGluZ05vZGUsXG4gICAgaW5zZXJ0TWluZFxufSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgYWRkRW1vamksIHJlbW92ZUVtb2ppLCByZXBsYWNlRW1vamkgfSBmcm9tICcuL2Vtb2ppJztcbmltcG9ydCB7IHJlbW92ZUltYWdlLCBzZXRJbWFnZSB9IGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IHsgc2V0U2hhcGUsIHNldEJyYW5jaFNoYXBlLCBzZXRCcmFuY2hXaWR0aCwgc2V0TGF5b3V0LCBzZXRCcmFuY2hDb2xvciB9IGZyb20gJy4vcHJvcGVydHknO1xuXG5leHBvcnQgY29uc3QgTWluZFRyYW5zZm9ybXMgPSB7XG4gICAgc2V0TGF5b3V0LFxuICAgIHNldFNoYXBlLFxuICAgIHNldEJyYW5jaFNoYXBlLFxuICAgIHNldEJyYW5jaFdpZHRoLFxuICAgIHNldEJyYW5jaENvbG9yLFxuICAgIHNldFRvcGljLFxuICAgIHNldFRvcGljU2l6ZSxcbiAgICBzZXROb2RlTWFudWFsV2lkdGgsXG4gICAgYWRkRW1vamksXG4gICAgcmVtb3ZlRW1vamksXG4gICAgcmVwbGFjZUVtb2ppLFxuICAgIGluc2VydEFic3RyYWN0LFxuICAgIHNldEFic3RyYWN0c0J5UmVmcyxcbiAgICBzZXRBYnN0cmFjdEJ5U3RhbmRhcmRMYXlvdXQsXG4gICAgaW5zZXJ0Tm9kZXMsXG4gICAgaW5zZXJ0QWJzdHJhY3ROb2RlcyxcbiAgICBzZXRSaWdodE5vZGVDb3VudEJ5UmVmcyxcbiAgICByZW1vdmVJbWFnZSxcbiAgICBzZXRJbWFnZSxcbiAgICBpbnNlcnRDaGlsZE5vZGUsXG4gICAgaW5zZXJ0U2libGluZ05vZGUsXG4gICAgaW5zZXJ0TWluZFxufTtcbiJdfQ==
|