Fix NE page lint errors, topology tree overflow and NE row height.

- NE page: derive the live connect-detail row instead of syncing it in an
  effect; one async path for topology deep links; memoize per-tag stats;
  re-seed the form dialog during render on open; move hop form state into
  lib/hopProxy so the component file only exports components.
- NE page: drop the "click a card to filter" hint; keep row actions on one
  line so rows no longer double in height.
- Topology tree: rows fit the sidebar, long names ellipsize with a tooltip,
  node counts stay visible; default sidebar width 260 -> 280.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
oliver 2026-10-13 01:51:37 +08:00
parent 8ecbb13f52
commit ec19102446
11 changed files with 109 additions and 93 deletions

View file

@ -1280,3 +1280,14 @@ button.ne-tag-card.is-active {
padding: 8px 10px;
background: rgb(var(--nx-accent-rgb) / 0.06);
}
/* NE list: row actions stay on one line (the table scrolls sideways if it must)
instead of wrapping and doubling the row height. */
.ne-page .pt-list-table .pt-list-actions {
flex-wrap: nowrap;
gap: 6px;
}
.ne-page .pt-list-table td:has(> .pt-list-actions) {
white-space: nowrap;
}

View file

@ -2,7 +2,7 @@
/* ---- Topology — dark sidebar + canvas (shared chrome tokens) ---- */
.topo-page {
--topo-sidebar-w: 260px;
--topo-sidebar-w: 280px;
display: grid;
grid-template-columns: var(--topo-sidebar-w) 1fr;
gap: 12px;
@ -1243,10 +1243,11 @@
flex-direction: column;
gap: 2px;
padding: 2px 0;
/* Allow deep indent + actions to extend; parent scroll shows a horizontal bar. */
width: max-content;
min-width: 100%;
max-width: none;
/* Rows fit the sidebar: long names ellipsize (full name on hover), counts
stay visible on the right — no horizontal scrollbar. */
width: 100%;
min-width: 0;
max-width: 100%;
box-sizing: border-box;
}
@ -1254,7 +1255,7 @@
flex: 1 1 auto;
min-height: 0;
min-width: 0;
overflow-x: auto;
overflow-x: hidden;
overflow-y: auto;
border: 1px solid rgba(148, 163, 184, 0.22);
border-radius: 6px;
@ -1432,10 +1433,10 @@
}
.topo-region-list .topo-map-list__title {
min-width: max-content;
min-width: 0;
flex: 0 1 auto;
overflow: visible;
text-overflow: clip;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 13px;
font-weight: 650;
@ -1449,7 +1450,8 @@
.topo-region-list .topo-map-list__count {
flex: 0 0 auto;
margin-left: 4px;
margin-left: auto;
padding-left: 6px;
padding: 0;
border-radius: 0;
font-size: 11px;