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

   ## Why
   
   Follow-up to #75. The widget editor was a **sticky** side panel, but a 
sticky element can only stay pinned within its containing block — here the 
widget **canvas**, which is tall. So once you scrolled past the bottom of the 
canvas and clicked a bottom-row widget, the editor opened with its **top 
clipped off-screen** (measured live: drawer `top: -252` in an `863px` viewport 
— header and first fields hidden, only the footer in view). You had to hunt for 
the editor, and #76's "scroll the page to it" attempt was worse — it yanked a 
bottom-widget click back up to the top.
   
   ## What
   
   Pin the editor to the viewport with `position: fixed`, overlaying the grid 
column the `.editor-split` layout already reserves for it (x / width tracked on 
layout change via a `ResizeObserver`; the y-extent is the viewport below the 
topbar). Now clicking a widget — anywhere, including the bottom rows — opens 
the editor **fully visible, in place, with no page scroll**. A visibility guard 
hides the fixed panel when the editor card scrolls out of view, so it never 
floats over the scope-config cards above.
   
   ## Validation
   
   Headless, against the demo OAP, on a 9-widget board (`1600×863`):
   - **Click bottom widget (scrolled to it):** page does not jump (`scrollTop 
1730 → 1730`), editor at `top: 44, bottom: 863` — **fully in view, body doesn't 
overflow, Delete visible**.
   - **Scroll up to the scope config:** editor `display: none` — no float over 
the config.
   - **Scroll back to the editor card:** editor reappears, `top: 44, bottom: 
863`, complete.
   
   type-check ✅ · build ✅ · lint ✅. No new UI strings.


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