@porscheinformatik/clr-addons
Version:
Addon components for Clarity Angular
30 lines (29 loc) • 1.42 kB
TypeScript
import { ClrTreetableFilterInterface } from '../interfaces/filter-model';
import * as i0 from "@angular/core";
/**
* Wrapper for a treetable filter instance that holds the filter and its unregister callback.
*
* @template T The row data type processed by the treetable.
* @template F The concrete filter type implementing <code>ClrTreetableFilterInterface</code> for <code>T</code>.
* @property filter The concrete filter instance.
* @property unregister Callback to remove this filter from the Filters service.
*/
export declare class RegisteredTreetableFilter<T, F extends ClrTreetableFilterInterface<T>> {
filter: F;
unregister: () => void;
constructor(filter: F, unregister: () => void);
}
export declare class Filters<T> {
private readonly _destroyRef;
private filterId;
private readonly updateFilterValue$;
private readonly _filterState;
private readonly _registeredFilters;
readonly activeFilters: import("@angular/core").Signal<ClrTreetableFilterInterface<T, unknown>[]>;
readonly hasActiveFilters: import("@angular/core").Signal<boolean>;
readonly changes$: import("rxjs").Observable<unknown[]>;
constructor();
register<F extends ClrTreetableFilterInterface<T>>(treetableFilter: F): RegisteredTreetableFilter<T, F>;
static ɵfac: i0.ɵɵFactoryDeclaration<Filters<any>, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<Filters<any>>;
}