Skip to content

Commit 9da4653

Browse files
Merge pull request #1035 from arvindk-softwaredev/feat/SRVKP-11394
SRVKP-11394: conditionally navigate to details page on PLR re-run action
2 parents a635dae + 64b6dad commit 9da4653

2 files changed

Lines changed: 19 additions & 9 deletions

File tree

src/components/pipelineRuns-details/PipelineRunDetails.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { PipelineRunModel } from '../../models';
66
import PipelineRunVisualization from './PipelineRunVisualization';
77
import PipelineRunCustomDetails from './PipelineRunCustomDetails';
88
import { Grid, GridItem, PageSection, Title } from '@patternfly/react-core';
9+
import { Loading } from '../Loading';
910

1011
type PipelineRunDetailsProps = {
1112
obj: PipelineRunKind;
@@ -15,8 +16,12 @@ const PipelineRunDetails: FC<PipelineRunDetailsProps> = ({
1516
obj: pipelineRun,
1617
}) => {
1718
const { t } = useTranslation('plugin__pipelines-console-plugin');
19+
if (!pipelineRun) {
20+
return <Loading />;
21+
}
22+
1823
return (
19-
<PageSection hasBodyWrapper={false} isFilled >
24+
<PageSection hasBodyWrapper={false} isFilled>
2025
<Title headingLevel="h2">{t('PipelineRun details')}</Title>
2126
<PipelineRunVisualization pipelineRun={pipelineRun} />
2227
<Grid hasGutter>

src/utils/pipelineRun-actions-provider.tsx

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
useDeleteModal,
88
} from '@openshift-console/dynamic-plugin-sdk';
99
import { useTranslation } from 'react-i18next';
10-
import { useNavigate } from 'react-router';
10+
import { useLocation, useNavigate } from 'react-router';
1111
import { PipelineRunModel } from '../models';
1212
import { PipelineRunKind } from '../types';
1313
import { returnValidPipelineRunModel } from '../components/utils/pipeline-utils';
@@ -29,6 +29,7 @@ import { useGetActiveUser } from '../components/hooks/hooks';
2929
export const usePipelineRunActionsProvider = (resource: PipelineRunKind) => {
3030
const { t } = useTranslation('plugin__pipelines-console-plugin');
3131
const navigate = useNavigate();
32+
const location = useLocation();
3233
const currentUser = useGetActiveUser();
3334
const launchErrorModal = useErrorModal();
3435

@@ -97,18 +98,21 @@ export const usePipelineRunActionsProvider = (resource: PipelineRunKind) => {
9798
disabledTooltip: t('Insufficient permissions to create PipelineRun'),
9899
cta: () => {
99100
if (namespace && hasPipelineRef) {
101+
const isPipelineRunDetailsPage = location.pathname.includes(name);
100102
k8sCreate({
101103
model: returnValidPipelineRunModel(resource),
102104
data: getPipelineRunData(null, currentUser, resource),
103105
})
104106
.then((plr) => {
105-
navigate(
106-
resourcePathFromModel(
107-
PipelineRunModel,
108-
plr.metadata.name,
109-
plr.metadata.namespace,
110-
),
111-
);
107+
if (isPipelineRunDetailsPage) {
108+
navigate(
109+
resourcePathFromModel(
110+
PipelineRunModel,
111+
plr.metadata.name,
112+
plr.metadata.namespace,
113+
),
114+
);
115+
}
112116
})
113117
.catch((err) => {
114118
launchErrorModal({ error: err.message });
@@ -200,6 +204,7 @@ export const usePipelineRunActionsProvider = (resource: PipelineRunKind) => {
200204
namespace,
201205
resource,
202206
currentUser,
207+
location,
203208
hasPipelineRef,
204209
hidePLRStop,
205210
hidePLRCancel,

0 commit comments

Comments
 (0)