Scheduler: refactor workspaces module (TS): part 6#33965
Conversation
|
|
||
| protected getToday?(): Date; | ||
|
|
||
| protected $allDayPanel: any; |
There was a problem hiding this comment.
protected $allDayPanel: any;
private $allDayTitle: any;
were removed because they were not being used
There was a problem hiding this comment.
both fields you mentioned are still defined and used
There was a problem hiding this comment.
I see, think you meant
private allDayTitles!: any[];
private allDayPanels!: any[];
There was a problem hiding this comment.
Pull request overview
This PR continues the Scheduler workspace refactor (TS, part 5.2) by migrating the legacy m_work_space module to the new work_space entry and tightening types across workspace implementations, grouped strategies, shaders, and related tests.
Changes:
- Switched imports/references from
m_work_spacetowork_spacethroughout scheduler workspaces, strategies, shaders, and tests. - Refined TypeScript typings in
work_space.ts(option access patterns, action maps, renderer/scroll sync typing, drag behavior config typing). - Updated workspace implementations (day/week/month/timeline/agenda) to use
this.option()accessors consistently and adjusted a few rendering/DOM helper behaviors.
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/workSpace.markup-0.tests.js | Updates test import to the new workspace module path. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space.ts | Core refactor: stronger typing, option access changes, scroll/selection/drag handling adjustments, new helper types. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space_week.ts | Uses option().type / option().startDate accessors. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space_month.ts | Updates imports + option accessors; minor iteration typing tweaks. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space_indicator.ts | Updates import path + option destructuring. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space_grouped_strategy_vertical.ts | Updates workspace import + option destructuring; adjusts element typing. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space_grouped_strategy_horizontal.ts | Updates workspace import path. |
| packages/devextreme/js/__internal/scheduler/workspaces/work_space_day.ts | Uses option().intervalCount. |
| packages/devextreme/js/__internal/scheduler/workspaces/virtual_scrolling.ts | Updates workspace import path + TODO reference. |
| packages/devextreme/js/__internal/scheduler/workspaces/timeline.ts | Updates workspace import path + option accessors + grouped strategy call signature. |
| packages/devextreme/js/__internal/scheduler/workspaces/timeline_week.ts | Uses option().type. |
| packages/devextreme/js/__internal/scheduler/workspaces/timeline_month.ts | Uses option() accessors for templates/dates/interval. |
| packages/devextreme/js/__internal/scheduler/workspaces/agenda.ts | Updates workspace import path + option accessors; minor DOM collection handling changes. |
| packages/devextreme/js/__internal/scheduler/utils.ts | Exports RenovationWidget and adds dispose to its contract. |
| packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_vertical.ts | Updates workspace import path + removes unnecessary casts. |
| packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_horizontal.ts | Updates workspace import path. |
| packages/devextreme/js/__internal/scheduler/m_scheduler.ts | Updates TODO references from m_work_space.ts to work_space.ts. |
| packages/devextreme/js/__internal/scheduler/tests/workspace.base.test.ts | Updates workspace import path. |
| packages/devextreme/js/__internal/scheduler/tests/mock/mock_scheduler.ts | Updates workspace import path. |
74477a5 to
882cde1
Compare
882cde1 to
4649fda
Compare
| return button.id; | ||
| }); | ||
|
|
||
| export const hasHorizontalScroll = async (container: Selector): Promise<boolean> => { |
There was a problem hiding this comment.
I had a failing test which was resolved by this edit.
✖ [T1225772]: should not have the horizontal scroll in horizontal views when the crossScrollingEnabled: true (view:day) (screenshots: /opt/actions-runner/_work/DevExtreme/DevExtreme/e2e/testcafe-devextreme/artifacts/failedtests/[T1225772] should not have the horizontal scroll in horizontal views when the crossScrollingEnabled true (viewday).png) (2.92s)
- Selector does not have test controller access. To execute Selector from a Node.js API callback, bind the test controller object to the function with the
.with({ boundTestRun: t })method. Note that you cannot execute Selector outside test code.
Link to failing job: https://github.com/DevExpress/DevExtreme/actions/runs/27351988482/job/80830001051
| if (this.isVerticalGroupedWorkSpace()) { | ||
| return this.$groupTable; | ||
| } | ||
|
|
||
| return this.$thead; | ||
| } | ||
|
|
||
| private getDateHeaderContainer() { |
There was a problem hiding this comment.
Also removed because was not being used
2d93113 to
42c80af
Compare
42c80af to
5ac903d
Compare
# Conflicts: # packages/devextreme/js/__internal/scheduler/workspaces/work_space.ts # packages/devextreme/js/__internal/scheduler/workspaces/work_space_grouped_strategy_horizontal.ts # packages/devextreme/js/__internal/scheduler/workspaces/work_space_grouped_strategy_vertical.ts
# Conflicts: # packages/devextreme/js/__internal/scheduler/workspaces/timeline_week.ts # packages/devextreme/js/__internal/scheduler/workspaces/work_space.ts # packages/devextreme/js/__internal/scheduler/workspaces/work_space_week.ts
64880b1 to
894321d
Compare
No description provided.