Skip to content

Commit 055eafc

Browse files
katarina-calakresimir-coko
authored andcommitted
3230-update current node and close nodeDetailsPanel when currently selected cluster element is switched
1 parent 028508b commit 055eafc

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

client/src/pages/platform/workflow-editor/components/WorkflowNodesPopoverMenu.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ interface WorkflowNodesPopoverMenuProps extends PropsWithChildren {
2424
multipleClusterElementsNode?: boolean;
2525
nodeIndex?: number;
2626
sourceNodeId: string;
27+
sourceNodeName?: string;
2728
}
2829

2930
const WorkflowNodesPopoverMenu = ({
@@ -37,6 +38,7 @@ const WorkflowNodesPopoverMenu = ({
3738
multipleClusterElementsNode = false,
3839
nodeIndex,
3940
sourceNodeId,
41+
sourceNodeName,
4042
}: WorkflowNodesPopoverMenuProps) => {
4143
const [actionPanelOpen, setActionPanelOpen] = useState(false);
4244
const [componentDefinitionToBeAdded, setComponentDefinitionToBeAdded] = useState<ComponentDefinition | null>(null);
@@ -186,6 +188,7 @@ const WorkflowNodesPopoverMenu = ({
186188
multipleClusterElementsNode={multipleClusterElementsNode}
187189
setPopoverOpen={setPopoverOpen}
188190
sourceNodeId={sourceNodeId}
191+
sourceNodeName={sourceNodeName}
189192
trigger={trigger}
190193
/>
191194
)}

client/src/pages/platform/workflow-editor/components/WorkflowNodesPopoverMenuOperationList.tsx

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ interface WorkflowNodesPopoverMenuOperationListProps {
4343
multipleClusterElementsNode?: boolean;
4444
setPopoverOpen: (open: boolean) => void;
4545
sourceNodeId: string;
46+
sourceNodeName?: string;
4647
trigger?: boolean;
4748
}
4849

@@ -54,6 +55,7 @@ const WorkflowNodesPopoverMenuOperationList = ({
5455
multipleClusterElementsNode,
5556
setPopoverOpen,
5657
sourceNodeId,
58+
sourceNodeName,
5759
trigger,
5860
}: WorkflowNodesPopoverMenuOperationListProps) => {
5961
const {setLatestComponentDefinition, workflow} = useWorkflowDataStore(
@@ -82,12 +84,15 @@ const WorkflowNodesPopoverMenuOperationList = ({
8284
setRootClusterElementNodeData: state.setRootClusterElementNodeData,
8385
}))
8486
);
85-
const {currentNode, setCurrentNode} = useWorkflowNodeDetailsPanelStore(
86-
useShallow((state) => ({
87-
currentNode: state.currentNode,
88-
setCurrentNode: state.setCurrentNode,
89-
}))
90-
);
87+
const {currentNode, setCurrentNode, setWorkflowNodeDetailsPanelOpen, workflowNodeDetailsPanelOpen} =
88+
useWorkflowNodeDetailsPanelStore(
89+
useShallow((state) => ({
90+
currentNode: state.currentNode,
91+
setCurrentNode: state.setCurrentNode,
92+
setWorkflowNodeDetailsPanelOpen: state.setWorkflowNodeDetailsPanelOpen,
93+
workflowNodeDetailsPanelOpen: state.workflowNodeDetailsPanelOpen,
94+
}))
95+
);
9196

9297
const {captureComponentUsed} = useAnalytics();
9398

@@ -224,6 +229,17 @@ const WorkflowNodesPopoverMenuOperationList = ({
224229
});
225230
}
226231

232+
if (workflowNodeDetailsPanelOpen && currentNode?.workflowNodeName === sourceNodeName) {
233+
if (rootClusterElementNodeData) {
234+
setCurrentNode({
235+
...rootClusterElementNodeData,
236+
clusterElements: updatedClusterElements.nestedClusterElements,
237+
});
238+
}
239+
240+
setWorkflowNodeDetailsPanelOpen(false);
241+
}
242+
227243
saveWorkflowDefinition({
228244
invalidateWorkflowQueries,
229245
nodeData: updatedNodeData,
@@ -243,9 +259,12 @@ const WorkflowNodesPopoverMenuOperationList = ({
243259
rootClusterElementNodeData,
244260
setRootClusterElementNodeData,
245261
currentNode,
262+
workflowNodeDetailsPanelOpen,
263+
sourceNodeName,
246264
invalidateWorkflowQueries,
247265
updateWorkflowMutation,
248266
setCurrentNode,
267+
setWorkflowNodeDetailsPanelOpen,
249268
queryClient,
250269
]
251270
);

0 commit comments

Comments
 (0)