Lyo.Job.Web.Components 1.0.6

dotnet add package Lyo.Job.Web.Components --version 1.0.6
                    
NuGet\Install-Package Lyo.Job.Web.Components -Version 1.0.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Lyo.Job.Web.Components" Version="1.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.Job.Web.Components" Version="1.0.6" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.Job.Web.Components" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Lyo.Job.Web.Components --version 1.0.6
                    
#r "nuget: Lyo.Job.Web.Components, 1.0.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Lyo.Job.Web.Components@1.0.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Lyo.Job.Web.Components&version=1.0.6
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.Job.Web.Components&version=1.0.6
                    
Install as a Cake Tool

Lyo.Job.Web.Components

Blazor / MudBlazor dashboard for the Lyo job stack. Add JobManagement to a host page for Statistics, Definitions, Schedules, Runs (progress and SLA breach indicators), worker registry, and workflow views. Uses an injected IApiClient and a configurable base route prefix.

The Workers datagrid uses REST heartbeats plus optional AutoRefresh (on by default) for live registry updates.

Targets server-side or interactive Blazor on net10.0 and pulls in MudBlazor >= 9.3.

This package is a Razor component library. It has no AddXxx DI registration. The host must already register IApiClient.

Examples

Architecture

flowchart LR
    UI[JobManagement tabs] --> API[IApiClient → Job API]
    API --> MQ[job.events exchange]

Top-level entry point

@using Lyo.Job.Web.Components

<JobManagement BaseRoute="Job" StatisticsRoute="api/job-stats/recent" />
Parameter Notes
BaseRoute Route prefix for job endpoints. Required. Defaults to "Job".
StatisticsRoute Optional URL returning SpJobStatistic rows. When omitted, the stats tab shows an info alert.

JobManagement renders tabbed MudTabs: Statistics, Definitions, Schedules, Runs, Workers, Workflows.

Component catalog

Component Role
JobManagement Tabbed dashboard shell.
JobStats Aggregated SpJobStatistic success rates and counts.
JobDefinitionGrid CRUD grid for definitions.
JobDefinitionView Editor: basic info with last/next/running activity, parameters, schedules, triggers.
JobDefinitionActivity Basic Info activity panel: running/queued counts, last run snapshots, next scheduled slots. Timestamps use LyoTimestamp (browser TZ shown); next runs are relative within ±24h.
JobScheduleGrid Standalone schedule grid with next/upcoming runs in the browser time zone (LyoTimestamp, relative within ±24h).
JobParameterView Definition parameter grid (including encrypted markers, AllowedValues, and Options editor).
JobScheduleView Inline schedule editor: add/remove, enable toggle, atomic day/month flags, timezone picker (defaults to the browser IANA id), local start/end date pickers stored as UTC midnight in that zone, blackout calendar, schedule-parameter overrides (query-root pickers inherited from definition parameters). Times stay wall-clock TimeOnly values.
JobBlackoutCalendarEditor Create/unlink a schedule blackout calendar and CRUD its windows (recurring days or dated range, Skip/Defer).
JobTriggerView Trigger relationships between definitions.
JobRunGrid Runs with state pills, worker column (machine:pid + instance id), drill-down, Resync RabbitMQ (republish queued runs missing from the broker).
JobRunDetailView Overview (identity/timing/context), parameters, results, logs ordered by time, progress, SLA chip, re-run.
JobWorkerInstanceGrid Worker datagrid (type, machine, PID, state chips, in-flight, heartbeat, metadata). AutoRefresh on by default.
JobWorkerInstanceView Worker detail popup: identity, CPU/memory, queue subscriptions, plus System and Worker metadata tabs.
JobWorkflowView Workflow picker + ordered step diagram.
RunJobDialog Ad-hoc run with parameter overrides; Options / AllowedValues render as MudSelect with live sibling binding.

Every grid / view accepts IApiClient and route parameters so components can be hosted independently of the full shell.

UI features

Feature Where surfaced
Progress JobRunGrid progress column; JobRunDetailView linear bar + message
SLA JobRunDetailView breach indicator when SlaBreached == true
Alerting Definition/run alert flags in detail view
Queue resync JobRunGrid Resync RabbitMQ toolbar. POST Job/Run/Resync (scoped when a definition filter is set)
Worker registry Workers tab (JobWorkerInstanceGrid)
Workflows Workflows tab (JobWorkflowView)
Schedules / blackout calendars Schedules tab. Add/remove schedules, enable toggle, timezone dropdown defaulting to the browser zone, local date pickers, inline blackout calendar/windows, misfire/cron fields
Dry run RunJobDialog can pass DryRun for validate-only runs (no worker dispatch)

JobColorHelper

Static helper for consistent visual treatment of job state, result, and log level.

Member Returns / behavior
ForState(JobState) MudBlazor Color mapping.
ForWorkerState(JobWorkerInstanceState) Running→Success, Draining→Warning, Stopped→Default.
ForResult(JobRunResult?) Success / warning / error colors.
ForLogLevel(JobLogLevel) Trace/Debug→Default, Info→Info, Warning→Warning, Error/Critical→Error.
StateIcon / ResultIcon Material icon names.
FormatDuration / FormatDurationFromDates Human-readable durations.
GetEnumDescription<T>(T value) [Description] attribute or field name.

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Api.Client (direct, lyo)
  • Lyo.Job.Models (direct, lyo)
  • Lyo.Scheduler (direct, lyo)
  • Lyo.Web.Components (direct, lyo)
  • Lyo.Web.Components.Export (direct, lyo)
  • Lyo.Web.Components.Export.Csv (direct, lyo)
  • Lyo.Web.Components.Export.Xlsx (direct, lyo)
  • MudBlazor 9.3 (direct, third-party)
  • Lyo.Api.Models (transitive, lyo)
  • Lyo.Cache (transitive, lyo)
  • Lyo.Common (transitive, lyo)
  • Lyo.Compression (transitive, lyo)
  • Lyo.DataTable.Models (transitive, lyo)
  • Lyo.DateAndTime (transitive, lyo)
  • Lyo.Diagnostic (transitive, lyo)
  • Lyo.Encryption (transitive, lyo)
  • Lyo.Exceptions (transitive, lyo)
  • Lyo.Hashing (transitive, lyo)
  • Lyo.Health (transitive, lyo)
  • Lyo.IO.Temp (transitive, lyo)
  • Lyo.KeyStore (transitive, lyo)
  • Lyo.Metrics (transitive, lyo)
  • Lyo.PackageMetadata (transitive, lyo)
  • Lyo.Query (transitive, lyo)
  • Lyo.Query.Models (transitive, lyo)
  • Lyo.Result (transitive, lyo)
  • Lyo.Schedule.Models (transitive, lyo)
  • Lyo.Streams (transitive, lyo)
  • Lyo.Validation (transitive, lyo)
  • Blazored.LocalStorage 4.5.0 (transitive, third-party)
  • BouncyCastle.Cryptography 2.6.2 (transitive, third-party, netstandard2.0)
  • EasyCompressor 2.1.0 (transitive, third-party)
  • Konscious.Security.Cryptography.Argon2 1.3.1 (transitive, third-party)
  • Microsoft.Bcl.AsyncInterfaces 10.0.5 (transitive, microsoft, netstandard2.0)
  • Microsoft.Extensions.Caching.Memory 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Configuration.Binder 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.DependencyInjection 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.DependencyInjection.Abstractions 10.0.5 (transitive, microsoft, net10.0, netstandard2.0)
  • Microsoft.Extensions.Hosting.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Http 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options.ConfigurationExtensions 10.0.5 (transitive, microsoft)
  • System.Buffers 4.6.1 (transitive, microsoft, netstandard2.0)
  • System.ComponentModel.Annotations 5.0.0 (transitive, microsoft)
  • System.Diagnostics.DiagnosticSource 10.0.5 (transitive, microsoft, netstandard2.0)
  • System.IO.Hashing 10.0.5 (transitive, microsoft, net10.0)
  • System.Memory 4.6.3 (transitive, microsoft, netstandard2.0)
  • System.Text.Json 10.0.5 (transitive, microsoft, netstandard2.0)
  • System.Threading.Tasks.Extensions 4.6.3 (transitive, microsoft, netstandard2.0)
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.6 0 8/20/2026
1.0.4 34 8/20/2026
1.0.3 39 8/19/2026
1.0.2 38 8/19/2026
1.0.1 49 8/18/2026
1.0.0 81 8/16/2026