From bcc59b2b9009a819bd9a66cbba0885317fe263fb Mon Sep 17 00:00:00 2001 From: Jeff Puzzo Date: Wed, 26 Jun 2024 11:42:11 -0400 Subject: [PATCH] [RHOAIENG-8583] Remove the disabled 'Create schedule' button when in an archived experiment --- .../tests/mocked/pipelines/experiments.cy.ts | 4 ++-- .../PipelineRunJobTableToolbar.tsx | 11 ++++++++--- .../pipelines/global/runs/ScheduledRuns.tsx | 19 +++++++++++-------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/frontend/src/__tests__/cypress/cypress/tests/mocked/pipelines/experiments.cy.ts b/frontend/src/__tests__/cypress/cypress/tests/mocked/pipelines/experiments.cy.ts index 1de1d76930..869e8f9172 100644 --- a/frontend/src/__tests__/cypress/cypress/tests/mocked/pipelines/experiments.cy.ts +++ b/frontend/src/__tests__/cypress/cypress/tests/mocked/pipelines/experiments.cy.ts @@ -325,10 +325,10 @@ describe('Runs page for archived experiment', () => { pipelineRunsGlobal.findRestoreRunButton().should('have.class', 'pf-m-aria-disabled'); }); - it('has create schedule button disabled on schedules tab', () => { + it('has no create schedule button on schedules tab', () => { pipelineRunsGlobal.findSchedulesTab().click(); pipelineRunJobTable.getRowByName('Test job').findCheckbox().click(); - pipelineRunsGlobal.findScheduleRunButton().should('have.class', 'pf-m-aria-disabled'); + pipelineRunsGlobal.findScheduleRunButton().should('not.exist'); }); }); diff --git a/frontend/src/concepts/pipelines/content/tables/pipelineRunJob/PipelineRunJobTableToolbar.tsx b/frontend/src/concepts/pipelines/content/tables/pipelineRunJob/PipelineRunJobTableToolbar.tsx index c86d162f76..2e4b7f74f9 100644 --- a/frontend/src/concepts/pipelines/content/tables/pipelineRunJob/PipelineRunJobTableToolbar.tsx +++ b/frontend/src/concepts/pipelines/content/tables/pipelineRunJob/PipelineRunJobTableToolbar.tsx @@ -6,6 +6,7 @@ import { FilterOptions } from '~/concepts/pipelines/content/tables/usePipelineFi import PipelineVersionSelect from '~/concepts/pipelines/content/pipelineSelector/CustomPipelineVersionSelect'; import { PipelineRunVersionsContext } from '~/pages/pipelines/global/runs/PipelineRunVersionsContext'; import CreateScheduleButton from '~/pages/pipelines/global/runs/CreateScheduleButton'; +import { useContextExperimentArchived as useIsExperimentArchived } from '~/pages/pipelines/global/experiments/ExperimentRunsContext'; export type FilterProps = Pick< React.ComponentProps, @@ -21,6 +22,7 @@ const PipelineRunJobTableToolbar: React.FC = ({ ...toolbarProps }) => { const { versions } = React.useContext(PipelineRunVersionsContext); + const isExperimentArchived = useIsExperimentArchived(); const { pipelineVersionId } = useParams(); const options = { @@ -53,9 +55,12 @@ const PipelineRunJobTableToolbar: React.FC = ({ ), }} > - - - + {!isExperimentArchived && ( + + + + )} + {dropdownActions} ); diff --git a/frontend/src/pages/pipelines/global/runs/ScheduledRuns.tsx b/frontend/src/pages/pipelines/global/runs/ScheduledRuns.tsx index 152bdc7ba7..5f53b2342f 100644 --- a/frontend/src/pages/pipelines/global/runs/ScheduledRuns.tsx +++ b/frontend/src/pages/pipelines/global/runs/ScheduledRuns.tsx @@ -16,12 +16,13 @@ import { ExclamationCircleIcon, PlusCircleIcon } from '@patternfly/react-icons'; import PipelineRunJobTable from '~/concepts/pipelines/content/tables/pipelineRunJob/PipelineRunJobTable'; import { usePipelineScheduledRunsTable } from '~/concepts/pipelines/content/tables/pipelineRunJob/usePipelineRunJobTable'; import CreateScheduleButton from '~/pages/pipelines/global/runs/CreateScheduleButton'; +import { useContextExperimentArchived as useIsExperimentArchived } from '~/pages/pipelines/global/experiments/ExperimentRunsContext'; const ScheduledRuns: React.FC = () => { const { experimentId, pipelineVersionId } = useParams(); - const [[{ items: jobs, totalSize }, loaded, error], { initialLoaded, ...tableProps }] = usePipelineScheduledRunsTable({ experimentId, pipelineVersionId }); + const isExperimentArchived = useIsExperimentArchived(); if (error) { return ( @@ -56,15 +57,17 @@ const ScheduledRuns: React.FC = () => { /> - Schedules dictate when and how many times a run is executed. To get started, create a - schedule. + Schedules dictate when and how many times a run is executed.{' '} + {!isExperimentArchived && 'To get started, create a schedule.'} - - - - - + {!isExperimentArchived && ( + + + + + + )} ); }