Skip to content

Commit 4974bfc

Browse files
committed
fix: show node error in list & use tabs reinit
1 parent 3646fa5 commit 4974bfc

File tree

11 files changed

+262
-238
lines changed

11 files changed

+262
-238
lines changed

src/components/ClusterNodes/ClusterTerminal.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616

1717
import { useEffect, useRef, useState } from 'react'
18-
import { useHistory, useLocation, useParams } from 'react-router-dom'
18+
import { generatePath, useHistory, useLocation, useParams } from 'react-router-dom'
1919

2020
import {
2121
Checkbox,
@@ -27,6 +27,7 @@ import {
2727
NodeTaintType,
2828
noop,
2929
OptionType,
30+
RESOURCE_BROWSER_ROUTES,
3031
ResponseType,
3132
SelectPickerOptionType,
3233
ServerErrors,
@@ -35,6 +36,7 @@ import {
3536
TabProps,
3637
} from '@devtron-labs/devtron-fe-common-lib'
3738

39+
import { ResourceBrowserTabsId } from '@Components/ResourceBrowser/Constants'
3840
import { K8sResourceListURLParams } from '@Components/ResourceBrowser/ResourceList/types'
3941
import { getClusterTerminalParamsData } from '@Pages/GlobalConfigurations/ClustersAndEnvironments/cluster.util'
4042

@@ -84,7 +86,7 @@ const ClusterTerminal = ({
8486
clusterImageList,
8587
namespaceList = [],
8688
taints,
87-
updateTerminalTabUrl,
89+
updateTabUrl,
8890
}: ClusterTerminalType) => {
8991
const { kind } = useParams<K8sResourceListURLParams>()
9092
const { replace } = useHistory()
@@ -182,7 +184,10 @@ const ClusterTerminal = ({
182184
queryParams.set('namespace', selectedNamespace.value)
183185
queryParams.set('shell', selectedTerminalType.value)
184186
queryParams.set('node', selectedNodeName.value)
185-
updateTerminalTabUrl(queryParams.toString())
187+
updateTabUrl({
188+
id: ResourceBrowserTabsId.terminal,
189+
url: `${generatePath(RESOURCE_BROWSER_ROUTES.TERMINAL, { clusterId })}?${queryParams.toString()}`,
190+
})
186191
if (kind === AppDetailsTabs.terminal) {
187192
replace({ search: queryParams.toString() })
188193
}

src/components/ClusterNodes/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ export interface ClusterTerminalType {
155155
namespaceList: string[]
156156
nodeGroups: SelectGroupType[]
157157
taints: Map<string, NodeTaintType[]>
158-
updateTerminalTabUrl: (queryParams: string) => void
158+
updateTabUrl: UseTabsReturnType['updateTabUrl']
159159
}
160160

161161
export const TEXT_COLOR_CLASS = {

src/components/ResourceBrowser/PageHeader.buttons.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ export const CreateResourceButton: React.FC<CreateResourceButtonType> = ({ clust
4747
})
4848
}
4949

50-
const handleModalClose = () => {
50+
const handleModalClose = (shouldUpdate: boolean) => {
5151
setShowModal(false)
52-
closeModal(true)
52+
closeModal(shouldUpdate)
5353
}
5454

5555
return (

src/components/ResourceBrowser/ResourceList/AdminTerminal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import ClusterTerminal from '../../ClusterNodes/ClusterTerminal'
2727
import { createGroupSelectList, filterImageList } from '../../common'
2828
import { AdminTerminalProps, ClusterDetailBaseParams } from '../Types'
2929

30-
const AdminTerminal: React.FC<AdminTerminalProps> = ({ updateTerminalTabUrl }: AdminTerminalProps) => {
30+
const AdminTerminal: React.FC<AdminTerminalProps> = ({ updateTabUrl }: AdminTerminalProps) => {
3131
const { clusterId } = useParams<ClusterDetailBaseParams>()
3232

3333
const [loading, data, error] = useAsync(
@@ -72,7 +72,7 @@ const AdminTerminal: React.FC<AdminTerminalProps> = ({ updateTerminalTabUrl }: A
7272
taints={details.taints}
7373
clusterImageList={details.clusterImageList}
7474
namespaceList={details.namespaceList}
75-
updateTerminalTabUrl={updateTerminalTabUrl}
75+
updateTabUrl={updateTabUrl}
7676
/>
7777
)
7878
}

src/components/ResourceBrowser/ResourceList/CreateResource.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,13 @@ export const CreateResource: React.FC<CreateResourceType> = ({ closePopup, clust
4646
const [loader, setLoader] = useState(false)
4747
const [resourceYAML, setResourceYAML] = useState('')
4848
const [resourceResponse, setResourceResponse] = useState<CreateResourceDTO[]>(null)
49+
const [needsUpdate, setNeedsUpdate] = useState(false)
4950

5051
const onClose = (): void => {
5152
if (loader) {
5253
return
5354
}
54-
closePopup(true)
55+
closePopup(needsUpdate)
5556
}
5657

5758
useEffect(() => {
@@ -85,6 +86,7 @@ export const CreateResource: React.FC<CreateResourceType> = ({ closePopup, clust
8586
if (result) {
8687
setResourceResponse(result)
8788
toggleCodeEditorView(false)
89+
setNeedsUpdate(true)
8890
}
8991
} catch (err) {
9092
showError(err)
@@ -96,7 +98,7 @@ export const CreateResource: React.FC<CreateResourceType> = ({ closePopup, clust
9698
const renderFooter = (): JSX.Element => {
9799
if (showCodeEditorView) {
98100
return (
99-
<div className="dc__border-top flex right p-16">
101+
<div className="dc__border-top flex right p-16 dc__gap-8">
100102
<Button
101103
dataTestId="cancel-create-resource"
102104
text={CREATE_RESOURCE_MODAL_MESSAGING.actionButtonText.cancel}

src/components/ResourceBrowser/ResourceList/K8sResourceListTableCellComponent.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import { AddEnvironmentFormPrefilledInfoType } from '@Pages/GlobalConfigurations
2727
import { ClusterEnvironmentDrawer } from '@Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterEnvironmentDrawer'
2828
import { ADD_ENVIRONMENT_FORM_LOCAL_STORAGE_KEY } from '@Pages/GlobalConfigurations/ClustersAndEnvironments/constants'
2929

30-
import { AI_BUTTON_CONFIG_MAP, EVENT_LIST, K8S_EMPTY_GROUP } from '../Constants'
30+
import { AI_BUTTON_CONFIG_MAP, EVENT_LIST, K8S_EMPTY_GROUP, NODE_LIST_HEADERS_TO_KEY_MAP } from '../Constants'
3131
import { ClusterDetailBaseParams } from '../Types'
3232
import { getRenderInvolvedObjectButton, getRenderNodeButton, renderResourceValue } from '../Utils'
3333
import NodeActionsMenu from './NodeActionsMenu'
@@ -53,8 +53,8 @@ const K8sResourceListTableCellComponent = ({
5353
const { push } = useHistory()
5454
const { clusterId } = useParams<ClusterDetailBaseParams>()
5555
const isNodeListing = selectedResource?.gvk.Kind === Nodes.Node
56-
const isNodeListingAndNodeHasErrors = false
57-
const isNodeUnschedulable = false
56+
const isNodeListingAndNodeHasErrors = isNodeListing && !!resourceData[NODE_LIST_HEADERS_TO_KEY_MAP.errors]
57+
const isNodeUnschedulable = isNodeListing && !!resourceData.unschedulable
5858
const nameButtonRef = useRef<HTMLButtonElement>(null)
5959
const contextMenuRef = useRef<HTMLButtonElement>(null)
6060

src/components/ResourceBrowser/ResourceList/NodeActionsMenu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,10 @@ const NodeActionsMenu = forwardRef<HTMLButtonElement, NodeActionsMenuProps>(
167167
case NodeActionMenuOptionIdEnum.drain:
168168
showDrainNodeModal()
169169
break
170-
case NodeActionMenuOptionIdEnum['edit-taints']:
170+
case NodeActionMenuOptionIdEnum.editTaints:
171171
showEditTaintsModal()
172172
break
173-
case NodeActionMenuOptionIdEnum['edit-yaml']:
173+
case NodeActionMenuOptionIdEnum.editYaml:
174174
handleEditYamlAction()
175175
break
176176
case NodeActionMenuOptionIdEnum.delete:

0 commit comments

Comments
 (0)