Files
dex-ui/src/app/directives/virtual-scroller-content/virtual-scroll.directive.ts
2025-05-29 17:12:16 +02:00

27 lines
657 B
TypeScript

import {Directive, Input} from '@angular/core';
import {ScrollerContentOptions} from 'primeng/scroller';
interface CoolScrollerContentOptions<T extends object> extends ScrollerContentOptions {
items?: T[];
}
interface TableRowTemplateContext<T extends object> {
$implicit: T;
options: CoolScrollerContentOptions<T>;
}
@Directive({
selector: 'ng-template[appVirtualScroll]'
})
export class VirtualScrollDirective<T extends object>{
@Input('appVirtualScroll') items!: T[];
static ngTemplateContextGuard<E extends object>(
_dir: VirtualScrollDirective<E>,
_ctx: unknown
): _ctx is TableRowTemplateContext<E> {
return true;
}
}