From c7e3f9fc06364daad30cce0a3875b77c511cb225 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 27 Sep 2021 15:21:28 +0200 Subject: [PATCH 1/9] Update Elsa.Retention package metadata --- src/modules/Elsa.Retention/Elsa.Retention.csproj | 8 +++++++- .../Elsa.WorkflowSettings/Elsa.WorkflowSettings.csproj | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/modules/Elsa.Retention/Elsa.Retention.csproj b/src/modules/Elsa.Retention/Elsa.Retention.csproj index 17a65f405..71dee1269 100644 --- a/src/modules/Elsa.Retention/Elsa.Retention.csproj +++ b/src/modules/Elsa.Retention/Elsa.Retention.csproj @@ -1,8 +1,14 @@ + + + netstandard2.1 - enable + + Elsa Retention is an optional part of Elsa Workflows that adds retention settings to the system. + + elsa, workflow settings diff --git a/src/modules/workflowsettings/Elsa.WorkflowSettings/Elsa.WorkflowSettings.csproj b/src/modules/workflowsettings/Elsa.WorkflowSettings/Elsa.WorkflowSettings.csproj index ec4ed3c48..cf437ad6c 100644 --- a/src/modules/workflowsettings/Elsa.WorkflowSettings/Elsa.WorkflowSettings.csproj +++ b/src/modules/workflowsettings/Elsa.WorkflowSettings/Elsa.WorkflowSettings.csproj @@ -9,7 +9,7 @@ Elsa Workflow Settings is an optional part of Elsa Workflows. This package contains Workflow Settings. - elsa, workflow settings, orchard + elsa, workflow settings From aed1d8eda8fad5cb42cc5319bae438d53cc1394e Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 27 Sep 2021 15:24:14 +0200 Subject: [PATCH 2/9] Move retention module --- Elsa.sln | 12 ++++++------ .../Elsa.Retention/Elsa.Retention.csproj | 2 +- .../Extensions/ServiceCollectionExtensions.cs | 0 .../Elsa.Retention/HostedServices/CleanupService.cs | 0 .../Elsa.Retention/Jobs/CleanupJob.cs | 0 .../Elsa.Retention/Options/CleanupOptions.cs | 0 .../Elsa.Samples.Server.Host.csproj | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) rename src/modules/{ => retention}/Elsa.Retention/Elsa.Retention.csproj (90%) rename src/modules/{ => retention}/Elsa.Retention/Extensions/ServiceCollectionExtensions.cs (100%) rename src/modules/{ => retention}/Elsa.Retention/HostedServices/CleanupService.cs (100%) rename src/modules/{ => retention}/Elsa.Retention/Jobs/CleanupJob.cs (100%) rename src/modules/{ => retention}/Elsa.Retention/Options/CleanupOptions.cs (100%) diff --git a/Elsa.sln b/Elsa.sln index 12318883a..c6e7e107f 100644 --- a/Elsa.sln +++ b/Elsa.sln @@ -366,7 +366,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Samples.Forks", "src\s EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "retention", "retention", "{235ABC3F-A075-4682-B6D7-837098BA6B00}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Retention", "src\modules\Elsa.Retention\Elsa.Retention.csproj", "{6DD8EB07-95CD-4F5A-9C0C-FD7F317EBC5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Retention", "src\modules\retention\Elsa.Retention\Elsa.Retention.csproj", "{FAEEA170-560C-4AF3-B4A8-92DEBD59D418}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -866,10 +866,10 @@ Global {AB67BA19-5BC2-4C6D-A994-61D51A6A6FD5}.Debug|Any CPU.Build.0 = Debug|Any CPU {AB67BA19-5BC2-4C6D-A994-61D51A6A6FD5}.Release|Any CPU.ActiveCfg = Release|Any CPU {AB67BA19-5BC2-4C6D-A994-61D51A6A6FD5}.Release|Any CPU.Build.0 = Release|Any CPU - {6DD8EB07-95CD-4F5A-9C0C-FD7F317EBC5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6DD8EB07-95CD-4F5A-9C0C-FD7F317EBC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6DD8EB07-95CD-4F5A-9C0C-FD7F317EBC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6DD8EB07-95CD-4F5A-9C0C-FD7F317EBC5A}.Release|Any CPU.Build.0 = Release|Any CPU + {FAEEA170-560C-4AF3-B4A8-92DEBD59D418}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FAEEA170-560C-4AF3-B4A8-92DEBD59D418}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FAEEA170-560C-4AF3-B4A8-92DEBD59D418}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FAEEA170-560C-4AF3-B4A8-92DEBD59D418}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1033,7 +1033,7 @@ Global {A2572DBF-AF11-4A02-AF99-B343871F2D85} = {22E75696-6FE9-436A-9097-EE21C603F818} {AB67BA19-5BC2-4C6D-A994-61D51A6A6FD5} = {FC9F520F-BA51-4AD2-BFEE-EF787798E734} {235ABC3F-A075-4682-B6D7-837098BA6B00} = {69BB424A-AAA3-415C-9651-9F4349CA3AC5} - {6DD8EB07-95CD-4F5A-9C0C-FD7F317EBC5A} = {235ABC3F-A075-4682-B6D7-837098BA6B00} + {FAEEA170-560C-4AF3-B4A8-92DEBD59D418} = {235ABC3F-A075-4682-B6D7-837098BA6B00} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {8B0975FD-7050-48B0-88C5-48C33378E158} diff --git a/src/modules/Elsa.Retention/Elsa.Retention.csproj b/src/modules/retention/Elsa.Retention/Elsa.Retention.csproj similarity index 90% rename from src/modules/Elsa.Retention/Elsa.Retention.csproj rename to src/modules/retention/Elsa.Retention/Elsa.Retention.csproj index 71dee1269..28e2a94a2 100644 --- a/src/modules/Elsa.Retention/Elsa.Retention.csproj +++ b/src/modules/retention/Elsa.Retention/Elsa.Retention.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/modules/Elsa.Retention/Extensions/ServiceCollectionExtensions.cs b/src/modules/retention/Elsa.Retention/Extensions/ServiceCollectionExtensions.cs similarity index 100% rename from src/modules/Elsa.Retention/Extensions/ServiceCollectionExtensions.cs rename to src/modules/retention/Elsa.Retention/Extensions/ServiceCollectionExtensions.cs diff --git a/src/modules/Elsa.Retention/HostedServices/CleanupService.cs b/src/modules/retention/Elsa.Retention/HostedServices/CleanupService.cs similarity index 100% rename from src/modules/Elsa.Retention/HostedServices/CleanupService.cs rename to src/modules/retention/Elsa.Retention/HostedServices/CleanupService.cs diff --git a/src/modules/Elsa.Retention/Jobs/CleanupJob.cs b/src/modules/retention/Elsa.Retention/Jobs/CleanupJob.cs similarity index 100% rename from src/modules/Elsa.Retention/Jobs/CleanupJob.cs rename to src/modules/retention/Elsa.Retention/Jobs/CleanupJob.cs diff --git a/src/modules/Elsa.Retention/Options/CleanupOptions.cs b/src/modules/retention/Elsa.Retention/Options/CleanupOptions.cs similarity index 100% rename from src/modules/Elsa.Retention/Options/CleanupOptions.cs rename to src/modules/retention/Elsa.Retention/Options/CleanupOptions.cs diff --git a/src/samples/server/Elsa.Samples.Server.Host/Elsa.Samples.Server.Host.csproj b/src/samples/server/Elsa.Samples.Server.Host/Elsa.Samples.Server.Host.csproj index cc375458c..964865ad5 100644 --- a/src/samples/server/Elsa.Samples.Server.Host/Elsa.Samples.Server.Host.csproj +++ b/src/samples/server/Elsa.Samples.Server.Host/Elsa.Samples.Server.Host.csproj @@ -36,7 +36,7 @@ - + From 045aca9a924c86b8fa0f35206142381f38b09ae0 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 27 Sep 2021 15:24:18 +0200 Subject: [PATCH 3/9] Create FodyWeavers.xml --- src/modules/retention/Elsa.Retention/FodyWeavers.xml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/modules/retention/Elsa.Retention/FodyWeavers.xml diff --git a/src/modules/retention/Elsa.Retention/FodyWeavers.xml b/src/modules/retention/Elsa.Retention/FodyWeavers.xml new file mode 100644 index 000000000..00e1d9a1c --- /dev/null +++ b/src/modules/retention/Elsa.Retention/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file From 7027d5fa39e39ae96183a652fba30b5f1184acd7 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 27 Sep 2021 15:46:42 +0200 Subject: [PATCH 4/9] Update cleanup job to include only finished workflows --- src/modules/retention/Elsa.Retention/Jobs/CleanupJob.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/retention/Elsa.Retention/Jobs/CleanupJob.cs b/src/modules/retention/Elsa.Retention/Jobs/CleanupJob.cs index f097dbdd8..39116c7b8 100644 --- a/src/modules/retention/Elsa.Retention/Jobs/CleanupJob.cs +++ b/src/modules/retention/Elsa.Retention/Jobs/CleanupJob.cs @@ -31,7 +31,7 @@ namespace Elsa.Retention.Jobs public async Task ExecuteAsync(CancellationToken cancellationToken = default) { var threshold = _clock.GetCurrentInstant().Minus(_options.TimeToLive); - var specification = new WorkflowCreatedBeforeSpecification(threshold); + var specification = new WorkflowCreatedBeforeSpecification(threshold).And(new WorkflowFinishedStatusSpecification()); var take = _options.PageSize; IList workflowInstanceIds; From d9b1968562f190b3c8ae4ff0033c0d37c33e3332 Mon Sep 17 00:00:00 2001 From: simona-taran <88426876+simona-taran@users.noreply.github.com> Date: Thu, 30 Sep 2021 19:19:34 +0300 Subject: [PATCH 5/9] Added legend/help. Added cursor pointer. (#1590) --- .../elsa-workflows-studio/src/components.d.ts | 4 +- ...elsa-workflow-definition-editor-screen.tsx | 53 +- .../elsa-flyout-panel/elsa-flyout-panel.tsx | 8 +- .../elsa-modal-dialog/elsa-modal-dialog.tsx | 10 +- .../elsa-tab-header/elsa-tab-header.tsx | 2 +- .../src/globals/tailwind.css | 152359 ++++++++++++++- 6 files changed, 152420 insertions(+), 16 deletions(-) diff --git a/src/designer/elsa-workflows-studio/src/components.d.ts b/src/designer/elsa-workflows-studio/src/components.d.ts index c3933a629..7aade368d 100644 --- a/src/designer/elsa-workflows-studio/src/components.d.ts +++ b/src/designer/elsa-workflows-studio/src/components.d.ts @@ -100,8 +100,8 @@ export namespace Components { "propertyModel": ActivityDefinitionProperty; } interface ElsaModalDialog { - "hide": (animate: boolean) => Promise; - "show": (animate: boolean) => Promise; + "hide": (animate?: boolean) => Promise; + "show": (animate?: boolean) => Promise; } interface ElsaMonaco { "addJavaScriptLib": (libSource: string, libUri: string) => Promise; diff --git a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx index 372a24b81..48a4a3f1f 100644 --- a/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx +++ b/src/designer/elsa-workflows-studio/src/components/screens/workflow-definition-editor/elsa-workflow-definition-editor-screen/elsa-workflow-definition-editor-screen.tsx @@ -63,6 +63,7 @@ export class ElsaWorkflowDefinitionEditorScreen { i18next: i18n; el: HTMLElement; designer: HTMLElsaDesignerTreeElement; + helpDialog: HTMLElsaModalDialogElement; @Method() async getServerUrl(): Promise { @@ -292,7 +293,7 @@ export class ElsaWorkflowDefinitionEditorScreen { } } - updateUrl(id){ + updateUrl(id) { this.history.push(`/workflow-definitions/${id}`, {}); } @@ -440,6 +441,7 @@ export class ElsaWorkflowDefinitionEditorScreen { ref={el => this.designer = el}/> {this.renderPropertiesPanel()} {this.renderWorkflowSettingsButton()} + {this.renderWorkflowHelpButton()} {this.renderActivityContextMenu()} {this.renderConnectionContextMenu()} @@ -451,6 +453,7 @@ export class ElsaWorkflowDefinitionEditorScreen { {this.renderPublishButton()} + ); } @@ -553,8 +556,48 @@ export class ElsaWorkflowDefinitionEditorScreen { ); } - renderWorkflowSettingsModal() { - return; + renderWorkflowHelpButton() { + return ( + + + this.helpDialog = el}> +
+

Actions

+
+
+
Delete connections
+
RIGHT-click the connection to delete.
+
+
+
Connect outcomes to existing activity
+
Press and hold SHIFT while LEFT-clicking the outcome to connect. Release SHIFT and LEFT-click the target activity.
+
+
+
Pan
+
Click anywhere on the designer and drag mouse.
+
+
+
Zoom
+
Use scroll-wheel on mouse.
+
+
+
+
+
+ ); + } + + showHelpModal = async () => { + await this.helpDialog.show(); } renderSavingIndicator() { @@ -613,9 +656,7 @@ export class ElsaWorkflowDefinitionEditorScreen { private renderPropertiesPanel() { return ( - + General diff --git a/src/designer/elsa-workflows-studio/src/components/shared/elsa-tab-content/elsa-tab-content.tsx b/src/designer/elsa-workflows-studio/src/components/shared/elsa-tab-content/elsa-tab-content.tsx index 5e51e4ba0..31597f000 100644 --- a/src/designer/elsa-workflows-studio/src/components/shared/elsa-tab-content/elsa-tab-content.tsx +++ b/src/designer/elsa-workflows-studio/src/components/shared/elsa-tab-content/elsa-tab-content.tsx @@ -11,7 +11,7 @@ export class ElsaTabContent { render() { return ( -
+