diff --git a/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader.ts b/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader.ts index ef569d2d2a90..bb661db1ea62 100644 --- a/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader.ts +++ b/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader.ts @@ -1,18 +1,21 @@ import type { dxElementWrapper } from '@js/core/renderer'; import $ from '@js/core/renderer'; -import type SchedulerWorkSpace from '../workspaces/m_work_space'; +export interface CurrentTimeShaderConfig { + $container: dxElementWrapper; +} const DATE_TIME_SHADER_CLASS = 'dx-scheduler-date-time-shader'; class CurrentTimeShader { - protected $container = this.workSpace.getScrollable().$content(); + protected readonly $container: dxElementWrapper; protected shader!: dxElementWrapper[]; protected $shader!: dxElementWrapper; - constructor(protected workSpace: SchedulerWorkSpace) { + constructor(config: CurrentTimeShaderConfig) { + this.$container = config.$container; } render(isHorizontalGroupedWorkSpace: boolean, groupCount: number, cellCount: number): void { diff --git a/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_horizontal.ts b/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_horizontal.ts index 5c6673fe92cd..fdb256f73fd8 100644 --- a/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_horizontal.ts +++ b/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_horizontal.ts @@ -2,9 +2,14 @@ import type { dxElementWrapper } from '@js/core/renderer'; import { getBoundingRect } from '@js/core/utils/position'; import { setWidth } from '@js/core/utils/size'; +import type SchedulerWorkSpace from '../workspaces/m_work_space'; import CurrentTimeShader from './current_time_shader'; class HorizontalCurrentTimeShader extends CurrentTimeShader { + constructor(protected readonly workSpace: SchedulerWorkSpace) { + super({ $container: workSpace.getScrollable().$content() }); + } + renderShader(isHorizontalGroupedWorkSpace: boolean, groupCount: number, cellCount: number): void { const effectiveGroupCount = isHorizontalGroupedWorkSpace ? groupCount : 1; diff --git a/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_vertical.ts b/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_vertical.ts index 1487e4e8e3c8..18a62a49d5f1 100644 --- a/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_vertical.ts +++ b/packages/devextreme/js/__internal/scheduler/shaders/current_time_shader_vertical.ts @@ -1,6 +1,7 @@ import $, { type dxElementWrapper } from '@js/core/renderer'; import { setHeight, setWidth } from '@js/core/utils/size'; +import type SchedulerWorkSpace from '../workspaces/m_work_space'; import CurrentTimeShader from './current_time_shader'; const DATE_TIME_SHADER_ALL_DAY_CLASS = 'dx-scheduler-date-time-shader-all-day'; @@ -17,6 +18,10 @@ class VerticalCurrentTimeShader extends CurrentTimeShader { private $allDayIndicator!: dxElementWrapper; + constructor(protected readonly workSpace: SchedulerWorkSpace) { + super({ $container: workSpace.getScrollable().$content() }); + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars renderShader(isHorizontalGroupedWorkSpace: boolean, groupCount: number, cellCount: number): void { let shaderHeight = this.getShaderHeight();