UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

24 lines (23 loc) 1.17 kB
import { OnDestroy } from "@angular/core"; import { BehaviorSubject, Observable, Subject } from "rxjs"; import { DataSourceService } from "./data-source.service"; import { IFilteringOutputs, IFilters } from "./public-api"; import * as i0 from "@angular/core"; /** * <example-url>./../examples/index.html#/common/server-side-data-source</example-url> */ export declare abstract class ServerSideDataSource<T, F extends IFilters = IFilters, D extends IFilters = IFilters> extends DataSourceService<T> implements OnDestroy { busy: BehaviorSubject<boolean>; protected applyFilters$: Subject<F>; protected destroy$: Subject<void>; constructor(); protected setupFilters(): void; ngOnDestroy(): void; protected beforeApplyFilters(filters: F): void; protected afterApplyFilters(data: D): Promise<void>; applyFilters(): Promise<void>; abstract getFilteredData(data: D): Promise<IFilteringOutputs>; protected abstract getBackendData(filters: F): Observable<D>; static ɵfac: i0.ɵɵFactoryDeclaration<ServerSideDataSource<any, any, any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ServerSideDataSource<any, any, any>>; }