import { get } from 'lodash'; import React from 'react'; import { Modal } from 'react-bootstrap'; import type { IPipeline } from '../../../../domain'; import { ModalClose } from '../../../../modal'; import type { IModalComponentProps } from '../../../../presentation'; import { PipelineConfigService } from '../../services/PipelineConfigService'; export interface IDisablePipelineModalProps extends IModalComponentProps { pipeline: IPipeline; } export function DisablePipelineModal(props: IDisablePipelineModalProps) { const [errorMessage, setErrorMessage] = React.useState(null); const [saveError, setSaveError] = React.useState(false); const { closeModal, dismissModal, pipeline } = props; function disablePipeline() { PipelineConfigService.savePipeline({ ...pipeline, disabled: true }).then( () => closeModal(), (response) => { setSaveError(true); setErrorMessage(get(response, 'data.message', 'No message provided')); }, ); } return ( <> {}}> Really Disable Pipeline? {saveError && (

Could not disable pipeline.

Reason: {errorMessage}

{ e.preventDefault(); setSaveError(false); }} > [dismiss]

)}

Are you sure you want to disable {pipeline.name}?

This will prevent any triggers from firing, and will also prevent users from running the pipeline manually.

); }