@@ -357,7 +357,7 @@ export const DiagramMakerContainer = ({
357
357
message = "Are you sure you want to delete the edge(s) : [" + diagramMakerAction . payload . edgeIds + "]" ;
358
358
result = "Deleting edge(s) : [" + diagramMakerAction . payload . edgeIds + "]" ;
359
359
}
360
- if ( diagramMakerAction . payload . nodeIds . length > 0 || diagramMakerAction . payload . edgeIds . length > 0 ) {
360
+ if ( diagramMakerAction . payload . edgeIds . length > 0 || diagramMakerAction . payload . nodeIds . length > 0 ) {
361
361
if ( window . confirm ( message ) ) {
362
362
// delete the sourceNodes info from destination nodes for the edges getting deleted.
363
363
const parsedCurrentConfig : CompageJsonConfig = getParsedCurrentConfig ( ) ;
@@ -366,7 +366,6 @@ export const DiagramMakerContainer = ({
366
366
// iterate over edges and extract nodes and modify the clients
367
367
const selectedEdge : CompageEdge = parsedCurrentConfig . edges [ item ] ;
368
368
if ( selectedEdge ) {
369
- console . log ( selectedEdge . dest ) ;
370
369
const srcNodeConfig : CompageNode = parsedCurrentConfig . nodes [ selectedEdge . src ] ;
371
370
const destNodeState : CompageNode = parsedModifiedState . nodes [ selectedEdge . dest ] ;
372
371
if ( destNodeState ) {
@@ -376,6 +375,22 @@ export const DiagramMakerContainer = ({
376
375
}
377
376
}
378
377
}
378
+ // delete the sourceNodes info from destination nodes for the node getting deleted.
379
+ for ( const nodeIdsToBeDeleted of diagramMakerAction . payload . nodeIds ) {
380
+ // iterate over nodes and check if the node has sourceNode reference in clients.
381
+ const nodeToBeDeletedConfig : CompageNode = parsedCurrentConfig . nodes [ nodeIdsToBeDeleted ] ;
382
+ // tslint:disable-next-line: forin
383
+ for ( const key in parsedModifiedState . nodes ) {
384
+ const destNodeState : CompageNode = parsedModifiedState . nodes [ key ] ;
385
+ const destNodeConfig : CompageNode = parsedCurrentConfig . nodes [ key ] ;
386
+ if ( nodeToBeDeletedConfig . id !== destNodeConfig . id ) {
387
+ removeGrpcClient ( nodeToBeDeletedConfig , destNodeState ) ;
388
+ removeRestClient ( nodeToBeDeletedConfig , destNodeState ) ;
389
+ // removeWsClient(nodeToBeDeleted, destNodeState)
390
+ }
391
+ }
392
+ }
393
+
379
394
setModifiedState ( JSON . stringify ( parsedModifiedState ) ) ;
380
395
} else {
381
396
return ;
0 commit comments