Skip to content

Comments

Scheduler - Implement getOccurrences()#32630

Merged
Tucchhaa merged 10 commits intoDevExpress:26_1from
Tucchhaa:impl_get_occurrences_26_1
Feb 20, 2026
Merged

Scheduler - Implement getOccurrences()#32630
Tucchhaa merged 10 commits intoDevExpress:26_1from
Tucchhaa:impl_get_occurrences_26_1

Conversation

@Tucchhaa
Copy link
Contributor

No description provided.

@Tucchhaa Tucchhaa self-assigned this Feb 19, 2026
@Tucchhaa Tucchhaa added the 26_1 label Feb 19, 2026
@Tucchhaa Tucchhaa marked this pull request as ready for review February 19, 2026 13:04
@Tucchhaa Tucchhaa requested a review from a team as a code owner February 19, 2026 13:04
Copilot AI review requested due to automatic review settings February 19, 2026 13:04
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

This PR implements a new public API method getOccurrences() for the Scheduler component that allows users to retrieve appointment occurrences within a specified date range. The method expands recurring appointments into individual occurrences and handles various edge cases including all-day appointments, recurrence exceptions, and custom appointment fields.

Changes:

  • Added new getOccurrences() method to expose appointment occurrence calculation functionality
  • Extracted and enhanced test helper getSchedulerMock() for reuse across test files
  • Implemented comprehensive test suite covering common, recurring, and all-day appointments with various edge cases

Reviewed changes

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

Show a summary per file
File Description
packages/devextreme/js/__internal/scheduler/m_scheduler.ts Added public API method getOccurrences() that delegates to layout manager
packages/devextreme/js/__internal/scheduler/view_model/appointments_layout_manager.ts Added getOccurrences() method to prepare appointments and call core implementation
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts New file implementing core logic for filtering and expanding appointments into occurrences
packages/devextreme/js/__internal/scheduler/view_model/appointments_layout_manager.test.ts New comprehensive test file with 400+ lines covering all scenarios and edge cases
packages/devextreme/js/__internal/scheduler/view_model/filtration/utils/get_filter_options/get_filter_options.test.ts Refactored to import shared getSchedulerMock() test helper, added explicit dateRange to test case

Copilot AI review requested due to automatic review settings February 20, 2026 09:15
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

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

sjbur
sjbur previously approved these changes Feb 20, 2026
@Tucchhaa Tucchhaa dismissed stale reviews from aleksei-semikozov and sjbur via 5dfc2de February 20, 2026 12:13
Copilot AI review requested due to automatic review settings February 20, 2026 13:01
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

Copilot reviewed 6 out of 6 changed files in this pull request and generated 9 comments.

Copilot AI review requested due to automatic review settings February 20, 2026 13:38
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

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

@Tucchhaa Tucchhaa merged commit a89fa96 into DevExpress:26_1 Feb 20, 2026
145 of 147 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants