core/common/virtual-scroll/virtual-scroller-wrapper.component.ts
selector | c8y-virtual-scroller-wrapper |
templateUrl | ./virtual-scroller-wrapper.component.html |
Properties |
Methods |
Inputs |
containerHeight |
Type : any
|
filterPipe |
Type : any
|
Default value : pipe(tap())
|
itemHeight |
Type : any
|
items |
Type : any
|
strategy |
Type : "fixed" | "window"
|
template |
Type : TemplateRef<any>
|
trackByFn |
Type : (i: any, item: any) => any
|
Default value : (i, item) => {
return item.id;
}
|
apply |
apply()
|
Returns :
void
|
items$ |
Type : Observable<>
|
<ng-container *ngIf="items$ |async as items" [ngSwitch]="strategy">
<ng-container *ngSwitchCase="'window'">
<cdk-virtual-scroll-viewport windowVirtualScrollStrategy [itemSizePx]="itemHeight" class="inner-scroll">
<div *cdkVirtualFor="let item of items; index as i; trackBy: trackByFn">
<ng-container *ngTemplateOutlet="template; context: {$implicit: item, index: i}"></ng-container>
</div>
</cdk-virtual-scroll-viewport>
</ng-container>
<ng-container *ngSwitchCase="'fixed'">
<cdk-virtual-scroll-viewport [itemSize]="itemHeight" [style.height]="containerHeight + 'px'" class="inner-scroll">
<div *cdkVirtualFor="let item of items; index as i; trackBy: trackByFn" >
<ng-container *ngTemplateOutlet="template; context: {$implicit: item, index: i}"></ng-container>
</div>
</cdk-virtual-scroll-viewport>
</ng-container>
</ng-container>