Skip to content

Commit 1aa2351

Browse files
Merge pull request #2923 from devtron-labs/fix/kubeconfig-modal-loading
fix: kubeconfig modal loading state
2 parents 6618ce4 + b276a41 commit 1aa2351

File tree

4 files changed

+17
-7
lines changed

4 files changed

+17
-7
lines changed

src/components/ClusterNodes/ClusterList/ClusterListView.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ const ClusterListView = (props: ClusterViewType) => {
9292
}
9393
acc[cluster.name] = cluster
9494
return acc
95-
}, {} as ClusterDetail) ?? {},
95+
}, {} as BulkSelectionIdentifiersType<ClusterDetail>) ??
96+
({} as BulkSelectionIdentifiersType<ClusterDetail>),
9697
[filteredList],
9798
)
9899

@@ -149,7 +150,7 @@ const ClusterListView = (props: ClusterViewType) => {
149150
)}
150151
</div>
151152

152-
<ClusterSelectionBody {...props} filteredList={filteredList} />
153+
<ClusterSelectionBody {...props} filteredList={filteredList} identifierMap={allOnThisPageIdentifiers} />
153154
</BulkSelectionProvider>
154155
)
155156
}

src/components/ClusterNodes/ClusterList/ClusterSelectionBody.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ const ClusterSelectionBody: React.FC<ClusterSelectionBodyTypes> = ({
5252
filteredList,
5353
refreshData,
5454
parentRef,
55+
isClusterDetailListLoading,
56+
identifierMap,
5557
}) => {
5658
const [showKubeConfigModal, setShowKubeConfigModal] = useState(false)
5759
const [selectedClusterName, setSelectedClusterName] = useState('')
@@ -136,6 +138,8 @@ const ClusterSelectionBody: React.FC<ClusterSelectionBodyTypes> = ({
136138
clusterName={selectedClusterName || identifierCount === 0}
137139
handleModalClose={onChangeCloseKubeConfigModal}
138140
isSingleClusterButton={!!selectedClusterName}
141+
isClusterDetailListLoading={isClusterDetailListLoading}
142+
identifierMap={identifierMap}
139143
/>
140144
)}
141145
</div>

src/components/ClusterNodes/ClusterList/types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@
1616

1717
import { MutableRefObject } from 'react'
1818

19-
import { ClusterDetail } from '@devtron-labs/devtron-fe-common-lib'
19+
import { BulkSelectionIdentifiersType, ClusterDetail } from '@devtron-labs/devtron-fe-common-lib'
2020

2121
export interface ClusterViewType {
2222
clusterOptions: ClusterDetail[]
2323
clusterListLoader: boolean
2424
initialLoading: boolean
2525
refreshData: () => void
2626
parentRef: MutableRefObject<HTMLDivElement>
27+
isClusterDetailListLoading: boolean
2728
}
2829

2930
export interface ClusterListTypes {
@@ -39,4 +40,5 @@ export interface ClusterListRowTypes extends Omit<ClusterListTypes, 'filteredLis
3940

4041
export interface ClusterSelectionBodyTypes extends ClusterViewType {
4142
filteredList: ClusterDetail[]
43+
identifierMap: BulkSelectionIdentifiersType<ClusterDetail>
4244
}

src/components/ResourceBrowser/ResourceBrowser.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ const ResourceBrowser: React.FC = () => {
3939
const [detailClusterListLoading, detailClusterList, , reloadDetailClusterList] = useAsync(() =>
4040
getClusterListing(false, abortControllerRef),
4141
)
42-
const [initialLoading, clusterListMinData, error] = useAsync(() => getClusterListing(true, abortControllerRef))
42+
const [initialLoading, clusterListMinData, error, reloadMinClusterListing] = useAsync(() =>
43+
getClusterListing(true, abortControllerRef),
44+
)
4345

4446
useEffect(
4547
() => () => {
@@ -53,7 +55,7 @@ const ResourceBrowser: React.FC = () => {
5355
[detailClusterList, clusterListMinData],
5456
)
5557

56-
const filteredSortedCluserList = useMemo(
58+
const filteredSortedClusterList = useMemo(
5759
() =>
5860
sortedClusterList.filter(
5961
(option) =>
@@ -65,16 +67,17 @@ const ResourceBrowser: React.FC = () => {
6567

6668
const renderContent = () => {
6769
if (error) {
68-
return <ErrorScreenManager code={error.code} />
70+
return <ErrorScreenManager code={error.code} reload={reloadMinClusterListing} />
6971
}
7072

7173
return (
7274
<ClusterListView
7375
parentRef={parentRef}
74-
clusterOptions={filteredSortedCluserList}
76+
clusterOptions={filteredSortedClusterList}
7577
clusterListLoader={detailClusterListLoading}
7678
initialLoading={initialLoading}
7779
refreshData={reloadDetailClusterList}
80+
isClusterDetailListLoading={detailClusterListLoading}
7881
/>
7982
)
8083
}

0 commit comments

Comments
 (0)