Posted 17 August 2026, 4:19 am EST - Updated 17 August 2026, 4:24 am EST
Issue 1: Need exact DOM structure of context menu
We’re applying custom CSS/JS to theme the cell right-click context menu. Our earlier inspection (via view-source on an older render) showed classes like .gc-ui-contextmenu-scroll-wrapper, .gc-ui-contextmenu-container, .gc-ui-contextmenu-menuitem, .gc-ui-contextmenu-menuitem-content. Our custom CSS/JS targeting these classes is not matching the live-rendered menu — devtools shows the node exists but our document.querySelector calls return null, and computed styles don’t reflect our overrides.
Please confirm:
Full DOM tree (top wrapper → item row) as currently generated in v18.2.3, ideally a fresh outerHTML dump of a right-click context menu.
Is the menu rendered inside an iframe, shadow DOM, or any other isolated context that would block top-document querySelector/CSS from reaching it?
Are class names stable across versions, or do they change per release (should we target something more stable, e.g. a documented public API/selector)?
Issue 2: Hover state — border appears on hovered item, need to remove
When hovering a menu item (e.g. “Cut”), a border/outline box renders around it (screenshot attached: hover-border.png). We want hover to be background-color only, no border.
Please confirm:
Which class or inline style applies this border (jQuery-UI ui-state-hover/ui-state-active, or SpreadJS-specific)?
Is there a supported theming API/option to disable it, vs. needing a CSS override?
Issue 3: Scroll indicator bar at bottom of long menus
When menu content exceeds viewport height, a bar renders at the bottom (with a “v” chevron) that triggers scroll-down on hover (screenshot attached: scroll-bar.png). We want to remove this — either disable scrolling behavior (auto-expand menu height) or hide the indicator entirely.
Please confirm:
Exact class name(s) for the top/bottom scroll indicator elements.
Any config option to disable menu auto-scroll / force full-height render instead.
Issue 4: Paste Options group — need flat list instead of icon grid
Default “Paste Options:” renders as a header + row of icon-only buttons (title attr = label, no visible text) — screenshot attached: paste-icon-grid.png. We want it to instead render as a flat list of text items, similar to Google Sheets’ paste menu (screenshot attached: paste-flat-list-target.png) — i.e., a single “Paste” row plus “Paste Special” as a submenu/flyout with each option as its own text row (All, Formulas Only, Formulas & Number Formatting, etc.).
Please confirm:
Is this configurable via menuData/contextMenu API (e.g., swapping the group item for individual subMenu entries), or does it require DOM post-processing on our end?
If there’s a supported way to define custom submenu items with text labels (not just icon grids) for the paste group specifically, please share an example.
Attached screenshots for present context menu and expected context menu


