Skip to content

Commit 86cea83

Browse files
committed
fix: review comments
1 parent 38b9a56 commit 86cea83

File tree

6 files changed

+48
-64
lines changed

6 files changed

+48
-64
lines changed

src/components/ResourceBrowser/ResourceList/ClusterUpgradeCompatibilityInfo.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
Table,
3030
TableColumnType,
3131
TableProps,
32+
URL_FILTER_KEYS,
3233
useSearchString,
3334
} from '@devtron-labs/devtron-fe-common-lib'
3435

@@ -152,11 +153,7 @@ const ClusterUpgradeCompatibilityInfo = ({
152153

153154
const clearFilters = () => {
154155
const searchParams = new URLSearchParams(location.search)
155-
Array.from(searchParams.keys()).forEach((key) => {
156-
if (key !== TARGET_K8S_VERSION_SEARCH_KEY) {
157-
searchParams.delete(key)
158-
}
159-
})
156+
searchParams.delete(URL_FILTER_KEYS.SEARCH_KEY)
160157
push({ search: searchParams.toString() })
161158
}
162159

src/components/ResourceBrowser/ResourceList/ClusterUpgradeCompatibilityInfoTableCellComponent.tsx

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,7 @@ const ClusterUpgradeCompatibilityInfoTableCellComponent = ({
9494
).gvk
9595

9696
return {
97-
gvk: {
98-
Group: gvkFromRawData.Group,
99-
Kind: gvkFromRawData.Kind,
100-
Version: gvkFromRawData.Version,
101-
},
97+
gvk: gvkFromRawData,
10298
}
10399
}
104100

@@ -151,10 +147,7 @@ const ClusterUpgradeCompatibilityInfoTableCellComponent = ({
151147
clusterId={clusterId}
152148
resourceData={resourceData as K8sResourceDetailDataType}
153149
getResourceListData={reloadResourceListData as () => Promise<void>}
154-
selectedResource={{
155-
...getSelectedResourceKindOverride((resourceData.kind as string).toLowerCase()),
156-
namespaced: !!resourceData.namespace,
157-
}}
150+
selectedResource={selectedResource}
158151
hideDeleteResource
159152
handleResourceClick={handleResourceClick}
160153
handleClearBulkSelection={noop}

src/components/ResourceBrowser/ResourceList/K8SResourceTabComponent.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ const K8SResourceTabComponent = ({
4141
const abortControllerRef = useRef(new AbortController())
4242

4343
useEffect(() => {
44-
// TODO: once we get tab retention logic, we can remove this
4544
updateTabLastSyncMoment(ResourceBrowserTabsId.k8s_Resources)
4645
}, [])
4746

src/components/ResourceBrowser/ResourceList/K8sResourceListTableCellComponent.tsx

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,13 @@ import {
2929
AI_BUTTON_CONFIG_MAP,
3030
DUMMY_RESOURCE_GVK_VERSION,
3131
K8S_EMPTY_GROUP,
32-
RESOURCE_ACTION_MENU,
3332
RESOURCE_BROWSER_ROUTES,
3433
} from '../Constants'
3534
import { ClusterDetailBaseParams } from '../Types'
3635
import { getRenderInvolvedObjectButton, getRenderNodeButton, renderResourceValue } from '../Utils'
3736
import NodeActionsMenu from './NodeActionsMenu'
3837
import ResourceBrowserActionMenu from './ResourceBrowserActionMenu'
39-
import { K8sResourceListTableCellComponentProps } from './types'
38+
import { K8sResourceListTableCellComponentProps, ResourceBrowserActionMenuEnum } from './types'
4039
import { getClassNameForColumn, getFirstResourceFromKindResourceMap, getShowAIButton, getStatusClass } from './utils'
4140

4241
const ExplainWithAIButton = importComponentFromFELibrary('ExplainWithAIButton', null, 'function')
@@ -84,7 +83,7 @@ const K8sResourceListTableCellComponent = ({
8483
namespace = ALL_NAMESPACE_OPTION.value,
8584
kind,
8685
group: _group,
87-
tab = RESOURCE_ACTION_MENU.manifest,
86+
tab = ResourceBrowserActionMenuEnum.manifest,
8887
} = e.currentTarget.dataset
8988

9089
const url = generatePath(RESOURCE_BROWSER_ROUTES.K8S_RESOURCE_DETAIL, {
@@ -162,6 +161,34 @@ const K8sResourceListTableCellComponent = ({
162161
)
163162
}
164163

164+
const onClickHandler = isNodeListing ? handleNodeClick : handleResourceClick
165+
166+
const renderActionMenu = () =>
167+
!isNodeListing ? (
168+
<ResourceBrowserActionMenu
169+
ref={contextMenuRef}
170+
clusterId={clusterId}
171+
resourceData={resourceData as K8sResourceDetailDataType}
172+
getResourceListData={reloadResourceListData as () => Promise<void>}
173+
selectedResource={selectedResource}
174+
handleResourceClick={handleResourceClick}
175+
handleClearBulkSelection={noop}
176+
/>
177+
) : (
178+
<NodeActionsMenu
179+
ref={contextMenuRef}
180+
getNodeListData={reloadResourceListData as () => Promise<void>}
181+
addTab={addTab}
182+
nodeData={resourceData as K8sResourceDetailDataType}
183+
handleClearBulkSelection={noop}
184+
/>
185+
)
186+
187+
const getConditionalWrap = () =>
188+
columnName === 'node'
189+
? getRenderNodeButton(resourceData as K8sResourceDetailDataType, columnName, handleNodeClick)
190+
: getRenderInvolvedObjectButton(resourceData[columnName] as string, handleEventInvolvedObjectClick)
191+
165192
if (columnName === 'type' && isEventListing) {
166193
const iconName: IconName =
167194
(resourceData.type as string).toLowerCase() === 'normal' ? 'ic-info-filled-color' : 'ic-warning'
@@ -190,7 +217,7 @@ const K8sResourceListTableCellComponent = ({
190217
data-namespace={resourceData.namespace || ALL_NAMESPACE_OPTION.value}
191218
data-kind={selectedResource.gvk.Kind}
192219
data-group={selectedResource.gvk.Group || K8S_EMPTY_GROUP}
193-
onClick={isNodeListing ? handleNodeClick : handleResourceClick}
220+
onClick={onClickHandler}
194221
ref={nameButtonRef}
195222
>
196223
<span
@@ -214,25 +241,7 @@ const K8sResourceListTableCellComponent = ({
214241
iconSize={16}
215242
/>
216243
</div>
217-
{!isNodeListing ? (
218-
<ResourceBrowserActionMenu
219-
ref={contextMenuRef}
220-
clusterId={clusterId}
221-
resourceData={resourceData as K8sResourceDetailDataType}
222-
getResourceListData={reloadResourceListData as () => Promise<void>}
223-
selectedResource={selectedResource}
224-
handleResourceClick={handleResourceClick}
225-
handleClearBulkSelection={noop}
226-
/>
227-
) : (
228-
<NodeActionsMenu
229-
ref={contextMenuRef}
230-
getNodeListData={reloadResourceListData as () => Promise<void>}
231-
addTab={addTab}
232-
nodeData={resourceData as K8sResourceDetailDataType}
233-
handleClearBulkSelection={noop}
234-
/>
235-
)}
244+
{renderActionMenu()}
236245
</div>
237246
) : (
238247
<div
@@ -244,18 +253,7 @@ const K8sResourceListTableCellComponent = ({
244253
>
245254
<ConditionalWrap
246255
condition={columnName === 'node' || columnName === 'involved object'}
247-
wrap={
248-
columnName === 'node'
249-
? getRenderNodeButton(
250-
resourceData as K8sResourceDetailDataType,
251-
columnName,
252-
handleNodeClick,
253-
)
254-
: getRenderInvolvedObjectButton(
255-
resourceData[columnName] as string,
256-
handleEventInvolvedObjectClick,
257-
)
258-
}
256+
wrap={getConditionalWrap()}
259257
>
260258
{columnName === 'errors' && isNodeListingAndNodeHasErrors && (
261259
<ICErrorExclamation className="icon-dim-16 dc__no-shrink mr-4" />

src/components/ResourceBrowser/ResourceList/Sidebar.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import {
2525
highlightSearchText,
2626
Nodes,
2727
ReactSelectInputAction,
28+
URL_FILTER_KEYS,
2829
useRegisterShortcut,
2930
} from '@devtron-labs/devtron-fe-common-lib'
3031

@@ -116,9 +117,9 @@ const Sidebar = ({ apiResources, selectedResource, updateK8sResourceTab, updateT
116117
const _selectedGroup = e.currentTarget.dataset.group.toLowerCase()
117118

118119
const params = new URLSearchParams(location.search)
119-
params.delete('pageNumber')
120-
params.delete('sortBy')
121-
params.delete('sortOrder')
120+
params.delete(URL_FILTER_KEYS.PAGE_NUMBER)
121+
params.delete(URL_FILTER_KEYS.SORT_BY)
122+
params.delete(URL_FILTER_KEYS.SORT_ORDER)
122123
if (_selectedKind !== Nodes.Event.toLowerCase()) {
123124
params.delete('eventType')
124125
}

src/components/ResourceBrowser/ResourceList/utils.tsx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { generatePath } from 'react-router-dom'
2020
import {
2121
ALL_NAMESPACE_OPTION,
2222
ClusterDetail,
23+
getGroupVersionFromApiVersion,
2324
logExceptionToSentry,
2425
numberComparatorBySortOrder,
2526
stringComparatorBySortOrder,
@@ -35,15 +36,14 @@ import {
3536
K8S_EMPTY_GROUP,
3637
NODE_K8S_VERSION_FILTER_KEY,
3738
NODE_SEARCH_KEYS_TO_OBJECT_KEYS,
38-
RESOURCE_ACTION_MENU,
3939
RESOURCE_BROWSER_ROUTES,
4040
ResourceBrowserRouteToTabIdMap,
4141
SIDEBAR_KEYS,
4242
TARGET_K8S_VERSION_SEARCH_KEY,
4343
UPGRADE_CLUSTER_CONSTANTS,
4444
} from '../Constants'
4545
import { ClusterOptionType, K8SResourceListType, NODE_SEARCH_KEYS, ShowAIButtonConfig } from '../Types'
46-
import { K8sResourceListFilterType, ResourceListUrlFiltersType } from './types'
46+
import { K8sResourceListFilterType, ResourceBrowserActionMenuEnum, ResourceListUrlFiltersType } from './types'
4747

4848
const getFilterOptionsFromSearchParams = importComponentFromFELibrary(
4949
'getFilterOptionsFromSearchParams',
@@ -332,22 +332,18 @@ export const getTabIdForTab = (
332332
}
333333

334334
export const getResourceRecommenderResourceDetailURL = (e: MouseEvent<HTMLButtonElement>) => {
335-
const {
336-
name,
337-
namespace = ALL_NAMESPACE_OPTION.value,
338-
kind,
339-
group: _group,
340-
tab = RESOURCE_ACTION_MENU.manifest,
341-
} = e.currentTarget.dataset
335+
const { name, namespace = ALL_NAMESPACE_OPTION.value, kind, apiVersion } = e.currentTarget.dataset
336+
337+
const group = getGroupVersionFromApiVersion(apiVersion).group.toLowerCase() || K8S_EMPTY_GROUP
342338

343339
const url = generatePath(RESOURCE_BROWSER_ROUTES.K8S_RESOURCE_DETAIL, {
344340
clusterId,
345341
namespace,
346342
name,
347343
kind: kind.toLowerCase(),
348-
group: _group || K8S_EMPTY_GROUP,
344+
group,
349345
version: DUMMY_RESOURCE_GVK_VERSION,
350346
})
351347

352-
return `${url}/${tab}`
348+
return `${url}/${ResourceBrowserActionMenuEnum.manifest}`
353349
}

0 commit comments

Comments
 (0)