From 0b5c1307f9bd6e140d7e8bde5d92b3cc012db157 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bianchi <jb.bianchi@neuroglia.io> Date: Fri, 31 Jan 2025 15:19:26 +0100 Subject: [PATCH] feat(Dashboard): center to node - Added a feature to center the graph on a clicked node in the dashboard Signed-off-by: Jean-Baptiste Bianchi <jb.bianchi@neuroglia.io> --- src/api/Synapse.Api.Http/Synapse.Api.Http.csproj | 4 ++-- .../Synapse.Core.Infrastructure.csproj | 12 ++++++------ src/core/Synapse.Core/Synapse.Core.csproj | 4 ++-- .../Synapse.Correlator/Synapse.Correlator.csproj | 12 ++++++------ .../Components/WorkflowDiagram/WorkflowDiagram.razor | 4 ++++ .../Synapse.Dashboard/Synapse.Dashboard.csproj | 2 +- src/runner/Synapse.Runner/Synapse.Runner.csproj | 10 +++++----- tests/Synapse.UnitTests/Synapse.UnitTests.csproj | 6 +++--- 8 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/api/Synapse.Api.Http/Synapse.Api.Http.csproj b/src/api/Synapse.Api.Http/Synapse.Api.Http.csproj index dbe2e207..2b4e27c7 100644 --- a/src/api/Synapse.Api.Http/Synapse.Api.Http.csproj +++ b/src/api/Synapse.Api.Http/Synapse.Api.Http.csproj @@ -43,8 +43,8 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="Neuroglia.Mediation.AspNetCore" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Security.AspNetCore" Version="4.19.0" /> + <PackageReference Include="Neuroglia.Mediation.AspNetCore" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Security.AspNetCore" Version="4.19.1" /> <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.2.0" /> </ItemGroup> diff --git a/src/core/Synapse.Core.Infrastructure/Synapse.Core.Infrastructure.csproj b/src/core/Synapse.Core.Infrastructure/Synapse.Core.Infrastructure.csproj index 443e8984..ba493273 100644 --- a/src/core/Synapse.Core.Infrastructure/Synapse.Core.Infrastructure.csproj +++ b/src/core/Synapse.Core.Infrastructure/Synapse.Core.Infrastructure.csproj @@ -45,12 +45,12 @@ <ItemGroup> <PackageReference Include="IdentityModel" Version="7.0.0" /> <PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.3.1" /> - <PackageReference Include="Neuroglia.Data.Expressions.Abstractions" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Data.Infrastructure.Redis" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Data.Infrastructure.ResourceOriented.Redis" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Mediation" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Plugins" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Serialization.Xml" Version="4.19.0" /> + <PackageReference Include="Neuroglia.Data.Expressions.Abstractions" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Data.Infrastructure.Redis" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Data.Infrastructure.ResourceOriented.Redis" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Mediation" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Plugins" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Serialization.Xml" Version="4.19.1" /> <PackageReference Include="ServerlessWorkflow.Sdk.IO" Version="1.0.0" /> </ItemGroup> diff --git a/src/core/Synapse.Core/Synapse.Core.csproj b/src/core/Synapse.Core/Synapse.Core.csproj index c4f8f688..d892ab23 100644 --- a/src/core/Synapse.Core/Synapse.Core.csproj +++ b/src/core/Synapse.Core/Synapse.Core.csproj @@ -67,8 +67,8 @@ <PackageReference Include="Apache.Avro" Version="1.12.0" /> <PackageReference Include="Docker.DotNet" Version="3.125.15" /> <PackageReference Include="KubernetesClient" Version="16.0.2" /> - <PackageReference Include="Neuroglia.Data.Infrastructure.ResourceOriented" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Eventing.CloudEvents" Version="4.19.0" /> + <PackageReference Include="Neuroglia.Data.Infrastructure.ResourceOriented" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Eventing.CloudEvents" Version="4.19.1" /> <PackageReference Include="Semver" Version="3.0.0" /> <PackageReference Include="ServerlessWorkflow.Sdk" Version="1.0.0" /> </ItemGroup> diff --git a/src/correlator/Synapse.Correlator/Synapse.Correlator.csproj b/src/correlator/Synapse.Correlator/Synapse.Correlator.csproj index cb836a2a..abd22a90 100644 --- a/src/correlator/Synapse.Correlator/Synapse.Correlator.csproj +++ b/src/correlator/Synapse.Correlator/Synapse.Correlator.csproj @@ -36,12 +36,12 @@ <PackageReference Include="Microsoft.Extensions.Configuration.KeyPerFile" Version="9.0.1" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.1" /> <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" /> - <PackageReference Include="Neuroglia.Data.Expressions.JavaScript" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Data.Expressions.JQ" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Eventing.CloudEvents.AspNetCore" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Mediation.AspNetCore" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Eventing.CloudEvents.Infrastructure" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Security.AspNetCore" Version="4.19.0" /> + <PackageReference Include="Neuroglia.Data.Expressions.JavaScript" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Data.Expressions.JQ" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Eventing.CloudEvents.AspNetCore" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Mediation.AspNetCore" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Eventing.CloudEvents.Infrastructure" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Security.AspNetCore" Version="4.19.1" /> <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.2.0" /> <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="7.2.0" /> </ItemGroup> diff --git a/src/dashboard/Synapse.Dashboard/Components/WorkflowDiagram/WorkflowDiagram.razor b/src/dashboard/Synapse.Dashboard/Components/WorkflowDiagram/WorkflowDiagram.razor index 5f1fba46..cb7caf22 100644 --- a/src/dashboard/Synapse.Dashboard/Components/WorkflowDiagram/WorkflowDiagram.razor +++ b/src/dashboard/Synapse.Dashboard/Components/WorkflowDiagram/WorkflowDiagram.razor @@ -153,6 +153,10 @@ graph.CssClass = ""; isDirty = true; } + if (graph != null && this.Store.DagreGraph != null && e.GraphElement is INodeViewModel node) + { + await this.Store.DagreGraph.CenterAsync(node); + } if (OnMouseUp.HasDelegate) { await OnMouseUp.InvokeAsync(e); diff --git a/src/dashboard/Synapse.Dashboard/Synapse.Dashboard.csproj b/src/dashboard/Synapse.Dashboard/Synapse.Dashboard.csproj index 7a35323b..f6a2a55e 100644 --- a/src/dashboard/Synapse.Dashboard/Synapse.Dashboard.csproj +++ b/src/dashboard/Synapse.Dashboard/Synapse.Dashboard.csproj @@ -17,7 +17,7 @@ <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="9.0.1" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="9.0.1" PrivateAssets="all" /> <PackageReference Include="moment.net" Version="1.3.4" /> - <PackageReference Include="Neuroglia.Blazor.Dagre" Version="4.19.0" /> + <PackageReference Include="Neuroglia.Blazor.Dagre" Version="4.19.1" /> </ItemGroup> <ItemGroup> diff --git a/src/runner/Synapse.Runner/Synapse.Runner.csproj b/src/runner/Synapse.Runner/Synapse.Runner.csproj index e076a3de..4032ca3a 100644 --- a/src/runner/Synapse.Runner/Synapse.Runner.csproj +++ b/src/runner/Synapse.Runner/Synapse.Runner.csproj @@ -63,11 +63,11 @@ <PackageReference Include="Moq" Version="4.20.72" /> <PackageReference Include="Neuroglia.AsyncApi.Client.Bindings.All" Version="3.0.1" /> <PackageReference Include="Neuroglia.AsyncApi.DependencyInjectionExtensions" Version="3.0.1" /> - <PackageReference Include="Neuroglia.Data.Expressions.JavaScript" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Data.Expressions.JQ" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Eventing.CloudEvents.Infrastructure" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Scripting.NodeJS" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Scripting.Python" Version="4.19.0" /> + <PackageReference Include="Neuroglia.Data.Expressions.JavaScript" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Data.Expressions.JQ" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Eventing.CloudEvents.Infrastructure" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Scripting.NodeJS" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Scripting.Python" Version="4.19.1" /> <PackageReference Include="NReco.Logging.File" Version="1.2.2" /> <PackageReference Include="protobuf-net.Grpc.ClientFactory" Version="1.2.2" /> <PackageReference Include="System.Reactive" Version="6.0.1" /> diff --git a/tests/Synapse.UnitTests/Synapse.UnitTests.csproj b/tests/Synapse.UnitTests/Synapse.UnitTests.csproj index c4c87fc2..d4adf3a6 100644 --- a/tests/Synapse.UnitTests/Synapse.UnitTests.csproj +++ b/tests/Synapse.UnitTests/Synapse.UnitTests.csproj @@ -19,9 +19,9 @@ <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" /> <PackageReference Include="Moq" Version="4.20.72" /> - <PackageReference Include="Neuroglia.Data.Expressions.JQ" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Data.Infrastructure.Memory" Version="4.19.0" /> - <PackageReference Include="Neuroglia.Data.Infrastructure.ResourceOriented.Redis" Version="4.19.0" /> + <PackageReference Include="Neuroglia.Data.Expressions.JQ" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Data.Infrastructure.Memory" Version="4.19.1" /> + <PackageReference Include="Neuroglia.Data.Infrastructure.ResourceOriented.Redis" Version="4.19.1" /> <PackageReference Include="ServerlessWorkflow.Sdk.Builders" Version="1.0.0" /> <PackageReference Include="ServerlessWorkflow.Sdk.IO" Version="1.0.0" /> <PackageReference Include="System.Net.Http" Version="4.3.4" />