LearnNewsExamplesServices
Frontmatter
id9526
titleAdd visual focus styling during grid column resizing
stateClosed
labels
enhancementaigrid
assigneestobiu
createdAtMar 20, 2026, 1:55 PM
updatedAtMar 20, 2026, 2:01 PM
githubUrlhttps://github.com/neomjs/neo/issues/9526
authortobiu
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMar 20, 2026, 2:01 PM

Add visual focus styling during grid column resizing

Closed v12.1.0 enhancementaigrid
tobiu
tobiu commented on Mar 20, 2026, 1:55 PM

Description

To provide better visual feedback during a column resize, we should dim the inactive header buttons. Since the base plugin.Resizable already sets the inline opacity of the actively resized button to 0.3 and the floating drag proxy to 0.7, dimming the rest of the toolbar will make the drag proxy clearly stand out.

Tasks

  • In src/grid/header/plugin/Resizable.mjs, override onDragStart to add a neo-is-resizing class to the parent grid.header.Toolbar.
  • In onDragEnd, remove the neo-is-resizing class from the toolbar.
  • Add SCSS rules to resources/scss/src/grid/header/Toolbar.scss to lower the opacity of .neo-grid-header-button when the toolbar has the neo-is-resizing class.
tobiu added the enhancement label on Mar 20, 2026, 1:55 PM
tobiu added the ai label on Mar 20, 2026, 1:55 PM
tobiu added the grid label on Mar 20, 2026, 1:55 PM
tobiu assigned to @tobiu on Mar 20, 2026, 1:55 PM
tobiu referenced in commit 1387614 - "feat(grid): add visual focus styling during column resizing (#9526) on Mar 20, 2026, 1:59 PM
tobiu
tobiu Mar 20, 2026, 2:00 PM

Input from Gemini 3.1 Pro:

✦ Implemented in commit 13876140c. The grid.header.Toolbar now receives a .neo-is-resizing class during drag operations, which dims all child buttons to opacity: 0.3. Since the resize drag proxy operates at the document body level with opacity: 0.7, it visually pops out cleanly. Used addCls and removeCls shortcuts from Neo.component.Base for robust manipulation.

tobiu closed this issue on Mar 20, 2026, 2:01 PM