Skip to content

Feature/menu refactor - #75

Open
unilynx wants to merge 4 commits into
mainfrom
feature/menu-refactor
Open

unilynx wants to merge 4 commits into
mainfrom
feature/menu-refactor

Conversation

@unilynx

@unilynx unilynx commented Oct 16, 2026

Copy link
Copy Markdown
Member

Refactor menu system to use less IE6-style positioning. Restore keyboard support

  • Replaced the .open class with the :popover-open state for menu elements
  • Updated the MenuList class to set the popover="manual" attribute and manage the new popover state
  • Fixed keyboard navigation

@unilynx
unilynx requested a review from a team October 16, 2026 21:38
@unilynx
unilynx enabled auto-merge October 16, 2026 21:41
@unilynx
unilynx requested a lite review from Copilot October 16, 2026 21:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved critical nullability and moderate menu positioning and configuration issues remain.

4 open issues
What changed in this PR

Refactors Tollium menus to use native popovers, improve positioning and keyboard navigation, and update related tests.

Changes:

  • Replaces .open state with :popover-open.
  • Updates menu lifecycle, positioning, and keyboard handling.
  • Modernizes selectors, tests, and TypeScript usage.
File Review summary
whtree/​modules/​webhare_testsuite/​web/​tests/​pages/​rte/​menu.scss Updated menu selectors.
whtree/​modules/​webhare_testsuite/​tests/​tollium/​richdoc/​teststructured-tables.ts Added menu visibility assertions.
whtree/​modules/​webhare_testsuite/​tests/​tollium/​components/​testmenus.ts Critical nullable openSubmenu usage requires narrowing.
whtree/​modules/​webhare_testsuite/​tests/​tollium/​components/​testiframe.ts Updated popover selectors.
whtree/​modules/​webhare_testsuite/​tests/​system/​setup/​testsetup.ts Updated open-menu selector.
whtree/​modules/​tollium/​webdesigns/​webinterface/​components/​menuitem/​menuitem.ts Updated menu selection event handling.
whtree/​modules/​tollium/​web/​ui/​css/​apps.scss Updated menubar styling selectors.
whtree/​modules/​tollium/​web/​ui/​components/​basecontrols/​menu.ts Coordinate-space inconsistencies, event/element misclassification, and a documentation typo require correction.
whtree/​modules/​tollium/​web/​ui/​components/​basecontrols/​menu.css Updated styles for popover-open menus.
whtree/​modules/​tollium/​js/​testframework.ts Updated menu lookup helpers.
whtree/​modules/​system/​js/​wh/​testframework.ts Updated open-menu detection.
whtree/​modules/​platform/​data/​siteprofiles/​types.siteprl.yml Removing meo leaves existing consumers without a siteprofile definition.

Review effort: Lite

Comment on lines +123 to +124
const openSubmenu = test.getOpenMenu();
X07 = test.qSA(openSubmenu, "li").filter(item => item.textContent.includes('X07'))[0];
width: 0,
height: 0
};
const viewport: dompack.Rect = { left: 0, top: 0, right: viewsize.x, bottom: viewsize.y, width: viewsize.x, height: viewsize.y };
Comment on lines +1142 to +1143
const x = (at.pageX || 0) - window.scrollX;
const y = (at.pageY || 0) - window.scrollY;
@param parentmenu
- @param preferredalign - left/right (only used when preferreddirection is 'up' or 'down')
@param exitdirection - '', 'top', 'left' - cursor direction in which the selection can be removed
@param exitdirection - '', 'top', 'left' - cursor directio in nwhich the selection can be removed

@webharebot webharebot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-Approved: PR author (@unilynx) is an internal organization/repository member.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants