RED-9390 - Workload filter does not remember previous ALL or NONE selection
This commit is contained in:
parent
f872158c5f
commit
ca0db25484
@ -62,7 +62,7 @@
|
||||
></div>
|
||||
}
|
||||
<div
|
||||
(click)="deactivateFilters()"
|
||||
(click)="deactivatePrimaryFilters()"
|
||||
class="all-caps-label primary pointer"
|
||||
iqserStopPropagation
|
||||
translate="actions.none"
|
||||
|
||||
@ -95,16 +95,18 @@ export class FilterCardComponent implements OnInit {
|
||||
filterGroup,
|
||||
parent,
|
||||
primaryFiltersSlug: this.primaryFiltersSlug,
|
||||
fileId: this.fileId,
|
||||
});
|
||||
this.filterService.updateFiltersInLocalStorage(this.fileId);
|
||||
}
|
||||
|
||||
deactivateFilters() {
|
||||
deactivatePrimaryFilters() {
|
||||
this.filterService.deactivateFilters({ primaryFiltersSlug: this.primaryFiltersSlug });
|
||||
this.filterService.updateFiltersInLocalStorage(this.fileId);
|
||||
}
|
||||
|
||||
activatePrimaryFilters(): void {
|
||||
this.filterService.setFilters(this.primaryFiltersSlug, true);
|
||||
this.filterService.updateFiltersInLocalStorage(this.fileId);
|
||||
}
|
||||
|
||||
toggleFilterExpanded(nestedFilter: INestedFilter): void {
|
||||
|
||||
@ -14,7 +14,6 @@ export interface CheckboxClickedParams {
|
||||
nestedFilter: INestedFilter;
|
||||
filterGroup: IFilterGroup;
|
||||
parent?: INestedFilter;
|
||||
fileId?: string;
|
||||
primaryFiltersSlug: string;
|
||||
}
|
||||
|
||||
@ -24,6 +23,10 @@ export interface DeactivateFiltersParams {
|
||||
exceptedFilterId?: string;
|
||||
}
|
||||
|
||||
const PRIMARY_FILTERS = 'primaryFilters';
|
||||
const SECONDARY_FILTERS = 'secondaryFilters';
|
||||
const WORKLOAD_FILTERS_KEY = 'workload-filters';
|
||||
|
||||
@Injectable()
|
||||
export class FilterService {
|
||||
readonly #singleFilters = new Map<string, BehaviorSubject<IFilter | undefined>>();
|
||||
@ -241,7 +244,7 @@ export class FilterService {
|
||||
}
|
||||
|
||||
filterCheckboxClicked(params: CheckboxClickedParams) {
|
||||
const { filterGroup, nestedFilter, parent, fileId, primaryFiltersSlug } = params;
|
||||
const { filterGroup, nestedFilter, parent, primaryFiltersSlug } = params;
|
||||
|
||||
if (filterGroup.singleSelect) {
|
||||
this.deactivateFilters({ primaryFiltersSlug, exceptedFilterId: nestedFilter.id });
|
||||
@ -264,23 +267,22 @@ export class FilterService {
|
||||
}
|
||||
|
||||
this.refresh();
|
||||
this.#updateFiltersInLocalStorage(fileId);
|
||||
}
|
||||
|
||||
#updateFiltersInLocalStorage(fileId?: string) {
|
||||
updateFiltersInLocalStorage(fileId?: string) {
|
||||
if (fileId) {
|
||||
const primaryFilters = this.getGroup('primaryFilters');
|
||||
const secondaryFilters = this.getGroup('secondaryFilters');
|
||||
const primaryFilters = this.getGroup(PRIMARY_FILTERS);
|
||||
const secondaryFilters = this.getGroup(SECONDARY_FILTERS);
|
||||
|
||||
const filters: LocalStorageFilters = {
|
||||
primaryFilters: extractFilterValues(primaryFilters?.filters),
|
||||
secondaryFilters: extractFilterValues(secondaryFilters?.filters),
|
||||
};
|
||||
|
||||
const workloadFiltersString = localStorage.getItem('workload-filters') ?? '{}';
|
||||
const workloadFiltersString = localStorage.getItem(WORKLOAD_FILTERS_KEY) ?? '{}';
|
||||
const workloadFilters = JSON.parse(workloadFiltersString);
|
||||
workloadFilters[fileId] = filters;
|
||||
localStorage.setItem('workload-filters', JSON.stringify(workloadFilters));
|
||||
localStorage.setItem(WORKLOAD_FILTERS_KEY, JSON.stringify(workloadFilters));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user