@annalib/anna-core 9.0.13 → 9.0.14

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.
@@ -3,10 +3,47 @@ import hash from 'object-hash';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AnnaPersistingFilterService {
5
5
  constructor() { }
6
- storeKeyValueInLocalStorage(val) {
7
- let hashCode = hash(val);
8
- localStorage.setItem(hashCode, JSON.stringify(val));
9
- return hashCode;
6
+ storeKeyValueInLocalStorage(val, isFilterKey = true) {
7
+ let filterOrdering;
8
+ if (!localStorage.getItem("filterOrdering")) {
9
+ filterOrdering = [];
10
+ }
11
+ else {
12
+ filterOrdering = JSON.parse(localStorage.getItem("filterOrdering"));
13
+ }
14
+ let filterOrderingSet = new Set(filterOrdering);
15
+ let hashCode = null;
16
+ let key = null;
17
+ try {
18
+ hashCode = hash(val);
19
+ key = isFilterKey ? "filter_" + hashCode : hashCode;
20
+ localStorage.setItem(key, JSON.stringify(val));
21
+ if (isFilterKey) {
22
+ if (filterOrderingSet.has(key)) {
23
+ filterOrderingSet.delete(key);
24
+ }
25
+ filterOrderingSet.add(key);
26
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
27
+ }
28
+ }
29
+ catch (e) {
30
+ let halfArrayLength = filterOrdering.length / 2;
31
+ for (let i = 0; i < halfArrayLength; i++) {
32
+ localStorage.removeItem(filterOrdering[i]);
33
+ }
34
+ filterOrdering.splice(0, (filterOrdering.length / 2));
35
+ hashCode = hash(val);
36
+ let key = isFilterKey ? "filter_" + hashCode : hashCode;
37
+ localStorage.setItem(key, JSON.stringify(val));
38
+ if (isFilterKey) {
39
+ if (filterOrderingSet.has(key)) {
40
+ filterOrderingSet.delete(key);
41
+ }
42
+ filterOrderingSet.add(key);
43
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
44
+ }
45
+ }
46
+ return key;
10
47
  }
11
48
  getActualQueryParams(key) {
12
49
  return localStorage.getItem(key);
@@ -20,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
20
57
  providedIn: "root",
21
58
  }]
22
59
  }], ctorParameters: function () { return []; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sMkJBQTJCO0lBRXBDLGdCQUFnQixDQUFDO0lBRWpCLDJCQUEyQixDQUFDLEdBQVE7UUFDaEMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVztRQUM1QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7d0hBWlEsMkJBQTJCOzRIQUEzQiwyQkFBMkIsY0FGeEIsTUFBTTsyRkFFVCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVBlcnNpc3RpbmdGaWx0ZXJTZXJ2aWNlIHtcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBzdG9yZUtleVZhbHVlSW5Mb2NhbFN0b3JhZ2UodmFsOiBhbnkpe1xyXG4gICAgICAgIGxldCBoYXNoQ29kZSA9IGhhc2godmFsKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShoYXNoQ29kZSwgSlNPTi5zdHJpbmdpZnkodmFsKSk7XHJcbiAgICAgICAgcmV0dXJuIGhhc2hDb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFjdHVhbFF1ZXJ5UGFyYW1zKGtleTogc3RyaW5nKXtcclxuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sMkJBQTJCO0lBRXBDLGdCQUFnQixDQUFDO0lBRWpCLDJCQUEyQixDQUFDLEdBQVEsRUFBRSxXQUFXLEdBQUcsSUFBSTtRQUNwRCxJQUFJLGNBQXFCLENBQUM7UUFFMUIsSUFBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBQztZQUN2QyxjQUFjLEdBQUcsRUFBRSxDQUFDO1NBQ3ZCO2FBQ0c7WUFDQSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztTQUN2RTtRQUVELElBQUksaUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQztRQUVmLElBQUc7WUFDQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwRCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFL0MsSUFBRyxXQUFXLEVBQUM7Z0JBRVgsSUFBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUM7b0JBQzFCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6RjtTQUNKO1FBQ0QsT0FBTyxDQUFDLEVBQUU7WUFDTixJQUFJLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVoRCxLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLEdBQUcsZUFBZSxFQUFFLENBQUMsRUFBRSxFQUFDO2dCQUNyQyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlDO1lBRUQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEQsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN4RCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFL0MsSUFBRyxXQUFXLEVBQUM7Z0JBRVgsSUFBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUM7b0JBQzFCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7Z0JBQ0QsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6RjtTQUVKO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVztRQUM1QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7d0hBN0RRLDJCQUEyQjs0SEFBM0IsMkJBQTJCLGNBRnhCLE1BQU07MkZBRVQsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFQZXJzaXN0aW5nRmlsdGVyU2VydmljZSB7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgc3RvcmVLZXlWYWx1ZUluTG9jYWxTdG9yYWdlKHZhbDogYW55LCBpc0ZpbHRlcktleSA9IHRydWUpe1xyXG4gICAgICAgIGxldCBmaWx0ZXJPcmRlcmluZzogYW55W107XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmlsdGVyT3JkZXJpbmdcIikpe1xyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZmlsdGVyT3JkZXJpbmdTZXQgPSBuZXcgU2V0KGZpbHRlck9yZGVyaW5nKTtcclxuICAgICAgICBsZXQgaGFzaENvZGUgPSBudWxsO1xyXG4gICAgICAgIGxldCBrZXkgPSBudWxsO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgaGFzaENvZGUgPSBoYXNoKHZhbCk7XHJcbiAgICAgICAgICAgIGtleSA9IGlzRmlsdGVyS2V5ID8gXCJmaWx0ZXJfXCIgKyBoYXNoQ29kZSA6IGhhc2hDb2RlO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbCkpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYoaXNGaWx0ZXJLZXkpe1xyXG5cclxuICAgICAgICAgICAgICAgIGlmKGZpbHRlck9yZGVyaW5nU2V0LmhhcyhrZXkpKXtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5kZWxldGUoa2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmFkZChrZXkpO1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiLCBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKGZpbHRlck9yZGVyaW5nU2V0KSkpOyAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBsZXQgaGFsZkFycmF5TGVuZ3RoID0gZmlsdGVyT3JkZXJpbmcubGVuZ3RoIC8gMjtcclxuXHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDAgOyBpIDwgaGFsZkFycmF5TGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZmlsdGVyT3JkZXJpbmdbaV0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZy5zcGxpY2UoMCwgKGZpbHRlck9yZGVyaW5nLmxlbmd0aCAvIDIpKTtcclxuXHJcbiAgICAgICAgICAgIGhhc2hDb2RlID0gaGFzaCh2YWwpO1xyXG4gICAgICAgICAgICBsZXQga2V5ID0gaXNGaWx0ZXJLZXkgPyBcImZpbHRlcl9cIiArIGhhc2hDb2RlIDogaGFzaENvZGU7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsKSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZihpc0ZpbHRlcktleSl7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYoZmlsdGVyT3JkZXJpbmdTZXQuaGFzKGtleSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmRlbGV0ZShrZXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZmlsdGVyT3JkZXJpbmdTZXQuYWRkKGtleSk7XHJcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImZpbHRlck9yZGVyaW5nXCIsIEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20oZmlsdGVyT3JkZXJpbmdTZXQpKSk7ICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGtleTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBY3R1YWxRdWVyeVBhcmFtcyhrZXk6IHN0cmluZyl7XHJcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -4922,10 +4922,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
4922
4922
 
4923
4923
  class AnnaPersistingFilterService {
4924
4924
  constructor() { }
4925
- storeKeyValueInLocalStorage(val) {
4926
- let hashCode = hash(val);
4927
- localStorage.setItem(hashCode, JSON.stringify(val));
4928
- return hashCode;
4925
+ storeKeyValueInLocalStorage(val, isFilterKey = true) {
4926
+ let filterOrdering;
4927
+ if (!localStorage.getItem("filterOrdering")) {
4928
+ filterOrdering = [];
4929
+ }
4930
+ else {
4931
+ filterOrdering = JSON.parse(localStorage.getItem("filterOrdering"));
4932
+ }
4933
+ let filterOrderingSet = new Set(filterOrdering);
4934
+ let hashCode = null;
4935
+ let key = null;
4936
+ try {
4937
+ hashCode = hash(val);
4938
+ key = isFilterKey ? "filter_" + hashCode : hashCode;
4939
+ localStorage.setItem(key, JSON.stringify(val));
4940
+ if (isFilterKey) {
4941
+ if (filterOrderingSet.has(key)) {
4942
+ filterOrderingSet.delete(key);
4943
+ }
4944
+ filterOrderingSet.add(key);
4945
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
4946
+ }
4947
+ }
4948
+ catch (e) {
4949
+ let halfArrayLength = filterOrdering.length / 2;
4950
+ for (let i = 0; i < halfArrayLength; i++) {
4951
+ localStorage.removeItem(filterOrdering[i]);
4952
+ }
4953
+ filterOrdering.splice(0, (filterOrdering.length / 2));
4954
+ hashCode = hash(val);
4955
+ let key = isFilterKey ? "filter_" + hashCode : hashCode;
4956
+ localStorage.setItem(key, JSON.stringify(val));
4957
+ if (isFilterKey) {
4958
+ if (filterOrderingSet.has(key)) {
4959
+ filterOrderingSet.delete(key);
4960
+ }
4961
+ filterOrderingSet.add(key);
4962
+ localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
4963
+ }
4964
+ }
4965
+ return key;
4929
4966
  }
4930
4967
  getActualQueryParams(key) {
4931
4968
  return localStorage.getItem(key);