697a773340
Foundation task of the AdminUI UI sweep. CSS/link/doc only — no behavior change
beyond restoring styles that were built but never served.
- App.razor: link the RCL's scoped-CSS bundle
(_content/ZB.MOM.WW.OtOpcUa.AdminUI/ZB.MOM.WW.OtOpcUa.AdminUI.bundle.scp.css).
It is produced on every compile and served by the Host, but nothing referenced
it, so ContextMenu.razor.css was dead at runtime and context menus rendered
in-flow with no position:fixed.
- site.css: three additions.
* .btn / .btn-sm sizing as Bootstrap CSS-VARIABLE overrides (never box
properties — .btn-group depends on Bootstrap's own .btn rules for its seams
and end-cap radii). Theme 0.3.1 ships no .btn rule, so Bootstrap's 1rem
applied against the theme's 0.9rem body. Upstreaming candidate, same as the
ignitionoee router's app.css.
* .notice-alert — red variant of the kit's amber .notice, on the --bad/
--bad-bg/--bad-border tokens. The 13 existing call sites hack this with
style="border-color:var(--alert)", and no --alert token exists anywhere, so
the tint silently no-ops today. Call-site migration is a separate task.
* .tree-twist — shared 18px expander column for the tree components, replacing
repeated inline style="width:18px". Rows are d-flex, so flex-basis is what
actually holds the column. Adoption is a separate task.
- ContextMenu.razor.css: correct the header comment — the kit is light-only
(no dark block in Theme 0.3.1, site.css, or this file). No rule changes.
- docs/Telemetry.md: record that driver-health is keyed per driver instance
across the cluster, not per Akka member (the wire record carries no per-member
identity). The fact previously lived only in Hosts.razor page copy.
- docs/Configuration.md: new audit-log subsection recording that EventId gives
cross-restart dedup, enforced by the filtered unique index
UX_ConfigAuditLog_EventId, so a retried apply inserts no duplicate row;
CorrelationId joins a row to its originating workflow. Previously only in the
historical v2 rebuild plan and ClusterAudit page copy.
38 lines
2.0 KiB
Plaintext
38 lines
2.0 KiB
Plaintext
@* Root Blazor component for the fused OtOpcUa.Host. Static-rendered shell; child components
|
|
opt into InteractiveServer on a per-component basis (the auth-related <Routes/> stays
|
|
non-interactive so cookie SignInAsync still runs while ASP.NET owns the HTTP response).
|
|
|
|
Vendored Bootstrap 5 lives in this RCL's wwwroot/lib/bootstrap; the RCL static-asset
|
|
pipeline maps it under /_content/ZB.MOM.WW.OtOpcUa.AdminUI/... — no public-CDN dependency
|
|
so air-gapped fleet deployments keep working (Admin-010). *@
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
<title>OtOpcUa Admin</title>
|
|
<base href="/"/>
|
|
<link rel="stylesheet" href="_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/css/bootstrap.min.css"/>
|
|
<ThemeHead />
|
|
<link rel="stylesheet" href="_content/ZB.MOM.WW.OtOpcUa.AdminUI/css/site.css"/>
|
|
@* ASP.NET scoped-CSS bundle for this RCL's *.razor.css files (ContextMenu.razor.css and
|
|
anything added later). The RCL builds it on every compile, but nothing referenced it —
|
|
so the scoped rules were dead at runtime and the context menus rendered in-flow with
|
|
no position:fixed. It is a Reference-mode asset, hence the RCL's _content/ base path. *@
|
|
<link rel="stylesheet" href="_content/ZB.MOM.WW.OtOpcUa.AdminUI/ZB.MOM.WW.OtOpcUa.AdminUI.bundle.scp.css"/>
|
|
<HeadOutlet/>
|
|
</head>
|
|
<body>
|
|
@* No AdditionalAssemblies: the Secrets.Ui RCL's routable page is NOT routed directly in this
|
|
host — Pages/Secrets.razor wraps it so the route can carry this host's per-page
|
|
@rendermode (lmxopcua#483); registering the RCL routes too would make /admin/secrets
|
|
ambiguous. *@
|
|
<Routes />
|
|
<script src="_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/js/bootstrap.bundle.min.js"></script>
|
|
<ThemeScripts />
|
|
<script src="_content/ZB.MOM.WW.OtOpcUa.AdminUI/js/monaco-init.js"></script>
|
|
<script src="_framework/blazor.web.js"></script>
|
|
</body>
|
|
</html>
|