Fix: minimize with ctrl Q unselect node

This commit is contained in:
igorrCarvalho 2024-03-04 18:17:43 -03:00
commit 933318a048
4 changed files with 25 additions and 19 deletions

View file

@ -146,7 +146,9 @@ export default function GenericNode({
} }
}, [validationStatus, validationStatus?.params]); }, [validationStatus, validationStatus?.params]);
const showNode = data.showNode ?? true; // const showNode = data.showNode ?? true;
const [showNode, setShowNode] = useState(data.showNode ?? true);
const nameEditable = true; const nameEditable = true;
@ -285,6 +287,7 @@ export default function GenericNode({
data: { ...old.data, showNode: show }, data: { ...old.data, showNode: show },
})); }));
}} }}
setShowState={setShowNode}
numberOfHandles={handles} numberOfHandles={handles}
showNode={showNode} showNode={showNode}
openAdvancedModal={false} openAdvancedModal={false}

View file

@ -110,13 +110,13 @@ export const MenuBar = ({
<IconComponent name="Undo" className="header-menu-options " /> <IconComponent name="Undo" className="header-menu-options " />
Undo Undo
{navigator.userAgent.toUpperCase().includes("MAC") ? ( {navigator.userAgent.toUpperCase().includes("MAC") ? (
<IconComponent <IconComponent
name="Command" name="Command"
className="absolute right-[1.15rem] top-[0.65em] h-3.5 w-3.5 stroke-2" className="absolute right-[1.15rem] top-[0.65em] h-3.5 w-3.5 stroke-2"
></IconComponent> />
) : ( ) : (
<span className="absolute right-[1.15rem] top-[0.40em] stroke-2">Ctrl + </span> <span className="absolute right-[1.15rem] top-[0.40em] stroke-2">Ctrl + </span>
)} )}
<span className="absolute right-2 top-[0.4em]">Z</span> <span className="absolute right-2 top-[0.4em]">Z</span>
</DropdownMenuItem> </DropdownMenuItem>
<DropdownMenuItem <DropdownMenuItem
@ -128,13 +128,13 @@ export const MenuBar = ({
<IconComponent name="Redo" className="header-menu-options " /> <IconComponent name="Redo" className="header-menu-options " />
Redo Redo
{navigator.userAgent.toUpperCase().includes("MAC") ? ( {navigator.userAgent.toUpperCase().includes("MAC") ? (
<IconComponent <IconComponent
name="Command" name="Command"
className="absolute right-[1.15rem] top-[0.65em] h-3.5 w-3.5 stroke-2" className="absolute right-[1.15rem] top-[0.65em] h-3.5 w-3.5 stroke-2"
></IconComponent> />
) : ( ) : (
<span className="absolute right-[1.15rem] top-[0.40em] stroke-2">Ctrl + </span> <span className="absolute right-[1.15rem] top-[0.40em] stroke-2">Ctrl + </span>
)} )}
<span className="absolute right-2 top-[0.4em]">Y</span> <span className="absolute right-2 top-[0.4em]">Y</span>
</DropdownMenuItem> </DropdownMenuItem>
</DropdownMenuContent> </DropdownMenuContent>

View file

@ -37,6 +37,7 @@ export default function NodeToolbarComponent({
showNode, showNode,
name = "code", name = "code",
selected, selected,
setShowState,
onCloseAdvancedModal, onCloseAdvancedModal,
}: nodeToolbarPropsType): JSX.Element { }: nodeToolbarPropsType): JSX.Element {
const nodeLength = Object.keys(data.node!.template).filter( const nodeLength = Object.keys(data.node!.template).filter(
@ -58,6 +59,7 @@ export default function NodeToolbarComponent({
const hasStore = useStoreStore((state) => state.hasStore); const hasStore = useStoreStore((state) => state.hasStore);
const hasApiKey = useStoreStore((state) => state.hasApiKey); const hasApiKey = useStoreStore((state) => state.hasApiKey);
const validApiKey = useStoreStore((state) => state.validApiKey); const validApiKey = useStoreStore((state) => state.validApiKey);
const [updateMinimize, setUpdateMinimize] = useState(showNode);
const isMinimal = numberOfHandles <= 1; const isMinimal = numberOfHandles <= 1;
const isGroup = data.node?.flow ? true : false; const isGroup = data.node?.flow ? true : false;
@ -243,8 +245,8 @@ export default function NodeToolbarComponent({
event.key === "q" event.key === "q"
) { ) {
event.preventDefault(); event.preventDefault();
setShowNode(data.showNode ?? true ? false : true); setShowState(show => !show)
unselectAll(); setShowNode(showNode);
} }
if ( if (
selected && selected &&
@ -590,7 +592,7 @@ export default function NodeToolbarComponent({
className="absolute right-[1.15rem] top-[0.65em] h-3.5 w-3.5 stroke-2" className="absolute right-[1.15rem] top-[0.65em] h-3.5 w-3.5 stroke-2"
></IconComponent> ></IconComponent>
) : ( ) : (
<span className="absolute right-[1.15rem] top-[0.40em] stroke-2">Ctrl + </span> <span className="absolute right-[1.30rem] top-[0.40em] stroke-2">Ctrl + </span>
)} )}
<span className="absolute right-2 top-[0.43em]">U</span> <span className="absolute right-2 top-[0.43em]">U</span>
</div> </div>

View file

@ -1,4 +1,4 @@
import { ReactElement, ReactNode } from "react"; import { ReactElement, ReactNode, SetStateAction } from "react";
import { ReactFlowJsonObject, XYPosition } from "reactflow"; import { ReactFlowJsonObject, XYPosition } from "reactflow";
import { APIClassType, APITemplateType, TemplateVariableType } from "../api"; import { APIClassType, APITemplateType, TemplateVariableType } from "../api";
import { ChatMessageType } from "../chat"; import { ChatMessageType } from "../chat";
@ -489,6 +489,7 @@ export type nodeToolbarPropsType = {
openAdvancedModal?: boolean; openAdvancedModal?: boolean;
onCloseAdvancedModal?: (close: boolean) => void; onCloseAdvancedModal?: (close: boolean) => void;
selected: boolean; selected: boolean;
setShowState: (show: boolean | SetStateAction<boolean>) => void;
}; };
export type parsedDataType = { export type parsedDataType = {