@aloudata/ink-flow 1.0.28 → 1.0.29
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/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
- package/dist/index.cjs.js +25 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +25 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/style.css +814 -0
- package/package.json +2 -2
- package/dist/components/A11yDescriptions/index.js +0 -29
- package/dist/components/A11yDescriptions/index.js.map +0 -1
- package/dist/components/BatchProvider/index.js +0 -86
- package/dist/components/BatchProvider/index.js.map +0 -1
- package/dist/components/BatchProvider/types.js +0 -2
- package/dist/components/BatchProvider/types.js.map +0 -1
- package/dist/components/BatchProvider/useQueue.js +0 -56
- package/dist/components/BatchProvider/useQueue.js.map +0 -1
- package/dist/components/ConnectionLine/index.js +0 -62
- package/dist/components/ConnectionLine/index.js.map +0 -1
- package/dist/components/EdgeLabelRenderer/index.js +0 -12
- package/dist/components/EdgeLabelRenderer/index.js.map +0 -1
- package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js +0 -68
- package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js.map +0 -1
- package/dist/components/EdgeWrapper/index.js +0 -159
- package/dist/components/EdgeWrapper/index.js.map +0 -1
- package/dist/components/EdgeWrapper/utils.js +0 -17
- package/dist/components/EdgeWrapper/utils.js.map +0 -1
- package/dist/components/Edges/BaseEdge.js +0 -9
- package/dist/components/Edges/BaseEdge.js.map +0 -1
- package/dist/components/Edges/BezierEdge.js +0 -28
- package/dist/components/Edges/BezierEdge.js.map +0 -1
- package/dist/components/Edges/EdgeAnchor.js +0 -23
- package/dist/components/Edges/EdgeAnchor.js.map +0 -1
- package/dist/components/Edges/EdgeText.js +0 -31
- package/dist/components/Edges/EdgeText.js.map +0 -1
- package/dist/components/Edges/SimpleBezierEdge.js +0 -68
- package/dist/components/Edges/SimpleBezierEdge.js.map +0 -1
- package/dist/components/Edges/SmoothStepEdge.js +0 -29
- package/dist/components/Edges/SmoothStepEdge.js.map +0 -1
- package/dist/components/Edges/StepEdge.js +0 -18
- package/dist/components/Edges/StepEdge.js.map +0 -1
- package/dist/components/Edges/StraightEdge.js +0 -24
- package/dist/components/Edges/StraightEdge.js.map +0 -1
- package/dist/components/Edges/index.js +0 -9
- package/dist/components/Edges/index.js.map +0 -1
- package/dist/components/Handle/index.js +0 -179
- package/dist/components/Handle/index.js.map +0 -1
- package/dist/components/InkFlowProvider/index.js +0 -21
- package/dist/components/InkFlowProvider/index.js.map +0 -1
- package/dist/components/NodeWrapper/index.js +0 -150
- package/dist/components/NodeWrapper/index.js.map +0 -1
- package/dist/components/NodeWrapper/useNodeObserver.js +0 -54
- package/dist/components/NodeWrapper/useNodeObserver.js.map +0 -1
- package/dist/components/NodeWrapper/utils.js +0 -30
- package/dist/components/NodeWrapper/utils.js.map +0 -1
- package/dist/components/Nodes/DefaultNode.js +0 -8
- package/dist/components/Nodes/DefaultNode.js.map +0 -1
- package/dist/components/Nodes/GroupNode.js +0 -4
- package/dist/components/Nodes/GroupNode.js.map +0 -1
- package/dist/components/Nodes/InputNode.js +0 -8
- package/dist/components/Nodes/InputNode.js.map +0 -1
- package/dist/components/Nodes/OutputNode.js +0 -8
- package/dist/components/Nodes/OutputNode.js.map +0 -1
- package/dist/components/Nodes/utils.js +0 -23
- package/dist/components/Nodes/utils.js.map +0 -1
- package/dist/components/Panel/index.js +0 -11
- package/dist/components/Panel/index.js.map +0 -1
- package/dist/components/StoreUpdater/index.js +0 -169
- package/dist/components/StoreUpdater/index.js.map +0 -1
- package/dist/components/UserSelection/index.js +0 -20
- package/dist/components/UserSelection/index.js.map +0 -1
- package/dist/constants/layout.js +0 -5
- package/dist/constants/layout.js.map +0 -1
- package/dist/container/EdgeRenderer/MarkerDefinitions.js +0 -37
- package/dist/container/EdgeRenderer/MarkerDefinitions.js.map +0 -1
- package/dist/container/EdgeRenderer/MarkerSymbols.js +0 -38
- package/dist/container/EdgeRenderer/MarkerSymbols.js.map +0 -1
- package/dist/container/EdgeRenderer/index.js +0 -25
- package/dist/container/EdgeRenderer/index.js.map +0 -1
- package/dist/container/FlowRenderer/index.js +0 -29
- package/dist/container/FlowRenderer/index.js.map +0 -1
- package/dist/container/GraphView/index.js +0 -14
- package/dist/container/GraphView/index.js.map +0 -1
- package/dist/container/InkFlow/Wrapper.js +0 -13
- package/dist/container/InkFlow/Wrapper.js.map +0 -1
- package/dist/container/InkFlow/index.js +0 -22
- package/dist/container/InkFlow/index.js.map +0 -1
- package/dist/container/InkFlow/init-values.js +0 -11
- package/dist/container/InkFlow/init-values.js.map +0 -1
- package/dist/container/NodeRenderer/index.js +0 -29
- package/dist/container/NodeRenderer/index.js.map +0 -1
- package/dist/container/NodeRenderer/useResizeObserver.js +0 -29
- package/dist/container/NodeRenderer/useResizeObserver.js.map +0 -1
- package/dist/container/Pane/index.js +0 -207
- package/dist/container/Pane/index.js.map +0 -1
- package/dist/container/Viewport/index.js +0 -11
- package/dist/container/Viewport/index.js.map +0 -1
- package/dist/container/ZoomPane/index.js +0 -108
- package/dist/container/ZoomPane/index.js.map +0 -1
- package/dist/contexts/NodeIdContext.js +0 -10
- package/dist/contexts/NodeIdContext.js.map +0 -1
- package/dist/contexts/StoreContext.js +0 -5
- package/dist/contexts/StoreContext.js.map +0 -1
- package/dist/hooks/index.js +0 -7
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useConnection.js +0 -47
- package/dist/hooks/useConnection.js.map +0 -1
- package/dist/hooks/useDrag.js +0 -56
- package/dist/hooks/useDrag.js.map +0 -1
- package/dist/hooks/useEdgesState.js +0 -6
- package/dist/hooks/useEdgesState.js.map +0 -1
- package/dist/hooks/useGlobalKeyHandler.js +0 -34
- package/dist/hooks/useGlobalKeyHandler.js.map +0 -1
- package/dist/hooks/useInkFlow.js +0 -185
- package/dist/hooks/useInkFlow.js.map +0 -1
- package/dist/hooks/useIsomorphicLayoutEffect.js +0 -4
- package/dist/hooks/useIsomorphicLayoutEffect.js.map +0 -1
- package/dist/hooks/useKeyPress.js +0 -117
- package/dist/hooks/useKeyPress.js.map +0 -1
- package/dist/hooks/useMoveSelectedNodes.js +0 -65
- package/dist/hooks/useMoveSelectedNodes.js.map +0 -1
- package/dist/hooks/useNodeInView.js +0 -41
- package/dist/hooks/useNodeInView.js.map +0 -1
- package/dist/hooks/useNodesInView.js +0 -52
- package/dist/hooks/useNodesInView.js.map +0 -1
- package/dist/hooks/useNodesState.js +0 -6
- package/dist/hooks/useNodesState.js.map +0 -1
- package/dist/hooks/useResizeHandler.js +0 -38
- package/dist/hooks/useResizeHandler.js.map +0 -1
- package/dist/hooks/useStore.js +0 -37
- package/dist/hooks/useStore.js.map +0 -1
- package/dist/hooks/useViewportHelper.js +0 -149
- package/dist/hooks/useViewportHelper.js.map +0 -1
- package/dist/hooks/useVisibleEdgeIds.js +0 -50
- package/dist/hooks/useVisibleEdgeIds.js.map +0 -1
- package/dist/hooks/useVisibleNodeIds.js +0 -21
- package/dist/hooks/useVisibleNodeIds.js.map +0 -1
- package/dist/index.js +0 -18
- package/dist/index.js.map +0 -1
- package/dist/plugins/Background/Background.js +0 -49
- package/dist/plugins/Background/Background.js.map +0 -1
- package/dist/plugins/Background/Patterns.js +0 -11
- package/dist/plugins/Background/Patterns.js.map +0 -1
- package/dist/plugins/Background/index.js +0 -3
- package/dist/plugins/Background/index.js.map +0 -1
- package/dist/plugins/Background/types.js +0 -7
- package/dist/plugins/Background/types.js.map +0 -1
- package/dist/plugins/Controls/ControlButton.js +0 -7
- package/dist/plugins/Controls/ControlButton.js.map +0 -1
- package/dist/plugins/Controls/Controls.js +0 -49
- package/dist/plugins/Controls/Controls.js.map +0 -1
- package/dist/plugins/Controls/Icons/FitView.js +0 -5
- package/dist/plugins/Controls/Icons/FitView.js.map +0 -1
- package/dist/plugins/Controls/Icons/Lock.js +0 -5
- package/dist/plugins/Controls/Icons/Lock.js.map +0 -1
- package/dist/plugins/Controls/Icons/Minus.js +0 -5
- package/dist/plugins/Controls/Icons/Minus.js.map +0 -1
- package/dist/plugins/Controls/Icons/Plus.js +0 -5
- package/dist/plugins/Controls/Icons/Plus.js.map +0 -1
- package/dist/plugins/Controls/Icons/Unlock.js +0 -5
- package/dist/plugins/Controls/Icons/Unlock.js.map +0 -1
- package/dist/plugins/Controls/index.js +0 -3
- package/dist/plugins/Controls/index.js.map +0 -1
- package/dist/plugins/Controls/types.js +0 -2
- package/dist/plugins/Controls/types.js.map +0 -1
- package/dist/plugins/NodeResizer/NodeResizeControl.js +0 -166
- package/dist/plugins/NodeResizer/NodeResizeControl.js.map +0 -1
- package/dist/plugins/NodeResizer/NodeResizer.js +0 -35
- package/dist/plugins/NodeResizer/NodeResizer.js.map +0 -1
- package/dist/plugins/NodeResizer/index.js +0 -4
- package/dist/plugins/NodeResizer/index.js.map +0 -1
- package/dist/plugins/NodeResizer/types.js +0 -2
- package/dist/plugins/NodeResizer/types.js.map +0 -1
- package/dist/plugins/index.js +0 -4
- package/dist/plugins/index.js.map +0 -1
- package/dist/store/index.js +0 -384
- package/dist/store/index.js.map +0 -1
- package/dist/store/initialState.js +0 -84
- package/dist/store/initialState.js.map +0 -1
- package/dist/styles/utils.js +0 -8
- package/dist/styles/utils.js.map +0 -1
- package/dist/types/edges.js +0 -2
- package/dist/types/edges.js.map +0 -1
- package/dist/types/general.js +0 -2
- package/dist/types/general.js.map +0 -1
- package/dist/types/index.js +0 -7
- package/dist/types/index.js.map +0 -1
- package/dist/types/instance.js +0 -2
- package/dist/types/instance.js.map +0 -1
- package/dist/types/layout.js +0 -2
- package/dist/types/layout.js.map +0 -1
- package/dist/types/nodes.js +0 -2
- package/dist/types/nodes.js.map +0 -1
- package/dist/types/props.js +0 -2
- package/dist/types/props.js.map +0 -1
- package/dist/types/store.js +0 -2
- package/dist/types/store.js.map +0 -1
- package/dist/types/utils/types.js +0 -2
- package/dist/types/utils/types.js.map +0 -1
- package/dist/utils/changes.js +0 -213
- package/dist/utils/changes.js.map +0 -1
- package/dist/utils/dom.js +0 -38
- package/dist/utils/dom.js.map +0 -1
- package/dist/utils/edges/bezier-edge.js +0 -96
- package/dist/utils/edges/bezier-edge.js.map +0 -1
- package/dist/utils/edges/general.js +0 -108
- package/dist/utils/edges/general.js.map +0 -1
- package/dist/utils/edges/index.js +0 -6
- package/dist/utils/edges/index.js.map +0 -1
- package/dist/utils/edges/positions.js +0 -101
- package/dist/utils/edges/positions.js.map +0 -1
- package/dist/utils/edges/smoothstep-edge.js +0 -222
- package/dist/utils/edges/smoothstep-edge.js.map +0 -1
- package/dist/utils/edges/straight-edge.js +0 -32
- package/dist/utils/edges/straight-edge.js.map +0 -1
- package/dist/utils/general.js +0 -228
- package/dist/utils/general.js.map +0 -1
- package/dist/utils/graph.js +0 -368
- package/dist/utils/graph.js.map +0 -1
- package/dist/utils/layout.js +0 -142
- package/dist/utils/layout.js.map +0 -1
- package/dist/utils/marker.js +0 -35
- package/dist/utils/marker.js.map +0 -1
- package/dist/utils/node.js +0 -42
- package/dist/utils/node.js.map +0 -1
- package/dist/utils/positions.js +0 -101
- package/dist/utils/positions.js.map +0 -1
- package/dist/utils/store.js +0 -162
- package/dist/utils/store.js.map +0 -1
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect, useRef, useMemo } from 'react';
|
|
2
|
-
import { isInputDOMNode } from '../utils/dom';
|
|
3
|
-
var defaultDoc = typeof document !== 'undefined' ? document : null;
|
|
4
|
-
/**
|
|
5
|
-
* Hook for handling key events.
|
|
6
|
-
*
|
|
7
|
-
* @public
|
|
8
|
-
* @param param.keyCode - The key code (string or array of strings) to use
|
|
9
|
-
* @param param.options - Options
|
|
10
|
-
* @returns boolean
|
|
11
|
-
*/
|
|
12
|
-
export function useKeyPress(
|
|
13
|
-
// the keycode can be a string 'a' or an array of strings ['a', 'a+d']
|
|
14
|
-
// a string means a single key 'a' or a combination when '+' is used 'a+d'
|
|
15
|
-
// an array means different possibilites. Explainer: ['a', 'd+s'] here the
|
|
16
|
-
// user can use the single key 'a' or the combination 'd' + 's'
|
|
17
|
-
keyCode, options) {
|
|
18
|
-
if (keyCode === void 0) { keyCode = null; }
|
|
19
|
-
if (options === void 0) { options = {
|
|
20
|
-
target: defaultDoc,
|
|
21
|
-
actInsideInputWithModifier: true,
|
|
22
|
-
}; }
|
|
23
|
-
var _a = __read(useState(false), 2), keyPressed = _a[0], setKeyPressed = _a[1];
|
|
24
|
-
// we need to remember if a modifier key is pressed in order to track it
|
|
25
|
-
var modifierPressed = useRef(false);
|
|
26
|
-
// we need to remember the pressed keys in order to support combinations
|
|
27
|
-
var pressedKeys = useRef(new Set([]));
|
|
28
|
-
// keyCodes = array with single keys [['a']] or key combinations [['a', 's']]
|
|
29
|
-
// keysToWatch = array with all keys flattened ['a', 'd', 'ShiftLeft']
|
|
30
|
-
// used to check if we store event.code or event.key. When the code is in the list of keysToWatch
|
|
31
|
-
// we use the code otherwise the key. Explainer: When you press the left "command" key, the code is "MetaLeft"
|
|
32
|
-
// and the key is "Meta". We want users to be able to pass keys and codes so we assume that the key is meant when
|
|
33
|
-
// we can't find it in the list of keysToWatch.
|
|
34
|
-
var _b = __read(useMemo(function () {
|
|
35
|
-
if (keyCode !== null) {
|
|
36
|
-
var keyCodeArr = Array.isArray(keyCode) ? keyCode : [keyCode];
|
|
37
|
-
var keys = keyCodeArr
|
|
38
|
-
.filter(function (kc) { return typeof kc === 'string'; })
|
|
39
|
-
.map(function (kc) { return kc.split('+'); });
|
|
40
|
-
var keysFlat = keys.reduce(function (res, item) { return res.concat.apply(res, __spreadArray([], __read(item), false)); }, []);
|
|
41
|
-
return [keys, keysFlat];
|
|
42
|
-
}
|
|
43
|
-
return [[], []];
|
|
44
|
-
}, [keyCode]), 2), keyCodes = _b[0], keysToWatch = _b[1];
|
|
45
|
-
useEffect(function () {
|
|
46
|
-
var target = (options === null || options === void 0 ? void 0 : options.target) || defaultDoc;
|
|
47
|
-
if (keyCode !== null) {
|
|
48
|
-
var downHandler_1 = function (event) {
|
|
49
|
-
modifierPressed.current =
|
|
50
|
-
event.ctrlKey || event.metaKey || event.shiftKey;
|
|
51
|
-
var preventAction = (!modifierPressed.current ||
|
|
52
|
-
(modifierPressed.current && !options.actInsideInputWithModifier)) &&
|
|
53
|
-
isInputDOMNode(event);
|
|
54
|
-
if (preventAction) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
var keyOrCode = useKeyOrCode(event.code, keysToWatch);
|
|
58
|
-
pressedKeys.current.add(event[keyOrCode]);
|
|
59
|
-
if (isMatchingKey(keyCodes, pressedKeys.current, false)) {
|
|
60
|
-
event.preventDefault();
|
|
61
|
-
setKeyPressed(true);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
var upHandler_1 = function (event) {
|
|
65
|
-
var preventAction = (!modifierPressed.current ||
|
|
66
|
-
(modifierPressed.current && !options.actInsideInputWithModifier)) &&
|
|
67
|
-
isInputDOMNode(event);
|
|
68
|
-
if (preventAction) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
var keyOrCode = useKeyOrCode(event.code, keysToWatch);
|
|
72
|
-
if (isMatchingKey(keyCodes, pressedKeys.current, true)) {
|
|
73
|
-
setKeyPressed(false);
|
|
74
|
-
pressedKeys.current.clear();
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
pressedKeys.current.delete(event[keyOrCode]);
|
|
78
|
-
}
|
|
79
|
-
// fix for Mac: when cmd key is pressed, keyup is not triggered for any other key, see: https://stackoverflow.com/questions/27380018/when-cmd-key-is-kept-pressed-keyup-is-not-triggered-for-any-other-key
|
|
80
|
-
if (event.key === 'Meta') {
|
|
81
|
-
pressedKeys.current.clear();
|
|
82
|
-
}
|
|
83
|
-
modifierPressed.current = false;
|
|
84
|
-
};
|
|
85
|
-
var resetHandler_1 = function () {
|
|
86
|
-
pressedKeys.current.clear();
|
|
87
|
-
setKeyPressed(false);
|
|
88
|
-
};
|
|
89
|
-
target === null || target === void 0 ? void 0 : target.addEventListener('keydown', downHandler_1);
|
|
90
|
-
target === null || target === void 0 ? void 0 : target.addEventListener('keyup', upHandler_1);
|
|
91
|
-
window.addEventListener('blur', resetHandler_1);
|
|
92
|
-
window.addEventListener('contextmenu', resetHandler_1);
|
|
93
|
-
return function () {
|
|
94
|
-
target === null || target === void 0 ? void 0 : target.removeEventListener('keydown', downHandler_1);
|
|
95
|
-
target === null || target === void 0 ? void 0 : target.removeEventListener('keyup', upHandler_1);
|
|
96
|
-
window.removeEventListener('blur', resetHandler_1);
|
|
97
|
-
window.removeEventListener('contextmenu', resetHandler_1);
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}, [keyCode, setKeyPressed]);
|
|
101
|
-
return keyPressed;
|
|
102
|
-
}
|
|
103
|
-
// utils
|
|
104
|
-
function isMatchingKey(keyCodes, pressedKeys, isUp) {
|
|
105
|
-
return (keyCodes
|
|
106
|
-
// we only want to compare same sizes of keyCode definitions
|
|
107
|
-
// and pressed keys. When the user specified 'Meta' as a key somewhere
|
|
108
|
-
// this would also be truthy without this filter when user presses 'Meta' + 'r'
|
|
109
|
-
.filter(function (keys) { return isUp || keys.length === pressedKeys.size; })
|
|
110
|
-
// since we want to support multiple possibilities only one of the
|
|
111
|
-
// combinations need to be part of the pressed keys
|
|
112
|
-
.some(function (keys) { return keys.every(function (k) { return pressedKeys.has(k); }); }));
|
|
113
|
-
}
|
|
114
|
-
function useKeyOrCode(eventCode, keysToWatch) {
|
|
115
|
-
return keysToWatch.includes(eventCode) ? 'code' : 'key';
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=useKeyPress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyPress.js","sourceRoot":"","sources":["../../src/hooks/useKeyPress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAY9C,IAAM,UAAU,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW;AACzB,sEAAsE;AACtE,0EAA0E;AAC1E,0EAA0E;AAC1E,+DAA+D;AAC/D,OAA8B,EAC9B,OAGC;IAJD,wBAAA,EAAA,cAA8B;IAC9B,wBAAA,EAAA;QACE,MAAM,EAAE,UAAU;QAClB,0BAA0B,EAAE,IAAI;KACjC;IAEK,IAAA,KAAA,OAA8B,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA5C,UAAU,QAAA,EAAE,aAAa,QAAmB,CAAC;IAEpD,wEAAwE;IACxE,IAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtC,wEAAwE;IACxE,IAAM,WAAW,GAAG,MAAM,CAAc,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAErD,6EAA6E;IAC7E,sEAAsE;IACtE,iGAAiG;IACjG,8GAA8G;IAC9G,iHAAiH;IACjH,+CAA+C;IACzC,IAAA,KAAA,OAA0B,OAAO,CAAsB;QAC3D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChE,IAAM,IAAI,GAAG,UAAU;iBACpB,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,OAAO,EAAE,KAAK,QAAQ,EAAtB,CAAsB,CAAC;iBACtC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAb,CAAa,CAAC,CAAC;YAC9B,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAC1B,UAAC,GAAS,EAAE,IAAI,IAAK,OAAA,GAAG,CAAC,MAAM,OAAV,GAAG,2BAAW,IAAI,YAAlB,CAAmB,EACxC,EAAE,CACH,CAAC;YAEF,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAA,EAfN,QAAQ,QAAA,EAAE,WAAW,QAef,CAAC;IAEd,SAAS,CAAC;QACR,IAAM,MAAM,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,UAAU,CAAC;QAE7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAM,aAAW,GAAG,UAAC,KAAoB;gBACvC,eAAe,CAAC,OAAO;oBACrB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC;gBACnD,IAAM,aAAa,GACjB,CAAC,CAAC,eAAe,CAAC,OAAO;oBACvB,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;oBACnE,cAAc,CAAC,KAAK,CAAC,CAAC;gBAExB,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACxD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE1C,IAAI,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBACxD,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,aAAa,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC;YAEF,IAAM,WAAS,GAAG,UAAC,KAAoB;gBACrC,IAAM,aAAa,GACjB,CAAC,CAAC,eAAe,CAAC,OAAO;oBACvB,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;oBACnE,cAAc,CAAC,KAAK,CAAC,CAAC;gBAExB,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAExD,IAAI,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;oBACvD,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/C,CAAC;gBAED,0MAA0M;gBAC1M,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;oBACzB,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;gBAED,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,CAAC,CAAC;YAEF,IAAM,cAAY,GAAG;gBACnB,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC5B,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC;YAEF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CACtB,SAAS,EACT,aAAiD,CAClD,CAAC;YACF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CACtB,OAAO,EACP,WAA+C,CAChD,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAY,CAAC,CAAC;YAErD,OAAO;gBACL,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CACzB,SAAS,EACT,aAAiD,CAClD,CAAC;gBACF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CACzB,OAAO,EACP,WAA+C,CAChD,CAAC;gBACF,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAY,CAAC,CAAC;gBACjD,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAY,CAAC,CAAC;YAC1D,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAE7B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,QAAQ;AAER,SAAS,aAAa,CACpB,QAAqB,EACrB,WAAwB,EACxB,IAAa;IAEb,OAAO,CACL,QAAQ;QACN,4DAA4D;QAC5D,sEAAsE;QACtE,+EAA+E;SAC9E,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,EAAxC,CAAwC,CAAC;QAC3D,kEAAkE;QAClE,mDAAmD;SAClD,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,EAArC,CAAqC,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,WAAoB;IAC3D,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { useStoreApi } from './useStore';
|
|
3
|
-
import { snapPosition } from '../utils/general';
|
|
4
|
-
import { calculateNodePosition } from '../utils/graph';
|
|
5
|
-
var selectedAndDraggable = function (nodesDraggable) { return function (n) {
|
|
6
|
-
return n.selected &&
|
|
7
|
-
(n.draggable || (nodesDraggable && typeof n.draggable === 'undefined'));
|
|
8
|
-
}; };
|
|
9
|
-
/**
|
|
10
|
-
* Hook for updating node positions by passing a direction and factor
|
|
11
|
-
*
|
|
12
|
-
* @internal
|
|
13
|
-
* @returns function for updating node positions
|
|
14
|
-
*/
|
|
15
|
-
export function useMoveSelectedNodes() {
|
|
16
|
-
var store = useStoreApi();
|
|
17
|
-
var moveSelectedNodes = useCallback(function (params) {
|
|
18
|
-
var e_1, _a;
|
|
19
|
-
var _b = store.getState(), nodeExtent = _b.nodeExtent, snapToGrid = _b.snapToGrid, snapGrid = _b.snapGrid, nodesDraggable = _b.nodesDraggable, onError = _b.onError, updateNodePositions = _b.updateNodePositions, nodeLookup = _b.nodeLookup, nodeOrigin = _b.nodeOrigin;
|
|
20
|
-
var nodeUpdates = new Map();
|
|
21
|
-
var isSelected = selectedAndDraggable(nodesDraggable);
|
|
22
|
-
// by default a node moves 5px on each key press
|
|
23
|
-
// if snap grid is enabled, we use that for the velocity
|
|
24
|
-
var xVelo = snapToGrid ? snapGrid[0] : 5;
|
|
25
|
-
var yVelo = snapToGrid ? snapGrid[1] : 5;
|
|
26
|
-
var xDiff = params.direction.x * xVelo * params.factor;
|
|
27
|
-
var yDiff = params.direction.y * yVelo * params.factor;
|
|
28
|
-
try {
|
|
29
|
-
for (var nodeLookup_1 = __values(nodeLookup), nodeLookup_1_1 = nodeLookup_1.next(); !nodeLookup_1_1.done; nodeLookup_1_1 = nodeLookup_1.next()) {
|
|
30
|
-
var _c = __read(nodeLookup_1_1.value, 2), node = _c[1];
|
|
31
|
-
if (!isSelected(node)) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
var nextPosition = {
|
|
35
|
-
x: node.internals.positionAbsolute.x + xDiff,
|
|
36
|
-
y: node.internals.positionAbsolute.y + yDiff,
|
|
37
|
-
};
|
|
38
|
-
if (snapToGrid) {
|
|
39
|
-
nextPosition = snapPosition(nextPosition, snapGrid);
|
|
40
|
-
}
|
|
41
|
-
var _d = calculateNodePosition({
|
|
42
|
-
nodeId: node.id,
|
|
43
|
-
nextPosition: nextPosition,
|
|
44
|
-
nodeLookup: nodeLookup,
|
|
45
|
-
nodeExtent: nodeExtent,
|
|
46
|
-
nodeOrigin: nodeOrigin,
|
|
47
|
-
onError: onError,
|
|
48
|
-
}), position = _d.position, positionAbsolute = _d.positionAbsolute;
|
|
49
|
-
node.position = position;
|
|
50
|
-
node.internals.positionAbsolute = positionAbsolute;
|
|
51
|
-
nodeUpdates.set(node.id, node);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
55
|
-
finally {
|
|
56
|
-
try {
|
|
57
|
-
if (nodeLookup_1_1 && !nodeLookup_1_1.done && (_a = nodeLookup_1.return)) _a.call(nodeLookup_1);
|
|
58
|
-
}
|
|
59
|
-
finally { if (e_1) throw e_1.error; }
|
|
60
|
-
}
|
|
61
|
-
updateNodePositions(nodeUpdates);
|
|
62
|
-
}, []);
|
|
63
|
-
return moveSelectedNodes;
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=useMoveSelectedNodes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMoveSelectedNodes.js","sourceRoot":"","sources":["../../src/hooks/useMoveSelectedNodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,IAAM,oBAAoB,GAAG,UAAC,cAAuB,IAAK,OAAA,UAAC,CAAO;IAChE,OAAA,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC;AADvE,CACuE,EAFf,CAEe,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAE5B,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,MAAiD;;QAC1C,IAAA,KASF,KAAK,CAAC,QAAQ,EAAE,EARlB,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,OAAO,aAAA,EACP,mBAAmB,yBAAA,EACnB,UAAU,gBAAA,EACV,UAAU,gBACQ,CAAC;QACrB,IAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAM,UAAU,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAExD,gDAAgD;QAChD,wDAAwD;QACxD,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QACzD,IAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;;YAEzD,KAAuB,IAAA,eAAA,SAAA,UAAU,CAAA,sCAAA,8DAAE,CAAC;gBAAzB,IAAA,KAAA,+BAAQ,EAAL,IAAI,QAAA;gBAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBAED,IAAI,YAAY,GAAG;oBACjB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK;oBAC5C,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK;iBAC7C,CAAC;gBAEF,IAAI,UAAU,EAAE,CAAC;oBACf,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACtD,CAAC;gBAEK,IAAA,KAAiC,qBAAqB,CAAC;oBAC3D,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,YAAY,cAAA;oBACZ,UAAU,YAAA;oBACV,UAAU,YAAA;oBACV,UAAU,YAAA;oBACV,OAAO,SAAA;iBACR,CAAC,EAPM,QAAQ,cAAA,EAAE,gBAAgB,sBAOhC,CAAC;gBAEH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;gBAEnD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;;;;;;;;;QAED,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { useStore } from './useStore';
|
|
3
|
-
import { isNodeInViewport, pointToRendererPoint, } from '../utils/general';
|
|
4
|
-
/**
|
|
5
|
-
* Hook for checking if a specific node is visible in the viewport.
|
|
6
|
-
*
|
|
7
|
-
* @public
|
|
8
|
-
* @param nodeId - The id of the node to check visibility for
|
|
9
|
-
* @returns boolean indicating if the node is visible in the viewport
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
export function useNodeInView(nodeId) {
|
|
13
|
-
var isInView = useStore(useCallback(function (s) {
|
|
14
|
-
if (!s.width || !s.height) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
if (s.autoLayout && !s.layoutComplete) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
var node = s.nodeLookup.get(nodeId);
|
|
21
|
-
if (!node) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
// Calculate viewport rect in renderer coordinates
|
|
25
|
-
var _a = __read(s.transform, 3), tx = _a[0], ty = _a[1], tScale = _a[2];
|
|
26
|
-
var paneOrigin = pointToRendererPoint({ x: 0, y: 0 }, [
|
|
27
|
-
tx,
|
|
28
|
-
ty,
|
|
29
|
-
tScale,
|
|
30
|
-
]);
|
|
31
|
-
var paneRect = {
|
|
32
|
-
x: paneOrigin.x,
|
|
33
|
-
y: paneOrigin.y,
|
|
34
|
-
width: s.width / tScale,
|
|
35
|
-
height: s.height / tScale,
|
|
36
|
-
};
|
|
37
|
-
return isNodeInViewport(node, paneRect);
|
|
38
|
-
}, [nodeId]));
|
|
39
|
-
return isInView;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=useNodeInView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNodeInView.js","sourceRoot":"","sources":["../../src/hooks/useNodeInView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAM,QAAQ,GAAG,QAAQ,CACvB,WAAW,CACT,UAAC,CAAe;QACd,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kDAAkD;QAC5C,IAAA,KAAA,OAAmB,CAAC,CAAC,SAAS,IAAA,EAA7B,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,MAAM,QAAe,CAAC;QACrC,IAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YACtD,EAAE;YACF,EAAE;YACF,MAAM;SACP,CAAC,CAAC;QACH,IAAM,QAAQ,GAAG;YACf,CAAC,EAAE,UAAU,CAAC,CAAC;YACf,CAAC,EAAE,UAAU,CAAC,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM;YACvB,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM;SAC1B,CAAC;QAEF,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { shallow } from 'zustand/shallow';
|
|
3
|
-
import { useStore } from './useStore';
|
|
4
|
-
import { isNodeInViewport, pointToRendererPoint } from '../utils/general';
|
|
5
|
-
/**
|
|
6
|
-
* Hook for getting nodes that are currently visible in the viewport.
|
|
7
|
-
* Unlike getNodesInside, this hook does NOT force initial render visibility,
|
|
8
|
-
* making it suitable for lazy loading scenarios.
|
|
9
|
-
*
|
|
10
|
-
* @public
|
|
11
|
-
* @returns array of visible nodes
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export function useNodesInView() {
|
|
15
|
-
var visibleNodes = useStore(useCallback(function (s) {
|
|
16
|
-
var e_1, _a;
|
|
17
|
-
if (!s.width || !s.height) {
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
// 如果开启了自动布局,须等待布局完成
|
|
21
|
-
if (s.autoLayout && !s.layoutComplete) {
|
|
22
|
-
return [];
|
|
23
|
-
}
|
|
24
|
-
var _b = __read(s.transform, 3), tx = _b[0], ty = _b[1], tScale = _b[2];
|
|
25
|
-
var paneOrigin = pointToRendererPoint({ x: 0, y: 0 }, [tx, ty, tScale]);
|
|
26
|
-
var paneRect = {
|
|
27
|
-
x: paneOrigin.x,
|
|
28
|
-
y: paneOrigin.y,
|
|
29
|
-
width: s.width / tScale,
|
|
30
|
-
height: s.height / tScale,
|
|
31
|
-
};
|
|
32
|
-
var result = [];
|
|
33
|
-
try {
|
|
34
|
-
for (var _c = __values(s.nodeLookup.values()), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
35
|
-
var node = _d.value;
|
|
36
|
-
if (isNodeInViewport(node, paneRect)) {
|
|
37
|
-
result.push(node.internals.userNode);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
42
|
-
finally {
|
|
43
|
-
try {
|
|
44
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
45
|
-
}
|
|
46
|
-
finally { if (e_1) throw e_1.error; }
|
|
47
|
-
}
|
|
48
|
-
return result;
|
|
49
|
-
}, []), shallow);
|
|
50
|
-
return visibleNodes;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=useNodesInView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNodesInView.js","sourceRoot":"","sources":["../../src/hooks/useNodesInView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAM,YAAY,GAAG,QAAQ,CAC3B,WAAW,CACT,UAAC,CAAe;;QACd,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAgB,CAAC;QAC1B,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACtC,OAAO,EAAgB,CAAC;QAC1B,CAAC;QAEK,IAAA,KAAA,OAAmB,CAAC,CAAC,SAAS,IAAA,EAA7B,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,MAAM,QAAe,CAAC;QACrC,IAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAM,QAAQ,GAAG;YACf,CAAC,EAAE,UAAU,CAAC,CAAC;YACf,CAAC,EAAE,UAAU,CAAC,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,MAAM;YACvB,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,MAAM;SAC1B,CAAC;QAEF,IAAM,MAAM,GAAe,EAAE,CAAC;;YAE9B,KAAmB,IAAA,KAAA,SAAA,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE,CAAC;gBAAtC,IAAM,IAAI,WAAA;gBACb,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAoB,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;;;;;;;;;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,EAAE,CACH,EACD,OAAO,CACR,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNodesState.js","sourceRoot":"","sources":["../../src/hooks/useNodesState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsC,MAAM,OAAO,CAAC;AAGrE,MAAM,UAAU,aAAa,CAC3B,YAAwB;IAElB,IAAA,KAAA,OAAoB,QAAQ,CAAC,YAAY,CAAC,IAAA,EAAzC,KAAK,QAAA,EAAE,QAAQ,QAA0B,CAAC;IAEjD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import { useStoreApi } from '../hooks/useStore';
|
|
3
|
-
import { getDimensions } from '../utils/dom';
|
|
4
|
-
import { errorMessages } from '@aloudata/ink-core';
|
|
5
|
-
/**
|
|
6
|
-
* Hook for handling resize events.
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export function useResizeHandler(domNode) {
|
|
11
|
-
var store = useStoreApi();
|
|
12
|
-
useEffect(function () {
|
|
13
|
-
var updateDimensions = function () {
|
|
14
|
-
var _a, _b;
|
|
15
|
-
if (!domNode.current) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
var size = getDimensions(domNode.current);
|
|
19
|
-
if (size.height === 0 || size.width === 0) {
|
|
20
|
-
(_b = (_a = store.getState()).onError) === null || _b === void 0 ? void 0 : _b.call(_a, '004', errorMessages['error004']());
|
|
21
|
-
}
|
|
22
|
-
store.setState({ width: size.width || 500, height: size.height || 500 });
|
|
23
|
-
};
|
|
24
|
-
if (domNode.current) {
|
|
25
|
-
updateDimensions();
|
|
26
|
-
window.addEventListener('resize', updateDimensions);
|
|
27
|
-
var resizeObserver_1 = new ResizeObserver(function () { return updateDimensions(); });
|
|
28
|
-
resizeObserver_1.observe(domNode.current);
|
|
29
|
-
return function () {
|
|
30
|
-
window.removeEventListener('resize', updateDimensions);
|
|
31
|
-
if (resizeObserver_1 && domNode.current) {
|
|
32
|
-
resizeObserver_1.unobserve(domNode.current);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}, []);
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=useResizeHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useResizeHandler.js","sourceRoot":"","sources":["../../src/hooks/useResizeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgD;IAEhD,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAE5B,SAAS,CAAC;QACR,IAAM,gBAAgB,GAAG;;YACvB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAQ,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAA,MAAA,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,mDAAG,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,gBAAgB,EAAE,CAAC;YACnB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAEpD,IAAM,gBAAc,GAAG,IAAI,cAAc,CAAC,cAAM,OAAA,gBAAgB,EAAE,EAAlB,CAAkB,CAAC,CAAC;YACpE,gBAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAExC,OAAO;gBACL,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAEvD,IAAI,gBAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACtC,gBAAc,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
package/dist/hooks/useStore.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { useContext, useMemo } from 'react';
|
|
2
|
-
import { useStoreWithEqualityFn as useZustandStore, } from 'zustand/traditional';
|
|
3
|
-
import StoreContext from '../contexts/StoreContext';
|
|
4
|
-
import { errorMessages } from '@aloudata/ink-core';
|
|
5
|
-
var zustandErrorMessage = errorMessages['error001']();
|
|
6
|
-
/**
|
|
7
|
-
* Hook for accessing the internal store. Should only be used in rare cases.
|
|
8
|
-
*
|
|
9
|
-
* @public
|
|
10
|
-
* @param selector
|
|
11
|
-
* @param equalityFn
|
|
12
|
-
* @returns The selected state slice
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* const nodes = useStore((state: InkFlowState<MyNodeType>) => state.nodes);
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
function useStore(selector, equalityFn) {
|
|
19
|
-
var store = useContext(StoreContext);
|
|
20
|
-
if (store === null) {
|
|
21
|
-
throw new Error(zustandErrorMessage);
|
|
22
|
-
}
|
|
23
|
-
return useZustandStore(store, selector, equalityFn);
|
|
24
|
-
}
|
|
25
|
-
function useStoreApi() {
|
|
26
|
-
var store = useContext(StoreContext);
|
|
27
|
-
if (store === null) {
|
|
28
|
-
throw new Error(zustandErrorMessage);
|
|
29
|
-
}
|
|
30
|
-
return useMemo(function () { return ({
|
|
31
|
-
getState: store.getState,
|
|
32
|
-
setState: store.setState,
|
|
33
|
-
subscribe: store.subscribe,
|
|
34
|
-
}); }, [store]);
|
|
35
|
-
}
|
|
36
|
-
export { useStore, useStoreApi };
|
|
37
|
-
//# sourceMappingURL=useStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStore.js","sourceRoot":"","sources":["../../src/hooks/useStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAEL,sBAAsB,IAAI,eAAe,GAC1C,MAAM,qBAAqB,CAAC;AAI7B,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,IAAM,mBAAmB,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,SAAS,QAAQ,CACf,QAA6C,EAC7C,UAAsD;IAEtD,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEvC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW;IAIlB,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAE7B,CAAC;IAET,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,OAAO,CACZ,cAAM,OAAA,CAAC;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,EAJI,CAIJ,EACF,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
|
-
import { useStoreApi } from '../hooks/useStore';
|
|
3
|
-
import { getViewportForBounds, pointToRendererPoint, rendererPointToPoint, } from '../utils/general';
|
|
4
|
-
import { fitView } from '../utils/graph';
|
|
5
|
-
import { getDimensions, getFitViewNodes, } from '@aloudata/ink-core';
|
|
6
|
-
/**
|
|
7
|
-
* Hook for getting viewport helper functions.
|
|
8
|
-
*
|
|
9
|
-
* @internal
|
|
10
|
-
* @returns viewport helper functions
|
|
11
|
-
*/
|
|
12
|
-
var useViewportHelper = function () {
|
|
13
|
-
var store = useStoreApi();
|
|
14
|
-
return useMemo(function () {
|
|
15
|
-
return {
|
|
16
|
-
zoomIn: function (options) {
|
|
17
|
-
var panZoom = store.getState().panZoom;
|
|
18
|
-
return panZoom
|
|
19
|
-
? panZoom.scaleBy(1.2, { duration: options === null || options === void 0 ? void 0 : options.duration })
|
|
20
|
-
: Promise.resolve(false);
|
|
21
|
-
},
|
|
22
|
-
zoomOut: function (options) {
|
|
23
|
-
var panZoom = store.getState().panZoom;
|
|
24
|
-
return panZoom
|
|
25
|
-
? panZoom.scaleBy(1 / 1.2, { duration: options === null || options === void 0 ? void 0 : options.duration })
|
|
26
|
-
: Promise.resolve(false);
|
|
27
|
-
},
|
|
28
|
-
zoomTo: function (zoomLevel, options) {
|
|
29
|
-
var panZoom = store.getState().panZoom;
|
|
30
|
-
return panZoom
|
|
31
|
-
? panZoom.scaleTo(zoomLevel, { duration: options === null || options === void 0 ? void 0 : options.duration })
|
|
32
|
-
: Promise.resolve(false);
|
|
33
|
-
},
|
|
34
|
-
getZoom: function () { return store.getState().transform[2]; },
|
|
35
|
-
setViewport: function (viewport, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
36
|
-
var _a, _b, tX, tY, tZoom, panZoom;
|
|
37
|
-
var _c, _d, _e;
|
|
38
|
-
return __generator(this, function (_f) {
|
|
39
|
-
switch (_f.label) {
|
|
40
|
-
case 0:
|
|
41
|
-
_a = store.getState(), _b = __read(_a.transform, 3), tX = _b[0], tY = _b[1], tZoom = _b[2], panZoom = _a.panZoom;
|
|
42
|
-
if (!panZoom) {
|
|
43
|
-
return [2 /*return*/, Promise.resolve(false)];
|
|
44
|
-
}
|
|
45
|
-
return [4 /*yield*/, panZoom.setViewport({
|
|
46
|
-
x: (_c = viewport.x) !== null && _c !== void 0 ? _c : tX,
|
|
47
|
-
y: (_d = viewport.y) !== null && _d !== void 0 ? _d : tY,
|
|
48
|
-
zoom: (_e = viewport.zoom) !== null && _e !== void 0 ? _e : tZoom,
|
|
49
|
-
}, { duration: options === null || options === void 0 ? void 0 : options.duration })];
|
|
50
|
-
case 1:
|
|
51
|
-
_f.sent();
|
|
52
|
-
return [2 /*return*/, Promise.resolve(true)];
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}); },
|
|
56
|
-
getViewport: function () {
|
|
57
|
-
var _a = __read(store.getState().transform, 3), x = _a[0], y = _a[1], zoom = _a[2];
|
|
58
|
-
return { x: x, y: y, zoom: zoom };
|
|
59
|
-
},
|
|
60
|
-
fitView: function (options) {
|
|
61
|
-
var _a = store.getState(), nodeLookup = _a.nodeLookup, minZoom = _a.minZoom, maxZoom = _a.maxZoom, panZoom = _a.panZoom, domNode = _a.domNode;
|
|
62
|
-
if (!panZoom || !domNode) {
|
|
63
|
-
return Promise.resolve(false);
|
|
64
|
-
}
|
|
65
|
-
var fitViewNodes = getFitViewNodes(nodeLookup, options);
|
|
66
|
-
var _b = getDimensions(domNode), width = _b.width, height = _b.height;
|
|
67
|
-
return fitView({
|
|
68
|
-
nodes: fitViewNodes,
|
|
69
|
-
width: width,
|
|
70
|
-
height: height,
|
|
71
|
-
minZoom: minZoom,
|
|
72
|
-
maxZoom: maxZoom,
|
|
73
|
-
panZoom: panZoom,
|
|
74
|
-
}, options);
|
|
75
|
-
},
|
|
76
|
-
setCenter: function (x, y, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
77
|
-
var _a, width, height, maxZoom, panZoom, nextZoom, centerX, centerY;
|
|
78
|
-
return __generator(this, function (_b) {
|
|
79
|
-
switch (_b.label) {
|
|
80
|
-
case 0:
|
|
81
|
-
_a = store.getState(), width = _a.width, height = _a.height, maxZoom = _a.maxZoom, panZoom = _a.panZoom;
|
|
82
|
-
nextZoom = typeof (options === null || options === void 0 ? void 0 : options.zoom) !== 'undefined' ? options.zoom : maxZoom;
|
|
83
|
-
centerX = width / 2 - x * nextZoom;
|
|
84
|
-
centerY = height / 2 - y * nextZoom;
|
|
85
|
-
if (!panZoom) {
|
|
86
|
-
return [2 /*return*/, Promise.resolve(false)];
|
|
87
|
-
}
|
|
88
|
-
return [4 /*yield*/, panZoom.setViewport({
|
|
89
|
-
x: centerX,
|
|
90
|
-
y: centerY,
|
|
91
|
-
zoom: nextZoom,
|
|
92
|
-
}, { duration: options === null || options === void 0 ? void 0 : options.duration })];
|
|
93
|
-
case 1:
|
|
94
|
-
_b.sent();
|
|
95
|
-
return [2 /*return*/, Promise.resolve(true)];
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}); },
|
|
99
|
-
fitBounds: function (bounds, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
100
|
-
var _a, width, height, minZoom, maxZoom, panZoom, viewport;
|
|
101
|
-
var _b;
|
|
102
|
-
return __generator(this, function (_c) {
|
|
103
|
-
switch (_c.label) {
|
|
104
|
-
case 0:
|
|
105
|
-
_a = store.getState(), width = _a.width, height = _a.height, minZoom = _a.minZoom, maxZoom = _a.maxZoom, panZoom = _a.panZoom;
|
|
106
|
-
viewport = getViewportForBounds(bounds, width, height, minZoom, maxZoom, (_b = options === null || options === void 0 ? void 0 : options.padding) !== null && _b !== void 0 ? _b : 0.1);
|
|
107
|
-
if (!panZoom) {
|
|
108
|
-
return [2 /*return*/, Promise.resolve(false)];
|
|
109
|
-
}
|
|
110
|
-
return [4 /*yield*/, panZoom.setViewport(viewport, { duration: options === null || options === void 0 ? void 0 : options.duration })];
|
|
111
|
-
case 1:
|
|
112
|
-
_c.sent();
|
|
113
|
-
return [2 /*return*/, Promise.resolve(true)];
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}); },
|
|
117
|
-
screenToFlowPosition: function (clientPosition, options) {
|
|
118
|
-
var _a, _b;
|
|
119
|
-
if (options === void 0) { options = {}; }
|
|
120
|
-
var _c = store.getState(), transform = _c.transform, snapGrid = _c.snapGrid, snapToGrid = _c.snapToGrid, domNode = _c.domNode;
|
|
121
|
-
if (!domNode) {
|
|
122
|
-
return clientPosition;
|
|
123
|
-
}
|
|
124
|
-
var _d = domNode.getBoundingClientRect(), domX = _d.x, domY = _d.y;
|
|
125
|
-
var correctedPosition = {
|
|
126
|
-
x: clientPosition.x - domX,
|
|
127
|
-
y: clientPosition.y - domY,
|
|
128
|
-
};
|
|
129
|
-
var _snapGrid = (_a = options.snapGrid) !== null && _a !== void 0 ? _a : snapGrid;
|
|
130
|
-
var _snapToGrid = (_b = options.snapToGrid) !== null && _b !== void 0 ? _b : snapToGrid;
|
|
131
|
-
return pointToRendererPoint(correctedPosition, transform, _snapToGrid, _snapGrid);
|
|
132
|
-
},
|
|
133
|
-
flowToScreenPosition: function (flowPosition) {
|
|
134
|
-
var _a = store.getState(), transform = _a.transform, domNode = _a.domNode;
|
|
135
|
-
if (!domNode) {
|
|
136
|
-
return flowPosition;
|
|
137
|
-
}
|
|
138
|
-
var _b = domNode.getBoundingClientRect(), domX = _b.x, domY = _b.y;
|
|
139
|
-
var rendererPosition = rendererPointToPoint(flowPosition, transform);
|
|
140
|
-
return {
|
|
141
|
-
x: rendererPosition.x + domX,
|
|
142
|
-
y: rendererPosition.y + domY,
|
|
143
|
-
};
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
}, []);
|
|
147
|
-
};
|
|
148
|
-
export default useViewportHelper;
|
|
149
|
-
//# sourceMappingURL=useViewportHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useViewportHelper.js","sourceRoot":"","sources":["../../src/hooks/useViewportHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { shallow } from 'zustand/shallow';
|
|
3
|
-
import { useStore } from './useStore';
|
|
4
|
-
import { isEdgeVisible } from '../utils/edges';
|
|
5
|
-
/**
|
|
6
|
-
* Hook for getting the visible edge ids from the store.
|
|
7
|
-
*
|
|
8
|
-
* @internal
|
|
9
|
-
* @param onlyRenderVisible
|
|
10
|
-
* @returns array with visible edge ids
|
|
11
|
-
*/
|
|
12
|
-
export function useVisibleEdgeIds(onlyRenderVisible) {
|
|
13
|
-
var edgeIds = useStore(useCallback(function (s) {
|
|
14
|
-
var e_1, _a;
|
|
15
|
-
if (!onlyRenderVisible) {
|
|
16
|
-
return s.edges.map(function (edge) { return edge.id; });
|
|
17
|
-
}
|
|
18
|
-
var visibleEdgeIds = [];
|
|
19
|
-
if (s.width && s.height) {
|
|
20
|
-
try {
|
|
21
|
-
for (var _b = __values(s.edges), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
22
|
-
var edge = _c.value;
|
|
23
|
-
var sourceNode = s.nodeLookup.get(edge.source);
|
|
24
|
-
var targetNode = s.nodeLookup.get(edge.target);
|
|
25
|
-
if (sourceNode &&
|
|
26
|
-
targetNode &&
|
|
27
|
-
isEdgeVisible({
|
|
28
|
-
sourceNode: sourceNode,
|
|
29
|
-
targetNode: targetNode,
|
|
30
|
-
width: s.width,
|
|
31
|
-
height: s.height,
|
|
32
|
-
transform: s.transform,
|
|
33
|
-
})) {
|
|
34
|
-
visibleEdgeIds.push(edge.id);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
39
|
-
finally {
|
|
40
|
-
try {
|
|
41
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
42
|
-
}
|
|
43
|
-
finally { if (e_1) throw e_1.error; }
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return visibleEdgeIds;
|
|
47
|
-
}, [onlyRenderVisible]), shallow);
|
|
48
|
-
return edgeIds;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=useVisibleEdgeIds.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useVisibleEdgeIds.js","sourceRoot":"","sources":["../../src/hooks/useVisibleEdgeIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,iBAA0B;IAC1D,IAAM,OAAO,GAAG,QAAQ,CACtB,WAAW,CACT,UAAC,CAAe;;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAAC,CAAC;QACxC,CAAC;QAED,IAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;;gBACxB,KAAmB,IAAA,KAAA,SAAA,CAAC,CAAC,KAAK,CAAA,gBAAA,4BAAE,CAAC;oBAAxB,IAAM,IAAI,WAAA;oBACb,IAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjD,IAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEjD,IACE,UAAU;wBACV,UAAU;wBACV,aAAa,CAAC;4BACZ,UAAU,YAAA;4BACV,UAAU,YAAA;4BACV,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,SAAS,EAAE,CAAC,CAAC,SAAS;yBACvB,CAAC,EACF,CAAC;wBACD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;;;;;;;;;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,EACD,OAAO,CACR,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { useCallback } from 'react';
|
|
2
|
-
import { shallow } from 'zustand/shallow';
|
|
3
|
-
import { useStore } from './useStore';
|
|
4
|
-
import { getNodesInside } from '../utils/graph';
|
|
5
|
-
var selector = function (onlyRenderVisible) { return function (s) {
|
|
6
|
-
return onlyRenderVisible
|
|
7
|
-
? getNodesInside(s.nodeLookup, { x: 0, y: 0, width: s.width, height: s.height }, s.transform, true).map(function (node) { return node.id; })
|
|
8
|
-
: Array.from(s.nodeLookup.keys());
|
|
9
|
-
}; };
|
|
10
|
-
/**
|
|
11
|
-
* Hook for getting the visible node ids from the store.
|
|
12
|
-
*
|
|
13
|
-
* @internal
|
|
14
|
-
* @param onlyRenderVisible
|
|
15
|
-
* @returns array with visible node ids
|
|
16
|
-
*/
|
|
17
|
-
export function useVisibleNodeIds(onlyRenderVisible) {
|
|
18
|
-
var nodeIds = useStore(useCallback(selector(onlyRenderVisible), [onlyRenderVisible]), shallow);
|
|
19
|
-
return nodeIds;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=useVisibleNodeIds.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useVisibleNodeIds.js","sourceRoot":"","sources":["../../src/hooks/useVisibleNodeIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,IAAM,QAAQ,GAAG,UAAC,iBAA0B,IAAK,OAAA,UAAC,CAAe;IAC/D,OAAO,iBAAiB;QACtB,CAAC,CAAC,cAAc,CACZ,CAAC,CAAC,UAAU,EACZ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAChD,CAAC,CAAC,SAAS,EACX,IAAI,CACL,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAAC;QAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC,EATgD,CAShD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,iBAA0B;IAC1D,IAAM,OAAO,GAAG,QAAQ,CACtB,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAC7D,OAAO,CACR,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|