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]

Reply via email to