LogicBuilder.App.Spa.Utils
1.0.1
Prefix Reserved
See the version list below for details.
dotnet add package LogicBuilder.App.Spa.Utils --version 1.0.1
NuGet\Install-Package LogicBuilder.App.Spa.Utils -Version 1.0.1
<PackageReference Include="LogicBuilder.App.Spa.Utils" Version="1.0.1" />
<PackageVersion Include="LogicBuilder.App.Spa.Utils" Version="1.0.1" />
<PackageReference Include="LogicBuilder.App.Spa.Utils" />
paket add LogicBuilder.App.Spa.Utils --version 1.0.1
#r "nuget: LogicBuilder.App.Spa.Utils, 1.0.1"
#:package LogicBuilder.App.Spa.Utils@1.0.1
#addin nuget:?package=LogicBuilder.App.Spa.Utils&version=1.0.1
#tool nuget:?package=LogicBuilder.App.Spa.Utils&version=1.0.1
LogicBuilder.App.Spa.Utils
LogicBuilder.App.Spa.Utils consolidates the methods and class designs used by an API that hosts a UI workflow generated by BPS Logic Builder, supporting a single page application (SPA).
The library centralizes the server-side logic that drives a Logic Builder-generated flow: managing flow state, routing requests to the correct handler, and producing the screen settings that the SPA client renders at each step.
Key Components
FlowManager(IFlowManager) The central orchestrator for a flow session. It coordinates theDirectorBase(fromLogicBuilder.RulesDirector), the flow's data cache, rules cache, and progress tracking. It exposes the main entry points consumed by the hosting API:Start/NavStart— begin a flow at a given module/stage, seeding persistent flow items from the navigation bar request.Next— advance the flow in response to a clientRequestBase, dispatching to the appropriate dialog handler and executing the rules engine.RunFlow— run a named flow directly.FlowComplete— mark the flow as finished and return a completion screen.Terminate/SetCurrentBusinessBackupData— lifecycle hooks for ending or checkpointing a flow.
Each operation returns a
FlowSettingsobject (flow state, navigation bar, and screen settings) that the SPA uses to render the next view, with unhandled exceptions converted into anExceptionViewscreen instead of propagating to the client.Dialogs(IDialogHandler/BaseDialogHandler) A handler-per-view-type pattern.BaseDialogHandler.Createuses the incoming request'sViewType(e.g.,Grid,Detail) to dynamically resolve and instantiate the matching*DialogHandlerclass (falling back toDefaultDialogHandler). Each handler'sCompletemethod applies the client's request (flow state, selected command button) to the currentDirectorbefore the rules engine runs.Factories(IFlowFactory/FlowFactory) Supplies theDirectorBaseandIFlowActivityinstances used by aFlowManager, decoupling flow construction from dependency injection so different flow/rules configurations can be wired in per module.
Purpose
Together these classes provide a reusable, host-agnostic engine for:
- Receiving SPA client requests (navigation, form submission, command button actions).
- Advancing a BPS Logic Builder–defined flow via the rules engine/director.
- Producing consistent screen settings/view data for the SPA to render next.
This allows any API hosting a Logic Builder–generated UI workflow to reuse the same flow control, dialog handling, and error-to-view translation logic rather than reimplementing it per project.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- AutoMapper (>= 16.2.0)
- LogicBuilder.App.Spa.Business (>= 1.0.1)
- LogicBuilder.App.Spa.Forms.Parameters (>= 1.0.3)
- LogicBuilder.App.Utils (>= 1.0.7)
- LogicBuilder.RulesDirector (>= 2.0.6)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
First release.