diff --git a/src/components/topology/actions/action-provider.tsx b/src/components/topology/actions/action-provider.tsx index 453c26fa..0b1357e2 100644 --- a/src/components/topology/actions/action-provider.tsx +++ b/src/components/topology/actions/action-provider.tsx @@ -1,14 +1,16 @@ import * as React from 'react'; -import { Action } from '@openshift-console/dynamic-plugin-sdk'; +import { Action, useDeleteModal } from '@openshift-console/dynamic-plugin-sdk'; import { getResource } from '@openshift-console/dynamic-plugin-sdk-internal'; import { GraphElement, isGraph } from '@patternfly/react-topology'; -import { editRollout } from './creators'; +import { editRollout, getDeleteRolloutAction } from './creators'; export const useGitOpsActionProviderForTopology = (element: GraphElement) => { + const resource = getResource(element); + const deleteModal = useDeleteModal(resource); + const actions = React.useMemo(() => { - const resource = getResource(element); if (!resource) { return []; } @@ -17,10 +19,10 @@ export const useGitOpsActionProviderForTopology = (element: GraphElement) => { } const addActions: Action[] = []; addActions.push(editRollout(resource)); - // addActions.push(getDeleteRolloutAction(resource)) // Add Delete action later + addActions.push(getDeleteRolloutAction(deleteModal)); // Look at console/frontend/packages/dev-console/src/actions/add-resources.tsx : disabledActionsFilter return addActions; - }, [element]); + }, [element, resource, deleteModal]); return [actions, true, undefined]; }; const TYPE_APPLICATION_GROUP = 'part-of'; diff --git a/src/components/topology/actions/creators.ts b/src/components/topology/actions/creators.ts index af587235..259763c2 100644 --- a/src/components/topology/actions/creators.ts +++ b/src/components/topology/actions/creators.ts @@ -1,26 +1,10 @@ import { Action, K8sResourceKind } from '@openshift-console/dynamic-plugin-sdk'; -export const getDeleteRolloutAction = (obj: K8sResourceKind): Action => ({ +export const getDeleteRolloutAction = (deleteModal: () => void): Action => ({ id: 'delete-rollout', label: 'Delete Rollout', cta: () => { - console.log('GitOps: DeleteRolloutAction disabled for ' + obj?.metadata?.name); - // Dependency on console. We need to implement later - // deleteResourceModal({ - // blocking: true, - // resourceName: rollout, - // resourceType: 'Rollout', - // actionLabel: t('Delete'), - // redirect, - // onSubmit: () => { - // return coFetchJSON.delete( - // `/api/helm/release/async?name=${releaseName}&ns=${namespace}&version=${releaseVersion}`, - // null, - // null, - // -1, - // ); - // }, - // }); + deleteModal(); }, });