UNPKG

@nova-ui/bits

Version:

SolarWinds Nova Framework

32 lines (31 loc) 1.82 kB
import { CollectionViewer, DataSource } from "@angular/cdk/collections"; import { BehaviorSubject, Observable, Subject } from "rxjs"; import { IDataFieldsConfig, IFilter, IFilteringOutputs, IFilteringParticipants, IFilters } from "./public-api"; import * as i0 from "@angular/core"; export declare abstract class DataSourceService<T, F extends IFilters = IFilters, D = any> extends DataSource<T> { dataSubject: BehaviorSubject<T[]>; outputsSubject: Subject<IFilteringOutputs>; dataFieldsConfig: IDataFieldsConfig; protected _previousFilters: F; protected _components: IFilteringParticipants; constructor(); set componentTree(components: IFilteringParticipants); registerComponent(components: IFilteringParticipants): void; deregisterComponent(componentKey: string): void; abstract getFilteredData(filters: F): Promise<IFilteringOutputs>; connect(collectionViewer: CollectionViewer): Observable<T[] | ReadonlyArray<T>>; disconnect(collectionViewer: CollectionViewer): void; applyFilters(): Promise<void>; getFilter(componentName: keyof IFilteringParticipants): F | undefined; getFilters(): F; get monitoredFilters(): string[]; filterChanged(filterName: keyof IFilteringParticipants, currentFilterValue?: IFilter<any>): boolean; filtersChanged(filters: F, ...filterNames: (keyof IFilteringParticipants)[]): boolean; computeFiltersChange(filters: F): boolean; protected beforeApplyFilters(filters: F): void; protected afterApplyFilters(filters: F): Promise<void>; protected shouldResetFilters(filters: F): boolean; protected resetFilters(filters: F): void; static ɵfac: i0.ɵɵFactoryDeclaration<DataSourceService<any, any, any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<DataSourceService<any, any, any>>; }