Lyo.Reporting.Web
2.0.0
dotnet add package Lyo.Reporting.Web --version 2.0.0
NuGet\Install-Package Lyo.Reporting.Web -Version 2.0.0
<PackageReference Include="Lyo.Reporting.Web" Version="2.0.0" />
<PackageVersion Include="Lyo.Reporting.Web" Version="2.0.0" />
<PackageReference Include="Lyo.Reporting.Web" />
paket add Lyo.Reporting.Web --version 2.0.0
#r "nuget: Lyo.Reporting.Web, 2.0.0"
#:package Lyo.Reporting.Web@2.0.0
#addin nuget:?package=Lyo.Reporting.Web&version=2.0.0
#tool nuget:?package=Lyo.Reporting.Web&version=2.0.0
Lyo.Reporting.Web
IReportRenderer writes HTML and PDF; the package also ships a Blazor ReportViewer. Sample business-document templates live in Lyo.Reporting.Business.Example.
Examples
Wire into DI
services.AddWebRenderer(...); // Lyo.Web.WebRenderer
services.AddReportingWebRenderer();
Dependency injection
Composition types come from Lyo.Reporting.Models. The package does not reference Postgres or EF. AddReportingWebRenderer registers HtmlPdfReportRenderer as scoped so it can consume scoped IWebRendererService / HtmlRenderer.
Safe markup
- Before
ReportVieweremits markup,ReportHtmlSanitizerruns an allowlist of elements and attributes overHtml,Chart, andImageblocks, so composition JSON cannot smuggle script, event handlers, orjavascript:URLs. Nested section/controlStylesmaps are sanitized the same way as report-level CSS. UnknownContentType.ComponentFullNames render a sanitized placeholder instead of crashing. The same paint path (ReportViewPainter/ReportBodyItemView) is whatHtmlPdfReportRendereruses. OptionalLayout.RootComponentTyperenders a named Blazor type instead ofReportViewer. Renderers runReportCompositionProcessorfirst so{Key}placeholders andVisibleWhenmatch generate output. The design canvas interpolates example parameters at paint time without cloning, paints TOC headings and FromParameter tables/charts from the example map, and dimsCollapsedsections instead of using HTMLhidden. Cards, blocks, and layout grids default tobreak-inside: avoid(KeepTogether); tables split unless the flag is on. AGridpaints withdisplay:grid. The workbench live editor isReportDesignCanvasinLyo.Reporting.Web.Components— generate output never includes drag handles or selection rings. - Chart builders therefore ship data rather than code: they emit a
canvaswhosedata-lyo-chartattribute holds configuration, andReportViewerappends a single script — the Chart.js bundle plus a loader that paints every such canvas. Canvas ids are stable per block instance; the loader destroys and redraws when the config fingerprint changes so Blazor re-renders do not leave a blank chart. - This package vendors the Chart.js bundle.
ChartScriptUrlfalls back toConstants.Charts.DefaultScriptUrl=_content/Lyo.Reporting.Web/scripts/chart.umd.min.js(the static web asset), so drawing charts needs no outbound network; override withConstants.Charts.CdnScriptUrl(or any host-served URL), or leave it empty to skip charts. Breaking change — the public CDN used to be the default. InlineChartScriptis set byHtmlPdfReportRenderer, which inlines the bundle: the PDF converter receives a standalone file, and a relative asset URL would resolve against nothing.
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Common.Core(direct, lyo)Lyo.Common.Metadata(direct, lyo)Lyo.Exceptions(direct, lyo)Lyo.Reporting.Models(direct, lyo)Lyo.Web.WebRenderer(direct, lyo)Microsoft.AspNetCore.Components.Web10.0.5(direct, microsoft)Microsoft.Extensions.DependencyInjection.Abstractions10.0.5(direct, microsoft)Lyo.Configuration(transitive, lyo)Lyo.Metrics(transitive, lyo)Lyo.Parameters(transitive, lyo)Microsoft.Bcl.AsyncInterfaces10.0.5(transitive, microsoft, netstandard2.0)Microsoft.Extensions.Configuration10.0.5(transitive, microsoft)Microsoft.Extensions.Configuration.Binder10.0.5(transitive, microsoft)Microsoft.Extensions.Logging.Abstractions10.0.5(transitive, microsoft)PuppeteerSharp24.0.0(transitive, third-party)System.Memory4.6.3(transitive, microsoft, netstandard2.0)System.Text.Json10.0.5(transitive, microsoft, netstandard2.0)
| Product | Versions 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. |
-
net10.0
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.Exceptions (>= 2.0.0)
- Lyo.Reporting.Models (>= 2.0.0)
- Lyo.Web.WebRenderer (>= 2.0.0)
- Microsoft.AspNetCore.Components.Web (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Lyo.Reporting.Web:
| Package | Downloads |
|---|---|
|
Lyo.Reporting.Web.Components
Blazor components library for browsing report definitions, designing compositions, running reports, and viewing/downloading generations with MudBlazor. |
GitHub repositories
This package is not used by any popular GitHub repositories.