mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-02-15 14:45:06 -05:00
make sure notes node exists like we do for invocation nodes
This commit is contained in:
committed by
psychedelicious
parent
b1c9f59c30
commit
abaae39c29
@@ -1,14 +1,16 @@
|
||||
import { Box, Flex, Textarea } from '@invoke-ai/ui-library';
|
||||
import { createSelector } from '@reduxjs/toolkit';
|
||||
import type { Node, NodeProps } from '@xyflow/react';
|
||||
import { useAppDispatch } from 'app/store/storeHooks';
|
||||
import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
|
||||
import NodeCollapseButton from 'features/nodes/components/flow/nodes/common/NodeCollapseButton';
|
||||
import NodeTitle from 'features/nodes/components/flow/nodes/common/NodeTitle';
|
||||
import NodeWrapper from 'features/nodes/components/flow/nodes/common/NodeWrapper';
|
||||
import { notesNodeValueChanged } from 'features/nodes/store/nodesSlice';
|
||||
import { selectNodes } from 'features/nodes/store/selectors';
|
||||
import { NO_DRAG_CLASS, NO_PAN_CLASS } from 'features/nodes/types/constants';
|
||||
import type { NotesNodeData } from 'features/nodes/types/invocation';
|
||||
import type { ChangeEvent } from 'react';
|
||||
import { memo, useCallback } from 'react';
|
||||
import { memo, useCallback, useMemo } from 'react';
|
||||
|
||||
const NotesNode = (props: NodeProps<Node<NotesNodeData>>) => {
|
||||
const { id: nodeId, data, selected } = props;
|
||||
@@ -21,6 +23,16 @@ const NotesNode = (props: NodeProps<Node<NotesNodeData>>) => {
|
||||
[dispatch, nodeId]
|
||||
);
|
||||
|
||||
const selectNodeExists = useMemo(
|
||||
() => createSelector(selectNodes, (nodes) => Boolean(nodes.find((n) => n.id === nodeId))),
|
||||
[nodeId]
|
||||
);
|
||||
const nodeExists = useAppSelector(selectNodeExists);
|
||||
|
||||
if (!nodeExists) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<NodeWrapper nodeId={nodeId} selected={selected}>
|
||||
<Flex
|
||||
|
||||
Reference in New Issue
Block a user