@nova-ui/bits
Version:
SolarWinds Nova Framework
46 lines (45 loc) • 2.31 kB
TypeScript
import { DataSourceService } from "./data-source.service";
import { IFilter, IFilterGroup, IFilteringOutputs, IMultiFilterMetadata, INovaFilteringOutputs, INovaFilters } from "./public-api";
import { SearchService } from "../search.service";
import * as i0 from "@angular/core";
/** @ignore */
interface ComparisonItems {
previousValue: any;
currentValue: any;
}
/**
* <example-url>./../examples/index.html#/common/data-source-service/deprecated-client-side</example-url>
* @deprecated in v11 - use ClientSideDataSource instead - Removal: NUI-5796
*/
export declare class LocalFilteringDataSource<T, F extends INovaFilters = INovaFilters> extends DataSourceService<T, F> {
protected searchService: SearchService;
protected _allData: T[];
protected _allCategoriesResult: IFilteringOutputs;
protected _searchProps: string[];
protected virtualScrollData: T[];
constructor(searchService: SearchService);
setData(initialData?: T[]): void;
setSearchProperties(properties: string[]): void;
getFilteredData(filters: F): Promise<INovaFilteringOutputs>;
protected prepareData(): T[];
protected searchHandler(searchTerm: any): T[];
protected multiFilterHandler(nextChunk: T[], multiFiltersArr: any): T[];
protected sortingHandler(filters: any, nextChunk: T[]): T[];
protected paginationHandler(filters: any, nextChunk: T[]): T[];
protected virtualScrollHandler(filters: any, nextChunk: T[]): T[];
/**
* @deprecated in v11 - Use filtersChanged instead - Removal: NUI-5796
*/
protected paginationReset(filters: any, itemsToCompare: any): boolean;
filtersChanged(filters: any, itemsToCompare: any): boolean;
protected setItemsToCompare(filters: F, nextChunk: T[], searchTerm: string | undefined, multiFiltersArr: IFilterGroup<IFilter<string[], IMultiFilterMetadata>>[]): ComparisonItems[];
protected extractMultiFilters(filters: F): IFilterGroup<IFilter<string[], IMultiFilterMetadata>>[];
private getSelectedFilters;
private countAvailableResults;
private searchThru;
private getAllCategories;
private isValueChanged;
static ɵfac: i0.ɵɵFactoryDeclaration<LocalFilteringDataSource<any, any>, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<LocalFilteringDataSource<any, any>>;
}
export {};