@bian-womp/spark-workbench 0.1.28 → 0.1.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchCanvas.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"WorkbenchCanvas.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAS9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe;iBAGX,OAAO;cACV,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM;eAC3C,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO;+CA8J9D,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { RemoteEngine, HttpPollingTransport, WebSocketTransport, RemoteRunner }
|
|
|
3
3
|
import React, { useCallback, useState, useEffect, useMemo, createContext, useContext, useRef, useImperativeHandle } from 'react';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
5
|
import { XCircleIcon, WarningCircleIcon, PlugsConnectedIcon, ClockClockwiseIcon, WifiHighIcon, WifiSlashIcon } from '@phosphor-icons/react';
|
|
6
|
-
import ReactFlow, { Handle, Position, useReactFlow,
|
|
6
|
+
import ReactFlow, { Handle, Position, useReactFlow, Background, MiniMap, Controls } from 'reactflow';
|
|
7
7
|
import cx from 'classnames';
|
|
8
8
|
|
|
9
9
|
class DefaultUIExtensionRegistry {
|
|
@@ -1921,7 +1921,7 @@ const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement }, r
|
|
|
1921
1921
|
catch { }
|
|
1922
1922
|
},
|
|
1923
1923
|
}));
|
|
1924
|
-
const { onConnect, onNodesChange
|
|
1924
|
+
const { onConnect, onNodesChange, onEdgesChange, onEdgesDelete, onNodesDelete, onSelectionChange, } = useWorkbenchBridge(wb);
|
|
1925
1925
|
const { nodeTypes, resolveNodeType } = useMemo(() => {
|
|
1926
1926
|
// Build nodeTypes map using UI extension registry
|
|
1927
1927
|
const ui = wb.getUI();
|
|
@@ -1942,7 +1942,7 @@ const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement }, r
|
|
|
1942
1942
|
return { nodeTypes: types, resolveNodeType: resolver };
|
|
1943
1943
|
// registry is stable; ui renderers expected to be set up before mount
|
|
1944
1944
|
}, [wb, registry]);
|
|
1945
|
-
const { nodes
|
|
1945
|
+
const { nodes, edges } = useMemo(() => {
|
|
1946
1946
|
const def = wb.export();
|
|
1947
1947
|
const sel = wb.getSelection();
|
|
1948
1948
|
const out = toReactFlow(def, wb.getPositions(), registry, {
|
|
@@ -1975,25 +1975,6 @@ const WorkbenchCanvas = React.forwardRef(({ showValues, toString, toElement }, r
|
|
|
1975
1975
|
nodeTypes,
|
|
1976
1976
|
resolveNodeType,
|
|
1977
1977
|
]);
|
|
1978
|
-
// Local controlled state per requested pattern
|
|
1979
|
-
const [nodes, setNodes] = useState(computedNodes);
|
|
1980
|
-
const [edges, setEdges] = useState(computedEdges);
|
|
1981
|
-
// Sync from computed graph to local state when source changes
|
|
1982
|
-
useEffect(() => {
|
|
1983
|
-
setNodes(computedNodes);
|
|
1984
|
-
}, [computedNodes]);
|
|
1985
|
-
useEffect(() => {
|
|
1986
|
-
setEdges(computedEdges);
|
|
1987
|
-
}, [computedEdges]);
|
|
1988
|
-
// Bridge RF changes to both local state and workbench
|
|
1989
|
-
const onNodesChange = useCallback((changes) => {
|
|
1990
|
-
setNodes((nds) => applyNodeChanges(changes, nds));
|
|
1991
|
-
wbOnNodesChange(changes);
|
|
1992
|
-
}, [wbOnNodesChange]);
|
|
1993
|
-
const onEdgesChange = useCallback((changes) => {
|
|
1994
|
-
setEdges((eds) => applyEdgeChanges(changes, eds));
|
|
1995
|
-
wbOnEdgesChange(changes);
|
|
1996
|
-
}, [wbOnEdgesChange]);
|
|
1997
1978
|
const [menuOpen, setMenuOpen] = useState(false);
|
|
1998
1979
|
const [menuPos, setMenuPos] = useState(null);
|
|
1999
1980
|
const [nodeMenuOpen, setNodeMenuOpen] = useState(false);
|