get a list of enabled filters
This commit is contained in:
parent
e2f8536551
commit
174b239f26
@ -96,6 +96,6 @@ export function flatChildren(filters: INestedFilter[]): IFilter[] {
|
||||
return filters.reduce((acc: IFilter[], f) => [...acc, ...(f?.children ?? [])], []);
|
||||
}
|
||||
|
||||
export function toFlatFilters(groups: IFilterGroup[]): IFilter[] {
|
||||
return groups.reduce((acc: IFilter[], f) => [...acc, ...f.filters, ...flatChildren(f.filters)], []);
|
||||
export function toFlatFilters(groups: IFilterGroup[], condition = (filters: IFilter[]) => filters): IFilter[] {
|
||||
return groups.reduce((acc: IFilter[], f) => [...acc, ...condition(f.filters), ...condition(flatChildren(f.filters))], []);
|
||||
}
|
||||
|
||||
@ -25,9 +25,13 @@ export class FilterService {
|
||||
return Object.values(this._filterGroups$.getValue());
|
||||
}
|
||||
|
||||
get enabledFlatFilters() {
|
||||
return toFlatFilters(this.filterGroups, filters => filters.filter(f => f.checked));
|
||||
}
|
||||
|
||||
private get _showResetFilters$(): Observable<boolean> {
|
||||
return this.filterGroups$.pipe(
|
||||
map(toFlatFilters),
|
||||
map(value => toFlatFilters(value)),
|
||||
map(f => !!f.find(el => el.checked)),
|
||||
shareDistinctLast(),
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user