@@ -500,22 +500,13 @@ export class CdkTable<T> implements AfterContentChecked, CollectionViewer, OnDes
500
500
protected readonly _elementRef : ElementRef , @Attribute ( 'role' ) role : string ,
501
501
@Optional ( ) protected readonly _dir : Directionality , @Inject ( DOCUMENT ) _document : any ,
502
502
private _platform : Platform ,
503
-
504
- /**
505
- * @deprecated `_coalescedStyleScheduler`, `_viewRepeater` and `_viewportRuler`
506
- * parameters to become required.
507
- * @breaking -change 11.0.0
508
- */
509
- @Optional ( ) @Inject ( _VIEW_REPEATER_STRATEGY )
510
- protected readonly _viewRepeater ?: _ViewRepeater < T , RenderRow < T > , RowContext < T > > ,
511
- @Optional ( ) @Inject ( _COALESCED_STYLE_SCHEDULER )
512
- protected readonly _coalescedStyleScheduler ?: _CoalescedStyleScheduler ,
513
- @Optional ( ) @SkipSelf ( ) @Inject ( STICKY_POSITIONING_LISTENER )
514
- protected readonly _stickyPositioningListener ?: StickyPositioningListener ,
515
- // Optional for backwards compatibility. The viewport ruler is provided in root. Therefore,
516
- // this property will never be null.
517
- // tslint:disable-next-line: lightweight-tokens
518
- @Optional ( ) private readonly _viewportRuler ?: ViewportRuler ) {
503
+ @Inject ( _VIEW_REPEATER_STRATEGY )
504
+ protected readonly _viewRepeater : _ViewRepeater < T , RenderRow < T > , RowContext < T > > ,
505
+ @Inject ( _COALESCED_STYLE_SCHEDULER )
506
+ protected readonly _coalescedStyleScheduler : _CoalescedStyleScheduler ,
507
+ @SkipSelf ( ) @Inject ( STICKY_POSITIONING_LISTENER )
508
+ protected readonly _stickyPositioningListener : StickyPositioningListener ,
509
+ private readonly _viewportRuler : ViewportRuler ) {
519
510
if ( ! role ) {
520
511
this . _elementRef . nativeElement . setAttribute ( 'role' , 'grid' ) ;
521
512
}
@@ -538,14 +529,9 @@ export class CdkTable<T> implements AfterContentChecked, CollectionViewer, OnDes
538
529
return this . trackBy ? this . trackBy ( dataRow . dataIndex , dataRow . data ) : dataRow ;
539
530
} ) ;
540
531
541
- // Table cell dimensions may change after resizing the window. Signal the sticky styler to
542
- // refresh its cache of cell widths the next time sticky styles are updated.
543
- // @breaking -change 11.0.0 Remove null check for _viewportRuler once it's a required parameter.
544
- if ( this . _viewportRuler ) {
545
- this . _viewportRuler . change ( ) . pipe ( takeUntil ( this . _onDestroy ) ) . subscribe ( ( ) => {
546
- this . _forceRecalculateCellWidths = true ;
547
- } ) ;
548
- }
532
+ this . _viewportRuler . change ( ) . pipe ( takeUntil ( this . _onDestroy ) ) . subscribe ( ( ) => {
533
+ this . _forceRecalculateCellWidths = true ;
534
+ } ) ;
549
535
}
550
536
551
537
ngAfterContentChecked ( ) {
@@ -626,38 +612,16 @@ export class CdkTable<T> implements AfterContentChecked, CollectionViewer, OnDes
626
612
}
627
613
const viewContainer = this . _rowOutlet . viewContainer ;
628
614
629
- // @breaking -change 11.0.0 Remove null check for `_viewRepeater` and the
630
- // `else` clause once `_viewRepeater` is turned into a required parameter.
631
- if ( this . _viewRepeater ) {
632
- this . _viewRepeater . applyChanges (
633
- changes ,
634
- viewContainer ,
635
- ( record : IterableChangeRecord < RenderRow < T > > ,
636
- _adjustedPreviousIndex : number | null ,
637
- currentIndex : number | null ) => this . _getEmbeddedViewArgs ( record . item , currentIndex ! ) ,
638
- ( record ) => record . item . data ,
639
- ( change : _ViewRepeaterItemChange < RenderRow < T > , RowContext < T > > ) => {
640
- if ( change . operation === _ViewRepeaterOperation . INSERTED && change . context ) {
641
- this . _renderCellTemplateForItem ( change . record . item . rowDef , change . context ) ;
642
- }
643
- } ) ;
644
- } else {
645
- changes . forEachOperation (
646
- ( record : IterableChangeRecord < RenderRow < T > > , prevIndex : number | null ,
647
- currentIndex : number | null ) => {
648
- if ( record . previousIndex == null ) {
649
- const renderRow = record . item ;
650
- const rowDef = renderRow . rowDef ;
651
- const context : RowContext < T > = { $implicit : renderRow . data } ;
652
- this . _renderRow ( this . _rowOutlet , rowDef , currentIndex ! , context ) ;
653
- } else if ( currentIndex == null ) {
654
- viewContainer . remove ( prevIndex ! ) ;
655
- } else {
656
- const view = < RowViewRef < T > > viewContainer . get ( prevIndex ! ) ;
657
- viewContainer . move ( view ! , currentIndex ) ;
658
- }
659
- } ) ;
660
- }
615
+ this . _viewRepeater . applyChanges ( changes , viewContainer ,
616
+ ( record : IterableChangeRecord < RenderRow < T > > ,
617
+ _adjustedPreviousIndex : number | null ,
618
+ currentIndex : number | null ) => this . _getEmbeddedViewArgs ( record . item , currentIndex ! ) ,
619
+ ( record ) => record . item . data ,
620
+ ( change : _ViewRepeaterItemChange < RenderRow < T > , RowContext < T > > ) => {
621
+ if ( change . operation === _ViewRepeaterOperation . INSERTED && change . context ) {
622
+ this . _renderCellTemplateForItem ( change . record . item . rowDef , change . context ) ;
623
+ }
624
+ } ) ;
661
625
662
626
// Update the meta context of a row's context data (index, count, first, last, ...)
663
627
this . _updateRowIndexContext ( ) ;
0 commit comments