DashHtml

2.5.1

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, gauge, verdict, score-ring and maturity-ladder styles), assessment findings with severity, remediation, evidence and references (list or sp
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, gauge, verdict, score-ring and maturity-ladder styles), assessment findings with severity, remediation, evidence and references (list or split layout), a detail side panel for table rows, grid cells and findings, property tiles, expandable record lists, pie / donut / line / area / bar / stacked-bar / bullet charts with value aggregation (sum / avg / min / max), min-avg-max range-gradient bars, RAG status matrix, sequential / diverging 2-D heatmaps, parent-child topology trees, network and dependency maps (grouped or in tier lanes, with path tracing), OU / folder tree filters, a report-wide search, menu severity badges, columns that fit their text, inline tabbed content blocks, chronological event feeds, dismissible alert banners, threshold cell colouring with a unified -Rag parameter, a sticky nav bar, print / PDF layout with an optional cover page, and offline-capable XLSX / PDF export. 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 Nicola Viganò. MIT License.

Package Details

Author(s)

  • Nicola Viganò

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-DhRangeBar Add-DhTopologyMap Add-DhGlobalFilter Add-DhFindings Add-DhKeyValue Add-DhRecordList Add-DhTreeFilter Add-DhNetworkMap Add-DhTreeTable

Dependencies

This module has no dependencies.

Release Notes

2.5.1 - Print and contrast fixes, round-trip fixes, node tests. (1) Print: soft shadows no longer hide heatmap cells and block titles in a PDF, tables wider than the page wrap to fit (8 pt, tighter cells, header words kept whole). (2) Contrast: heatmap values pick dark or white text per cell (they were unreadable in dark mode), nav badges, tree-table type letters and tree flags use the primary text colour in all 12 themes. (3) ConvertTo-DhYaml now writes navLayout, navMaxDepth, navAllLabel, navTree, strictNav and navOverflow, and generated scripts keep ordered hashtables (tree-table Properties keep their order). (4) Footer averages of unformatted columns are rounded (Decimals, default 2). (5) Tests\js: dh-extract.js loads runtime functions for node --test; Build.ps1 reports the node test count.

2.5.0 - Directory explorer, richer menu, column picker. (1) New Add-DhTreeTable: an OU / group / user tree from two flat lists (Rows, Memberships) with a property panel (Properties, Members, Member of, Nesting) and circular-nesting detection. (2) Menu: New-DhDashboard -NavAllLabel adds an addressable All view to a group; -NavTree declares labels, order and empty nodes up front; -StrictNav lints the menu at export (warnings only); -NavOverflow More (default) moves chips that do not fit into a More menu, Wrap keeps the old wrapping; an empty view shows a note; arrow keys, Home/End, Escape and ARIA roles work in the menu. (3) Tables: column key Hidden starts a column unticked, Add-DhTable -RememberColumns keeps the reader's column choice in the browser, Default columns resets it, and the button shows how many are hidden. (4) Fixes: tables wider than the page no longer lose columns when printed; three CSS variables that no theme defined (--bg-base, --text3, --trans-med) now resolve, so nav strips, breadcrumb and global filter selects pick up their intended colours. (5) Tools\Test-DhPrint.ps1 prints dashboards to PDF through Edge/Chrome. Existing reports are unchanged unless they use a new parameter; regenerate them to pick up the fixes.

2.4.1 - Menu fixes and a new example set. (1) Add-DhAlertBanner -NavPath / -NavScope now work: a banner bound to a menu path shows only on that view (Exact) or that node and below (Subtree). Before, such a banner showed on every view and a -NavGroup banner never showed. (2) -NavOrder orders the item's own menu node only; in the browser it also moved the item's parents ahead of unordered siblings. (3) New Tools\Show-DhNavMap.ps1 prints an exported dashboard's menu and what each view shows, in page order, and warns about sections that appear on every view. (4) Examples are redefined: Demo-ActiveDirectory, Demo-VMware, Demo-AzureInfrastructure and Demo-Microsoft365 as menu-driven reports, and nine Feature-* scripts (navigation, tables, charts, KPI tiles, assessment, maps and grids, filters and search, page elements) with no version numbers; Examples\README.md lists them.

2.4.0 - Maps, search and OU trees. No breaking changes; a report that uses none of the new options differs only in table column widths (use -ColumnFit Fixed on a table to keep the old look). (1) New Add-DhNetworkMap: nodes joined by links, in grouped boxes or Tier 0/1/2 lanes, with a deterministic layout, arrowheads, parallel and dashed links, badge lists, status and badge filters, node search, click-to-highlight, a shortest-path trace to a target node, the detail side panel and SVG download. (2) New Add-DhTreeFilter: an OU / folder tree (find box, counts, status, flags, keyboard) that filters a table by path; Prefix or distinguished-name Suffix matching. (3) New-DhDashboard -Search (pages, findings and table rows with hit counts; press /) and -NavBadge (worst finding severity on each menu item). (4) Tables fit each column to its widest text, header included, up to -ColumnMaxWidth (default 800); double-click a column edge to fit it; column MinWidth; -ColumnFit Fixed restores the 340 px cut-off. (5) Add-DhTopologyMap no longer slows down on large trees. Regenerate dashboards: the runtime is baked into each HTML file.

2.3.0 - Details and assessment visuals. No breaking changes; a report that uses none of the new options is unchanged. (1) Detail drawer: Add-DhTable -DetailDrawer opens a row's properties in a side panel; status-grid cells take a Detail (text or sections) with Glyph and -SelfDiagonal; findings take Detail. Escape closes it and focus returns. (2) New Add-DhKeyValue (property tiles) and Add-DhRecordList (rows that expand to tiles, tables, bars, status and check lists). (3) Add-DhSummary Style='score' (ring with verdict label, facts, delta, not-assessed count) and Style='maturity' (ladder with the current level and what the next needs). (4) Add-DhFindings -Layout Split (list + detail), per-finding Facts, Evidence rows, Change (new/worse/better/resolved) and -AllClearText; Add-DhTable -AllClearText. (5) Table cell types 'chips' and 'path'; Add-DhBarChart -Rag / -KeyClass colours. (6) Pan/zoom code shared by maps, drag listeners no longer leak, and the topology toolbar no longer prints. THIRD-PARTY-NOTICES.md lists bundled libraries and credits. Regenerate dashboards: the runtime is baked into each HTML file.

2.2.0 - Assessment features. No breaking changes. (1) New Add-DhFindings: one expandable row per finding with severity, description, recommendation, affected objects, a 'Show in table' jump to the evidence and reference links; severity chips and a text box filter the list. Severities critical/warning/info/ok, with high/medium/low accepted as aliases. (2) Add-DhSummary Style='verdict': a full-width overall assessment with severity chips. (3) Add-DhBarChart -ValueField -Aggregate sum|avg|min|max -Unit -Decimals: bars that measure a value instead of counting rows; table -Charts render Type='bar' with the same options. (4) CellType='link' with UrlField / LinkText; only http(s) and mailto become links. (5) New-DhDashboard -ThemeMode Light|Dark|Auto. (6) Export-DhDashboard -ExportLibraries Cdn|Embed|None: the XLSX/PDF libraries no longer block page load. Cdn loads them on first click (SRI-pinned, buttons grey out offline instead of an alert); Embed inlines verified vendored copies for air-gapped readers; None hides the buttons. (7) Print button and print layout: every view in menu order, everything expanded, tables unpaged up to -PrintMaxRows, optional -PrintCover; headless --print-to-pdf gets the same layout. Fixed: grid reports widened the page on phones. Requires regeneration of existing reports to pick up the runtime changes.
2.1.4 - Fixes only, no new parameters. Regenerate existing dashboards: the runtime is baked into each HTML file. (1) Collapsible tables can be opened again: since 2.0.0 the runtime bound a CSS class the table markup never emits, so -DefaultOpen:$false tables stayed closed for good. (2) Table -Charts: a chart with no Type still draws a donut, but Type='pie' now draws a solid pie (it drew a donut before); 'bar' (rendered from 2.2.0) and unknown types warn and are skipped instead of vanishing silently. (3) Alert actions, tile actions, status-grid cells and topology nodes now jump to their table through one function that filters via applyTextFilter, so the clear button appears and linked charts refresh; a folded table is unfolded. (4) The theme choice persists (URL hash, then localStorage) and is applied before first paint; the toggle reads Dark/Light instead of the internal theme name. (5) Density toggle stays in sync after a reload. (6) CSV export honours -ExportFileName; copy-to-clipboard falls back when navigator.clipboard is unavailable. (7) Export-DhDashboard warns about every TableId / LinkTableId / Action.TableId that names a missing table and every unknown block type - each was a silent no-op in the browser. (8) esc() also encodes the single quote; row rendering no longer does a linear indexOf per row. Node test now drives the shipped nav matcher and table toggle.

2.1.3 - Add-DhBarChart -ClickFilters never worked (an inline onclick could not see the runtime's engines); a bar label containing a double quote could inject HTML attributes; pie-slice clicks left the clear button hidden and linked charts stale; the table toolbar markup was malformed on every report. All text filtering now goes through one TableEngine.applyTextFilter. Clickable bars are keyboard-operable.

2.1.2 - A column could not be dragged narrower than its own header; headers now clip with an ellipsis and carry the full text as a tooltip.

2.1.1 - Clipped table cells carry their full value as a tooltip; columns are resizable by dragging the header edge; a declared column Width beats the stylesheet cap. -Collapsible / -DefaultOpen now work on bar and pie charts. Example scripts renamed to Demo-<Domain> / Demo-Feature-<X>; new Demo-Feature-AllChartTypes.ps1.

2.1.0 - New Add-DhRangeBar: min-avg-max range bars normalised onto a shared 0-100 axis, with a theme-following gradient, from explicit -Items or derived live from a table. New companion module DashHtml.Design (YAML layout round-trip, Update-DhScript). Build.ps1 and Install.ps1 handle both modules.

2.0.0 - MAJOR RELEASE. See MIGRATION-v2.md. (1) BREAKING: -AllowHtml defaults to $false on Add-DhHtmlBlock, Add-DhCollapsible, Add-DhAlertBanner and Add-DhTabs; a warning names any call whose content looks like markup. (2) Navigation rebuilt as one depth-agnostic tree: -NavPath 'A/B/C' with -NavScope Exact|Subtree|Global, -NavLabel and -NavOrder; -NavGroup / -NavSubGroup kept and mapped onto it. (3) Fixes blocks declared with -NavGroup + -NavSubGroup that were unreachable in 1.x. (4) Layout engine: -NavLayout Auto|Strips|Sidebar and -NavMaxDepth 1-5, breadcrumb at depth 4+.

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

FileList

Version History

Version Downloads Last updated
2.5.1 (current version) 9 10/19/2026
2.2.0 47 10/14/2026
2.1.3 55 9/9/2026
2.1.2 24 9/3/2026
2.1.1 15 9/3/2026
2.0.0 28 8/26/2026
1.10.3 37 8/7/2026
1.10.2 30 7/22/2026
1.10.0 11 7/21/2026
1.7.0 10 7/21/2026
1.6.0 7 7/21/2026
1.5.3 29 6/23/2026
1.5.2 15 6/19/2026
1.5.0 28 5/25/2026
1.3.3 34 5/19/2026
1.3.2 14 5/18/2026
1.3.1 19 4/29/2026
1.2.2 29 4/15/2026
1.2.1 11 4/15/2026
1.2.0 26 4/15/2026
1.1.0 14 4/14/2026
1.0.0 12 4/13/2026
Show more