@@ -57,7 +57,7 @@ import {
5757} from 'rxjs' ;
5858import { takeUntil } from 'rxjs/operators' ;
5959import { CdkColumnDef } from './cell' ;
60- import { _CoalescedStyleScheduler } from './coalesced-style-scheduler' ;
60+ import { _CoalescedStyleScheduler , _COALESCED_STYLE_SCHEDULER } from './coalesced-style-scheduler' ;
6161import {
6262 BaseRowDef ,
6363 CdkCellOutlet ,
@@ -199,7 +199,7 @@ export interface RenderRow<T> {
199199 providers : [
200200 { provide : CDK_TABLE , useExisting : CdkTable } ,
201201 { provide : _VIEW_REPEATER_STRATEGY , useClass : _DisposeViewRepeaterStrategy } ,
202- _CoalescedStyleScheduler ,
202+ { provide : _COALESCED_STYLE_SCHEDULER , useClass : _CoalescedStyleScheduler } ,
203203 ]
204204} )
205205export class CdkTable < T > implements AfterContentChecked , CollectionViewer , OnDestroy , OnInit {
@@ -443,14 +443,19 @@ export class CdkTable<T> implements AfterContentChecked, CollectionViewer, OnDes
443443 constructor (
444444 protected readonly _differs : IterableDiffers ,
445445 protected readonly _changeDetectorRef : ChangeDetectorRef ,
446- protected readonly _coalescedStyleScheduler : _CoalescedStyleScheduler ,
447446 protected readonly _elementRef : ElementRef , @Attribute ( 'role' ) role : string ,
448447 @Optional ( ) protected readonly _dir : Directionality , @Inject ( DOCUMENT ) _document : any ,
449448 private _platform : Platform ,
450- // Optional for backwards compatibility, but a view repeater strategy will always
451- // be provided.
449+
450+ /**
451+ * @deprecated `_coalescedStyleScheduler`, `_viewRepeater` and `_viewportRuler`
452+ * parameters to become required.
453+ * @breaking -change 11.0.0
454+ */
452455 @Optional ( ) @Inject ( _VIEW_REPEATER_STRATEGY )
453- protected readonly _viewRepeater : _ViewRepeater < T , RenderRow < T > , RowContext < T > > ) {
456+ protected readonly _viewRepeater ?: _ViewRepeater < T , RenderRow < T > , RowContext < T > > ,
457+ @Optional ( ) @Inject ( _COALESCED_STYLE_SCHEDULER )
458+ protected readonly _coalescedStyleScheduler ?: _CoalescedStyleScheduler ) {
454459 if ( ! role ) {
455460 this . _elementRef . nativeElement . setAttribute ( 'role' , 'grid' ) ;
456461 }
@@ -549,11 +554,14 @@ export class CdkTable<T> implements AfterContentChecked, CollectionViewer, OnDes
549554 return ;
550555 }
551556 const viewContainer = this . _rowOutlet . viewContainer ;
552- this . _viewRepeater . applyChanges (
557+
558+ // @breaking -change 11.0.0 Remove null check for `_viewRepeater`
559+ // once it's a required parameter in the constructor.
560+ this . _viewRepeater ?. applyChanges (
553561 changes ,
554562 viewContainer ,
555563 ( record : IterableChangeRecord < RenderRow < T > > ,
556- adjustedPreviousIndex : number | null ,
564+ _adjustedPreviousIndex : number | null ,
557565 currentIndex : number | null ) => this . _getEmbeddedViewArgs ( record . item , currentIndex ! ) ,
558566 ( record ) => record . item . data ,
559567 ( change : _ViewRepeaterItemChange < RenderRow < T > , RowContext < T > > ) => {
0 commit comments