core/common/virtual-scroll/virtual-scroller-wrapper.component.ts
| selector | c8y-virtual-scroller-wrapper |
| standalone | true |
| imports |
NgIf
NgSwitch
NgSwitchCase
CdkVirtualScrollViewport
CdkVirtualForOf
CdkFixedSizeVirtualScroll
|
| templateUrl | ./virtual-scroller-wrapper.component.html |
NgIf
NgSwitch
NgSwitchCase
CdkVirtualScrollViewport
VirtualScrollWindowDirective
CdkVirtualForOf
NgTemplateOutlet
CdkFixedSizeVirtualScroll
AsyncPipe
AfterViewChecked
<ng-container
*ngIf="items$ | async as items"
[ngSwitch]="strategy"
>
<ng-container *ngSwitchCase="'window'">
<cdk-virtual-scroll-viewport
class="inner-scroll"
windowVirtualScrollStrategy
[itemSizePx]="itemHeight"
data-cy="c8y-virtual-scroll-wrapper--window"
>
<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
class="inner-scroll"
[style.height]="containerHeight + 'px'"
[itemSize]="itemHeight"
data-cy="c8y-virtual-scroll-wrapper--fixed"
>
<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>