From 8f7af502491bbc6b57b95d4fccc0123393e270a1 Mon Sep 17 00:00:00 2001 From: zivglik Date: Mon, 18 Mar 2024 09:29:33 +0200 Subject: [PATCH 1/2] invoke stop of all jobs of a certain pipeline --- .../Tables/Pipelines/PipelineActions.react.js | 13 ++++++++-- src/actions/index.js | 2 ++ src/actions/pipeline.action.js | 13 ++++++++++ src/config/schema/success-messages.schema.js | 1 + src/utils/index.js | 2 +- src/utils/modal.js | 25 ++++++++++++++++++- 6 files changed, 52 insertions(+), 4 deletions(-) diff --git a/src/Routes/Tables/Pipelines/PipelineActions.react.js b/src/Routes/Tables/Pipelines/PipelineActions.react.js index 8badcca11..fb81ee3f5 100644 --- a/src/Routes/Tables/Pipelines/PipelineActions.react.js +++ b/src/Routes/Tables/Pipelines/PipelineActions.react.js @@ -5,13 +5,14 @@ import { EditOutlined, InfoCircleOutlined, PlayCircleOutlined, + StopOutlined, } from '@ant-design/icons'; import { Button, Empty, Popover, Tooltip } from 'antd'; import { USER_GUIDE } from 'const'; import { useActions } from 'hooks'; import isEqual from 'lodash/isEqual'; -import { deleteConfirmAction } from 'utils'; +import { deleteConfirmAction, stopConfirmAction } from 'utils'; import PipelineCreateBoard from './TensorflowBoards/PipelineCreateBoard.react'; import usePath from './usePath'; @@ -23,7 +24,7 @@ const title = 'Create Tensor Board for selected Node'; const PipelineActions = ({ pipeline, className }) => { const { goTo } = usePath(); - const { deleteStored: remove } = useActions(); + const { deleteStored: remove, stopAllPipeline } = useActions(); const container = useRef(); @@ -38,6 +39,11 @@ const PipelineActions = ({ pipeline, className }) => { remove, ]); + const onStop = useCallback( + () => stopConfirmAction(stopAllPipeline, pipeline), + [pipeline, stopAllPipeline] + ); + const setPopupContainer = useCallback(() => container.current, [container]); const onUpdate = useCallback(() => { @@ -90,6 +96,9 @@ const PipelineActions = ({ pipeline, className }) => {