Skip to content

Scheduler - Remove old render#33397

Open
aleksei-semikozov wants to merge 9 commits into
DevExpress:26_1from
aleksei-semikozov:scheduler-remove-old-render
Open

Scheduler - Remove old render#33397
aleksei-semikozov wants to merge 9 commits into
DevExpress:26_1from
aleksei-semikozov:scheduler-remove-old-render

Conversation

@aleksei-semikozov
Copy link
Copy Markdown
Contributor

No description provided.

@aleksei-semikozov aleksei-semikozov force-pushed the scheduler-remove-old-render branch from 6f060e4 to 4f5a5a0 Compare April 26, 2026 08:54
…render

# Conflicts:
#	packages/devextreme/js/__internal/scheduler/workspaces/m_timeline.ts
#	packages/devextreme/js/__internal/scheduler/workspaces/m_work_space.ts
@aleksei-semikozov aleksei-semikozov marked this pull request as ready for review May 22, 2026 08:08
Copilot AI review requested due to automatic review settings May 22, 2026 08:08
@aleksei-semikozov aleksei-semikozov requested review from a team as code owners May 22, 2026 08:08
Copy link
Copy Markdown
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 removes the Scheduler “old render” path and the renovateRender switch, updating the workspace implementation and test suite to rely on the renovated rendering APIs (e.g., getCellData) exclusively.

Changes:

  • Removed renovateRender internal option/plumbing and deleted old-render-only workspace code paths.
  • Updated Scheduler workspace-related QUnit tests to stop toggling renovateRender and to read cell metadata via getCellData.
  • Added a safety fix for Draggable dispose behavior and adjusted a couple of Angular SSR/tests utilities.

Reviewed changes

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

Show a summary per file
File Description
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/workSpace.week.tests.js Drops renovateRender: false usage; switches to getCellData assertions.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/workSpace.renovation.tests.js Removes explicit renovateRender: true setup.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/workSpace.navigation.tests.js Removes explicit renovateRender: true from workspace creation.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/workSpace.month.tests.js Collapses dual-mode tests and replaces dxCellData reads with getCellData.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/workSpace.markup-1.tests.js Updates markup tests to use getCellData and removes old-render branching.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/workSpace.day.tests.js Removes renovateRender toggles; uses getCellData for validation.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/views.renovation.tests.js Removes explicit renovateRender: true from Scheduler initialization.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/views.cellTemplate.tests.js Removes old/renovated split; simplifies configs and drops renovateRender param.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/timezones.tests.js Removes renovateRender parameterization for timezone drag/render tests.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/timeline.tests.js Removes renovateRender parameterization and updates cellData reads.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/timeline.markup.tests.js Removes core/element_data usage and switches to getCellData.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/subscribes.tests.js Removes renovateRender parameterization in grouping-by-date tests.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/pacificTime.tests.js Removes renovateRender parameterization for timeCellTemplate DST tests.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.workSpace.tests.js Updates integration assertions to use workspace getCellData.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.resources.tests.js Removes renovateRender parameterization for resources update test.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.multiWeekAppointments.tests.js Removes renovateRender parameterization in RTL grouped multi-week test.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/common.tests.js Removes renovateRender parameterization from scroll height test.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/appointment.week.based.views.tests.js Simplifies related cell data retrieval to workspace getCellData.
packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/appointment.timeLines.tests.js Removes renovateRender branching from timeline multi-day appointment test.
packages/devextreme/testing/tests/DevExpress.serverSide/scheduler.tests.js Removes server-side renovateRender expectation test and unused helper import.
packages/devextreme/js/__internal/scheduler/workspaces/view_model/m_view_data_generator.ts Removes old-render TODO note on getDateByCellIndices.
packages/devextreme/js/__internal/scheduler/workspaces/m_work_space.ts Deletes old-render methods/branches; removes renovateRender default/handling; makes renovated render unconditional.
packages/devextreme/js/__internal/scheduler/workspaces/m_work_space_month.ts Removes old-render-only month workspace overrides/constants.
packages/devextreme/js/__internal/scheduler/workspaces/m_work_space_indicator.ts Always re-renders renovated header/time panel on time indication update.
packages/devextreme/js/__internal/scheduler/workspaces/m_work_space_day.ts Removes old-render date header override; relies on renovated header rendering.
packages/devextreme/js/__internal/scheduler/workspaces/m_timeline.ts Removes old-render logic and unused imports/constants; makes renovated dimension updates unconditional.
packages/devextreme/js/__internal/scheduler/workspaces/m_agenda.ts Minor signature/override adjustments; forces isVirtualScrolling() to false.
packages/devextreme/js/__internal/scheduler/workspaces/helpers/m_position_helper.ts Removes obsolete old-render refactor TODO comment.
packages/devextreme/js/__internal/scheduler/utils/options/types.ts Removes renovateRender from internal scheduler options type.
packages/devextreme/js/__internal/scheduler/utils/options/constants.ts Removes renovateRender from internal default options.
packages/devextreme/js/__internal/scheduler/m_scheduler.ts Removes renovateRender option propagation and selection logic.
packages/devextreme/js/__internal/m_draggable.ts Makes _stopAnimator() null-safe via optional chaining.
packages/devextreme/js/__internal/tests/draggable_dispose.test.ts Adds regression test ensuring dispose doesn’t crash when _scrollAnimator is undefined.
packages/devextreme-angular/tests/src/ui/form.spec.ts Fixes nested custom validation rule tag selection for new nested-item API.
packages/devextreme-angular/src/server/render.ts Adds guard for empty SSR output when copying attributes/innerHTML.

Comment on lines +2320 to 2321
this.createRAllDayPanelElements();
this.removeAllDayElements();
temp.innerHTML = renderToString(el);

const mainElement = temp.childNodes[0];
if (!mainElement) {
Copilot AI review requested due to automatic review settings May 22, 2026 09:55
Copy link
Copy Markdown
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 32 out of 32 changed files in this pull request and generated 2 comments.

Comment on lines 2318 to 2323
case 'groupOrientation':
this.initGroupedStrategy();
this.createAllDayPanelElements();
this.createRAllDayPanelElements();
this.removeAllDayElements();
this.cleanWorkSpace();
this.toggleGroupByDateClass();
assert.strictEqual(scheduler.appointments.getAppointmentCount(), 4, 'Appointments are rendered');
assert.strictEqual($(scheduler.appointments.getAppointment(2)).position().left, $(scheduler.appointments.getAppointment(3)).position().left, 'Appointments have same left coordinate');
assert.strictEqual($(scheduler.appointments.getAppointment(2)).innerWidth(), $(scheduler.appointments.getAppointment(3)).innerWidth(), 'Appointments with equal coords have same width');
assert.strictEqual($(scheduler.appointments.getAppointment(3)).innerWidth(), $(scheduler.appointments.getAppointment(3)).innerWidth(), 'Appointments with defferent coords have same width');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants