wu-sheng opened a new pull request, #75:
URL: https://github.com/apache/skywalking-horizon-ui/pull/75

   ## Why
   
   On the **Layer dashboards** admin, the per-widget editor (right drawer) hid 
its `Up` / `Down` / `Delete` row below the fold:
   - The controls were the last block inside the scrolling drawer body, so they 
scrolled away.
   - The drawer's fixed `height: calc(100vh - 52px)` overshot — it sits *below* 
the editor card's header (~96px down, not 52px), so the drawer's bottom fell 
~44px under the viewport. Even on a short board with few widgets you couldn't 
scroll to reveal Delete (it has a scrollbar but the bottom is off-screen).
   
   ## What
   
   - Move `Up` / `Down` / `Delete` into a **pinned footer** outside the 
scrolling body, so they're always at the drawer's bottom edge.
   - Size the drawer's height in JS from its **live top offset** down to the 
viewport bottom, re-synced on open / scroll / resize (scroll listens in the 
capture phase to catch the inner content pane). The footer is now always within 
view regardless of pin state or how many widgets the board has. The CSS keeps a 
`calc(100vh - 96px)` fallback for the no-JS path.
   - Adding a widget now scrolls the new widget into view (`block: center`) — 
it lands at the canvas bottom, so it was previously off-screen behind the 
editor that opens for it.
   
   ## Validation
   
   - Live against the public demo OAP (headless): opened the widget editor on a 
9-widget board — measured the drawer bottom at `905` within a `913` viewport, 
with the `Delete` button's rect inside the viewport (`footVisible: true`). 
Before the fix it measured `bottom: 957` (44px below). Confirmed a newly-added 
widget is in frame after `+ Add widget`.
   - type-check (strict) ✅ · build ✅ · lint ✅ · license ✅ · unit tests ✅. No 
new UI strings (layout/JS only), so no i18n changes.


-- 
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