@plait/core 0.77.3 → 0.78.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-core.mjs.map +1 -1
- package/package.json +1 -3
- package/esm2022/constants/cursor.mjs +0 -13
- package/esm2022/constants/index.mjs +0 -20
- package/esm2022/constants/keycodes.mjs +0 -127
- package/esm2022/constants/selection.mjs +0 -6
- package/esm2022/constants/zoom.mjs +0 -4
- package/esm2022/context.mjs +0 -23
- package/esm2022/core/element/context-change.mjs +0 -13
- package/esm2022/core/element/context.mjs +0 -2
- package/esm2022/core/element/element-flavour.mjs +0 -140
- package/esm2022/core/element/element-ref.mjs +0 -2
- package/esm2022/core/list-render.mjs +0 -217
- package/esm2022/differs/default_iterable_differ.mjs +0 -614
- package/esm2022/differs/iterable_differs.mjs +0 -9
- package/esm2022/interfaces/board.mjs +0 -108
- package/esm2022/interfaces/custom-types.mjs +0 -5
- package/esm2022/interfaces/direction.mjs +0 -8
- package/esm2022/interfaces/element.mjs +0 -43
- package/esm2022/interfaces/group.mjs +0 -6
- package/esm2022/interfaces/history.mjs +0 -5
- package/esm2022/interfaces/index.mjs +0 -19
- package/esm2022/interfaces/node.mjs +0 -57
- package/esm2022/interfaces/operation.mjs +0 -96
- package/esm2022/interfaces/path-ref.mjs +0 -15
- package/esm2022/interfaces/path.mjs +0 -183
- package/esm2022/interfaces/plugin.mjs +0 -6
- package/esm2022/interfaces/point.mjs +0 -27
- package/esm2022/interfaces/pointer.mjs +0 -6
- package/esm2022/interfaces/rectangle-client.mjs +0 -171
- package/esm2022/interfaces/selection.mjs +0 -13
- package/esm2022/interfaces/svg-arc-command.mjs +0 -2
- package/esm2022/interfaces/theme.mjs +0 -49
- package/esm2022/interfaces/viewport.mjs +0 -7
- package/esm2022/plait-core.mjs +0 -5
- package/esm2022/plugins/create-board.mjs +0 -122
- package/esm2022/plugins/index.mjs +0 -11
- package/esm2022/plugins/with-board.mjs +0 -20
- package/esm2022/plugins/with-hand.mjs +0 -113
- package/esm2022/plugins/with-history.mjs +0 -91
- package/esm2022/plugins/with-hotkey.mjs +0 -96
- package/esm2022/plugins/with-i18n.mjs +0 -13
- package/esm2022/plugins/with-moving.mjs +0 -282
- package/esm2022/plugins/with-options.mjs +0 -13
- package/esm2022/plugins/with-related-fragment.mjs +0 -23
- package/esm2022/plugins/with-selection.mjs +0 -230
- package/esm2022/public-api.mjs +0 -16
- package/esm2022/testing/core/create-board.mjs +0 -15
- package/esm2022/testing/core/fake-weak-map.mjs +0 -18
- package/esm2022/testing/core/index.mjs +0 -3
- package/esm2022/testing/fake-events/event-objects.mjs +0 -131
- package/esm2022/testing/fake-events/index.mjs +0 -2
- package/esm2022/testing/index.mjs +0 -3
- package/esm2022/testing/test-element.mjs +0 -9
- package/esm2022/transforms/board.mjs +0 -137
- package/esm2022/transforms/element.mjs +0 -22
- package/esm2022/transforms/general.mjs +0 -146
- package/esm2022/transforms/group.mjs +0 -64
- package/esm2022/transforms/index.mjs +0 -17
- package/esm2022/transforms/node.mjs +0 -37
- package/esm2022/transforms/selection.mjs +0 -26
- package/esm2022/transforms/theme.mjs +0 -8
- package/esm2022/transforms/viewport.mjs +0 -8
- package/esm2022/transforms/z-index.mjs +0 -20
- package/esm2022/utils/angle.mjs +0 -164
- package/esm2022/utils/board.mjs +0 -18
- package/esm2022/utils/clipboard/clipboard.mjs +0 -40
- package/esm2022/utils/clipboard/common.mjs +0 -82
- package/esm2022/utils/clipboard/data-transfer.mjs +0 -33
- package/esm2022/utils/clipboard/index.mjs +0 -3
- package/esm2022/utils/clipboard/navigator-clipboard.mjs +0 -71
- package/esm2022/utils/clipboard/types.mjs +0 -13
- package/esm2022/utils/common.mjs +0 -79
- package/esm2022/utils/debug.mjs +0 -91
- package/esm2022/utils/dnd.mjs +0 -8
- package/esm2022/utils/dom/common.mjs +0 -75
- package/esm2022/utils/dom/environment.mjs +0 -2
- package/esm2022/utils/dom/foreign.mjs +0 -26
- package/esm2022/utils/dom/index.mjs +0 -4
- package/esm2022/utils/drawing/arrow.mjs +0 -23
- package/esm2022/utils/drawing/circle.mjs +0 -4
- package/esm2022/utils/drawing/line.mjs +0 -47
- package/esm2022/utils/drawing/rectangle.mjs +0 -36
- package/esm2022/utils/element.mjs +0 -90
- package/esm2022/utils/environment.mjs +0 -14
- package/esm2022/utils/fragment.mjs +0 -27
- package/esm2022/utils/group.mjs +0 -239
- package/esm2022/utils/helper.mjs +0 -68
- package/esm2022/utils/history.mjs +0 -96
- package/esm2022/utils/hotkeys.mjs +0 -109
- package/esm2022/utils/id-creator.mjs +0 -11
- package/esm2022/utils/index.mjs +0 -35
- package/esm2022/utils/iterable.mjs +0 -32
- package/esm2022/utils/math.mjs +0 -480
- package/esm2022/utils/mobile.mjs +0 -6
- package/esm2022/utils/moving-element.mjs +0 -17
- package/esm2022/utils/pointer.mjs +0 -13
- package/esm2022/utils/position.mjs +0 -9
- package/esm2022/utils/selected-element.mjs +0 -145
- package/esm2022/utils/selection.mjs +0 -151
- package/esm2022/utils/snap/snap-moving.mjs +0 -199
- package/esm2022/utils/snap/snap.mjs +0 -211
- package/esm2022/utils/to-image.mjs +0 -204
- package/esm2022/utils/to-point.mjs +0 -74
- package/esm2022/utils/tree.mjs +0 -22
- package/esm2022/utils/viewport.mjs +0 -227
- package/esm2022/utils/weak-maps.mjs +0 -27
- package/esm2022/utils/z-index.mjs +0 -166
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { PlaitPointerType } from '../interfaces/pointer';
|
|
2
|
-
import { Transforms } from '../transforms';
|
|
3
|
-
import { FLUSHING, PATH_REFS } from '../utils/weak-maps';
|
|
4
|
-
import { PathRef } from '../interfaces/path-ref';
|
|
5
|
-
import { ThemeColorMode } from '../interfaces/theme';
|
|
6
|
-
import { CoreTransforms } from '../transforms/element';
|
|
7
|
-
import { drawSelectionRectangleG } from '../utils';
|
|
8
|
-
export function createBoard(children, options) {
|
|
9
|
-
const board = {
|
|
10
|
-
viewport: {
|
|
11
|
-
zoom: 1
|
|
12
|
-
},
|
|
13
|
-
children,
|
|
14
|
-
theme: { themeColorMode: ThemeColorMode.default },
|
|
15
|
-
operations: [],
|
|
16
|
-
history: {
|
|
17
|
-
redos: [],
|
|
18
|
-
undos: []
|
|
19
|
-
},
|
|
20
|
-
selection: null,
|
|
21
|
-
options: options || {
|
|
22
|
-
readonly: false,
|
|
23
|
-
hideScrollbar: false,
|
|
24
|
-
disabledScrollOnNonFocus: false
|
|
25
|
-
},
|
|
26
|
-
pointer: options?.readonly ? PlaitPointerType.hand : PlaitPointerType.selection,
|
|
27
|
-
undo: () => { },
|
|
28
|
-
redo: () => { },
|
|
29
|
-
apply: (operation) => {
|
|
30
|
-
for (const ref of board.pathRefs()) {
|
|
31
|
-
PathRef.transform(ref, operation);
|
|
32
|
-
}
|
|
33
|
-
board.operations.push(operation);
|
|
34
|
-
Transforms.transform(board, operation);
|
|
35
|
-
if (!FLUSHING.get(board)) {
|
|
36
|
-
FLUSHING.set(board, true);
|
|
37
|
-
Promise.resolve().then(() => {
|
|
38
|
-
FLUSHING.set(board, false);
|
|
39
|
-
board.onChange();
|
|
40
|
-
board.afterChange();
|
|
41
|
-
board.operations = [];
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
pathRef: (path, options) => {
|
|
46
|
-
const affinity = options?.affinity || 'forward';
|
|
47
|
-
const ref = {
|
|
48
|
-
current: path,
|
|
49
|
-
affinity,
|
|
50
|
-
unref() {
|
|
51
|
-
const { current } = ref;
|
|
52
|
-
const pathRefs = board.pathRefs();
|
|
53
|
-
pathRefs.delete(ref);
|
|
54
|
-
ref.current = null;
|
|
55
|
-
return current;
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const refs = board.pathRefs();
|
|
59
|
-
refs.add(ref);
|
|
60
|
-
return ref;
|
|
61
|
-
},
|
|
62
|
-
pathRefs: () => {
|
|
63
|
-
let refs = PATH_REFS.get(board);
|
|
64
|
-
if (!refs) {
|
|
65
|
-
refs = new Set();
|
|
66
|
-
PATH_REFS.set(board, refs);
|
|
67
|
-
}
|
|
68
|
-
return refs;
|
|
69
|
-
},
|
|
70
|
-
onChange: () => { },
|
|
71
|
-
afterChange: () => { },
|
|
72
|
-
drawSelectionRectangle: () => {
|
|
73
|
-
return drawSelectionRectangleG(board);
|
|
74
|
-
},
|
|
75
|
-
mousedown: (event) => { },
|
|
76
|
-
mousemove: (event) => { },
|
|
77
|
-
mouseleave: (event) => { },
|
|
78
|
-
globalMousemove: (event) => { },
|
|
79
|
-
mouseup: (event) => { },
|
|
80
|
-
globalMouseup: (event) => { },
|
|
81
|
-
keyDown: (event) => { },
|
|
82
|
-
globalKeyDown: (event) => { },
|
|
83
|
-
keyUp: (event) => { },
|
|
84
|
-
dblClick: (event) => { },
|
|
85
|
-
buildFragment: (clipboardContext, rectangle, operationType, originData) => clipboardContext,
|
|
86
|
-
insertFragment: (clipboardData, targetPoint, operationType) => { },
|
|
87
|
-
deleteFragment: (elements) => {
|
|
88
|
-
CoreTransforms.removeElements(board, elements);
|
|
89
|
-
},
|
|
90
|
-
getDeletedFragment: (data) => data,
|
|
91
|
-
getRelatedFragment: (data, originData) => data,
|
|
92
|
-
normalizeElement: (context) => {
|
|
93
|
-
},
|
|
94
|
-
drawElement: (context) => {
|
|
95
|
-
throw new Error(`can not resolve plugin element component type: ${context.element.type}`);
|
|
96
|
-
},
|
|
97
|
-
isWithinSelection: element => false,
|
|
98
|
-
isRectangleHit: element => false,
|
|
99
|
-
isHit: element => false,
|
|
100
|
-
isInsidePoint: element => false,
|
|
101
|
-
getOneHitElement: (data) => data[0],
|
|
102
|
-
isRecursion: element => true,
|
|
103
|
-
isMovable: element => false,
|
|
104
|
-
getRectangle: element => null,
|
|
105
|
-
applyTheme: (element) => { },
|
|
106
|
-
isAlign: element => false,
|
|
107
|
-
pointerDown: pointer => { },
|
|
108
|
-
pointerMove: pointer => { },
|
|
109
|
-
pointerUp: pointer => { },
|
|
110
|
-
pointerCancel: pointer => { },
|
|
111
|
-
pointerOut: pointer => { },
|
|
112
|
-
pointerLeave: pointer => { },
|
|
113
|
-
globalPointerMove: pointer => { },
|
|
114
|
-
globalPointerUp: pointer => { },
|
|
115
|
-
isImageBindingAllowed: (element) => false,
|
|
116
|
-
canAddToGroup: (element) => true,
|
|
117
|
-
canSetZIndex: (element) => true,
|
|
118
|
-
isExpanded: (element) => true
|
|
119
|
-
};
|
|
120
|
-
return board;
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy9jcmVhdGUtYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQTJFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRzVILE1BQU0sVUFBVSxXQUFXLENBQUMsUUFBd0IsRUFBRSxPQUEyQjtJQUM3RSxNQUFNLEtBQUssR0FBZTtRQUN0QixRQUFRLEVBQUU7WUFDTixJQUFJLEVBQUUsQ0FBQztTQUNWO1FBQ0QsUUFBUTtRQUNSLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsT0FBTyxFQUFFO1FBQ2pELFVBQVUsRUFBRSxFQUFFO1FBQ2QsT0FBTyxFQUFFO1lBQ0wsS0FBSyxFQUFFLEVBQUU7WUFDVCxLQUFLLEVBQUUsRUFBRTtTQUNaO1FBQ0QsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsT0FBTyxJQUFJO1lBQ2hCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsYUFBYSxFQUFFLEtBQUs7WUFDcEIsd0JBQXdCLEVBQUUsS0FBSztTQUNsQztRQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFn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cnQgeyBQbGFpdEJvYXJkLCBQbGFpdEJvYXJkT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnRlcic7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZWxlbWVudC9jb250ZXh0JztcbmltcG9ydCB7IFBsYWl0T3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcGVyYXRpb24nO1xuaW1wb3J0IHsgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgRkxVU0hJTkcsIFBBVEhfUkVGUyB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBQYXRoUmVmLCBQYXRoUmVmT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGF0aC1yZWYnO1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGF0aCc7XG5pbXBvcnQgeyBUaGVtZUNvbG9yTW9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGhlbWUnO1xuaW1wb3J0IHsgQ29yZVRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zL2VsZW1lbnQnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkRGF0YSwgV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0LCBXcml0YWJsZUNsaXBib2FyZE9wZXJhdGlvblR5cGUsIGRyYXdTZWxlY3Rpb25SZWN0YW5nbGVHIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm9hcmQoY2hpbGRyZW46IFBsYWl0RWxlbWVudFtdLCBvcHRpb25zPzogUGxhaXRCb2FyZE9wdGlvbnMpOiBQbGFpdEJvYXJkIHtcbiAgICBjb25zdCBib2FyZDogUGxhaXRCb2FyZCA9IHtcbiAgICAgICAgdmlld3BvcnQ6IHtcbiAgICAgICAgICAgIHpvb206IDFcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIHRoZW1lOiB7IHRoZW1lQ29sb3JNb2RlOiBUaGVtZUNvbG9yTW9kZS5kZWZhdWx0IH0sXG4gICAgICAgIG9wZXJhdGlvbnM6IFtdLFxuICAgICAgICBoaXN0b3J5OiB7XG4gICAgICAgICAgICByZWRvczogW10sXG4gICAgICAgICAgICB1bmRvczogW11cbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0aW9uOiBudWxsLFxuICAgICAgICBvcHRpb25zOiBvcHRpb25zIHx8IHtcbiAgICAgICAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGVTY3JvbGxiYXI6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZWRTY3JvbGxPbk5vbkZvY3VzOiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBwb2ludGVyOiBvcHRpb25zPy5yZWFkb25seSA/IFBsYWl0UG9pbnRlclR5cGUuaGFuZCA6IFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uLFxuICAgICAgICB1bmRvOiAoKSA9PiB7fSxcbiAgICAgICAgcmVkbzogKCkgPT4ge30sXG4gICAgICAgIGFwcGx5OiAob3BlcmF0aW9uOiBQbGFpdE9wZXJhdGlvbikgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCByZWYgb2YgYm9hcmQucGF0aFJlZnMoKSkge1xuICAgICAgICAgICAgICAgIFBhdGhSZWYudHJhbnNmb3JtKHJlZiwgb3BlcmF0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9hcmQub3BlcmF0aW9ucy5wdXNoKG9wZXJhdGlvbik7XG5cbiAgICAgICAgICAgIFRyYW5zZm9ybXMudHJhbnNmb3JtKGJvYXJkLCBvcGVyYXRpb24pO1xuXG4gICAgICAgICAgICBpZiAoIUZMVVNISU5HLmdldChib2FyZCkpIHtcbiAgICAgICAgICAgICAgICBGTFVTSElORy5zZXQoYm9hcmQsIHRydWUpO1xuXG4gICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIEZMVVNISU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5vbkNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5hZnRlckNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5vcGVyYXRpb25zID0gW107XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHBhdGhSZWY6IChwYXRoOiBQYXRoLCBvcHRpb25zPzogUGF0aFJlZk9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFmZmluaXR5ID0gb3B0aW9ucz8uYWZmaW5pdHkgfHwgJ2ZvcndhcmQnO1xuICAgICAgICAgICAgY29uc3QgcmVmOiBQYXRoUmVmID0ge1xuICAgICAgICAgICAgICAgIGN1cnJlbnQ6IHBhdGgsXG4gICAgICAgICAgICAgICAgYWZmaW5pdHksXG4gICAgICAgICAgICAgICAgdW5yZWYoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudCB9ID0gcmVmO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoUmVmcyA9IGJvYXJkLnBhdGhSZWZzKCk7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhSZWZzLmRlbGV0ZShyZWYpO1xuICAgICAgICAgICAgICAgICAgICByZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHJlZnMgPSBib2FyZC5wYXRoUmVmcygpO1xuICAgICAgICAgICAgcmVmcy5hZGQocmVmKTtcbiAgICAgICAgICAgIHJldHVybiByZWY7XG4gICAgICAgIH0sXG4gICAgICAgIHBhdGhSZWZzOiAoKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVmcyA9IFBBVEhfUkVGUy5nZXQoYm9hcmQpO1xuXG4gICAgICAgICAgICBpZiAoIXJlZnMpIHtcbiAgICAgICAgICAgICAgICByZWZzID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgICAgIFBBVEhfUkVGUy5zZXQoYm9hcmQsIHJlZnMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVmcztcbiAgICAgICAgfSxcbiAgICAgICAgb25DaGFuZ2U6ICgpID0+IHt9LFxuICAgICAgICBhZnRlckNoYW5nZTogKCkgPT4ge30sXG4gICAgICAgIGRyYXdTZWxlY3Rpb25SZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBkcmF3U2VsZWN0aW9uUmVjdGFuZ2xlRyhib2FyZCk7XG4gICAgICAgIH0sXG4gICAgICAgIG1vdXNlZG93bjogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgbW91c2Vtb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBtb3VzZWxlYXZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBnbG9iYWxNb3VzZW1vdmU6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIG1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIGdsb2JhbE1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIGtleURvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge30sXG4gICAgICAgIGdsb2JhbEtleURvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge30sXG4gICAgICAgIGtleVVwOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHt9LFxuICAgICAgICBkYmxDbGljazogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgYnVpbGRGcmFnbWVudDogKFxuICAgICAgICAgICAgY2xpcGJvYXJkQ29udGV4dDogV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0IHwgbnVsbCxcbiAgICAgICAgICAgIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50IHwgbnVsbCxcbiAgICAgICAgICAgIG9wZXJhdGlvblR5cGU6IFdyaXRhYmxlQ2xpcGJvYXJkT3BlcmF0aW9uVHlwZSxcbiAgICAgICAgICAgIG9yaWdpbkRhdGE/OiBQbGFpdEVsZW1lbnRbXVxuICAgICAgICApID0+IGNsaXBib2FyZENvbnRleHQsXG4gICAgICAgIGluc2VydEZyYWdtZW50OiAoY2xpcGJvYXJkRGF0YTogQ2xpcGJvYXJkRGF0YSB8IG51bGwsIHRhcmdldFBvaW50OiBQb2ludCwgb3BlcmF0aW9uVHlwZT86IFdyaXRhYmxlQ2xpcGJvYXJkT3BlcmF0aW9uVHlwZSkgPT4ge30sXG4gICAgICAgIGRlbGV0ZUZyYWdtZW50OiAoZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgICAgICAgICBDb3JlVHJhbnNmb3Jtcy5yZW1vdmVFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICB9LFxuICAgICAgICBnZXREZWxldGVkRnJhZ21lbnQ6IChkYXRhOiBQbGFpdEVsZW1lbnRbXSkgPT4gZGF0YSxcbiAgICAgICAgZ2V0UmVsYXRlZEZyYWdtZW50OiAoZGF0YTogUGxhaXRFbGVtZW50W10sIG9yaWdpbkRhdGE/OiBQbGFpdEVsZW1lbnRbXSkgPT4gZGF0YSxcbiAgICAgICAgbm9ybWFsaXplRWxlbWVudDogKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IHtcbiAgICAgICAgfSxcbiAgICAgICAgZHJhd0VsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNhbiBub3QgcmVzb2x2ZSBwbHVnaW4gZWxlbWVudCBjb21wb25lbnQgdHlwZTogJHtjb250ZXh0LmVsZW1lbnQudHlwZX1gKTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNXaXRoaW5TZWxlY3Rpb246IGVsZW1lbnQgPT4gZmFsc2UsXG4gICAgICAgIGlzUmVjdGFuZ2xlSGl0OiBlbGVtZW50ID0+IGZhbHNlLFxuICAgICAgICBpc0hpdDogZWxlbWVudCA9PiBmYWxzZSxcbiAgICAgICAgaXNJbnNpZGVQb2ludDogZWxlbWVudCA9PiBmYWxzZSxcbiAgICAgICAgZ2V0T25lSGl0RWxlbWVudDogKGRhdGE6IFBsYWl0RWxlbWVudFtdKSA9PiBkYXRhWzBdLFxuICAgICAgICBpc1JlY3Vyc2lvbjogZWxlbWVudCA9PiB0cnVlLFxuICAgICAgICBpc01vdmFibGU6IGVsZW1lbnQgPT4gZmFsc2UsXG4gICAgICAgIGdldFJlY3RhbmdsZTogZWxlbWVudCA9PiBudWxsLFxuICAgICAgICBhcHBseVRoZW1lOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7fSxcbiAgICAgICAgaXNBbGlnbjogZWxlbWVudCA9PiBmYWxzZSxcbiAgICAgICAgcG9pbnRlckRvd246IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJNb3ZlOiBwb2ludGVyID0+IHt9LFxuICAgICAgICBwb2ludGVyVXA6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJDYW5jZWw6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJPdXQ6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJMZWF2ZTogcG9pbnRlciA9PiB7fSxcbiAgICAgICAgZ2xvYmFsUG9pbnRlck1vdmU6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcDogcG9pbnRlciA9PiB7fSxcbiAgICAgICAgaXNJbWFnZUJpbmRpbmdBbGxvd2VkOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBmYWxzZSxcbiAgICAgICAgY2FuQWRkVG9Hcm91cDogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gdHJ1ZSxcbiAgICAgICAgY2FuU2V0WkluZGV4OiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB0cnVlLFxuICAgICAgICBpc0V4cGFuZGVkOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB0cnVlXG4gICAgfTtcbiAgICByZXR1cm4gYm9hcmQ7XG59XG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from './create-board';
|
|
2
|
-
export * from './with-board';
|
|
3
|
-
export * from './with-hand';
|
|
4
|
-
export * from './with-history';
|
|
5
|
-
export * from './with-hotkey';
|
|
6
|
-
export * from './with-moving';
|
|
7
|
-
export * from './with-options';
|
|
8
|
-
export * from './with-related-fragment';
|
|
9
|
-
export * from './with-selection';
|
|
10
|
-
export * from './with-i18n';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1ib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtaGFuZCc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtaGlzdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtaG90a2V5JztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1tb3ZpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXJlbGF0ZWQtZnJhZ21lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXNlbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3dpdGgtaTE4bic7Il19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BOARD_TO_ON_CHANGE, BOARD_TO_AFTER_CHANGE } from '../utils/weak-maps';
|
|
2
|
-
export function withBoard(board) {
|
|
3
|
-
const { onChange, afterChange } = board;
|
|
4
|
-
board.onChange = () => {
|
|
5
|
-
const onContextChange = BOARD_TO_ON_CHANGE.get(board);
|
|
6
|
-
if (onContextChange) {
|
|
7
|
-
onContextChange();
|
|
8
|
-
}
|
|
9
|
-
onChange();
|
|
10
|
-
};
|
|
11
|
-
board.afterChange = () => {
|
|
12
|
-
const afterContextChange = BOARD_TO_AFTER_CHANGE.get(board);
|
|
13
|
-
if (afterContextChange) {
|
|
14
|
-
afterContextChange();
|
|
15
|
-
}
|
|
16
|
-
afterChange();
|
|
17
|
-
};
|
|
18
|
-
return board;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3BsdWdpbnMvd2l0aC1ib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUcvRSxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWlCO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXhDLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFO1FBQ2xCLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxRQUFRLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixrQkFBa0IsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxXQUFXLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQk9BUkRfVE9fT05fQ0hBTkdFLCBCT0FSRF9UT19BRlRFUl9DSEFOR0UgfSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEJvYXJkKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgY29uc3QgeyBvbkNoYW5nZSwgYWZ0ZXJDaGFuZ2UgfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQub25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9uQ29udGV4dENoYW5nZSA9IEJPQVJEX1RPX09OX0NIQU5HRS5nZXQoYm9hcmQpO1xuICAgICAgICBpZiAob25Db250ZXh0Q2hhbmdlKSB7XG4gICAgICAgICAgICBvbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZSgpO1xuICAgIH07XG5cbiAgICBib2FyZC5hZnRlckNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgYWZ0ZXJDb250ZXh0Q2hhbmdlID0gQk9BUkRfVE9fQUZURVJfQ0hBTkdFLmdldChib2FyZCk7XG4gICAgICAgIGlmIChhZnRlckNvbnRleHRDaGFuZ2UpIHtcbiAgICAgICAgICAgIGFmdGVyQ29udGV4dENoYW5nZSgpO1xuICAgICAgICB9XG4gICAgICAgIGFmdGVyQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvYXJkO1xufVxuIl19
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { DRAG_SELECTION_PRESS_AND_MOVE_BUFFER } from '../constants';
|
|
2
|
-
import { PlaitPointerType, PlaitBoard, PlaitPluginKey } from '../interfaces';
|
|
3
|
-
import { distanceBetweenPointAndPoint, isHitElement, isMovingElements, isSelectionMoving, toHostPoint, toViewBoxPoint } from '../utils';
|
|
4
|
-
import { isMainPointer, isWheelPointer } from '../utils/dom/common';
|
|
5
|
-
import { isSmartHand } from '../utils/mobile';
|
|
6
|
-
import { updateViewportContainerScroll } from '../utils/viewport';
|
|
7
|
-
const ShortcutKey = 'Space';
|
|
8
|
-
export function withHandPointer(board) {
|
|
9
|
-
const { pointerDown, pointerMove, globalPointerUp, keyDown, keyUp, pointerUp } = board;
|
|
10
|
-
let isHandMoving = false;
|
|
11
|
-
let movingPoint = null;
|
|
12
|
-
let pointerDownEvent = null;
|
|
13
|
-
let hasWheelPressed = false;
|
|
14
|
-
let beingPressedShortcutKey = false;
|
|
15
|
-
board.pointerDown = (event) => {
|
|
16
|
-
const options = board.getPluginOptions(PlaitPluginKey.withHand);
|
|
17
|
-
const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
18
|
-
const isHitTarget = isHitElement(board, point);
|
|
19
|
-
const canEnterHandMode = options?.isHandMode(board, event) ||
|
|
20
|
-
PlaitBoard.isPointer(board, PlaitPointerType.hand) ||
|
|
21
|
-
(isSmartHand(board, event) && !isHitTarget) ||
|
|
22
|
-
beingPressedShortcutKey;
|
|
23
|
-
if (canEnterHandMode && isMainPointer(event)) {
|
|
24
|
-
movingPoint = {
|
|
25
|
-
x: event.x,
|
|
26
|
-
y: event.y
|
|
27
|
-
};
|
|
28
|
-
if (!PlaitBoard.isPointer(board, PlaitPointerType.hand)) {
|
|
29
|
-
PlaitBoard.getBoardContainer(board).classList.add('viewport-moving');
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
else if (isWheelPointer(event)) {
|
|
33
|
-
hasWheelPressed = true;
|
|
34
|
-
// Prevent the browser's default behavior of scrolling the page when the mouse wheel is pressed.
|
|
35
|
-
event.preventDefault();
|
|
36
|
-
movingPoint = {
|
|
37
|
-
x: event.x,
|
|
38
|
-
y: event.y
|
|
39
|
-
};
|
|
40
|
-
isHandMoving = true;
|
|
41
|
-
PlaitBoard.getBoardContainer(board).classList.add('viewport-moving');
|
|
42
|
-
}
|
|
43
|
-
pointerDownEvent = event;
|
|
44
|
-
pointerDown(event);
|
|
45
|
-
};
|
|
46
|
-
board.pointerMove = (event) => {
|
|
47
|
-
const options = board.getPluginOptions(PlaitPluginKey.withHand);
|
|
48
|
-
// 阈值必须大于 withSelection 中 pointerMove 的 PRESS_AND_MOVE_BUFFER:
|
|
49
|
-
// 1. 首先检测是否满足进入拖选状态的条件
|
|
50
|
-
// 2. 仅当不满足拖选条件时,才会考虑触发 withHand 行为
|
|
51
|
-
// Must exceed the DRAG_SELECTION_PRESS_AND_MOVE_BUFFER threshold defined in withSelection's pointerMove.
|
|
52
|
-
// The system first checks for drag selection state eligibility
|
|
53
|
-
// withHand behavior is only triggered if drag selection state is not initiated.
|
|
54
|
-
const triggerDistance = DRAG_SELECTION_PRESS_AND_MOVE_BUFFER + 4;
|
|
55
|
-
if (movingPoint &&
|
|
56
|
-
!isHandMoving &&
|
|
57
|
-
!isSelectionMoving(board) &&
|
|
58
|
-
pointerDownEvent &&
|
|
59
|
-
distanceBetweenPointAndPoint(pointerDownEvent.x, pointerDownEvent.y, event.x, event.y) > triggerDistance &&
|
|
60
|
-
!isMovingElements(board)) {
|
|
61
|
-
isHandMoving = true;
|
|
62
|
-
PlaitBoard.getBoardContainer(board).classList.add('viewport-moving');
|
|
63
|
-
}
|
|
64
|
-
const canEnterHandMode = options?.isHandMode(board, event) ||
|
|
65
|
-
PlaitBoard.isPointer(board, PlaitPointerType.hand) ||
|
|
66
|
-
isSmartHand(board, event) ||
|
|
67
|
-
hasWheelPressed ||
|
|
68
|
-
beingPressedShortcutKey;
|
|
69
|
-
if (canEnterHandMode && isHandMoving && movingPoint && !isSelectionMoving(board) && !isMovingElements(board)) {
|
|
70
|
-
const viewportContainer = PlaitBoard.getViewportContainer(board);
|
|
71
|
-
const left = viewportContainer.scrollLeft - (event.x - movingPoint.x);
|
|
72
|
-
const top = viewportContainer.scrollTop - (event.y - movingPoint.y);
|
|
73
|
-
updateViewportContainerScroll(board, left, top, false);
|
|
74
|
-
movingPoint.x = event.x;
|
|
75
|
-
movingPoint.y = event.y;
|
|
76
|
-
}
|
|
77
|
-
pointerMove(event);
|
|
78
|
-
};
|
|
79
|
-
board.pointerUp = (event) => {
|
|
80
|
-
if (isHandMoving) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
pointerUp(event);
|
|
84
|
-
};
|
|
85
|
-
board.globalPointerUp = (event) => {
|
|
86
|
-
if (movingPoint) {
|
|
87
|
-
movingPoint = null;
|
|
88
|
-
}
|
|
89
|
-
isHandMoving = false;
|
|
90
|
-
PlaitBoard.getBoardContainer(board).classList.remove('viewport-moving');
|
|
91
|
-
hasWheelPressed = false;
|
|
92
|
-
globalPointerUp(event);
|
|
93
|
-
};
|
|
94
|
-
board.keyDown = (event) => {
|
|
95
|
-
if (event.code === ShortcutKey) {
|
|
96
|
-
if (!PlaitBoard.isPointer(board, PlaitPointerType.hand)) {
|
|
97
|
-
beingPressedShortcutKey = true;
|
|
98
|
-
PlaitBoard.getBoardContainer(board).classList.add('viewport-moving');
|
|
99
|
-
}
|
|
100
|
-
event.preventDefault();
|
|
101
|
-
}
|
|
102
|
-
keyDown(event);
|
|
103
|
-
};
|
|
104
|
-
board.keyUp = (event) => {
|
|
105
|
-
if (!board.options.readonly && event.code === ShortcutKey) {
|
|
106
|
-
beingPressedShortcutKey = true;
|
|
107
|
-
PlaitBoard.getBoardContainer(board).classList.remove('viewport-moving');
|
|
108
|
-
}
|
|
109
|
-
keyUp(event);
|
|
110
|
-
};
|
|
111
|
-
return board;
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy93aXRoLWhhbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQXlDLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEksT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDO0FBRTVCLE1BQU0sVUFBVSxlQUFlLENBQXVCLEtBQVE7SUFDMUQsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3ZGLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztJQUNsQyxJQUFJLFdBQVcsR0FBMEIsSUFBSSxDQUFDO0lBQzlDLElBQUksZ0JBQWdCLEdBQXdCLElBQUksQ0FBQztJQUNqRCxJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDNUIsSUFBSSx1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFFcEMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN4QyxNQUFNLE9BQU8sR0FBSSxLQUFzQyxDQUFDLGdCQUFnQixDQUF3QixjQUFjLENBQUMs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UFJFU1NfQU5EX01PVkVfQlVGRkVSIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFBsYWl0UG9pbnRlclR5cGUsIFBsYWl0Qm9hcmQsIFBsYWl0Qm9hcmRNb3ZlLCBXaXRoSGFuZFBsdWdpbk9wdGlvbnMsIFBsYWl0UGx1Z2luS2V5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50LCBpc0hpdEVsZW1lbnQsIGlzTW92aW5nRWxlbWVudHMsIGlzU2VsZWN0aW9uTW92aW5nLCB0b0hvc3RQb2ludCwgdG9WaWV3Qm94UG9pbnQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBpc01haW5Qb2ludGVyLCBpc1doZWVsUG9pbnRlciB9IGZyb20gJy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgaXNTbWFydEhhbmQgfSBmcm9tICcuLi91dGlscy9tb2JpbGUnO1xuaW1wb3J0IHsgdXBkYXRlVmlld3BvcnRDb250YWluZXJTY3JvbGwgfSBmcm9tICcuLi91dGlscy92aWV3cG9ydCc7XG5pbXBvcnQgeyBQbGFpdE9wdGlvbnNCb2FyZCB9IGZyb20gJy4vd2l0aC1vcHRpb25zJztcblxuY29uc3QgU2hvcnRjdXRLZXkgPSAnU3BhY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEhhbmRQb2ludGVyPFQgZXh0ZW5kcyBQbGFpdEJvYXJkPihib2FyZDogVCkge1xuICAgIGNvbnN0IHsgcG9pbnRlckRvd24sIHBvaW50ZXJNb3ZlLCBnbG9iYWxQb2ludGVyVXAsIGtleURvd24sIGtleVVwLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuICAgIGxldCBpc0hhbmRNb3Zpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBsZXQgbW92aW5nUG9pbnQ6IFBsYWl0Qm9hcmRNb3ZlIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHBvaW50ZXJEb3duRXZlbnQ6IFBvaW50ZXJFdmVudCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBoYXNXaGVlbFByZXNzZWQgPSBmYWxzZTtcbiAgICBsZXQgYmVpbmdQcmVzc2VkU2hvcnRjdXRLZXkgPSBmYWxzZTtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChib2FyZCBhcyB1bmtub3duIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhIYW5kUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aEhhbmQpO1xuICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICBjb25zdCBpc0hpdFRhcmdldCA9IGlzSGl0RWxlbWVudChib2FyZCwgcG9pbnQpO1xuICAgICAgICBjb25zdCBjYW5FbnRlckhhbmRNb2RlID1cbiAgICAgICAgICAgIG9wdGlvbnM/LmlzSGFuZE1vZGUoYm9hcmQsIGV2ZW50KSB8fFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuaGFuZCkgfHxcbiAgICAgICAgICAgIChpc1NtYXJ0SGFuZChib2FyZCwgZXZlbnQpICYmICFpc0hpdFRhcmdldCkgfHxcbiAgICAgICAgICAgIGJlaW5nUHJlc3NlZFNob3J0Y3V0S2V5O1xuICAgICAgICBpZiAoY2FuRW50ZXJIYW5kTW9kZSAmJiBpc01haW5Qb2ludGVyKGV2ZW50KSkge1xuICAgICAgICAgICAgbW92aW5nUG9pbnQgPSB7XG4gICAgICAgICAgICAgICAgeDogZXZlbnQueCxcbiAgICAgICAgICAgICAgICB5OiBldmVudC55XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5oYW5kKSkge1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ3ZpZXdwb3J0LW1vdmluZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGlzV2hlZWxQb2ludGVyKGV2ZW50KSkge1xuICAgICAgICAgICAgaGFzV2hlZWxQcmVzc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlIGJyb3dzZXIncyBkZWZhdWx0IGJlaGF2aW9yIG9mIHNjcm9sbGluZyB0aGUgcGFnZSB3aGVuIHRoZSBtb3VzZSB3aGVlbCBpcyBwcmVzc2VkLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIG1vdmluZ1BvaW50ID0ge1xuICAgICAgICAgICAgICAgIHg6IGV2ZW50LngsXG4gICAgICAgICAgICAgICAgeTogZXZlbnQueVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlzSGFuZE1vdmluZyA9IHRydWU7XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QuYWRkKCd2aWV3cG9ydC1tb3ZpbmcnKTtcbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyRG93bkV2ZW50ID0gZXZlbnQ7XG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gKGJvYXJkIGFzIHVua25vd24gYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnM8V2l0aEhhbmRQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoSGFuZCk7XG4gICAgICAgIC8vIOmYiOWAvOW/hemhu+Wkp+S6jiB3aXRoU2VsZWN0aW9uIOS4rSBwb2ludGVyTW92ZSDnmoQgUFJFU1NfQU5EX01PVkVfQlVGRkVS77yaXG4gICAgICAgIC8vIDEuIOmmluWFiOajgOa1i+aYr+WQpua7oei2s+i/m+WFpeaLlumAieeKtuaAgeeahOadoeS7tlxuICAgICAgICAvLyAyLiDku4XlvZPkuI3mu6HotrPmi5bpgInmnaHku7bml7bvvIzmiY3kvJrogIPomZHop6blj5Egd2l0aEhhbmQg6KGM5Li6XG4gICAgICAgIC8vIE11c3QgZXhjZWVkIHRoZSBEUkFHX1NFTEVDVElPTl9QUkVTU19BTkRfTU9WRV9CVUZGRVIgdGhyZXNob2xkIGRlZmluZWQgaW4gd2l0aFNlbGVjdGlvbidzIHBvaW50ZXJNb3ZlLlxuICAgICAgICAvLyBUaGUgc3lzdGVtIGZpcnN0IGNoZWNrcyBmb3IgZHJhZyBzZWxlY3Rpb24gc3RhdGUgZWxpZ2liaWxpdHlcbiAgICAgICAgLy8gd2l0aEhhbmQgYmVoYXZpb3IgaXMgb25seSB0cmlnZ2VyZWQgaWYgZHJhZyBzZWxlY3Rpb24gc3RhdGUgaXMgbm90IGluaXRpYXRlZC5cbiAgICAgICAgY29uc3QgdHJpZ2dlckRpc3RhbmNlID0gRFJBR19TRUxFQ1RJT05fUFJFU1NfQU5EX01PVkVfQlVGRkVSICsgNDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbW92aW5nUG9pbnQgJiZcbiAgICAgICAgICAgICFpc0hhbmRNb3ZpbmcgJiZcbiAgICAgICAgICAgICFpc1NlbGVjdGlvbk1vdmluZyhib2FyZCkgJiZcbiAgICAgICAgICAgIHBvaW50ZXJEb3duRXZlbnQgJiZcbiAgICAgICAgICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQocG9pbnRlckRvd25FdmVudC54LCBwb2ludGVyRG93bkV2ZW50LnksIGV2ZW50LngsIGV2ZW50LnkpID4gdHJpZ2dlckRpc3RhbmNlICYmXG4gICAgICAgICAgICAhaXNNb3ZpbmdFbGVtZW50cyhib2FyZClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpc0hhbmRNb3ZpbmcgPSB0cnVlO1xuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZCgndmlld3BvcnQtbW92aW5nJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FuRW50ZXJIYW5kTW9kZSA9XG4gICAgICAgICAgICBvcHRpb25zPy5pc0hhbmRNb2RlKGJvYXJkLCBldmVudCkgfHxcbiAgICAgICAgICAgIFBsYWl0Qm9hcmQuaXNQb2ludGVyKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLmhhbmQpIHx8XG4gICAgICAgICAgICBpc1NtYXJ0SGFuZChib2FyZCwgZXZlbnQpIHx8XG4gICAgICAgICAgICBoYXNXaGVlbFByZXNzZWQgfHxcbiAgICAgICAgICAgIGJlaW5nUHJlc3NlZFNob3J0Y3V0S2V5O1xuICAgICAgICBpZiAoY2FuRW50ZXJIYW5kTW9kZSAmJiBpc0hhbmRNb3ZpbmcgJiYgbW92aW5nUG9pbnQgJiYgIWlzU2VsZWN0aW9uTW92aW5nKGJvYXJkKSAmJiAhaXNNb3ZpbmdFbGVtZW50cyhib2FyZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0Q29udGFpbmVyID0gUGxhaXRCb2FyZC5nZXRWaWV3cG9ydENvbnRhaW5lcihib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBsZWZ0ID0gdmlld3BvcnRDb250YWluZXIuc2Nyb2xsTGVmdCAtIChldmVudC54IC0gbW92aW5nUG9pbnQueCk7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSB2aWV3cG9ydENvbnRhaW5lci5zY3JvbGxUb3AgLSAoZXZlbnQueSAtIG1vdmluZ1BvaW50LnkpO1xuICAgICAgICAgICAgdXBkYXRlVmlld3BvcnRDb250YWluZXJTY3JvbGwoYm9hcmQsIGxlZnQsIHRvcCwgZmFsc2UpO1xuICAgICAgICAgICAgbW92aW5nUG9pbnQueCA9IGV2ZW50Lng7XG4gICAgICAgICAgICBtb3ZpbmdQb2ludC55ID0gZXZlbnQueTtcbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChpc0hhbmRNb3ZpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAobW92aW5nUG9pbnQpIHtcbiAgICAgICAgICAgIG1vdmluZ1BvaW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpc0hhbmRNb3ZpbmcgPSBmYWxzZTtcbiAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgndmlld3BvcnQtbW92aW5nJyk7XG4gICAgICAgIGhhc1doZWVsUHJlc3NlZCA9IGZhbHNlO1xuICAgICAgICBnbG9iYWxQb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5jb2RlID09PSBTaG9ydGN1dEtleSkge1xuICAgICAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5oYW5kKSkge1xuICAgICAgICAgICAgICAgIGJlaW5nUHJlc3NlZFNob3J0Y3V0S2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QuYWRkKCd2aWV3cG9ydC1tb3ZpbmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAga2V5RG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmtleVVwID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghYm9hcmQub3B0aW9ucy5yZWFkb25seSAmJiBldmVudC5jb2RlID09PSBTaG9ydGN1dEtleSkge1xuICAgICAgICAgICAgYmVpbmdQcmVzc2VkU2hvcnRjdXRLZXkgPSB0cnVlO1xuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgndmlld3BvcnQtbW92aW5nJyk7XG4gICAgICAgIH1cbiAgICAgICAga2V5VXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59XG4iXX0=
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { PlaitOperation } from '../interfaces';
|
|
2
|
-
import { isHotkey } from 'is-hotkey';
|
|
3
|
-
import { PlaitHistoryBoard, shouldClear, shouldMerge, shouldSave } from '../utils';
|
|
4
|
-
export function withHistory(board) {
|
|
5
|
-
const { apply, keyDown } = board;
|
|
6
|
-
board.history = { undos: [], redos: [] };
|
|
7
|
-
board.redo = () => {
|
|
8
|
-
const { history } = board;
|
|
9
|
-
const { redos } = history;
|
|
10
|
-
if (redos.length > 0) {
|
|
11
|
-
const batch = redos[redos.length - 1];
|
|
12
|
-
PlaitHistoryBoard.withoutSaving(board, () => {
|
|
13
|
-
for (const op of batch) {
|
|
14
|
-
board.apply(op);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
history.redos.pop();
|
|
18
|
-
history.undos.push(batch);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
board.undo = () => {
|
|
22
|
-
const { history } = board;
|
|
23
|
-
const { undos } = history;
|
|
24
|
-
if (undos.length > 0) {
|
|
25
|
-
const batch = undos[undos.length - 1];
|
|
26
|
-
PlaitHistoryBoard.withoutSaving(board, () => {
|
|
27
|
-
const inverseOps = batch.map(PlaitOperation.inverse).reverse();
|
|
28
|
-
for (const op of inverseOps) {
|
|
29
|
-
board.apply(op);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
history.redos.push(batch);
|
|
33
|
-
history.undos.pop();
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
board.apply = (op) => {
|
|
37
|
-
const { operations, history } = board;
|
|
38
|
-
const { undos } = history;
|
|
39
|
-
const lastBatch = undos[undos.length - 1];
|
|
40
|
-
const lastOp = lastBatch && lastBatch[lastBatch.length - 1];
|
|
41
|
-
let save = PlaitHistoryBoard.isSaving(board);
|
|
42
|
-
let merge = PlaitHistoryBoard.isMerging(board);
|
|
43
|
-
if (save == null) {
|
|
44
|
-
save = shouldSave(op, lastOp);
|
|
45
|
-
}
|
|
46
|
-
if (save) {
|
|
47
|
-
if (!merge) {
|
|
48
|
-
if (lastBatch == null) {
|
|
49
|
-
merge = false;
|
|
50
|
-
}
|
|
51
|
-
else if (operations.length !== 0) {
|
|
52
|
-
merge = true;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
merge = shouldMerge(op, lastOp);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
if (PlaitHistoryBoard.isSplittingOnce(board)) {
|
|
59
|
-
merge = false;
|
|
60
|
-
PlaitHistoryBoard.setSplittingOnce(board, undefined);
|
|
61
|
-
}
|
|
62
|
-
if (lastBatch && merge) {
|
|
63
|
-
lastBatch.push(op);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
const batch = [op];
|
|
67
|
-
undos.push(batch);
|
|
68
|
-
}
|
|
69
|
-
while (undos.length > 100) {
|
|
70
|
-
undos.shift();
|
|
71
|
-
}
|
|
72
|
-
if (shouldClear(op)) {
|
|
73
|
-
history.redos = [];
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
apply(op);
|
|
77
|
-
};
|
|
78
|
-
board.keyDown = (event) => {
|
|
79
|
-
if (isHotkey('mod+z', event)) {
|
|
80
|
-
board.undo();
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
if (isHotkey('mod+shift+z', event)) {
|
|
84
|
-
board.redo();
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
keyDown(event);
|
|
88
|
-
};
|
|
89
|
-
return board;
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oaXN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy93aXRoLWhpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuRixNQUFNLFVBQVUsV0FBVyxDQUF1QixLQUFRO0lBQ3RELE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUV6QyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRTtRQUNkLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDMUIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUUxQixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFdEMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3hDLEtBQUssTUFBTSxFQUFFLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3BCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsT0FB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QUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsQ0FBQztZQUVELElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDTCxDQUFDO1FBQ0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNyQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDWCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNIb3RrZXkgfSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgUGxhaXRIaXN0b3J5Qm9hcmQsIHNob3VsZENsZWFyLCBzaG91bGRNZXJnZSwgc2hvdWxkU2F2ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhIaXN0b3J5PFQgZXh0ZW5kcyBQbGFpdEJvYXJkPihib2FyZDogVCkge1xuICAgIGNvbnN0IHsgYXBwbHksIGtleURvd24gfSA9IGJvYXJkO1xuICAgIGJvYXJkLmhpc3RvcnkgPSB7IHVuZG9zOiBbXSwgcmVkb3M6IFtdIH07XG5cbiAgICBib2FyZC5yZWRvID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGhpc3RvcnkgfSA9IGJvYXJkO1xuICAgICAgICBjb25zdCB7IHJlZG9zIH0gPSBoaXN0b3J5O1xuXG4gICAgICAgIGlmIChyZWRvcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBiYXRjaCA9IHJlZG9zW3JlZG9zLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgICAgICBQbGFpdEhpc3RvcnlCb2FyZC53aXRob3V0U2F2aW5nKGJvYXJkLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcCBvZiBiYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5hcHBseShvcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGhpc3RvcnkucmVkb3MucG9wKCk7XG4gICAgICAgICAgICBoaXN0b3J5LnVuZG9zLnB1c2goYmF0Y2gpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGJvYXJkLnVuZG8gPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgaGlzdG9yeSB9ID0gYm9hcmQ7XG4gICAgICAgIGNvbnN0IHsgdW5kb3MgfSA9IGhpc3Rvcnk7XG5cbiAgICAgICAgaWYgKHVuZG9zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGJhdGNoID0gdW5kb3NbdW5kb3MubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIFBsYWl0SGlzdG9yeUJvYXJkLndpdGhvdXRTYXZpbmcoYm9hcmQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnZlcnNlT3BzID0gYmF0Y2gubWFwKFBsYWl0T3BlcmF0aW9uLmludmVyc2UpLnJldmVyc2UoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wIG9mIGludmVyc2VPcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9hcmQuYXBwbHkob3ApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBoaXN0b3J5LnJlZG9zLnB1c2goYmF0Y2gpO1xuICAgICAgICAgICAgaGlzdG9yeS51bmRvcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBib2FyZC5hcHBseSA9IChvcDogUGxhaXRPcGVyYXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBvcGVyYXRpb25zLCBoaXN0b3J5IH0gPSBib2FyZDtcbiAgICAgICAgY29uc3QgeyB1bmRvcyB9ID0gaGlzdG9yeTtcbiAgICAgICAgY29uc3QgbGFzdEJhdGNoID0gdW5kb3NbdW5kb3MubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGxhc3RPcCA9IGxhc3RCYXRjaCAmJiBsYXN0QmF0Y2hbbGFzdEJhdGNoLmxlbmd0aCAtIDFdO1xuICAgICAgICBsZXQgc2F2ZSA9IFBsYWl0SGlzdG9yeUJvYXJkLmlzU2F2aW5nKGJvYXJkKTtcbiAgICAgICAgbGV0IG1lcmdlID0gUGxhaXRIaXN0b3J5Qm9hcmQuaXNNZXJnaW5nKGJvYXJkKTtcblxuICAgICAgICBpZiAoc2F2ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICBzYXZlID0gc2hvdWxkU2F2ZShvcCwgbGFzdE9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzYXZlKSB7XG4gICAgICAgICAgICBpZiAoIW1lcmdlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RCYXRjaCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb25zLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBtZXJnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWVyZ2UgPSBzaG91bGRNZXJnZShvcCwgbGFzdE9wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChQbGFpdEhpc3RvcnlCb2FyZC5pc1NwbGl0dGluZ09uY2UoYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgbWVyZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBQbGFpdEhpc3RvcnlCb2FyZC5zZXRTcGxpdHRpbmdPbmNlKGJvYXJkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobGFzdEJhdGNoICYmIG1lcmdlKSB7XG4gICAgICAgICAgICAgICAgbGFzdEJhdGNoLnB1c2gob3ApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiYXRjaCA9IFtvcF07XG4gICAgICAgICAgICAgICAgdW5kb3MucHVzaChiYXRjaCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdoaWxlICh1bmRvcy5sZW5ndGggPiAxMDApIHtcbiAgICAgICAgICAgICAgICB1bmRvcy5zaGlmdCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2hvdWxkQ2xlYXIob3ApKSB7XG4gICAgICAgICAgICAgICAgaGlzdG9yeS5yZWRvcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGFwcGx5KG9wKTtcbiAgICB9O1xuXG4gICAgYm9hcmQua2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCt6JywgZXZlbnQpKSB7XG4gICAgICAgICAgICBib2FyZC51bmRvKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzSG90a2V5KCdtb2Qrc2hpZnQreicsIGV2ZW50KSkge1xuICAgICAgICAgICAgYm9hcmQucmVkbygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGtleURvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59XG4iXX0=
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { isHotkey, isKeyHotkey } from 'is-hotkey';
|
|
2
|
-
import { PlaitBoard, PlaitPluginKey } from '../interfaces';
|
|
3
|
-
import { BoardTransforms, Transforms } from '../transforms';
|
|
4
|
-
import { deleteFragment, depthFirstRecursion, duplicateElements, getSelectedElements, hotkeys } from '../utils';
|
|
5
|
-
export const withHotkey = (board) => {
|
|
6
|
-
const { keyDown, keyUp, globalKeyDown } = board;
|
|
7
|
-
board.keyDown = (event) => {
|
|
8
|
-
const options = board.getPluginOptions(PlaitPluginKey.withSelection);
|
|
9
|
-
if (!PlaitBoard.isReadonly(board) && options.isMultipleSelection && isHotkey('mod+a', event)) {
|
|
10
|
-
event.preventDefault();
|
|
11
|
-
let elements = [];
|
|
12
|
-
depthFirstRecursion(board, node => {
|
|
13
|
-
if (PlaitBoard.isBoard(node)) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
elements.push(node);
|
|
17
|
-
}, node => {
|
|
18
|
-
if (PlaitBoard.isBoard(node) || board.isRecursion(node)) {
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
}, true);
|
|
25
|
-
Transforms.addSelectionWithTemporaryElements(board, elements);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (!PlaitBoard.isReadonly(board)) {
|
|
29
|
-
if (isKeyHotkey('mod+]', event)) {
|
|
30
|
-
event.preventDefault();
|
|
31
|
-
Transforms.moveUp(board);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
if (isKeyHotkey('mod+[', event)) {
|
|
35
|
-
event.preventDefault();
|
|
36
|
-
Transforms.moveDown(board);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (isKeyHotkey('mod+option+‘', event)) {
|
|
40
|
-
event.preventDefault();
|
|
41
|
-
Transforms.moveToTop(board);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (isKeyHotkey('mod+option+“', event)) {
|
|
45
|
-
event.preventDefault();
|
|
46
|
-
Transforms.moveToBottom(board);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
const selectedElements = getSelectedElements(board);
|
|
51
|
-
if (!PlaitBoard.isReadonly(board) && selectedElements.length > 0) {
|
|
52
|
-
if (isKeyHotkey('mod+d', event)) {
|
|
53
|
-
event.preventDefault();
|
|
54
|
-
duplicateElements(board);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
if (!PlaitBoard.isReadonly(board) &&
|
|
59
|
-
selectedElements.length > 0 &&
|
|
60
|
-
(hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
|
|
61
|
-
event.preventDefault();
|
|
62
|
-
deleteFragment(board);
|
|
63
|
-
}
|
|
64
|
-
keyDown(event);
|
|
65
|
-
};
|
|
66
|
-
board.keyUp = (event) => {
|
|
67
|
-
keyUp(event);
|
|
68
|
-
};
|
|
69
|
-
board.globalKeyDown = (event) => {
|
|
70
|
-
if (PlaitBoard.getMovingPointInBoard(board) || PlaitBoard.isMovingPointInBoard(board)) {
|
|
71
|
-
if (isHotkey(['mod+=', 'mod++'], { byKey: true })(event)) {
|
|
72
|
-
event.preventDefault();
|
|
73
|
-
BoardTransforms.updateZoom(board, board.viewport.zoom + 0.1);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
if (isHotkey(['mod+shift+=', 'mod+shift++'], { byKey: true })(event)) {
|
|
77
|
-
event.preventDefault();
|
|
78
|
-
BoardTransforms.fitViewport(board);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
if (isHotkey(['mod+-', 'mod+shift+-'])(event)) {
|
|
82
|
-
event.preventDefault();
|
|
83
|
-
BoardTransforms.updateZoom(board, board.viewport.zoom - 0.1);
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
if (isHotkey(['mod+0', 'mod+shift+0'], { byKey: true })(event)) {
|
|
87
|
-
event.preventDefault();
|
|
88
|
-
BoardTransforms.updateZoom(board, 1);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
globalKeyDown(event);
|
|
93
|
-
};
|
|
94
|
-
return board;
|
|
95
|
-
};
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xELE9BQU8sRUFBWSxVQUFVLEVBQWdCLGNBQWMsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHaEgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUVoRCxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sT0FBTyxHQUFJLEtBQTJCLENBQUMsZ0JBQWdCLENBQTZCLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsbUJBQW1CLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLFFBQVEsR0FBbUIsRUFBRSxDQUFDO1lBQ2xDLG1CQUFtQixDQUNmLEtBQUssRUFDTCxJQUFJLENBQUMsRUFBRTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsT0FBTztnQkFDWCxDQUFDO2dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBb0IsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsRUFDRCxJQUFJLENBQUMsRUFBRTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN0RCxPQUFPLElBQUksQ0FBQztnQkFDaEIsQ0FBQztxQkFBTSxDQUFDO29CQUNKLE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO1lBQ0wsQ0FBQyxFQUNELElBQUksQ0FDUCxDQUFDO1lBQ0YsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsT0FBTztZQUNYLENBQUM7WUFDRCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixPQUFPO1lBQ1gsQ0FBQztZQUNELElBQUksV0FBVyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsT0FBTztZQUNYLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0QsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pCLE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQ0ksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMzQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3JFLENBQUM7WUFDQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUMzQyxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRixJQUFJLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzdELE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO2dCQUM3RCxPQUFPO1lBQ1gsQ0FBQztZQUNELElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDN0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixlQUFlLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckMsT0FBTztZQUNYLENBQUM7UUFDTCxDQUFDO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzSG90a2V5LCBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdFBsdWdpbktleSwgV2l0aFNlbGVjdGlvblBsdWdpbk9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJvYXJkVHJhbnNmb3JtcywgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZGVsZXRlRnJhZ21lbnQsIGRlcHRoRmlyc3RSZWN1cnNpb24sIGR1cGxpY2F0ZUVsZW1lbnRzLCBnZXRTZWxlY3RlZEVsZW1lbnRzLCBob3RrZXlzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhaXRPcHRpb25zQm9hcmQgfSBmcm9tICcuL3dpdGgtb3B0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoSG90a2V5ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBrZXlEb3duLCBrZXlVcCwgZ2xvYmFsS2V5RG93biB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5rZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnM8V2l0aFNlbGVjdGlvblBsdWdpbk9wdGlvbnM+KFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24pO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgb3B0aW9ucy5pc011bHRpcGxlU2VsZWN0aW9uICYmIGlzSG90a2V5KCdtb2QrYScsIGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGxldCBlbGVtZW50czogUGxhaXRFbGVtZW50W10gPSBbXTtcbiAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb248QW5jZXN0b3I+KFxuICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0JvYXJkKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMucHVzaChub2RlIGFzIFBsYWl0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChub2RlKSB8fCBib2FyZC5pc1JlY3Vyc2lvbihub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSkge1xuICAgICAgICAgICAgaWYgKGlzS2V5SG90a2V5KCdtb2QrXScsIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5tb3ZlVXAoYm9hcmQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0tleUhvdGtleSgnbW9kK1snLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZURvd24oYm9hcmQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0tleUhvdGtleSgnbW9kK29wdGlvbivigJgnLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZVRvVG9wKGJvYXJkKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNLZXlIb3RrZXkoJ21vZCtvcHRpb24r4oCcJywgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLm1vdmVUb0JvdHRvbShib2FyZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoaXNLZXlIb3RrZXkoJ21vZCtkJywgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBkdXBsaWNhdGVFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmXG4gICAgICAgICAgICBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIChob3RrZXlzLmlzRGVsZXRlQmFja3dhcmQoZXZlbnQpIHx8IGhvdGtleXMuaXNEZWxldGVGb3J3YXJkKGV2ZW50KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZGVsZXRlRnJhZ21lbnQoYm9hcmQpO1xuICAgICAgICB9XG5cbiAgICAgICAga2V5RG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmtleVVwID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGtleVVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5nZXRNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpIHx8IFBsYWl0Qm9hcmQuaXNNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpKSB7XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2QrPScsICdtb2QrKyddLCB7IGJ5S2V5OiB0cnVlIH0pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIGJvYXJkLnZpZXdwb3J0Lnpvb20gKyAwLjEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCtzaGlmdCs9JywgJ21vZCtzaGlmdCsrJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMuZml0Vmlld3BvcnQoYm9hcmQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCstJywgJ21vZCtzaGlmdCstJ10pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIGJvYXJkLnZpZXdwb3J0Lnpvb20gLSAwLjEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCswJywgJ21vZCtzaGlmdCswJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlWm9vbShib2FyZCwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdsb2JhbEtleURvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const withI18n = (board) => {
|
|
2
|
-
const newBoard = board;
|
|
3
|
-
newBoard.getI18nValue = (key) => {
|
|
4
|
-
console.warn(`I18n key "${key}" is not found.`);
|
|
5
|
-
return null;
|
|
6
|
-
};
|
|
7
|
-
return newBoard;
|
|
8
|
-
};
|
|
9
|
-
export const getI18nValue = (board, key, defaultValue = '') => {
|
|
10
|
-
const i18nBoard = board;
|
|
11
|
-
return i18nBoard.getI18nValue(key) || defaultValue;
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy93aXRoLWkxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzFDLE1BQU0sUUFBUSxHQUFHLEtBQXVCLENBQUM7SUFFekMsUUFBUSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxHQUFXLEVBQUUsWUFBWSxHQUFHLEVBQUUsRUFBRSxFQUFFO0lBQzlFLE1BQU0sU0FBUyxHQUFHLEtBQXVCLENBQUM7SUFDMUMsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksQ0FBQztBQUN2RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRJMThuQm9hcmQgZXh0ZW5kcyBQbGFpdEJvYXJkIHtcbiAgICBnZXRJMThuVmFsdWU6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhJMThuID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgbmV3Qm9hcmQgPSBib2FyZCBhcyBQbGFpdEkxOG5Cb2FyZDtcblxuICAgIG5ld0JvYXJkLmdldEkxOG5WYWx1ZSA9IChrZXkpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKGBJMThuIGtleSBcIiR7a2V5fVwiIGlzIG5vdCBmb3VuZC5gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXdCb2FyZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJMThuVmFsdWUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWUgPSAnJykgPT4ge1xuICAgIGNvbnN0IGkxOG5Cb2FyZCA9IGJvYXJkIGFzIFBsYWl0STE4bkJvYXJkO1xuICAgIHJldHVybiBpMThuQm9hcmQuZ2V0STE4blZhbHVlKGtleSkgfHwgZGVmYXVsdFZhbHVlO1xufTtcbiJdfQ==
|