Feat: make possible to open node advanced settings by double clicking the node
This commit is contained in:
parent
58f78c3680
commit
a0a01aef3f
4 changed files with 34 additions and 15 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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 (
|
||||||
|
|
|
||||||
|
|
@ -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}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue