From f4f5dbfe6eca56ee9988de7d227afacc0e3f8729 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sun, 10 Dec 2023 22:42:56 +0100 Subject: [PATCH] Refactor WorkflowDefinitionService calls and update comments Refactored the WorkflowDefinitionService method calls to be invoked with BlazorServiceContext in WorkflowDefinitions List. This enhances consistency in method invocation. Additionally, updated comments for better clarity in WorkflowInstances List page. --- .../WorkflowDefinitions/List/Index.razor.cs | 24 ++++++++----------- .../WorkflowInstances/List/Index.razor.cs | 6 +---- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/modules/Elsa.Studio.Workflows/Pages/WorkflowDefinitions/List/Index.razor.cs b/src/modules/Elsa.Studio.Workflows/Pages/WorkflowDefinitions/List/Index.razor.cs index f2ca14a8..215ec62a 100644 --- a/src/modules/Elsa.Studio.Workflows/Pages/WorkflowDefinitions/List/Index.razor.cs +++ b/src/modules/Elsa.Studio.Workflows/Pages/WorkflowDefinitions/List/Index.razor.cs @@ -124,9 +124,7 @@ private async Task OnCreateWorkflowClicked() if (!dialogResult.Canceled) { var newWorkflowModel = (WorkflowMetadataModel)dialogResult.Data; - var result = - await WorkflowDefinitionService.CreateNewDefinitionAsync(newWorkflowModel.Name!, - newWorkflowModel.Description!); + var result = await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.CreateNewDefinitionAsync(newWorkflowModel.Name!, newWorkflowModel.Description!)); result.OnSuccess(definition => Edit(definition.DefinitionId)); result.OnFailed(errors => Snackbar.Add(string.Join(Environment.NewLine, errors.Errors))); @@ -163,15 +161,13 @@ private async Task OnDeleteClicked(WorkflowDefinitionRow workflowDefinitionRow) return; var definitionId = workflowDefinitionRow.DefinitionId; - await WorkflowDefinitionService.DeleteAsync(definitionId); + await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.DeleteAsync(definitionId)); Reload(); } private async Task OnDownloadClicked(WorkflowDefinitionRow workflowDefinitionRow) { - var download = - await WorkflowDefinitionService.ExportDefinitionAsync(workflowDefinitionRow.DefinitionId, - VersionOptions.Latest); + var download = await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.ExportDefinitionAsync(workflowDefinitionRow.DefinitionId, VersionOptions.Latest)); var fileName = $"{workflowDefinitionRow.Name.Kebaberize()}.json"; await Files.DownloadFileFromStreamAsync(fileName, download.Content); } @@ -185,7 +181,7 @@ private async Task OnBulkDeleteClicked() return; var workflowDefinitionIds = _selectedRows.Select(x => x.DefinitionId).ToList(); - await WorkflowDefinitionService.BulkDeleteAsync(workflowDefinitionIds); + await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.BulkDeleteAsync(workflowDefinitionIds)); Reload(); } @@ -198,7 +194,7 @@ private async Task OnBulkPublishClicked() return; var workflowDefinitionIds = _selectedRows.Select(x => x.DefinitionId).ToList(); - var response = await WorkflowDefinitionService.BulkPublishAsync(workflowDefinitionIds); + var response = await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.BulkPublishAsync(workflowDefinitionIds)); if (response.Published.Count > 0) { @@ -236,7 +232,7 @@ private async Task OnBulkRetractClicked() return; var workflowDefinitionIds = _selectedRows.Select(x => x.DefinitionId).ToList(); - var response = await WorkflowDefinitionService.BulkRetractAsync(workflowDefinitionIds); + var response = await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.BulkRetractAsync(workflowDefinitionIds)); if (response.Retracted.Count > 0) { @@ -268,7 +264,7 @@ private async Task OnBulkRetractClicked() private async Task OnBulkExportClicked() { var workflowVersionIds = _selectedRows.Select(x => x.Id).ToList(); - var download = await WorkflowDefinitionService.BulkExportDefinitionsAsync(workflowVersionIds); + var download = await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.BulkExportDefinitionsAsync(workflowVersionIds)); var fileName = download.FileName; await Files.DownloadFileFromStreamAsync(fileName, download.Content); } @@ -282,7 +278,7 @@ private async Task OnFilesSelected(IReadOnlyList files) { var maxAllowedSize = 1024 * 1024 * 10; // 10 MB var streamParts = files.Select(x => new StreamPart(x.OpenReadStream(maxAllowedSize), x.Name, x.ContentType)).ToList(); - var count = await WorkflowDefinitionService.ImportFilesAsync(streamParts); + var count = await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.ImportFilesAsync(streamParts)); var message = count == 1 ? "Successfully imported one workflow" : $"Successfully imported {count} workflows"; Snackbar.Add(message, Severity.Success, options => { options.SnackbarVariant = Variant.Filled; }); Reload(); @@ -296,13 +292,13 @@ private void OnSearch(string text) private async Task OnPublishClicked(string definitionId) { - await WorkflowDefinitionService.PublishAsync(definitionId); + await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.PublishAsync(definitionId)); Snackbar.Add("Workflow published", Severity.Success, options => { options.SnackbarVariant = Variant.Filled; }); } private async Task OnRetractClicked(string definitionId) { - await WorkflowDefinitionService.RetractAsync(definitionId); + await InvokeWithBlazorServiceContext(() => WorkflowDefinitionService.RetractAsync(definitionId)); Snackbar.Add("Workflow retracted", Severity.Success, options => { options.SnackbarVariant = Variant.Filled; }); } diff --git a/src/modules/Elsa.Studio.Workflows/Pages/WorkflowInstances/List/Index.razor.cs b/src/modules/Elsa.Studio.Workflows/Pages/WorkflowInstances/List/Index.razor.cs index 0ee15e33..ddc89f51 100644 --- a/src/modules/Elsa.Studio.Workflows/Pages/WorkflowInstances/List/Index.razor.cs +++ b/src/modules/Elsa.Studio.Workflows/Pages/WorkflowInstances/List/Index.razor.cs @@ -1,4 +1,3 @@ -using System.Runtime.InteropServices; using Elsa.Api.Client.Resources.WorkflowDefinitions.Models; using Elsa.Api.Client.Resources.WorkflowDefinitions.Responses; using Elsa.Api.Client.Resources.WorkflowInstances.Enums; @@ -15,6 +14,7 @@ namespace Elsa.Studio.Workflows.Pages.WorkflowInstances.List; +/// Represents the workflow instances list page. public partial class Index { private MudTable _table = null!; @@ -32,14 +32,10 @@ public partial class Index private ICollection WorkflowDefinitions { get; set; } = new List(); private ICollection SelectedWorkflowDefinitions { get; set; } = new List(); - /// /// The selected statuses to filter by. - /// public ICollection SelectedStatuses { get; set; } = new List(); - /// /// The selected sub-statuses to filter by. - /// public ICollection SelectedSubStatuses { get; set; } = new List(); ///