Skip to content

Commit

Permalink
Conditionally render pipeline Archive, Restore, and view server modals
Browse files Browse the repository at this point in the history
  • Loading branch information
jeff-phillips-18 committed Oct 4, 2024
1 parent 7ff95e0 commit 2fbdccd
Show file tree
Hide file tree
Showing 14 changed files with 47 additions and 77 deletions.
4 changes: 1 addition & 3 deletions frontend/src/concepts/pipelines/content/ArchiveModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ interface ArchiveModalProps {
onCancel: () => void;
onSubmit: () => Promise<void[]>;
children: React.ReactNode;
isOpen: boolean;
testId: string;
}

Expand All @@ -21,7 +20,6 @@ export const ArchiveModal: React.FC<ArchiveModalProps> = ({
title,
alertTitle,
children,
isOpen,
testId,
}) => {
const { refreshAllAPI } = usePipelinesAPI();
Expand Down Expand Up @@ -53,7 +51,7 @@ export const ArchiveModal: React.FC<ArchiveModalProps> = ({

return (
<Modal
isOpen={isOpen}
isOpen
title={title}
titleIconVariant="warning"
variant="small"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ const PipelineServerActions: React.FC<PipelineServerActionsProps> = ({ variant,
setDeleteOpen(false);
}}
/>
<ViewServerModal isOpen={viewOpen} onClose={() => setViewOpen(false)} />
{viewOpen ? <ViewServerModal onClose={() => setViewOpen(false)} /> : null}
<DeletePipelinesModal
isOpen={deletePipelinesOpen}
toDeletePipelines={pipelines}
Expand Down
4 changes: 1 addition & 3 deletions frontend/src/concepts/pipelines/content/RestoreModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ interface RestoreModalProps {
title: string;
alertTitle: string;
children: React.ReactNode;
isOpen: boolean;
testId: string;
}

Expand All @@ -18,7 +17,6 @@ export const RestoreModal: React.FC<RestoreModalProps> = ({
onSubmit,
title,
children,
isOpen,
testId,
alertTitle,
}) => {
Expand All @@ -43,7 +41,7 @@ export const RestoreModal: React.FC<RestoreModalProps> = ({

return (
<Modal
isOpen={isOpen}
isOpen
title={title}
variant="small"
onClose={onCancel}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@ import { ExternalDatabaseSecret } from '~/concepts/pipelines/content/configurePi
import { DSPipelineKind } from '~/k8sTypes';

type ViewPipelineServerModalProps = {
isOpen: boolean;
onClose: () => void;
pipelineNamespaceCR: DSPipelineKind | null;
};

const ViewPipelineServerModal: React.FC<ViewPipelineServerModalProps> = ({
isOpen,
onClose,
pipelineNamespaceCR,
}) => {
Expand All @@ -35,7 +33,7 @@ const ViewPipelineServerModal: React.FC<ViewPipelineServerModalProps> = ({
const databaseSecret = dataEntryToRecord(result?.values?.data ?? []);

return (
<Modal title="View pipeline server" isOpen={isOpen} onClose={onClose} variant="small">
<Modal title="View pipeline server" isOpen onClose={onClose} variant="small">
{pipelineNamespaceCR && (
<DescriptionList termWidth="20ch" isHorizontal>
{!!pipelineNamespaceCR.spec.objectStorage.externalStorage?.s3CredentialsSecret
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,11 +176,9 @@ const PipelineRunDetails: React.FC<
}
}}
/>
<ArchiveRunModal
isOpen={archiving}
runs={run ? [run] : []}
onCancel={() => setArchiving(false)}
/>
{archiving ? (
<ArchiveRunModal runs={run ? [run] : []} onCancel={() => setArchiving(false)} />
) : null}
</>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,12 @@ const ActiveExperimentTable: React.FC<ActiveExperimentTableProps> = ({ ...baseTa
/>
)}
/>
<ArchiveExperimentModal
isOpen={isArchiveModalOpen}
experiments={archiveExperiments}
onCancel={() => setIsArchiveModalOpen(false)}
/>
{isArchiveModalOpen ? (
<ArchiveExperimentModal
experiments={archiveExperiments}
onCancel={() => setIsArchiveModalOpen(false)}
/>
) : null}
</>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,12 @@ const ArchivedExperimentTable: React.FC<ArchivedExperimentTableProps> = ({ ...ba
/>
)}
/>
<RestoreExperimentModal
isOpen={isRestoreModalOpen}
experiments={restoreExperiments}
onCancel={() => setIsRestoreModalOpen(false)}
/>
{isRestoreModalOpen ? (
<RestoreExperimentModal
experiments={restoreExperiments}
onCancel={() => setIsRestoreModalOpen(false)}
/>
) : null}
<DeleteExperimentModal
onCancel={() => setDeleteExperiment(undefined)}
experiment={deleteExperiment}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,22 +295,24 @@ const PipelineRunTableInternal: React.FC<PipelineRunTableInternalProps> = ({
data-testid={`${runType}-runs-table`}
id={`${runType}-runs-table`}
/>
<ArchiveRunModal
isOpen={isArchiveModalOpen}
runs={selectedRuns}
onCancel={() => {
setIsArchiveModalOpen(false);
setSelectedIds([]);
}}
/>
<RestoreRunModal
isOpen={isRestoreModalOpen}
runs={selectedRuns}
onCancel={() => {
setIsRestoreModalOpen(false);
setSelectedIds([]);
}}
/>
{isArchiveModalOpen ? (
<ArchiveRunModal
runs={selectedRuns}
onCancel={() => {
setIsArchiveModalOpen(false);
setSelectedIds([]);
}}
/>
) : null}
{isRestoreModalOpen ? (
<RestoreRunModal
runs={selectedRuns}
onCancel={() => {
setIsRestoreModalOpen(false);
setSelectedIds([]);
}}
/>
) : null}
{isDeleteModalOpen && (
<DeletePipelineRunsModal
toDeleteResources={selectedRuns}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,16 +171,12 @@ const PipelineRunTableRow: React.FC<PipelineRunTableRowProps> = ({
items={actions}
popperProps={{ appendTo: getDashboardMainContainer, position: 'right' }}
/>
<RestoreRunModal
isOpen={isRestoreModalOpen}
runs={[run]}
onCancel={() => setIsRestoreModalOpen(false)}
/>
<ArchiveRunModal
isOpen={isArchiveModalOpen}
runs={[run]}
onCancel={() => setIsArchiveModalOpen(false)}
/>
{isRestoreModalOpen ? (
<RestoreRunModal runs={[run]} onCancel={() => setIsRestoreModalOpen(false)} />
) : null}
{isArchiveModalOpen ? (
<ArchiveRunModal runs={[run]} onCancel={() => setIsArchiveModalOpen(false)} />
) : null}
</Td>
)}
</Tr>
Expand Down
16 changes: 2 additions & 14 deletions frontend/src/concepts/pipelines/context/PipelinesContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -271,23 +271,11 @@ export const DeleteServerModal = ({
);
};

export const ViewServerModal = ({
isOpen,
onClose,
}: {
isOpen: boolean;
onClose: () => void;
}): React.JSX.Element => {
export const ViewServerModal = ({ onClose }: { onClose: () => void }): React.JSX.Element => {
const { namespace } = React.useContext(PipelinesContext);
const [pipelineNamespaceCR] = usePipelineNamespaceCR(namespace);

return (
<ViewPipelineServerModal
isOpen={isOpen}
onClose={onClose}
pipelineNamespaceCR={pipelineNamespaceCR}
/>
);
return <ViewPipelineServerModal onClose={onClose} pipelineNamespaceCR={pipelineNamespaceCR} />;
};

export const PipelineServerTimedOut: React.FC = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@ import { ArchiveModal } from '~/concepts/pipelines/content/ArchiveModal';
import { BulkActionExpandableSection } from '~/pages/projects/components/BulkActionExpandableSection';

interface ArchiveExperimentModalProps {
isOpen: boolean;
experiments: ExperimentKFv2[];
onCancel: () => void;
}

export const ArchiveExperimentModal: React.FC<ArchiveExperimentModalProps> = ({
isOpen,
experiments,
onCancel,
}) => {
Expand All @@ -28,7 +26,6 @@ export const ArchiveExperimentModal: React.FC<ArchiveExperimentModalProps> = ({

return (
<ArchiveModal
isOpen={isOpen}
title={`Archiving experiment${isSingleArchiving ? '' : 's'}?`}
alertTitle={`Error archiving ${
isSingleArchiving ? experiments[0].display_name : 'experiments'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,11 @@ import { BulkActionExpandableSection } from '~/pages/projects/components/BulkAct
interface RestoreExperimentModalProps {
experiments: ExperimentKFv2[];
onCancel: () => void;
isOpen: boolean;
}

export const RestoreExperimentModal: React.FC<RestoreExperimentModalProps> = ({
experiments,
onCancel,
isOpen,
}) => {
const isSingleRestoring = experiments.length === 1;

Expand All @@ -30,7 +28,6 @@ export const RestoreExperimentModal: React.FC<RestoreExperimentModalProps> = ({
);
return (
<RestoreModal
isOpen={isOpen}
onCancel={onCancel}
onSubmit={onSubmit}
title={`Restore experiment${isSingleRestoring ? '' : 's'}?`}
Expand Down
4 changes: 1 addition & 3 deletions frontend/src/pages/pipelines/global/runs/ArchiveRunModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@ import { PipelineRunTabTitle } from '~/pages/pipelines/global/runs/types';
import { BulkActionExpandableSection } from '~/pages/projects/components/BulkActionExpandableSection';

interface ArchiveRunModalProps {
isOpen: boolean;
runs: PipelineRunKFv2[];
onCancel: () => void;
}

export const ArchiveRunModal: React.FC<ArchiveRunModalProps> = ({ isOpen, runs, onCancel }) => {
export const ArchiveRunModal: React.FC<ArchiveRunModalProps> = ({ runs, onCancel }) => {
const isSingleArchiving = runs.length === 1;
const { api } = usePipelinesAPI();
const onSubmit = React.useCallback(
Expand All @@ -22,7 +21,6 @@ export const ArchiveRunModal: React.FC<ArchiveRunModalProps> = ({ isOpen, runs,

return (
<ArchiveModal
isOpen={isOpen}
title={`Archiving run${isSingleArchiving ? '' : 's'}?`}
alertTitle={`Error archiving ${isSingleArchiving ? runs[0].display_name : 'runs'}`}
confirmMessage={
Expand Down
4 changes: 1 addition & 3 deletions frontend/src/pages/pipelines/global/runs/RestoreRunModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@ import { BulkActionExpandableSection } from '~/pages/projects/components/BulkAct
import { PipelineRunTabTitle } from './types';

interface RestoreRunModalProps {
isOpen: boolean;
runs: PipelineRunKFv2[];
onCancel: () => void;
}

export const RestoreRunModal: React.FC<RestoreRunModalProps> = ({ isOpen, runs, onCancel }) => {
export const RestoreRunModal: React.FC<RestoreRunModalProps> = ({ runs, onCancel }) => {
const isSingleRestoring = runs.length === 1;
const { api } = usePipelinesAPI();
const onSubmit = React.useCallback(
Expand All @@ -24,7 +23,6 @@ export const RestoreRunModal: React.FC<RestoreRunModalProps> = ({ isOpen, runs,
title={`Restore run${isSingleRestoring ? '' : 's'}?`}
onCancel={onCancel}
onSubmit={onSubmit}
isOpen={isOpen}
testId="restore-run-modal"
alertTitle={`Error restoring ${isSingleRestoring ? runs[0].display_name : 'runs'}`}
>
Expand Down

0 comments on commit 2fbdccd

Please sign in to comment.