diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/plugins/workflow-definitions-plugin.tsx b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/plugins/workflow-definitions-plugin.tsx index 3541f7447..2f0adbd03 100644 --- a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/plugins/workflow-definitions-plugin.tsx +++ b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/plugins/workflow-definitions-plugin.tsx @@ -131,6 +131,7 @@ export class WorkflowDefinitionsPlugin implements Plugin { public showWorkflowDefinitionEditor = (workflowDefinition: WorkflowDefinition) => { toolbarComponentStore.components = [() => ]; studioComponentStore.activeComponentFactory = () => { + const definition = await this.workflowDefinitionEditorElement.getWorkflowDefinition(); + + const notification = NotificationService.createNotification({ + title: 'Unpublishing', + id: uuid(), + text: 'Unpublishing the workflow. Please wait.', + type: NotificationDisplayType.InProgress + }); + + await this.workflowDefinitionManager.retractWorkflow(definition) + .then(async () => { + NotificationService.updateNotification(notification, {title: 'Workflow unpublished', text: 'Unpublished!'}) + await this.activityDescriptorManager.refresh(); + }).catch(() => { + NotificationService.updateNotification(notification, { + title: 'Error while unpublishing', + text: Workflow {definition.definitionId} could not be unpublished., + type: NotificationDisplayType.Error + }); + }); + } + private onExportClicked = async (e: CustomEvent) => { const workflowDefinition = await this.workflowDefinitionEditorElement.getWorkflowDefinition(); await this.workflowDefinitionManager.exportWorkflow(workflowDefinition); diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts index df570dc2b..8a5665f06 100644 --- a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts +++ b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts @@ -23,7 +23,7 @@ export class WorkflowDefinitionsApi { async retract(request: RetractWorkflowDefinitionRequest): Promise { const httpClient = await this.getHttpClient(); - const response = await httpClient.post(`workflow-definitions/${request.definitionId}/retract`); + const response = await httpClient.post(`workflow-definitions/${request.definitionId}/retract`, request); return response.data; } diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-instances/components/viewer.tsx b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-instances/components/viewer.tsx index 5fe72f7fe..ba881ce27 100644 --- a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-instances/components/viewer.tsx +++ b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-instances/components/viewer.tsx @@ -9,7 +9,7 @@ import { WorkflowExecutionLogRecord, Workflow } from '../../../models'; -import {PluginRegistry, ActivityNameFormatter, ActivityDriverRegistry, EventBus, ActivityNode} from '../../../services'; +import {ActivityDriverRegistry, EventBus, ActivityNode} from '../../../services'; import {MonacoEditorSettings} from "../../../services/monaco-editor-settings"; import {WorkflowDefinition} from "../../workflow-definitions/models/entities"; import {WorkflowEditorEventTypes} from "../../workflow-definitions/models/ui"; diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Retract/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Retract/Endpoint.cs index 5c2efb41f..397e5332f 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Retract/Endpoint.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Retract/Endpoint.cs @@ -3,9 +3,11 @@ using Elsa.Common.Models; using Elsa.Workflows.Api.Mappers; using Elsa.Workflows.Api.Models; using Elsa.Workflows.Management.Contracts; +using JetBrains.Annotations; namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.Retract; +[PublicAPI] internal class Retract : ElsaEndpoint { private readonly IWorkflowDefinitionStore _store;