Stop auto opening canvas inspector
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled

This commit is contained in:
Your Name 2026-04-19 11:52:10 +08:00
parent 79fffd88f4
commit af74e2197b

View File

@ -1803,6 +1803,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
const [connectionMenu, setConnectionMenu] = useState<ConnectionMenuState>(null);
const [previewNode, setPreviewNode] = useState<CloneNode | null>(null);
const [angleEditorNodeId, setAngleEditorNodeId] = useState<string | null>(null);
const [inspectorNodeId, setInspectorNodeId] = useState<string | null>(null);
const [dockOverviewOpen, setDockOverviewOpen] = useState(false);
const [snapEnabled, setSnapEnabled] = useState(true);
@ -1815,6 +1816,10 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
() => nodes.find((node) => node.id === nodeContextMenu?.nodeId) || null,
[nodeContextMenu?.nodeId, nodes]
);
const inspectorNode = useMemo(
() => nodes.find((node) => node.id === inspectorNodeId) || null,
[inspectorNodeId, nodes]
);
const connectionNode = useMemo(
() => nodes.find((node) => node.id === connectionMenu?.nodeId) || null,
@ -2057,6 +2062,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
event.preventDefault();
const point = toCanvasPoint(event.clientX, event.clientY);
setSelectedNodeId(null);
setInspectorNodeId(null);
setNodeContextMenu(null);
setConnectionMenu(null);
setActivePanel(null);
@ -2075,6 +2081,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
event.stopPropagation();
setSelectedNodeId(node.id);
setCanvasCommand(null);
setInspectorNodeId(null);
setConnectionMenu(null);
setNodeContextMenu({
nodeId: node.id,
@ -2089,6 +2096,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
setSelectedNodeId(node.id);
setCanvasCommand(null);
setNodeContextMenu(null);
setInspectorNodeId(null);
setConnectionMenu(null);
setActivePanel(null);
setConnectionMenu({
@ -3061,6 +3069,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
const configureNode = useCallback((nodeId: string) => {
setSelectedNodeId(nodeId);
setInspectorNodeId(nodeId);
setNodeContextMenu(null);
setConnectionMenu(null);
}, []);
@ -3262,6 +3271,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
setNodes((current) => current.filter((node) => node.id !== nodeId));
setEdges((current) => current.filter((edge) => edge.source !== nodeId && edge.target !== nodeId));
setSelectedNodeId((current) => (current === nodeId ? null : current));
setInspectorNodeId((current) => (current === nodeId ? null : current));
setNodeContextMenu(null);
setConnectionMenu(null);
toast.success("节点已删除");
@ -3308,17 +3318,18 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
const updateNodeDraft = useCallback((key: string, value: unknown) => {
setNodes((current) =>
current.map((node) =>
node.id === selectedNodeId
node.id === inspectorNodeId
? { ...node, draftValues: { ...(node.draftValues || {}), [key]: value } }
: node
)
);
}, [selectedNodeId]);
}, [inspectorNodeId]);
const startNodeDrag = useCallback((event: ReactPointerEvent, node: CloneNode) => {
event.stopPropagation();
event.currentTarget.setPointerCapture(event.pointerId);
setSelectedNodeId(node.id);
setInspectorNodeId(null);
setCanvasCommand(null);
setNodeContextMenu(null);
dragRef.current = {
@ -3335,6 +3346,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
if (event.button !== 0) return;
if ((event.target as HTMLElement).closest("[data-canvas-overlay]")) return;
setSelectedNodeId(null);
setInspectorNodeId(null);
setCanvasCommand(null);
setNodeContextMenu(null);
setConnectionMenu(null);
@ -3488,6 +3500,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
setCanvasCommand(null);
setNodeContextMenu(null);
setConnectionMenu(null);
setInspectorNodeId(null);
setActivePanel((current) => (current === panel ? null : panel));
}, []);
@ -3729,11 +3742,11 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib
/>
) : null}
{selectedNode && !selectedPresetControlNode && !selectedTargetModuleKind && !selectedTextResourceNode ? (
{inspectorNode ? (
<InspectorPanel
node={selectedNode}
node={inspectorNode}
onChangeProperty={updateNodeDraft}
onClose={() => setSelectedNodeId(null)}
onClose={() => setInspectorNodeId(null)}
/>
) : null}