Scheduler - Implement getOccurrences()#32630
Merged
Tucchhaa merged 10 commits intoDevExpress:26_1from Feb 20, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
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 |
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Outdated
Show resolved
Hide resolved
sjbur
reviewed
Feb 20, 2026
packages/devextreme/js/__internal/scheduler/view_model/appointments_layout_manager.ts
Outdated
Show resolved
Hide resolved
sjbur
previously approved these changes
Feb 20, 2026
aleksei-semikozov
previously approved these changes
Feb 20, 2026
...internal/scheduler/view_model/filtration/utils/get_filter_options/get_filter_options.test.ts
Outdated
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Outdated
Show resolved
Hide resolved
5dfc2de
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Outdated
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/appointments_layout_manager.ts
Outdated
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Outdated
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Outdated
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Outdated
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/filtration/get_occurrences.ts
Show resolved
Hide resolved
packages/devextreme/js/__internal/scheduler/view_model/appointments_layout_manager.test.ts
Show resolved
Hide resolved
aleksei-semikozov
approved these changes
Feb 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.