-
-
Notifications
You must be signed in to change notification settings - Fork 202
Feat: Implement hideMode for Grid Columns to support OffscreenCanvas buffering #8959
Copy link
Copy link
Closed
Labels
Description
We need to implement a buffering strategy for Grid Columns to support cases like OffscreenCanvas where removing the DOM node destroys the worker connection context.
Proposed Changes:
-
src/grid/column/Base.mjs:- Add
hideModeconfig (String, default:'removeDom'). - Valid values:
'removeDom','visibility'(usesvisibility: hidden),'display'(usesdisplay: none). - Note:
visibilityis preferred for Canvas to maintain layout geometry.
- Add
-
src/grid/Body.mjs:- Update rendering logic (
createRow) to ensure columns withhideMode !== 'removeDom'are always rendered in the VDOM, regardless of whether they are within themountedColumnswindow. - If such a column is outside the mounted range, it will be rendered with the appropriate hiding style.
- Update rendering logic (
Benefits:
- Solves the "Zombie Canvas" issue where horizontally scrolling destroys
OffscreenCanvasconnections. - Improves scrolling performance for heavy column components by avoiding reconstruction.
Reactions are currently unavailable