wu-sheng commented on PR #78:
URL:
https://github.com/apache/skywalking-horizon-ui/pull/78#issuecomment-4797032565
Reworked the whole tab model per review — **a tab is a named panel that
holds its own widgets**, not "one widget shown as a tab".
**Model:** `tabs` is now `DashboardTab[]` (`{ name, widgets[] }`). A tab
carries no MQE — just a name + its widgets.
**Render:** a tab widget is a **sized grid slot**; its active tab's widgets
render in a 12-col **sub-grid** through the shared chart components. The panel
boundary is a top rule + **corner brackets** (no inset left/right border), so
the inner widgets stay grid-aligned. Only the active tab's widgets are queried
(lazy); switching swaps the set and keeps prior tabs warm.
**Editor (drill-context):** selecting a tab widget shows a **tabs manager**
(add / rename / reorder / delete / **Open**). Opening a tab drills the canvas
into it (breadcrumb **‹ Back** + a tab bar), where the *entire existing canvas*
— `+ Add widget`, select, drag, resize — operates on that tab's widgets by
swapping the list it reads. `+ Add widget` drops into the active tab; the kind
picker hides `tab` while drilled (no nesting). Drag a top-level widget onto a
tab to move it in.
**Validated headless against the demo OAP:** add tab → manage tabs → Open →
add card + line into tab 1 → switch to tab 2 (0 widgets, its own space) → back
to tab 1 (2 widgets) → drill out. No console errors; type-check / build / lint
/ license / 243 unit tests green.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]