Feat: make possible to open node advanced settings by double clicking the node

This commit is contained in:
igorrCarvalho 2024-04-19 16:57:57 -03:00
commit a0a01aef3f
4 changed files with 34 additions and 15 deletions

View file

@ -339,6 +339,8 @@ export default function GenericNode({
); );
}; };
const [openWDoubleCLick, setOpenWDoubleCLick] = useState(false);
const getBaseBorderClass = (selected) => const getBaseBorderClass = (selected) =>
selected ? "border border-ring" : "border"; selected ? "border border-ring" : "border";
@ -349,6 +351,8 @@ export default function GenericNode({
return ( return (
<NodeToolbar> <NodeToolbar>
<NodeToolbarComponent <NodeToolbarComponent
openWDoubleClick={openWDoubleCLick}
setOpenWDoubleClick={setOpenWDoubleCLick}
data={data} data={data}
deleteNode={(id) => { deleteNode={(id) => {
takeSnapshot(); takeSnapshot();
@ -382,12 +386,15 @@ export default function GenericNode({
updateNodeCode, updateNodeCode,
isOutdated, isOutdated,
selected, selected,
openWDoubleCLick,
setOpenWDoubleCLick
]); ]);
return ( return (
<> <>
{memoizedNodeToolbarComponent} {memoizedNodeToolbarComponent}
<div <div
onDoubleClick={() => setOpenWDoubleCLick(true)}
className={getNodeBorderClassName( className={getNodeBorderClassName(
selected, selected,
showNode, showNode,

View file

@ -46,11 +46,13 @@ const EditNodeModal = forwardRef(
nodeLength, nodeLength,
open, open,
setOpen, setOpen,
setOpenWDoubleClick,
}: { }: {
data: NodeDataType; data: NodeDataType;
nodeLength: number; nodeLength: number;
open: boolean; open: boolean;
setOpen: (open: boolean) => void; setOpen: (open: boolean) => void;
setOpenWDoubleClick: (open: boolean) => void;
}, },
ref ref
) => { ) => {
@ -82,6 +84,12 @@ const EditNodeModal = forwardRef(
} }
}, [open]); }, [open]);
useEffect(() => {
return () => {
setOpenWDoubleClick(false)
}
}, [])
const [errorDuplicateKey, setErrorDuplicateKey] = useState(false); const [errorDuplicateKey, setErrorDuplicateKey] = useState(false);
return ( return (

View file

@ -45,6 +45,8 @@ export default function NodeToolbarComponent({
setShowState, setShowState,
onCloseAdvancedModal, onCloseAdvancedModal,
isOutdated, isOutdated,
openWDoubleClick,
setOpenWDoubleClick,
}: nodeToolbarPropsType): JSX.Element { }: nodeToolbarPropsType): JSX.Element {
const nodeLength = Object.keys(data.node!.template).filter( const nodeLength = Object.keys(data.node!.template).filter(
(templateField) => (templateField) =>
@ -176,6 +178,12 @@ export default function NodeToolbarComponent({
createFlowComponent(cloneDeep(data), version) createFlowComponent(cloneDeep(data), version)
); );
useEffect(() => {
console.log(openWDoubleClick)
if (openWDoubleClick) setShowModalAdvanced(true)
}, [openWDoubleClick, setOpenWDoubleClick]);
const openInNewTab = (url) => { const openInNewTab = (url) => {
window.open(url, "_blank", "noreferrer"); window.open(url, "_blank", "noreferrer");
}; };
@ -621,12 +629,15 @@ export default function NodeToolbarComponent({
</span> </span>
</ConfirmationModal.Content> </ConfirmationModal.Content>
</ConfirmationModal> </ConfirmationModal>
{showModalAdvanced && (
<EditNodeModal <EditNodeModal
setOpenWDoubleClick={setOpenWDoubleClick}
data={data} data={data}
nodeLength={nodeLength} nodeLength={nodeLength}
open={showModalAdvanced} open={showModalAdvanced}
setOpen={setShowModalAdvanced} setOpen={setShowModalAdvanced}
/> />
)}
{showconfirmShare && ( {showconfirmShare && (
<ShareModal <ShareModal
open={showconfirmShare} open={showconfirmShare}

View file

@ -80,15 +80,6 @@ export type InputGlobalComponentType = {
editNode?: boolean; editNode?: boolean;
}; };
export type InputGlobalComponentType = {
disabled: boolean;
onChange: (value: string) => void;
setDb: (value: boolean) => void;
name: string;
data: NodeDataType;
editNode?: boolean;
};
export type KeyPairListComponentType = { export type KeyPairListComponentType = {
value: any; value: any;
onChange: (value: Object[]) => void; onChange: (value: Object[]) => void;
@ -511,6 +502,8 @@ export type fileCardPropsType = {
}; };
export type nodeToolbarPropsType = { export type nodeToolbarPropsType = {
openWDoubleClick: boolean;
setOpenWDoubleClick: (open: boolean) => void;
data: NodeDataType; data: NodeDataType;
deleteNode: (idx: string) => void; deleteNode: (idx: string) => void;
setShowNode: (boolean: any) => void; setShowNode: (boolean: any) => void;