From 4ca1e3437812f2468b0990b8c576870c5dce0cfd Mon Sep 17 00:00:00 2001 From: Raj Kamal Singh <1133322+rkssisodiya@users.noreply.github.com> Date: Tue, 31 Oct 2023 11:25:41 +0530 Subject: [PATCH] Fix: Log pipelines deployment status unknown (#3838) * fix: fe: log pipelines: label and icon for deploy status 'UNKNOWN' * fix: handle scenarios when response.payload?.pipelines is undefined (eg: post delete all) --- .../PipelinePage/Layouts/ChangeHistory/utils.tsx | 5 +++++ .../PipelinePage/PipelineListsView/index.tsx | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/frontend/src/container/PipelinePage/Layouts/ChangeHistory/utils.tsx b/frontend/src/container/PipelinePage/Layouts/ChangeHistory/utils.tsx index ff3161f7d4..705796ffbb 100644 --- a/frontend/src/container/PipelinePage/Layouts/ChangeHistory/utils.tsx +++ b/frontend/src/container/PipelinePage/Layouts/ChangeHistory/utils.tsx @@ -3,6 +3,7 @@ import { CloseCircleFilled, ExclamationCircleFilled, LoadingOutlined, + MinusCircleFilled, } from '@ant-design/icons'; import { Spin } from 'antd'; @@ -16,6 +17,8 @@ export function getDeploymentStage(value: string): string { return 'Dirty'; case 'FAILED': return 'Failed'; + case 'UNKNOWN': + return 'Unknown'; default: return ''; } @@ -33,6 +36,8 @@ export function getDeploymentStageIcon(value: string): JSX.Element { return ; case 'FAILED': return ; + case 'UNKNOWN': + return ; default: return ; } diff --git a/frontend/src/container/PipelinePage/PipelineListsView/index.tsx b/frontend/src/container/PipelinePage/PipelineListsView/index.tsx index d602004a68..e7211c059c 100644 --- a/frontend/src/container/PipelinePage/PipelineListsView/index.tsx +++ b/frontend/src/container/PipelinePage/PipelineListsView/index.tsx @@ -56,23 +56,23 @@ function PipelineListsView({ const [modal, contextHolder] = Modal.useModal(); const { notifications } = useNotifications(); const [prevPipelineData, setPrevPipelineData] = useState>( - cloneDeep(pipelineData?.pipelines), + cloneDeep(pipelineData?.pipelines || []), ); const [currPipelineData, setCurrPipelineData] = useState>( - cloneDeep(pipelineData?.pipelines), + cloneDeep(pipelineData?.pipelines || []), ); const [expandedPipelineId, setExpandedPipelineId] = useState< string | undefined >(undefined); const expandedPipelineData = useCallback( - () => currPipelineData.find((p) => p.id === expandedPipelineId), + () => currPipelineData?.find((p) => p.id === expandedPipelineId), [currPipelineData, expandedPipelineId], ); const setExpandedPipelineData = useCallback( (newData: PipelineData): void => { if (expandedPipelineId) { - const pipelineIdx = currPipelineData.findIndex( + const pipelineIdx = currPipelineData?.findIndex( (p) => p.id === expandedPipelineId, ); if (pipelineIdx >= 0) { @@ -359,8 +359,8 @@ function PipelineListsView({ refetchPipelineLists(); setActionMode(ActionMode.Viewing); setShowSaveButton(undefined); - setCurrPipelineData(response.payload?.pipelines); - setPrevPipelineData(response.payload?.pipelines); + setCurrPipelineData(response.payload?.pipelines || []); + setPrevPipelineData(response.payload?.pipelines || []); } else { modifiedPipelineData.forEach((item: PipelineData) => { const pipelineData = item;