@firestitch/filter 13.0.2 → 13.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- import { BaseItem } from '../models/items/base-item';
2
1
  import { IFilterConfigItem } from '../interfaces/config.interface';
2
+ import { BaseItem } from '../models/items/base-item';
3
3
  export declare function buildQueryParams(flattenedParams: Record<string, unknown>, items: BaseItem<IFilterConfigItem>[]): Record<string, unknown>;
@@ -11,4 +11,4 @@ import { DateTimeRangeItem } from '../models/items/date-time-range-item';
11
11
  import { RangeItem } from '../models/items/range-item';
12
12
  import { TextItem } from '../models/items/text-item';
13
13
  import { WeekItem } from '../models/items/week-item';
14
- export declare function createFilterItem(item: IFilterConfigItem, config: any, filter: FilterComponent): RangeItem | DateRangeItem | DateTimeRangeItem | WeekItem | AutocompleteChipsItem | AutocompleteItem | CheckboxItem | ChipsItem | DateItem | DateTimeItem | import("../models/items/select/simple-select-item").SimpleSelectItem | import("../models/items/select/multiple-select-item").MultipleSelectItem | TextItem;
14
+ export declare function createFilterItem(item: IFilterConfigItem, config: any, filter: FilterComponent): RangeItem | DateRangeItem | DateTimeRangeItem | WeekItem | AutocompleteChipsItem | AutocompleteItem | CheckboxItem | ChipsItem | DateItem | DateTimeItem | import("../models/items/select/multiple-select-item").MultipleSelectItem | import("../models/items/select/simple-select-item").SimpleSelectItem | TextItem;
@@ -1,6 +1,6 @@
1
1
  import { ActivatedRoute, Router } from '@angular/router';
2
- import { FsFilterItemsStore } from '../items-store.service';
3
2
  import { Location } from '@angular/common';
3
+ import { FsFilterItemsStore } from '../items-store.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class QueryParamsController {
6
6
  private _router;
@@ -19,6 +19,7 @@ export declare class QueryParamsController {
19
19
  * Parse query and update filter values
20
20
  */
21
21
  fetchFromQueryParams(): void;
22
+ private _replaceState;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<QueryParamsController, never>;
23
24
  static ɵprov: i0.ɵɵInjectableDeclaration<QueryParamsController>;
24
25
  }
@@ -1,10 +1,11 @@
1
1
  import { list as arrayList } from '@firestitch/common';
2
2
  import { isObject } from 'lodash-es';
3
- import { filterToQueryParam } from './query-param-transformers';
4
3
  import { MultipleSelectItem } from '../models/items/select/multiple-select-item';
5
4
  import { arraysAreEquals } from './compare';
5
+ import { filterToQueryParam } from './query-param-transformers';
6
6
  export function buildQueryParams(flattenedParams, items) {
7
- items.forEach(filterItem => {
7
+ items
8
+ .forEach((filterItem) => {
8
9
  if (filterItem instanceof MultipleSelectItem && filterItem.isolate) {
9
10
  if (filterItem.multiple && filterItem.value) {
10
11
  const isolated = arrayList(filterItem.values, 'value').sort();
@@ -29,4 +30,4 @@ export function buildQueryParams(flattenedParams, items) {
29
30
  });
30
31
  return flattenedParams;
31
32
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcXVlcnktcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL2J1aWxkLXF1ZXJ5LXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFHakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUc1QyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsZUFBd0MsRUFBRSxLQUFvQztJQUM3RyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ3pCLElBQUksVUFBVSxZQUFZLGtCQUFrQixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDbEUsSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQzNDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM5RCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUV0QyxJQUFJLGVBQWUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUU7b0JBQ3BDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2lCQUN6QzthQUNGO1NBQ0Y7UUFFRCxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtZQUNqQyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0RztTQUNGO2FBQU0sSUFBSSxVQUFVLENBQUMsdUJBQXVCLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRTtZQUN2RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUM5RCxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQy9ELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNkO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsaXN0IGFzIGFycmF5TGlzdCB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgZmlsdGVyVG9RdWVyeVBhcmFtIH0gZnJvbSAnLi9xdWVyeS1wYXJhbS10cmFuc2Zvcm1lcnMnO1xuaW1wb3J0IHsgTXVsdGlwbGVTZWxlY3RJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2l0ZW1zL3NlbGVjdC9tdWx0aXBsZS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0l0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXJyYXlzQXJlRXF1YWxzIH0gZnJvbSAnLi9jb21wYXJlJztcblxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRRdWVyeVBhcmFtcyhmbGF0dGVuZWRQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBpdGVtczogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+W10pIHtcbiAgaXRlbXMuZm9yRWFjaChmaWx0ZXJJdGVtID0+IHtcbiAgICBpZiAoZmlsdGVySXRlbSBpbnN0YW5jZW9mIE11bHRpcGxlU2VsZWN0SXRlbSAmJiBmaWx0ZXJJdGVtLmlzb2xhdGUpIHtcbiAgICAgIGlmIChmaWx0ZXJJdGVtLm11bHRpcGxlICYmIGZpbHRlckl0ZW0udmFsdWUpIHtcbiAgICAgICAgY29uc3QgaXNvbGF0ZWQgPSBhcnJheUxpc3QoZmlsdGVySXRlbS52YWx1ZXMsICd2YWx1ZScpLnNvcnQoKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJJdGVtLnZhbHVlLnNvcnQoKTtcblxuICAgICAgICBpZiAoYXJyYXlzQXJlRXF1YWxzKHZhbHVlLCBpc29sYXRlZCkpIHtcbiAgICAgICAgICBmbGF0dGVuZWRQYXJhbXNbZmlsdGVySXRlbS5uYW1lXSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZmlsdGVySXRlbS5pc1R5cGVBdXRvY29tcGxldGUpIHtcbiAgICAgIGlmIChpc09iamVjdChmaWx0ZXJJdGVtLm1vZGVsKSkge1xuICAgICAgICBmbGF0dGVuZWRQYXJhbXNbZmlsdGVySXRlbS5uYW1lXSA9IGZpbHRlclRvUXVlcnlQYXJhbShmaWx0ZXJJdGVtLm1vZGVsLnZhbHVlLCBmaWx0ZXJJdGVtLm1vZGVsLm5hbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZmlsdGVySXRlbS5pc1R5cGVBdXRvY29tcGxldGVDaGlwcyB8fCBmaWx0ZXJJdGVtLmlzVHlwZUNoaXBzKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXJJdGVtLm1vZGVsKSAmJiBmaWx0ZXJJdGVtLm1vZGVsLmxlbmd0aCkge1xuICAgICAgICBmbGF0dGVuZWRQYXJhbXNbZmlsdGVySXRlbS5uYW1lXSA9IGZpbHRlckl0ZW0ubW9kZWwubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpbHRlclRvUXVlcnlQYXJhbShpdGVtLnZhbHVlLCBpdGVtLm5hbWUpO1xuICAgICAgICB9KS5qb2luKCcsJyk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZmxhdHRlbmVkUGFyYW1zO1xufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcXVlcnktcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL2J1aWxkLXF1ZXJ5LXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdoRSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsZUFBd0MsRUFBRSxLQUFvQztJQUM3RyxLQUFLO1NBQ0gsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDdkIsSUFBSSxVQUFVLFlBQVksa0JBQWtCLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRTtZQUNsRSxJQUFJLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRTtnQkFDM0MsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzlELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXRDLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTtvQkFDcEMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7aUJBQ3pDO2FBQ0Y7U0FDRjtRQUVELElBQUksVUFBVSxDQUFDLGtCQUFrQixFQUFFO1lBQ2pDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDOUIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RHO1NBQ0Y7YUFBTSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO1lBQ3ZFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQzlELGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDL0QsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2Q7U0FDRjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxpc3QgYXMgYXJyYXlMaXN0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcblxuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnSXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgTXVsdGlwbGVTZWxlY3RJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2l0ZW1zL3NlbGVjdC9tdWx0aXBsZS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBhcnJheXNBcmVFcXVhbHMgfSBmcm9tICcuL2NvbXBhcmUnO1xuaW1wb3J0IHsgZmlsdGVyVG9RdWVyeVBhcmFtIH0gZnJvbSAnLi9xdWVyeS1wYXJhbS10cmFuc2Zvcm1lcnMnO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFF1ZXJ5UGFyYW1zKGZsYXR0ZW5lZFBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGl0ZW1zOiBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnSXRlbT5bXSkge1xuICBpdGVtc1xuICAgLmZvckVhY2goKGZpbHRlckl0ZW0pID0+IHtcbiAgICBpZiAoZmlsdGVySXRlbSBpbnN0YW5jZW9mIE11bHRpcGxlU2VsZWN0SXRlbSAmJiBmaWx0ZXJJdGVtLmlzb2xhdGUpIHtcbiAgICAgIGlmIChmaWx0ZXJJdGVtLm11bHRpcGxlICYmIGZpbHRlckl0ZW0udmFsdWUpIHtcbiAgICAgICAgY29uc3QgaXNvbGF0ZWQgPSBhcnJheUxpc3QoZmlsdGVySXRlbS52YWx1ZXMsICd2YWx1ZScpLnNvcnQoKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJJdGVtLnZhbHVlLnNvcnQoKTtcblxuICAgICAgICBpZiAoYXJyYXlzQXJlRXF1YWxzKHZhbHVlLCBpc29sYXRlZCkpIHtcbiAgICAgICAgICBmbGF0dGVuZWRQYXJhbXNbZmlsdGVySXRlbS5uYW1lXSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZmlsdGVySXRlbS5pc1R5cGVBdXRvY29tcGxldGUpIHtcbiAgICAgIGlmIChpc09iamVjdChmaWx0ZXJJdGVtLm1vZGVsKSkge1xuICAgICAgICBmbGF0dGVuZWRQYXJhbXNbZmlsdGVySXRlbS5uYW1lXSA9IGZpbHRlclRvUXVlcnlQYXJhbShmaWx0ZXJJdGVtLm1vZGVsLnZhbHVlLCBmaWx0ZXJJdGVtLm1vZGVsLm5hbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZmlsdGVySXRlbS5pc1R5cGVBdXRvY29tcGxldGVDaGlwcyB8fCBmaWx0ZXJJdGVtLmlzVHlwZUNoaXBzKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXJJdGVtLm1vZGVsKSAmJiBmaWx0ZXJJdGVtLm1vZGVsLmxlbmd0aCkge1xuICAgICAgICBmbGF0dGVuZWRQYXJhbXNbZmlsdGVySXRlbS5uYW1lXSA9IGZpbHRlckl0ZW0ubW9kZWwubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZpbHRlclRvUXVlcnlQYXJhbShpdGVtLnZhbHVlLCBpdGVtLm5hbWUpO1xuICAgICAgICB9KS5qb2luKCcsJyk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZmxhdHRlbmVkUGFyYW1zO1xufVxuIl19
@@ -1,8 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
- import { FsFilterItemsStore } from '../items-store.service';
4
- import { restoreItems } from '../../helpers/restore-items';
5
3
  import { Location } from '@angular/common';
4
+ import { restoreItems } from '../../helpers/restore-items';
5
+ import { FsFilterItemsStore } from '../items-store.service';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/router";
8
8
  import * as i2 from "@angular/common";
@@ -29,23 +29,9 @@ export class QueryParamsController {
29
29
  }
30
30
  }
31
31
  writeStateToQueryParams(params) {
32
- if (!this._enabled) {
33
- return;
32
+ if (this._enabled) {
33
+ this._replaceState(params);
34
34
  }
35
- this._location.replaceState(this._router.createUrlTree([], {
36
- relativeTo: this._route,
37
- queryParams: params,
38
- queryParamsHandling: 'merge',
39
- preserveFragment: true,
40
- }).toString());
41
- // Trying replacing the URL without triggering an Angular navigation change
42
- // // Update query
43
- // this._router.navigate([], {
44
- // replaceUrl: true,
45
- // relativeTo: this._route,
46
- // queryParams: params,
47
- // queryParamsHandling: 'merge',
48
- // }).then(() => {});
49
35
  }
50
36
  /**
51
37
  * Parse query and update filter values
@@ -58,10 +44,19 @@ export class QueryParamsController {
58
44
  ].filter((item) => !!item);
59
45
  this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items, this._paramsCase);
60
46
  }
47
+ _replaceState(data) {
48
+ const url = new URL(window.location.href);
49
+ Object.keys(data)
50
+ .filter((name) => data[name] !== undefined && data[name] !== null)
51
+ .forEach((name) => {
52
+ url.searchParams.set(name, data[name]);
53
+ });
54
+ history.replaceState({}, null, url.search);
55
+ }
61
56
  }
62
57
  QueryParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.Location }, { token: i3.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
63
58
  QueryParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController });
64
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController, decorators: [{
65
60
  type: Injectable
66
61
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.Location }, { type: i3.FsFilterItemsStore }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3F1ZXJ5LXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBSTNDLE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsWUFDVSxPQUFlLEVBQ2YsTUFBc0IsRUFDdEIsU0FBbUIsRUFDbkIsV0FBK0I7UUFIL0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBUmpDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFTdEIsQ0FBQztJQUVKLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFnQixFQUFFLFVBQTZCO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxNQUFNO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsT0FBTTtTQUFFO1FBRTlCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQ3pCO1lBQ0UsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3ZCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLG1CQUFtQixFQUFFLE9BQU87WUFDNUIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUNKLENBQUMsUUFBUSxFQUFFLENBQ2IsQ0FBQztRQUVGLDJFQUEyRTtRQUMzRSxrQkFBa0I7UUFDbEIsOEJBQThCO1FBQzlCLHNCQUFzQjtRQUN0Qiw2QkFBNkI7UUFDN0IseUJBQXlCO1FBQ3pCLGtDQUFrQztRQUNsQyxxQkFBcUI7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CO1FBQ3pCLE1BQU0sS0FBSyxHQUFHO1lBQ1osR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCO1NBQ25DLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDaEMsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7SUFDSixDQUFDOztrSEFyRVUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuLi9pdGVtcy1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IHJlc3RvcmVJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcmVzdG9yZS1pdGVtcyc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1zQ29udHJvbGxlciB7XG5cbiAgcHJpdmF0ZSBfZW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9wYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJztcbiAgcHJpdmF0ZSBfZmV0Y2hlZFBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgX2l0ZW1zU3RvcmU6IEZzRmlsdGVySXRlbXNTdG9yZVxuICApIHt9XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBmZXRjaGVkUGFyYW1zKCkge1xuICAgIHJldHVybiB0aGlzLl9mZXRjaGVkUGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGluaXQoZW5hYmxlZDogYm9vbGVhbiwgcGFyYW1zQ2FzZTogJ3NuYWtlJyB8ICdjYW1lbCcpIHtcbiAgICB0aGlzLl9lbmFibGVkID0gZW5hYmxlZDtcbiAgICB0aGlzLl9wYXJhbXNDYXNlID0gcGFyYW1zQ2FzZTtcblxuICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZmV0Y2hGcm9tUXVlcnlQYXJhbXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgd3JpdGVTdGF0ZVRvUXVlcnlQYXJhbXMocGFyYW1zKSB7XG4gICAgaWYgKCF0aGlzLl9lbmFibGVkKSB7IHJldHVybiB9XG5cbiAgICB0aGlzLl9sb2NhdGlvbi5yZXBsYWNlU3RhdGUoXG4gICAgICB0aGlzLl9yb3V0ZXIuY3JlYXRlVXJsVHJlZShbXSxcbiAgICAgICAgICB7ICAgICAgXG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLl9yb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBwYXJhbXMsXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgICAgICAgICAgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSxcbiAgICAgICAgICB9XG4gICAgICApLnRvU3RyaW5nKClcbiAgICApO1xuICAgIFxuICAgIC8vIFRyeWluZyByZXBsYWNpbmcgdGhlIFVSTCB3aXRob3V0IHRyaWdnZXJpbmcgYW4gQW5ndWxhciBuYXZpZ2F0aW9uIGNoYW5nZVxuICAgIC8vIC8vIFVwZGF0ZSBxdWVyeVxuICAgIC8vIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgIC8vICAgcmVwbGFjZVVybDogdHJ1ZSxcbiAgICAvLyAgIHJlbGF0aXZlVG86IHRoaXMuX3JvdXRlLFxuICAgIC8vICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcbiAgICAvLyAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgLy8gfSkudGhlbigoKSA9PiB7fSk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgcXVlcnkgYW5kIHVwZGF0ZSBmaWx0ZXIgdmFsdWVzXG4gICAqL1xuICBwdWJsaWMgZmV0Y2hGcm9tUXVlcnlQYXJhbXMoKSB7XG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAuLi50aGlzLl9pdGVtc1N0b3JlLml0ZW1zLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0QnlJdGVtLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0RGlyZWN0aW9uSXRlbSxcbiAgICBdLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKTtcblxuICAgIHRoaXMuX2ZldGNoZWRQYXJhbXMgPSByZXN0b3JlSXRlbXMoXG4gICAgICB0aGlzLl9yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyxcbiAgICAgIGl0ZW1zLFxuICAgICAgdGhpcy5fcGFyYW1zQ2FzZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3F1ZXJ5LXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBSTVELE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsWUFDVSxPQUFlLEVBQ2YsTUFBc0IsRUFDdEIsU0FBbUIsRUFDbkIsV0FBK0I7UUFIL0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBUmpDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFTdEIsQ0FBQztJQUVKLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFnQixFQUFFLFVBQTZCO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxNQUFNO1FBQ25DLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CO1FBQ3pCLE1BQU0sS0FBSyxHQUFHO1lBQ1osR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCO1NBQ25DLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDaEMsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLElBQUk7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNkLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO2FBQ2pFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7a0hBL0RVLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgcmVzdG9yZUl0ZW1zIH0gZnJvbSAnLi4vLi4vaGVscGVycy9yZXN0b3JlLWl0ZW1zJztcbmltcG9ydCB7IEZzRmlsdGVySXRlbXNTdG9yZSB9IGZyb20gJy4uL2l0ZW1zLXN0b3JlLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdWVyeVBhcmFtc0NvbnRyb2xsZXIge1xuXG4gIHByaXZhdGUgX2VuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcGFyYW1zQ2FzZTogJ3NuYWtlJyB8ICdjYW1lbCc7XG4gIHByaXZhdGUgX2ZldGNoZWRQYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgX2xvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIF9pdGVtc1N0b3JlOiBGc0ZpbHRlckl0ZW1zU3RvcmVcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmV0Y2hlZFBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmV0Y2hlZFBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGVuYWJsZWQ6IGJvb2xlYW4sIHBhcmFtc0Nhc2U6ICdzbmFrZScgfCAnY2FtZWwnKSB7XG4gICAgdGhpcy5fZW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgdGhpcy5fcGFyYW1zQ2FzZSA9IHBhcmFtc0Nhc2U7XG5cbiAgICBpZiAodGhpcy5lbmFibGVkKSB7XG4gICAgICB0aGlzLmZldGNoRnJvbVF1ZXJ5UGFyYW1zKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHdyaXRlU3RhdGVUb1F1ZXJ5UGFyYW1zKHBhcmFtcykge1xuICAgIGlmICh0aGlzLl9lbmFibGVkKSB7IFxuICAgICAgdGhpcy5fcmVwbGFjZVN0YXRlKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIHF1ZXJ5IGFuZCB1cGRhdGUgZmlsdGVyIHZhbHVlc1xuICAgKi9cbiAgcHVibGljIGZldGNoRnJvbVF1ZXJ5UGFyYW1zKCkge1xuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgLi4udGhpcy5faXRlbXNTdG9yZS5pdGVtcyxcbiAgICAgIHRoaXMuX2l0ZW1zU3RvcmUuc29ydEJ5SXRlbSxcbiAgICAgIHRoaXMuX2l0ZW1zU3RvcmUuc29ydERpcmVjdGlvbkl0ZW0sXG4gICAgXS5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbSk7XG5cbiAgICB0aGlzLl9mZXRjaGVkUGFyYW1zID0gcmVzdG9yZUl0ZW1zKFxuICAgICAgdGhpcy5fcm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMsXG4gICAgICBpdGVtcyxcbiAgICAgIHRoaXMuX3BhcmFtc0Nhc2VcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVwbGFjZVN0YXRlKGRhdGEpIHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcblxuICAgIE9iamVjdC5rZXlzKGRhdGEpXG4gICAgICAuZmlsdGVyKChuYW1lKSA9PiBkYXRhW25hbWVdICE9PSB1bmRlZmluZWQgJiYgZGF0YVtuYW1lXSAhPT0gbnVsbClcbiAgICAgIC5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KG5hbWUsZGF0YVtuYW1lXSk7XG4gICAgICB9KTtcblxuICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBudWxsLCB1cmwuc2VhcmNoKTtcbiAgfVxufVxuIl19
@@ -59,16 +59,6 @@ import * as i1$6 from '@angular/cdk/overlay';
59
59
  import { OverlayConfig } from '@angular/cdk/overlay';
60
60
  import * as i1$7 from '@angular/cdk/layout';
61
61
 
62
- const QUERY_PARAM_DELIMITER = ':';
63
-
64
- function filterToQueryParam(value, name) {
65
- return `${encodeURIComponent(value)}${QUERY_PARAM_DELIMITER}${encodeURIComponent(name)}`;
66
- }
67
- function filterFromQueryParam(param) {
68
- const parts = param.split(QUERY_PARAM_DELIMITER);
69
- return [decodeURIComponent(parts[0]), decodeURIComponent(parts[1])];
70
- }
71
-
72
62
  function objectsAreEquals(obj1, obj2) {
73
63
  const oldKeys = Object.keys(obj1);
74
64
  const currKeys = Object.keys(obj2);
@@ -476,8 +466,19 @@ class MultipleSelectItem extends BaseSelectItem {
476
466
  }
477
467
  }
478
468
 
469
+ const QUERY_PARAM_DELIMITER = ':';
470
+
471
+ function filterToQueryParam(value, name) {
472
+ return `${encodeURIComponent(value)}${QUERY_PARAM_DELIMITER}${encodeURIComponent(name)}`;
473
+ }
474
+ function filterFromQueryParam(param) {
475
+ const parts = param.split(QUERY_PARAM_DELIMITER);
476
+ return [decodeURIComponent(parts[0]), decodeURIComponent(parts[1])];
477
+ }
478
+
479
479
  function buildQueryParams(flattenedParams, items) {
480
- items.forEach(filterItem => {
480
+ items
481
+ .forEach((filterItem) => {
481
482
  if (filterItem instanceof MultipleSelectItem && filterItem.isolate) {
482
483
  if (filterItem.multiple && filterItem.value) {
483
484
  const isolated = list(filterItem.values, 'value').sort();
@@ -1923,23 +1924,9 @@ class QueryParamsController {
1923
1924
  }
1924
1925
  }
1925
1926
  writeStateToQueryParams(params) {
1926
- if (!this._enabled) {
1927
- return;
1927
+ if (this._enabled) {
1928
+ this._replaceState(params);
1928
1929
  }
1929
- this._location.replaceState(this._router.createUrlTree([], {
1930
- relativeTo: this._route,
1931
- queryParams: params,
1932
- queryParamsHandling: 'merge',
1933
- preserveFragment: true,
1934
- }).toString());
1935
- // Trying replacing the URL without triggering an Angular navigation change
1936
- // // Update query
1937
- // this._router.navigate([], {
1938
- // replaceUrl: true,
1939
- // relativeTo: this._route,
1940
- // queryParams: params,
1941
- // queryParamsHandling: 'merge',
1942
- // }).then(() => {});
1943
1930
  }
1944
1931
  /**
1945
1932
  * Parse query and update filter values
@@ -1952,6 +1939,15 @@ class QueryParamsController {
1952
1939
  ].filter((item) => !!item);
1953
1940
  this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items, this._paramsCase);
1954
1941
  }
1942
+ _replaceState(data) {
1943
+ const url = new URL(window.location.href);
1944
+ Object.keys(data)
1945
+ .filter((name) => data[name] !== undefined && data[name] !== null)
1946
+ .forEach((name) => {
1947
+ url.searchParams.set(name, data[name]);
1948
+ });
1949
+ history.replaceState({}, null, url.search);
1950
+ }
1955
1951
  }
1956
1952
  QueryParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i3.Location }, { token: FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
1957
1953
  QueryParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController });