Scheduler: workspace refactor — pass config object instead of workspace for groupedStrategy#33932
Closed
bit-byte0 wants to merge 1 commit into
Closed
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refactors Scheduler grouped strategies to accept a focused, typed WorkspaceGroupedStrategyConfig object instead of the full workspace instance, aiming to reduce coupling and remove @ts-expect-error usage in grouped strategy implementations.
Changes:
- Introduced
WorkspaceGroupedStrategyConfigand updated both horizontal/vertical grouped strategy classes to use it. - Updated
SchedulerWorkSpace.initGroupedStrategy()to construct and pass the config object. - Added Jest coverage validating strategy construction/behavior with the new config object.
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/workspaces/work_space_grouped_strategy_vertical.ts | Switched vertical grouped strategy from workspace dependency to typed config callbacks. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space_grouped_strategy_horizontal.ts | Switched horizontal grouped strategy from workspace dependency to typed config callbacks. |
| packages/devextreme/js/__internal/scheduler/workspaces/types.ts | Added WorkspaceGroupedStrategyConfig interface defining the grouped strategy dependency surface. |
| packages/devextreme/js/__internal/scheduler/workspaces/m_work_space.ts | Builds and passes the config object when initializing grouped strategy. |
| packages/devextreme/js/__internal/scheduler/tests/grouped_strategy.test.ts | Added unit tests ensuring grouped strategies work with the config interface. |
0c2749c to
9c22a9b
Compare
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.
What:
Grouped strategies now receive a typed config object instead of the entire workspace.
How:
WorkspaceGroupedStrategyConfiginterface with only needed callbacksinitGroupedStrategy()builds the config from workspace methods@ts-expect-errorremoved from both strategy files