Skip to content

Commit d641813

Browse files
fixing refreshing bug on graph
1 parent 8e17251 commit d641813

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

public/locales/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@
290290
"Graphs": {
291291
"colorsProvider": "Provider",
292292
"colorsProviderConfig": "Provider Config",
293-
"colorizedTitle": "Colorized Graph by: ",
293+
"colorizedTitle": "Visualize: ",
294294
"loadingError": "Error loading graph data",
295295
"loadingGraph": "Loading graph data...",
296296
"noResources": "No resources to display"

src/components/Graphs/useGraph.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useMemo, useEffect, useState } from 'react';
1+
import { useMemo, useEffect, useRef, useState } from 'react';
22
import { useApiResource, useProvidersConfigResource } from '../../lib/api/useApiResource';
33
import { ManagedResourcesRequest } from '../../lib/api/types/crossplane/listManagedResources';
44
import { resourcesInterval } from '../../lib/shared/constants';
@@ -92,11 +92,13 @@ export function useGraph(colorBy: ColorBy, onYamlClick: (item: ManagedResourceIt
9292
refreshInterval: resourcesInterval,
9393
});
9494

95-
const loading = managedResourcesLoading || providerConfigsLoading;
95+
const initialLoaded = useRef(false);
96+
const isInitialLoading = (managedResourcesLoading || providerConfigsLoading) && !initialLoaded.current;
9697
const error = managedResourcesError || providerConfigsError;
9798

9899
const treeData = useMemo(() => {
99100
if (!managedResources || !providerConfigsList) return [];
101+
if (!initialLoaded.current) initialLoaded.current = true;
100102
const allNodesMap = new Map<string, NodeData>();
101103
managedResources.forEach((group: ManagedResourceGroup) => {
102104
group.items?.forEach((item: ManagedResourceItem) => {
@@ -160,7 +162,7 @@ export function useGraph(colorBy: ColorBy, onYamlClick: (item: ManagedResourceIt
160162
});
161163
});
162164
return Array.from(allNodesMap.values());
163-
}, [managedResources, providerConfigsList, onYamlClick]);
165+
}, [managedResources, providerConfigsList, onYamlClick, initialLoaded]);
164166

165167
const colorMap = useMemo(() => generateColorMap(treeData, colorBy), [treeData, colorBy]);
166168

@@ -178,5 +180,5 @@ export function useGraph(colorBy: ColorBy, onYamlClick: (item: ManagedResourceIt
178180
setEdges(edges);
179181
}, [treeData, colorBy, colorMap]);
180182

181-
return { nodes, edges, colorMap, loading, error };
183+
return { nodes, edges, colorMap, loading: isInitialLoading, error };
182184
}

0 commit comments

Comments
 (0)