Add topology situational overlays and harden live sync.

Show connect/alarm/level on the canvas with display toggles, refresh overlay fields even on dirty edits, fix connect-test dots and create-place messaging, and deep-link node alarms into the network alarms page.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-01 21:13:15 +08:00
parent 56569e49d1
commit 497a5e048e
19 changed files with 814 additions and 66 deletions

View file

@ -43,6 +43,7 @@ export type TopologyCtxMenuProps = {
onDiscoverOne: (node: Node<NeNodeData> | null) => void;
onOpenWebcrt: (node: Node<NeNodeData> | null) => void;
onOpenNe: (node: Node<NeNodeData> | null) => void;
onOpenAlarms: (node: Node<NeNodeData> | null) => void;
onConnectTest: (node: Node<NeNodeData> | null) => void;
connectTestBusy?: boolean;
onPurgePlaceholder: (id: string) => void;
@ -86,6 +87,7 @@ export function TopologyCtxMenu({
onDiscoverOne,
onOpenWebcrt,
onOpenNe,
onOpenAlarms,
onConnectTest,
connectTestBusy = false,
onPurgePlaceholder,
@ -277,6 +279,16 @@ export function TopologyCtxMenu({
{t("topology.openNe")}
</button>
</li>
<li role="none">
<button
type="button"
className="topo-ctx__item"
role="menuitem"
onClick={() => onOpenAlarms(selectedNode)}
>
{t("topology.openAlarms")}
</button>
</li>
<li role="none">
<button
type="button"