DashHtml

1.10.3

Generate interactive self-contained HTML dashboards. Includes sortable / filterable / pageable tables, linked drill-down, client-side CSV / Excel / PDF export, KPI summary tiles (with optional sparklines, trend deltas, big-number and gauge styles), pie / donut / line / area / bar / stacked-bar / bullet charts, RAG status matrix, sequential / diverging 2-D heatmaps, pa
Generate interactive self-contained HTML dashboards. Includes sortable / filterable / pageable tables, linked drill-down, client-side CSV / Excel / PDF export, KPI summary tiles (with optional sparklines, trend deltas, big-number and gauge styles), pie / donut / line / area / bar / stacked-bar / bullet charts, RAG status matrix, sequential / diverging 2-D heatmaps, parent-child topology trees, inline tabbed content blocks, chronological event feeds, dismissible alert banners, threshold cell colouring with a unified -Rag parameter, and a sticky nav bar. Six built-in theme families (Default, Azure, VMware, Grey, Company, Rag — the v1.4 family using the Office/Excel-compatible RAG palette) each with embedded light / dark variants and a runtime toggle button.
Show more

Minimum PowerShell version

7.0

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name DashHtml

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name DashHtml

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2026 DashHtml Contributors. MIT License.

Package Details

Author(s)

  • DashHtml Contributors

Tags

HTML Dashboard Table Export CSV Excel PDF Report Infrastructure

Functions

New-DhDashboard Add-DhTable Set-DhTableLink Export-DhDashboard Get-DhTheme Add-DhSummary Add-DhHtmlBlock Add-DhCollapsible Add-DhFilterCard Add-DhBarChart Add-DhAlertBanner Add-DhPieChart Add-DhBullet Add-DhLineChart Add-DhEventFeed Add-DhStatusGrid Add-DhTabs Add-DhHeatmap Add-DhTopologyMap Add-DhGlobalFilter

Dependencies

This module has no dependencies.

Release Notes

1.10.3 — Performance. Export-DhDashboard is dramatically faster on large tables: ConvertTo-DhJsonString now short-circuits its nine regex passes with a single IndexOfAny pre-check, since real table data is overwhelmingly plain text that needs no escaping. Measured 1.27 ms -> 0.014 ms per call (90x); a 20,400-cell report exports in 5.2 s instead of 79.7 s (15x), and marginal cost falls from ~2.9 ms to ~0.08 ms per cell (~40x) — a 338,000-cell report drops from ~16 min to ~30 s. Escaping behaviour is unchanged and byte-identical: the nine passes are untouched, only skipped when provably unnecessary. Their ORDER is load-bearing (CR is dropped, not escaped, so '<' CR '/script>' collapses into '</script>' mid-pass and is caught by the '</' rule) — this is now documented and pinned by tests so a future single-regex rewrite cannot reintroduce a script breakout. 392 tests. See CHANGELOG.md for older releases.

1.10.1 — Bug-fix patch (from an internal code review). SECURITY: table cells with CellType='progressbar' now HTML-encode their label value — previously a non-numeric value was injected via innerHTML, an XSS sink that contradicted the "table cells are auto-encoded" guarantee. Also: the duplicate-Id guard now covers Add-DhBarChart / Add-DhCollapsible / Add-DhFilterCard / Add-DhHtmlBlock / Add-DhPieChart (the other 11 block cmdlets already had it); and the table header "select all" checkbox now selects every row of a -Pageable:$false table instead of only the first page. No API changes. 379 tests.

1.10.0 — Opt-in 12-column grid layout. Blocks and tables accept -GridSpan (1-12); as soon as one is set, the report body becomes a 12-column CSS grid and each element spans the requested columns (unspanned elements stay full-width). Put two half-width charts side by side with -GridSpan 6, three-across with -GridSpan 4, etc. Collapses to a single column below 900px. Fully non-breaking: a dashboard with no -GridSpan is byte-identical to 1.9.0 (sequential flow). 372 tests.

1.9.0 — Global filters. New Add-DhGlobalFilter cmdlet adds a page-level control (a facet dropdown, or a from/to date range) to a filter bar above the report body. Changing it re-filters EVERY table that has the named field at once, and charts derived from those tables re-aggregate; tables without the field are unaffected. Multiple global filters combine with AND, and selections persist in the URL hash. Non-breaking — dashboards with no global filter are byte-unchanged. 365 tests.

1.8.0 — Internal refactor, no functional change. The ~3,400-line dashboard runtime JavaScript (previously one here-string in Get-DhJsContent.ps1) is now authored across five cohesive fragment files — Get-DhJsCore / Get-DhJsBlocks / Get-DhJsNav / Get-DhJsTable / Get-DhJsBoot — concatenated by Get-DhJsContent. The assembled output is byte-for-byte identical to 1.7.0 (verified); generated dashboards are unchanged. Purely a maintainability improvement. 355 tests.

1.7.0 — UX & performance. (1) Interactive topology maps: Add-DhTopologyMap now renders in a fixed viewport with drag-to-pan, wheel-zoom, a zoom/reset toolbar, and a +/- toggle on every parent node to collapse its subtree. Default on; pass -Interactive:$false for the pre-1.7.0 static view. (2) Accessibility: honours prefers-reduced-motion, adds aria-sort + keyboard operation to sortable table headers, an aria-live result-count region, and a focus ring on sortable headers. (3) Large tables: -Pageable:$false now renders ALL rows (previously it wrongly showed only the first page) and virtualises the DOM above 150 rows so "show all" stays fast. Also fixes Add-DhTabs throwing on a single tab. Non-breaking. 355 tests.

Full version history: https://github.com/nicola-vi/DashHtml/blob/main/CHANGELOG.md

FileList

Version History

Version Downloads Last updated
1.10.3 (current version) 10 8/7/2026
1.10.2 27 7/22/2026
1.10.0 8 7/21/2026
1.7.0 7 7/21/2026
1.6.0 4 7/21/2026
1.5.3 26 6/23/2026
1.5.2 10 6/19/2026
1.5.0 25 5/25/2026
1.3.3 32 5/19/2026
1.3.2 12 5/18/2026
1.3.1 17 4/29/2026
1.2.2 27 4/15/2026
1.2.1 9 4/15/2026
1.2.0 24 4/15/2026
1.1.0 12 4/14/2026
1.0.0 10 4/13/2026
Show more