Skip to content

Scheduler - Fix unstable ContextMenu demo test#32368

Open
Tucchhaa wants to merge 19 commits intoDevExpress:26_1from
Tucchhaa:fix_context_menu_demo_test_26_1
Open

Scheduler - Fix unstable ContextMenu demo test#32368
Tucchhaa wants to merge 19 commits intoDevExpress:26_1from
Tucchhaa:fix_context_menu_demo_test_26_1

Conversation

@Tucchhaa
Copy link
Contributor

@Tucchhaa Tucchhaa commented Feb 2, 2026

No description provided.

@Tucchhaa Tucchhaa marked this pull request as ready for review February 4, 2026 10:45
@Tucchhaa Tucchhaa requested a review from a team as a code owner February 4, 2026 10:45
Copilot AI review requested due to automatic review settings February 4, 2026 10:45
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes instability in the Scheduler “ContextMenu” demo visual test by adjusting how context-menu behavior is wired in the Scheduler workspace and by refactoring demo implementations across frameworks so context menus are configured more deterministically.

Changes:

  • Updated Scheduler workspace cell context-menu event binding to attach handlers on specific tables instead of the workspace root.
  • Added a Jest regression test to ensure onAppointmentContextMenu fires only once.
  • Refactored ContextMenu demos (Angular/Vue/React/jQuery) to use separate context-menu instances per target and re-enabled the demo in the visual-test matrix.

Reviewed changes

Copilot reviewed 18 out of 20 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/devextreme/js/__internal/scheduler/workspaces/m_work_space.ts Changes where cell context-menu events are bound (date table vs all-day table).
packages/devextreme/js/__internal/scheduler/tests/scheduler.test.ts Adds regression coverage for duplicate onAppointmentContextMenu calls.
apps/demos/utils/visual-tests/matrix-test-helper.ts Removes “ContextMenu” from the visual-test skip list for multiple frameworks.
apps/demos/Demos/Scheduler/ContextMenu/jQuery/index.js Splits into two ContextMenu instances (appointment vs cell) and updates items dynamically.
apps/demos/Demos/Scheduler/ContextMenu/jQuery/index.html Adds separate context-menu host elements and links demo CSS.
apps/demos/Demos/Scheduler/ContextMenu/jQuery/styles.css Removes menu-specific CSS rules (keeps badge styling).
apps/demos/Demos/Scheduler/ContextMenu/Vue/App.vue Splits into two ContextMenu components and item sources; updates grouping toggles.
apps/demos/Demos/Scheduler/ContextMenu/Vue/ItemTemplate.vue Wraps item template content to stabilize rendering/layout.
apps/demos/Demos/Scheduler/ContextMenu/React/App.tsx Splits into two ContextMenu components and item sources; uses e.component instead of refs.
apps/demos/Demos/Scheduler/ContextMenu/React/itemTemplate.tsx Renames template component to a generic ItemTemplate.
apps/demos/Demos/Scheduler/ContextMenu/React/index.html Links demo CSS.
apps/demos/Demos/Scheduler/ContextMenu/React/styles.css Removes menu-specific CSS rules (keeps badge styling).
apps/demos/Demos/Scheduler/ContextMenu/ReactJs/App.js Same split-context-menu refactor for JS React demo.
apps/demos/Demos/Scheduler/ContextMenu/ReactJs/itemTemplate.js Renames template component to ItemTemplate.
apps/demos/Demos/Scheduler/ContextMenu/ReactJs/index.html Links demo CSS.
apps/demos/Demos/Scheduler/ContextMenu/ReactJs/styles.css Removes menu-specific CSS rules (keeps badge styling).
apps/demos/Demos/Scheduler/ContextMenu/Angular/app/app.component.ts Splits appointment/cell item lists; refactors menu building helpers.
apps/demos/Demos/Scheduler/ContextMenu/Angular/app/app.component.html Adds two context-menu components (appointment vs cell) with shared template.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant