Scheduler - Refactor Appointments Collection - Update tooltip on appointment deletion#34228
Open
bit-byte0 wants to merge 4 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the new Scheduler appointments collection (behind the _newAppointments flag) to keep the appointment tooltip in sync when appointments are deleted from within the tooltip: the tooltip list updates in-place while items remain, and it closes when its target appointment/collector is removed or when the last item is deleted.
Changes:
- Extends the view-model diff to emit a dedicated
needToUpdateItemsoperation for collectors whose item count changes at the same position. - Updates the new appointments collection rendering pipeline to rerender collectors in-place on
needToUpdateItems, retargeting the tooltip to the new DOM element and refreshing tooltip items; hides the tooltip when the target element is removed or on full rerender. - Adds/extends unit and integration tests covering collector rerendering and tooltip behavior on deletion.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/devextreme/js/__internal/scheduler/scheduler.ts | Wires the new appointments collection to existing tooltip strategy behavior via narrow callbacks (shown/retarget/hide). |
| packages/devextreme/js/__internal/scheduler/appointments_new/utils/get_view_model_diff.ts | Adds needToUpdateItems diff operation and collector matching logic needed for in-place collector updates. |
| packages/devextreme/js/__internal/scheduler/appointments_new/utils/get_view_model_diff.test.ts | Adds unit tests validating the new collector diff behavior (needToUpdateItems, move vs resize vs no-op). |
| packages/devextreme/js/__internal/scheduler/appointments_new/appointments.ts | Implements in-place collector rerendering and tooltip retarget/update/hide logic during diff rendering and full rerender. |
| packages/devextreme/js/__internal/scheduler/appointments_new/appointments.test.ts | Adds component-level tests for collector rerendering and tooltip update/hide behavior during rerenders/removals. |
| packages/devextreme/js/__internal/scheduler/tests/appointments_new.test.ts | Adds integration tests verifying tooltip behavior when deleting appointments from the tooltip UI. |
5267fb8 to
7f80753
Compare
7f80753 to
95cd5bb
Compare
95cd5bb to
a424b98
Compare
aleksei-semikozov
approved these changes
Jul 10, 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.