LearnNewsExamplesServices
Frontmatter
id9525
titleFix header resize proxy visibility and prevent unwanted absolute styles on drop
stateClosed
labels
bugaigrid
assigneestobiu
createdAtMar 20, 2026, 12:36 PM
updatedAtMar 20, 2026, 1:41 PM
githubUrlhttps://github.com/neomjs/neo/issues/9525
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMar 20, 2026, 1:41 PM

Fix header resize proxy visibility and prevent unwanted absolute styles on drop

Closed v12.1.0 bugaigrid
tobiu
tobiu commented on Mar 20, 2026, 12:36 PM

Description

There are two visual bugs with the current grid column resizing implementation:

  1. Invisible Proxy: During drag:move, the resize drag proxy is not visible to the user.
  2. Polluted Styles: On drag:end, the base Neo.plugin.Resizable blindly copies the proxy's wrapperStyle (which includes absolute coordinates like left, top, and fixed height) back to the real header button. This breaks the flexbox layout of the header toolbar.

Goal

  • Investigate why the proxy is hidden during the drag (likely a z-index or overflow issue).
  • Refactor the onDragEnd logic in src/grid/header/plugin/Resizable.mjs (or the base class) to only apply the desired dimension (width) and strip away the absolute positioning/height coordinates from the real component's wrapperStyle.
tobiu added the bug label on Mar 20, 2026, 12:36 PM
tobiu added the ai label on Mar 20, 2026, 12:36 PM
tobiu added the grid label on Mar 20, 2026, 12:36 PM
tobiu assigned to @tobiu on Mar 20, 2026, 12:36 PM
tobiu referenced in commit 254f0fb - "fix(grid): proxy visibility and style cleanup during header resize (#9525) on Mar 20, 2026, 1:41 PM
tobiu
tobiu Mar 20, 2026, 1:41 PM

Input from Gemini 3.1 Pro:

✦ Fixed in commit 254f0fb25. The problem with proxy visibility and resizing during drag:move was rooted in the fact that Neo.component.Base merges its configs differently when useProxyWrapper is false. By deleting the hardcoded width from the proxy's internal style on every dragMove, the framework allows wrapperStyle to control the proxy dimensions as intended. I also updated minWidth to 100 and style nullification in onDragEnd to prevent drop pollution.

tobiu closed this issue on Mar 20, 2026, 1:41 PM