open advanced modal on double click node

This commit is contained in:
cristhianzl 2024-02-08 09:33:37 -03:00
commit 4193242ec6
3 changed files with 28 additions and 0 deletions

View file

@ -41,6 +41,7 @@ export default function GenericNode({
const [validationStatus, setValidationStatus] = const [validationStatus, setValidationStatus] =
useState<validationStatusType | null>(null); useState<validationStatusType | null>(null);
const [handles, setHandles] = useState<number>(0); const [handles, setHandles] = useState<number>(0);
const [openAdvancedModal, setOpenAdvancedModal] = useState<boolean>(false);
const takeSnapshot = useFlowsManagerStore((state) => state.takeSnapshot); const takeSnapshot = useFlowsManagerStore((state) => state.takeSnapshot);
@ -125,6 +126,12 @@ export default function GenericNode({
}} }}
numberOfHandles={handles} numberOfHandles={handles}
showNode={showNode} showNode={showNode}
openAdvancedModal={openAdvancedModal}
onCloseAdvancedModal={(open) => {
console.log(open);
setOpenAdvancedModal(false);
}}
></NodeToolbarComponent> ></NodeToolbarComponent>
</NodeToolbar> </NodeToolbar>
@ -134,6 +141,11 @@ export default function GenericNode({
showNode ? " w-96 rounded-lg" : " w-26 h-26 rounded-full", showNode ? " w-96 rounded-lg" : " w-26 h-26 rounded-full",
"generic-node-div" "generic-node-div"
)} )}
onDoubleClick={() => {
console.log(openAdvancedModal);
setOpenAdvancedModal(true);
}}
> >
{data.node?.beta && showNode && ( {data.node?.beta && showNode && (
<div className="beta-badge-wrapper"> <div className="beta-badge-wrapper">

View file

@ -32,6 +32,8 @@ export default function NodeToolbarComponent({
setShowNode, setShowNode,
numberOfHandles, numberOfHandles,
showNode, showNode,
openAdvancedModal,
onCloseAdvancedModal,
}: nodeToolbarPropsType): JSX.Element { }: nodeToolbarPropsType): JSX.Element {
const nodeLength = Object.keys(data.node!.template).filter( const nodeLength = Object.keys(data.node!.template).filter(
(templateField) => (templateField) =>
@ -76,6 +78,18 @@ export default function NodeToolbarComponent({
window.open(url, "_blank", "noreferrer"); window.open(url, "_blank", "noreferrer");
}; };
useEffect(() => {
if (openAdvancedModal) {
setShowModalAdvanced(true);
}
}, [openAdvancedModal]);
useEffect(() => {
if (!showModalAdvanced) {
onCloseAdvancedModal!(false);
}
}, [showModalAdvanced]);
useEffect(() => { useEffect(() => {
setFlowComponent(createFlowComponent(cloneDeep(data), version)); setFlowComponent(createFlowComponent(cloneDeep(data), version));
}, [ }, [

View file

@ -479,6 +479,8 @@ export type nodeToolbarPropsType = {
setShowNode: (boolean: any) => void; setShowNode: (boolean: any) => void;
numberOfHandles: number; numberOfHandles: number;
showNode: boolean; showNode: boolean;
openAdvancedModal?: boolean;
onCloseAdvancedModal?: (close: boolean) => void;
}; };
export type parsedDataType = { export type parsedDataType = {