@@ -98,6 +98,7 @@ import {
9898 getMaxAllowedPosition ,
9999 PositionHelper ,
100100} from './helpers/position_helper' ;
101+ import type { WorkspaceGroupedStrategyConfig } from './types' ;
101102import type { ViewDataProviderOptions } from './view_model/m_types' ;
102103import ViewDataProvider from './view_model/m_view_data_provider' ;
103104import { VirtualScrollingDispatcher , VirtualScrollingRenderer } from './virtual_scrolling' ;
@@ -924,6 +925,18 @@ class SchedulerWorkSpace extends Widget<WorkspaceOptionsInternal> {
924925 } ) ;
925926 }
926927
928+ protected getIndicatorOffset ( ) : number {
929+ return 0 ;
930+ }
931+
932+ protected getIndicationHeight ( ) : number {
933+ return 0 ;
934+ }
935+
936+ protected getIndicationWidth ( ) : number {
937+ return 0 ;
938+ }
939+
927940 private isVirtualModeOn ( ) {
928941 return this . option ( 'scrolling.mode' ) === 'virtual' ;
929942 }
@@ -2625,7 +2638,37 @@ class SchedulerWorkSpace extends Widget<WorkspaceOptionsInternal> {
26252638 ? VerticalGroupedStrategy
26262639 : HorizontalGroupedStrategy ;
26272640
2628- this . groupedStrategy = new Strategy ( this ) ;
2641+ const config : WorkspaceGroupedStrategyConfig = {
2642+ isGroupedByDate : this . isGroupedByDate . bind ( this ) ,
2643+ getCellCount : this . getCellCount . bind ( this ) ,
2644+ getGroupCount : this . getGroupCount . bind ( this ) ,
2645+ getRowCount : this . getRowCount . bind ( this ) ,
2646+ getCellWidth : this . getCellWidth . bind ( this ) ,
2647+ getCellHeight : this . getCellHeight . bind ( this ) ,
2648+ getAllDayHeight : this . getAllDayHeight . bind ( this ) ,
2649+ getTimePanelWidth : this . getTimePanelWidth . bind ( this ) ,
2650+ getGroupTableWidth : this . getGroupTableWidth . bind ( this ) ,
2651+ getWorkSpaceWidth : this . getWorkSpaceWidth . bind ( this ) ,
2652+ getWorkSpaceLeftOffset : this . getWorkSpaceLeftOffset . bind ( this ) ,
2653+ getIndicatorOffset : ( ) => this . getIndicatorOffset ( ) ,
2654+ getIndicationHeight : ( ) => this . getIndicationHeight ( ) ,
2655+ getIndicationWidth : ( ) => this . getIndicationWidth ( ) ,
2656+ getCellIndexByCoordinates : this . getCellIndexByCoordinates . bind ( this ) ,
2657+ supportAllDayRow : this . supportAllDayRow . bind ( this ) ,
2658+ getScrollableScrollTop : ( ) => this . getScrollable ( ) . scrollTop ( ) ,
2659+ getScrollableContentElement : ( ) => this . getScrollable ( ) . $content ( ) . get ( 0 ) as HTMLElement ,
2660+ getElement : ( ) => ( this . $element ( ) as any ) . get ( 0 ) as HTMLElement ,
2661+ getHeaderPanelContainerElement : ( ) => this . $headerPanelContainer . get ( 0 ) as HTMLElement ,
2662+ isRtlEnabled : ( ) => this . option ( 'rtlEnabled' ) ,
2663+ isShowAllDayPanel : ( ) => this . option ( 'showAllDayPanel' ) ,
2664+ isCrossScrollingEnabled : ( ) => this . option ( 'crossScrollingEnabled' ) ,
2665+ getStartDayHour : ( ) => this . option ( 'startDayHour' ) ,
2666+ getEndDayHour : ( ) => this . option ( 'endDayHour' ) ,
2667+ getHoursInterval : ( ) => this . option ( 'hoursInterval' ) ,
2668+ getHeaderHeight : ( ) => this . option ( 'getHeaderHeight' ) ( ) ,
2669+ } ;
2670+
2671+ this . groupedStrategy = new Strategy ( config ) ;
26292672 }
26302673
26312674 protected getDefaultGroupStrategy ( ) {
0 commit comments