@ng-atomic/common 4.14.1 → 4.16.0

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.
Files changed (82) hide show
  1. package/esm2020/models/action.mjs +1 -1
  2. package/esm2020/pipes/data-accessor/data-accessor.pipe.mjs +30 -0
  3. package/esm2020/pipes/data-accessor/index.mjs +2 -0
  4. package/esm2020/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.mjs +5 -0
  5. package/esm2020/pipes/pagination/index.mjs +2 -1
  6. package/esm2020/pipes/pagination/pagination.pipe.mjs +8 -9
  7. package/esm2020/pipes/pagination/pagination.transformer.mjs +5 -0
  8. package/esm2020/pipes/smart-sort-by/index.mjs +2 -1
  9. package/esm2020/pipes/smart-sort-by/smart-sort-by.pipe.mjs +2 -5
  10. package/esm2020/pipes/smart-sort-by/smart-sort-by.transformer.mjs +5 -0
  11. package/esm2020/services/loading/loading.service.mjs +5 -1
  12. package/esm2020/stores/entities/entities.store.mjs +8 -6
  13. package/esm2020/stores/pagination/pagination.store.mjs +1 -10
  14. package/esm2020/stores/query/query.store.mjs +2 -1
  15. package/esm2020/stores/sort/index.mjs +2 -0
  16. package/esm2020/stores/sort/ng-atomic-common-stores-sort.mjs +5 -0
  17. package/esm2020/stores/sort/sort.store.mjs +28 -0
  18. package/fesm2015/ng-atomic-common-pipes-data-accessor.mjs +42 -0
  19. package/fesm2015/ng-atomic-common-pipes-data-accessor.mjs.map +1 -0
  20. package/fesm2015/ng-atomic-common-pipes-pagination.mjs +13 -9
  21. package/fesm2015/ng-atomic-common-pipes-pagination.mjs.map +1 -1
  22. package/fesm2015/ng-atomic-common-pipes-smart-sort-by.mjs +2 -1
  23. package/fesm2015/ng-atomic-common-pipes-smart-sort-by.mjs.map +1 -1
  24. package/fesm2015/ng-atomic-common-services-loading.mjs +4 -0
  25. package/fesm2015/ng-atomic-common-services-loading.mjs.map +1 -1
  26. package/fesm2015/ng-atomic-common-stores-entities.mjs +7 -5
  27. package/fesm2015/ng-atomic-common-stores-entities.mjs.map +1 -1
  28. package/fesm2015/ng-atomic-common-stores-pagination.mjs +0 -9
  29. package/fesm2015/ng-atomic-common-stores-pagination.mjs.map +1 -1
  30. package/fesm2015/ng-atomic-common-stores-query.mjs +2 -0
  31. package/fesm2015/ng-atomic-common-stores-query.mjs.map +1 -1
  32. package/fesm2015/ng-atomic-common-stores-sort.mjs +37 -0
  33. package/fesm2015/ng-atomic-common-stores-sort.mjs.map +1 -0
  34. package/fesm2020/ng-atomic-common-pipes-data-accessor.mjs +37 -0
  35. package/fesm2020/ng-atomic-common-pipes-data-accessor.mjs.map +1 -0
  36. package/fesm2020/ng-atomic-common-pipes-pagination.mjs +13 -9
  37. package/fesm2020/ng-atomic-common-pipes-pagination.mjs.map +1 -1
  38. package/fesm2020/ng-atomic-common-pipes-smart-sort-by.mjs +2 -1
  39. package/fesm2020/ng-atomic-common-pipes-smart-sort-by.mjs.map +1 -1
  40. package/fesm2020/ng-atomic-common-services-loading.mjs +4 -0
  41. package/fesm2020/ng-atomic-common-services-loading.mjs.map +1 -1
  42. package/fesm2020/ng-atomic-common-stores-entities.mjs +7 -5
  43. package/fesm2020/ng-atomic-common-stores-entities.mjs.map +1 -1
  44. package/fesm2020/ng-atomic-common-stores-pagination.mjs +0 -9
  45. package/fesm2020/ng-atomic-common-stores-pagination.mjs.map +1 -1
  46. package/fesm2020/ng-atomic-common-stores-query.mjs +1 -0
  47. package/fesm2020/ng-atomic-common-stores-query.mjs.map +1 -1
  48. package/fesm2020/ng-atomic-common-stores-sort.mjs +35 -0
  49. package/fesm2020/ng-atomic-common-stores-sort.mjs.map +1 -0
  50. package/models/action.d.ts +4 -0
  51. package/models/action.d.ts.map +1 -1
  52. package/package.json +19 -1
  53. package/pipes/data-accessor/data-accessor.pipe.d.ts +13 -0
  54. package/pipes/data-accessor/data-accessor.pipe.d.ts.map +1 -0
  55. package/pipes/data-accessor/index.d.ts +2 -0
  56. package/pipes/data-accessor/index.d.ts.map +1 -0
  57. package/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.d.ts.map +1 -0
  58. package/pipes/pagination/index.d.ts +1 -0
  59. package/pipes/pagination/index.d.ts.map +1 -1
  60. package/pipes/pagination/pagination.pipe.d.ts +9 -9
  61. package/pipes/pagination/pagination.pipe.d.ts.map +1 -1
  62. package/pipes/pagination/pagination.transformer.d.ts +10 -0
  63. package/pipes/pagination/pagination.transformer.d.ts.map +1 -0
  64. package/pipes/smart-sort-by/index.d.ts +1 -0
  65. package/pipes/smart-sort-by/index.d.ts.map +1 -1
  66. package/pipes/smart-sort-by/smart-sort-by.pipe.d.ts +1 -2
  67. package/pipes/smart-sort-by/smart-sort-by.pipe.d.ts.map +1 -1
  68. package/pipes/smart-sort-by/smart-sort-by.transformer.d.ts +3 -0
  69. package/pipes/smart-sort-by/smart-sort-by.transformer.d.ts.map +1 -0
  70. package/services/loading/loading.service.d.ts +1 -0
  71. package/services/loading/loading.service.d.ts.map +1 -1
  72. package/stores/entities/entities.store.d.ts +4 -6
  73. package/stores/entities/entities.store.d.ts.map +1 -1
  74. package/stores/pagination/pagination.store.d.ts +6 -11
  75. package/stores/pagination/pagination.store.d.ts.map +1 -1
  76. package/stores/query/query.store.d.ts +1 -1
  77. package/stores/query/query.store.d.ts.map +1 -1
  78. package/stores/sort/index.d.ts +2 -0
  79. package/stores/sort/index.d.ts.map +1 -0
  80. package/stores/sort/ng-atomic-common-stores-sort.d.ts.map +1 -0
  81. package/stores/sort/sort.store.d.ts +22 -0
  82. package/stores/sort/sort.store.d.ts.map +1 -0
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL21vZGVscy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uPFQgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF5bG9hZD86IFQ7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL21vZGVscy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uPFQgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF5bG9hZD86IFQ7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9ucyA9ICgoLi4uYXJnczogYW55W10pID0+IEFjdGlvbltdKSB8IEFjdGlvbltdO1xuIl19
@@ -0,0 +1,30 @@
1
+ import { Inject, InjectionToken, Optional, Pipe } from "@angular/core";
2
+ import { get } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ export const DATA_ACCESSOR = new InjectionToken('DATA_ACCESSOR');
5
+ export const defaultDataAccessor = (obj, key) => get(obj, key) ?? '';
6
+ export class DataAccessorPipe {
7
+ constructor(dataAccessor) {
8
+ this.dataAccessor = dataAccessor;
9
+ this.dataAccessor ?? (this.dataAccessor = defaultDataAccessor);
10
+ }
11
+ transform(data, key) {
12
+ return this.dataAccessor(data, key);
13
+ }
14
+ }
15
+ DataAccessorPipe.ɵfac = function DataAccessorPipe_Factory(t) { return new (t || DataAccessorPipe)(i0.ɵɵdirectiveInject(DATA_ACCESSOR, 24)); };
16
+ DataAccessorPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "dataAccessor", type: DataAccessorPipe, pure: true, standalone: true });
17
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DataAccessorPipe, [{
18
+ type: Pipe,
19
+ args: [{
20
+ name: 'dataAccessor',
21
+ pure: true,
22
+ standalone: true,
23
+ }]
24
+ }], function () { return [{ type: undefined, decorators: [{
25
+ type: Optional
26
+ }, {
27
+ type: Inject,
28
+ args: [DATA_ACCESSOR]
29
+ }] }]; }, null); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1hY2Nlc3Nvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BpcGVzL2RhdGEtYWNjZXNzb3IvZGF0YS1hY2Nlc3Nvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFHN0IsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFvQixlQUFlLENBQUMsQ0FBQztBQUNwRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBc0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQU94RixNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQytDLFlBQTZCO1FBQTdCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUUxRSxJQUFJLENBQUMsWUFBWSxLQUFqQixJQUFJLENBQUMsWUFBWSxHQUFLLG1CQUFtQixFQUFDO0lBQzVDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBTyxFQUFFLEdBQVc7UUFDNUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnRkFWVSxnQkFBZ0IsdUJBR0wsYUFBYTtxRkFIeEIsZ0JBQWdCO3VGQUFoQixnQkFBZ0I7Y0FMNUIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxjQUFjO2dCQUNwQixJQUFJLEVBQUUsSUFBSTtnQkFDVixVQUFVLEVBQUUsSUFBSTthQUNqQjs7c0JBSUksUUFBUTs7c0JBQUksTUFBTTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIFBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IHR5cGUgRGF0YUFjY2Vzc29yPFQ+ID0gKG9iajogVCwga2V5OiBzdHJpbmcpID0+IHN0cmluZztcbmV4cG9ydCBjb25zdCBEQVRBX0FDQ0VTU09SID0gbmV3IEluamVjdGlvblRva2VuPERhdGFBY2Nlc3Nvcjxhbnk+PignREFUQV9BQ0NFU1NPUicpO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHREYXRhQWNjZXNzb3I6IERhdGFBY2Nlc3Nvcjxhbnk+ID0gKG9iaiwga2V5KSA9PiBnZXQob2JqLCBrZXkpID8/ICcnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdkYXRhQWNjZXNzb3InLFxuICBwdXJlOiB0cnVlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhQWNjZXNzb3JQaXBlPFQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfQUNDRVNTT1IpIHByb3RlY3RlZCBkYXRhQWNjZXNzb3I6IERhdGFBY2Nlc3NvcjxUPixcbiAgKSB7XG4gICAgdGhpcy5kYXRhQWNjZXNzb3IgPz89IGRlZmF1bHREYXRhQWNjZXNzb3I7XG4gIH1cblxuICB0cmFuc2Zvcm0oZGF0YTogVCwga2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQWNjZXNzb3IoZGF0YSwga2V5KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './data-accessor.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGlwZXMvZGF0YS1hY2Nlc3Nvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhLWFjY2Vzc29yLnBpcGUnOyJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1waXBlcy1kYXRhLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BpcGVzL2RhdGEtYWNjZXNzb3IvbmctYXRvbWljLWNvbW1vbi1waXBlcy1kYXRhLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,3 +1,4 @@
1
1
  export * from './pagination.module';
2
2
  export * from './pagination.pipe';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGlwZXMvcGFnaW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi5waXBlJztcbiJdfQ==
3
+ export * from './pagination.transformer';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGlwZXMvcGFnaW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLnRyYW5zZm9ybWVyJztcbiJdfQ==
@@ -1,18 +1,17 @@
1
- import { SlicePipe } from '@angular/common';
2
- import { Inject, Optional, Pipe } from '@angular/core';
3
- import { smartSortByTransformer, SMART_SORT_BY_TRANSFORMER } from '@ng-atomic/common/pipes/smart-sort-by';
1
+ import { Inject, InjectionToken, Optional, Pipe } from '@angular/core';
2
+ import { paginationTransformer } from './pagination.transformer';
4
3
  import * as i0 from "@angular/core";
4
+ export const PAGINATION_TRANSFORMER = new InjectionToken('[@ng-atomic/pipes] Pagination Transformer');
5
5
  export class PaginationPipe {
6
6
  constructor(transformer) {
7
7
  this.transformer = transformer;
8
- this.slicePipe = new SlicePipe();
9
- this.transformer ?? (this.transformer = smartSortByTransformer);
8
+ this.transformer ?? (this.transformer = paginationTransformer);
10
9
  }
11
10
  transform(items, { sortKey, sortOrder, start, end }) {
12
- return this.slicePipe.transform(this.transformer(items, sortKey, sortOrder), start, end);
11
+ return this.transformer(items, { key: sortKey, order: sortOrder, start, end });
13
12
  }
14
13
  }
15
- PaginationPipe.ɵfac = function PaginationPipe_Factory(t) { return new (t || PaginationPipe)(i0.ɵɵdirectiveInject(SMART_SORT_BY_TRANSFORMER, 24)); };
14
+ PaginationPipe.ɵfac = function PaginationPipe_Factory(t) { return new (t || PaginationPipe)(i0.ɵɵdirectiveInject(PAGINATION_TRANSFORMER, 24)); };
16
15
  PaginationPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "pagination", type: PaginationPipe, pure: true });
17
16
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationPipe, [{
18
17
  type: Pipe,
@@ -24,6 +23,6 @@ PaginationPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "pagination", ty
24
23
  type: Optional
25
24
  }, {
26
25
  type: Inject,
27
- args: [SMART_SORT_BY_TRANSFORMER]
26
+ args: [PAGINATION_TRANSFORMER]
28
27
  }] }]; }, null); })();
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BpcGVzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBMEIseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFNbEksTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFHVSxXQUFtQztRQUFuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFMckMsY0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFPbEMsSUFBSSxDQUFDLFdBQVcsS0FBaEIsSUFBSSxDQUFDLFdBQVcsR0FBSyxzQkFBc0IsRUFBQztJQUM5QyxDQUFDO0lBRUQsU0FBUyxDQUFJLEtBQVUsRUFBRSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBMkU7UUFDakksT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNGLENBQUM7OzRFQWJVLGNBQWMsdUJBS2YseUJBQXlCO2lGQUx4QixjQUFjO3VGQUFkLGNBQWM7Y0FKMUIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsSUFBSTthQUNYOztzQkFLSSxRQUFROztzQkFDUixNQUFNO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNsaWNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzbWFydFNvcnRCeVRyYW5zZm9ybWVyLCBTbWFydFNvcnRCeVRyYW5zZm9ybWVyLCBTTUFSVF9TT1JUX0JZX1RSQU5TRk9STUVSIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvc21hcnQtc29ydC1ieSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3BhZ2luYXRpb24nLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIHNsaWNlUGlwZSA9IG5ldyBTbGljZVBpcGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoU01BUlRfU09SVF9CWV9UUkFOU0ZPUk1FUilcbiAgICBwcml2YXRlIHRyYW5zZm9ybWVyOiBTbWFydFNvcnRCeVRyYW5zZm9ybWVyLFxuICApIHtcbiAgICB0aGlzLnRyYW5zZm9ybWVyID8/PSBzbWFydFNvcnRCeVRyYW5zZm9ybWVyO1xuICB9XG5cbiAgdHJhbnNmb3JtPFQ+KGl0ZW1zOiBUW10sIHtzb3J0S2V5LCBzb3J0T3JkZXIsIHN0YXJ0LCBlbmR9OiB7c29ydEtleTogc3RyaW5nLCBzb3J0T3JkZXI6ICdhc2MnIHwgJ2Rlc2MnLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcn0pIHtcbiAgICByZXR1cm4gdGhpcy5zbGljZVBpcGUudHJhbnNmb3JtKHRoaXMudHJhbnNmb3JtZXIoaXRlbXMsIHNvcnRLZXksIHNvcnRPcmRlciksIHN0YXJ0LCBlbmQpO1xuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BpcGVzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBeUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFeEYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQUMsMkNBQTJDLENBQUMsQ0FBQztBQU10RyxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUdVLFdBQXFDO1FBQXJDLGdCQUFXLEdBQVgsV0FBVyxDQUEwQjtRQUU3QyxJQUFJLENBQUMsV0FBVyxLQUFoQixJQUFJLENBQUMsV0FBVyxHQUFLLHFCQUFxQixFQUFDO0lBQzdDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVSxFQUFFLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUEyRTtRQUM5SCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OzRFQVpVLGNBQWMsdUJBSWYsc0JBQXNCO2lGQUpyQixjQUFjO3VGQUFkLGNBQWM7Y0FKMUIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsSUFBSTthQUNYOztzQkFJSSxRQUFROztzQkFDUixNQUFNO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uVHJhbnNmb3JtZXIsIHBhZ2luYXRpb25UcmFuc2Zvcm1lciB9IGZyb20gJy4vcGFnaW5hdGlvbi50cmFuc2Zvcm1lcic7XG5cbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuKCdbQG5nLWF0b21pYy9waXBlc10gUGFnaW5hdGlvbiBUcmFuc2Zvcm1lcicpO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdwYWdpbmF0aW9uJyxcbiAgcHVyZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvblBpcGU8RT4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoUEFHSU5BVElPTl9UUkFOU0ZPUk1FUilcbiAgICBwcml2YXRlIHRyYW5zZm9ybWVyOiBQYWdpbmF0aW9uVHJhbnNmb3JtZXI8RT4sXG4gICkge1xuICAgIHRoaXMudHJhbnNmb3JtZXIgPz89IHBhZ2luYXRpb25UcmFuc2Zvcm1lcjtcbiAgfVxuXG4gIHRyYW5zZm9ybShpdGVtczogRVtdLCB7c29ydEtleSwgc29ydE9yZGVyLCBzdGFydCwgZW5kfToge3NvcnRLZXk6IHN0cmluZywgc29ydE9yZGVyOiAnYXNjJyB8ICdkZXNjJywgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXJ9KSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtZXIoaXRlbXMsIHsga2V5OiBzb3J0S2V5LCBvcmRlcjogc29ydE9yZGVyLCBzdGFydCwgZW5kIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { smartSortByTransformer } from '@ng-atomic/common/pipes/smart-sort-by';
2
+ export function paginationTransformer(items, page) {
3
+ return smartSortByTransformer(items, page.key, page.order).slice(page.start, page.end);
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi50cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9waXBlcy9wYWdpbmF0aW9uL3BhZ2luYXRpb24udHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFXL0UsTUFBTSxVQUFVLHFCQUFxQixDQUFJLEtBQVUsRUFBRSxJQUFVO0lBQzdELE9BQU8sc0JBQXNCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc21hcnRTb3J0QnlUcmFuc2Zvcm1lciB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL3NtYXJ0LXNvcnQtYnknO1xuXG5pbnRlcmZhY2UgUGFnZSB7XG4gIHN0YXJ0OiBudW1iZXI7XG4gIGVuZDogbnVtYmVyO1xuICBrZXk6IHN0cmluZztcbiAgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uVHJhbnNmb3JtZXI8RT4gPSAoaXRlbXM6IEVbXSwgcGFnZTogUGFnZSkgPT4gRVtdO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFnaW5hdGlvblRyYW5zZm9ybWVyPEU+KGl0ZW1zOiBFW10sIHBhZ2U6IFBhZ2UpOiBFW10ge1xuICByZXR1cm4gc21hcnRTb3J0QnlUcmFuc2Zvcm1lcihpdGVtcywgcGFnZS5rZXksIHBhZ2Uub3JkZXIpLnNsaWNlKHBhZ2Uuc3RhcnQsIHBhZ2UuZW5kKTtcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './smart-sort-by.module';
2
2
  export * from './smart-sort-by.pipe';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGlwZXMvc21hcnQtc29ydC1ieS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NtYXJ0LXNvcnQtYnkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtc29ydC1ieS5waXBlJztcbiJdfQ==
3
+ export * from './smart-sort-by.transformer';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGlwZXMvc21hcnQtc29ydC1ieS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc21hcnQtc29ydC1ieS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zb3J0LWJ5LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zb3J0LWJ5LnRyYW5zZm9ybWVyJztcbiJdfQ==
@@ -1,10 +1,7 @@
1
1
  import { Inject, InjectionToken, Optional, Pipe } from '@angular/core';
2
- import { sortBy } from 'lodash';
2
+ import { smartSortByTransformer } from './smart-sort-by.transformer';
3
3
  import * as i0 from "@angular/core";
4
4
  export const SMART_SORT_BY_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Smart Sort By Transformer');
5
- export const smartSortByTransformer = (items, key, order) => {
6
- return order === 'asc' ? sortBy(items, key) : sortBy(items, key).reverse();
7
- };
8
5
  export class SmartSortByPipe {
9
6
  constructor(transformer) {
10
7
  this.transformer = transformer;
@@ -28,4 +25,4 @@ SmartSortByPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "smartSortBy",
28
25
  type: Inject,
29
26
  args: [SMART_SORT_BY_TRANSFORMER]
30
27
  }] }]; }, null); })();
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc29ydC1ieS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BpcGVzL3NtYXJ0LXNvcnQtYnkvc21hcnQtc29ydC1ieS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBRWhDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFDLCtDQUErQyxDQUFDLENBQUM7QUFFN0csTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQTJCLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUNsRixPQUFPLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDN0UsQ0FBQyxDQUFBO0FBTUQsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFHVSxXQUFvQztRQUFwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFFNUMsSUFBSSxDQUFDLFdBQVcsS0FBaEIsSUFBSSxDQUFDLFdBQVcsR0FBSyxzQkFBc0IsRUFBQztJQUM5QyxDQUFDO0lBRUQsU0FBUyxDQUFJLEtBQVUsRUFBRSxHQUFXLEVBQUUsUUFBd0IsS0FBSztRQUNqRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs4RUFaVSxlQUFlLHVCQUloQix5QkFBeUI7bUZBSnhCLGVBQWU7dUZBQWYsZUFBZTtjQUozQixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxJQUFJO2FBQ1g7O3NCQUlJLFFBQVE7O3NCQUNSLE1BQU07dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNvcnRCeSB9IGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjb25zdCBTTUFSVF9TT1JUX0JZX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuKCdbQG5nLWF0b21pYy9jb21tb25dIFNtYXJ0IFNvcnQgQnkgVHJhbnNmb3JtZXInKTtcbmV4cG9ydCB0eXBlIFNtYXJ0U29ydEJ5VHJhbnNmb3JtZXIgPSA8VD4oaXRlbXM6IFRbXSwga2V5OiBzdHJpbmcsIG9yZGVyOiAnYXNjJyB8ICdkZXNjJykgPT4gVFtdO1xuZXhwb3J0IGNvbnN0IHNtYXJ0U29ydEJ5VHJhbnNmb3JtZXI6IFNtYXJ0U29ydEJ5VHJhbnNmb3JtZXIgPSAoaXRlbXMsIGtleSwgb3JkZXIpID0+IHtcbiAgcmV0dXJuIG9yZGVyID09PSAnYXNjJyA/IHNvcnRCeShpdGVtcywga2V5KSA6IHNvcnRCeShpdGVtcywga2V5KS5yZXZlcnNlKCk7XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NtYXJ0U29ydEJ5JyxcbiAgcHVyZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRTb3J0QnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNNQVJUX1NPUlRfQllfVFJBTlNGT1JNRVIpXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1lcj86IFNtYXJ0U29ydEJ5VHJhbnNmb3JtZXIsXG4gICkge1xuICAgIHRoaXMudHJhbnNmb3JtZXIgPz89IHNtYXJ0U29ydEJ5VHJhbnNmb3JtZXI7XG4gIH1cblxuICB0cmFuc2Zvcm08VD4oaXRlbXM6IFRbXSwga2V5OiBzdHJpbmcsIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnKTogVFtdIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1lcihpdGVtcywga2V5LCBvcmRlcik7XG4gIH1cblxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc29ydC1ieS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BpcGVzL3NtYXJ0LXNvcnQtYnkvc21hcnQtc29ydC1ieS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBMEIsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFN0YsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQUMsK0NBQStDLENBQUMsQ0FBQztBQU03RyxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUdVLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUU1QyxJQUFJLENBQUMsV0FBVyxLQUFoQixJQUFJLENBQUMsV0FBVyxHQUFLLHNCQUFzQixFQUFDO0lBQzlDLENBQUM7SUFFRCxTQUFTLENBQUksS0FBVSxFQUFFLEdBQVcsRUFBRSxRQUF3QixLQUFLO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhFQVpVLGVBQWUsdUJBSWhCLHlCQUF5QjttRkFKeEIsZUFBZTt1RkFBZixlQUFlO2NBSjNCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLElBQUk7YUFDWDs7c0JBSUksUUFBUTs7c0JBQ1IsTUFBTTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc21hcnRTb3J0QnlUcmFuc2Zvcm1lciwgU21hcnRTb3J0QnlUcmFuc2Zvcm1lciB9IGZyb20gJy4vc21hcnQtc29ydC1ieS50cmFuc2Zvcm1lcic7XG5cbmV4cG9ydCBjb25zdCBTTUFSVF9TT1JUX0JZX1RSQU5TRk9STUVSID0gbmV3IEluamVjdGlvblRva2VuKCdbQG5nLWF0b21pYy9jb21tb25dIFNtYXJ0IFNvcnQgQnkgVHJhbnNmb3JtZXInKTtcblxuQFBpcGUoe1xuICBuYW1lOiAnc21hcnRTb3J0QnknLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFNvcnRCeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoU01BUlRfU09SVF9CWV9UUkFOU0ZPUk1FUilcbiAgICBwcml2YXRlIHRyYW5zZm9ybWVyPzogU21hcnRTb3J0QnlUcmFuc2Zvcm1lcixcbiAgKSB7XG4gICAgdGhpcy50cmFuc2Zvcm1lciA/Pz0gc21hcnRTb3J0QnlUcmFuc2Zvcm1lcjtcbiAgfVxuXG4gIHRyYW5zZm9ybTxUPihpdGVtczogVFtdLCBrZXk6IHN0cmluZywgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYycpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybWVyKGl0ZW1zLCBrZXksIG9yZGVyKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { sortBy } from 'lodash';
2
+ export const smartSortByTransformer = (items, key, order) => {
3
+ return order === 'asc' ? sortBy(items, key) : sortBy(items, key).reverse();
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc29ydC1ieS50cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9waXBlcy9zbWFydC1zb3J0LWJ5L3NtYXJ0LXNvcnQtYnkudHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUdoQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBMkIsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ2xGLE9BQU8sS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUM3RSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzb3J0QnkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgdHlwZSBTbWFydFNvcnRCeVRyYW5zZm9ybWVyID0gPFQ+KGl0ZW1zOiBUW10sIGtleTogc3RyaW5nLCBvcmRlcjogJ2FzYycgfCAnZGVzYycpID0+IFRbXTtcbmV4cG9ydCBjb25zdCBzbWFydFNvcnRCeVRyYW5zZm9ybWVyOiBTbWFydFNvcnRCeVRyYW5zZm9ybWVyID0gKGl0ZW1zLCBrZXksIG9yZGVyKSA9PiB7XG4gIHJldHVybiBvcmRlciA9PT0gJ2FzYycgPyBzb3J0QnkoaXRlbXMsIGtleSkgOiBzb3J0QnkoaXRlbXMsIGtleSkucmV2ZXJzZSgpO1xufVxuIl19
@@ -20,6 +20,10 @@ export class LoadingService {
20
20
  removeKey(key) {
21
21
  this.loadingEntries$.next([key, false]);
22
22
  }
23
+ start(callback, key) {
24
+ this.setKey(key);
25
+ callback(() => this.removeKey(key));
26
+ }
23
27
  }
24
28
  LoadingService.ɵfac = function LoadingService_Factory(t) { return new (t || LoadingService)(); };
25
29
  LoadingService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoadingService, factory: LoadingService.ɵfac, providedIn: 'root' });
@@ -29,4 +33,4 @@ LoadingService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoadingSe
29
33
  providedIn: 'root',
30
34
  }]
31
35
  }], function () { return []; }, null); })();
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3NlcnZpY2VzL2xvYWRpbmcvbG9hZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPeEUsTUFBTSxPQUFPLGNBQWM7SUFpQnpCO1FBaEJRLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFFM0QsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUM1QixnQkFBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBZ0IsQ0FBQyxFQUN6RSxHQUFHLENBQUMsQ0FBQyxDQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3JDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3hDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFnQixDQUFDLENBQUMsRUFDL0Qsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDaEYsQ0FBQztRQUVGLGVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDbkMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNULENBQUM7UUFHQSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7NEVBN0JVLGNBQWM7b0VBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTt1RkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNjYW4sIG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG50eXBlIExvYWRpbmdNYXAgPSBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsb2FkaW5nRW50cmllcyQgPSBuZXcgU3ViamVjdDxbc3RyaW5nLCBib29sZWFuXT4oKTtcblxuICBsb2FkaW5nTWFwOiBMb2FkaW5nTWFwID0ge307XG4gIGxvYWRpbmdNYXAkID0gdGhpcy5sb2FkaW5nRW50cmllcyQucGlwZShcbiAgICBzY2FuKChwcmUsIFtrZXksIHZhbHVlXSkgPT4gKHsgLi4ucHJlLCBba2V5XTogdmFsdWUgfSksIHt9IGFzIExvYWRpbmdNYXApLFxuICAgIG1hcCgobTogTG9hZGluZ01hcCkgPT4gT2JqZWN0LmVudHJpZXMobSlcbiAgICAgIC5maWx0ZXIoKFtrLCB2XTogW3N0cmluZywgYm9vbGVhbl0pID0+IHYpXG4gICAgICAucmVkdWNlKChwLCBbaywgdl0pID0+ICh7IC4uLnAsIFtrXTogdiB9KSwge30gYXMgTG9hZGluZ01hcCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmUsIGN1cikgPT4gSlNPTi5zdHJpbmdpZnkocHJlKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VyKSksXG4gICk7XG5cbiAgaXNMb2FkaW5nJCA9IHRoaXMubG9hZGluZ01hcCQucGlwZShcbiAgICBtYXAoKG0pID0+ICEhT2JqZWN0LmtleXMobSkubGVuZ3RoKSxcbiAgICBkZWxheSgwKSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRpbmdNYXAkLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5sb2FkaW5nTWFwID0gbTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldEtleShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZ0VudHJpZXMkLm5leHQoW2tleSwgdHJ1ZV0pO1xuICB9XG5cbiAgcmVtb3ZlS2V5KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nRW50cmllcyQubmV4dChba2V5LCBmYWxzZV0pO1xuICB9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3NlcnZpY2VzL2xvYWRpbmcvbG9hZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPeEUsTUFBTSxPQUFPLGNBQWM7SUFpQnpCO1FBaEJRLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFFM0QsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUM1QixnQkFBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBZ0IsQ0FBQyxFQUN6RSxHQUFHLENBQUMsQ0FBQyxDQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3JDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3hDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFnQixDQUFDLENBQUMsRUFDL0Qsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDaEYsQ0FBQztRQUVGLGVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDbkMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNULENBQUM7UUFHQSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUE2QixFQUFFLEdBQVc7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OzRFQWxDVSxjQUFjO29FQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzY2FuLCBtYXAsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBMb2FkaW5nTWFwID0gUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbG9hZGluZ0VudHJpZXMkID0gbmV3IFN1YmplY3Q8W3N0cmluZywgYm9vbGVhbl0+KCk7XG5cbiAgbG9hZGluZ01hcDogTG9hZGluZ01hcCA9IHt9O1xuICBsb2FkaW5nTWFwJCA9IHRoaXMubG9hZGluZ0VudHJpZXMkLnBpcGUoXG4gICAgc2NhbigocHJlLCBba2V5LCB2YWx1ZV0pID0+ICh7IC4uLnByZSwgW2tleV06IHZhbHVlIH0pLCB7fSBhcyBMb2FkaW5nTWFwKSxcbiAgICBtYXAoKG06IExvYWRpbmdNYXApID0+IE9iamVjdC5lbnRyaWVzKG0pXG4gICAgICAuZmlsdGVyKChbaywgdl06IFtzdHJpbmcsIGJvb2xlYW5dKSA9PiB2KVxuICAgICAgLnJlZHVjZSgocCwgW2ssIHZdKSA9PiAoeyAuLi5wLCBba106IHYgfSksIHt9IGFzIExvYWRpbmdNYXApKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJlLCBjdXIpID0+IEpTT04uc3RyaW5naWZ5KHByZSkgPT09IEpTT04uc3RyaW5naWZ5KGN1cikpLFxuICApO1xuXG4gIGlzTG9hZGluZyQgPSB0aGlzLmxvYWRpbmdNYXAkLnBpcGUoXG4gICAgbWFwKChtKSA9PiAhIU9iamVjdC5rZXlzKG0pLmxlbmd0aCksXG4gICAgZGVsYXkoMCksXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkaW5nTWFwJC5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIHRoaXMubG9hZGluZ01hcCA9IG07XG4gICAgfSk7XG4gIH1cblxuICBzZXRLZXkoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmdFbnRyaWVzJC5uZXh0KFtrZXksIHRydWVdKTtcbiAgfVxuXG4gIHJlbW92ZUtleShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZ0VudHJpZXMkLm5leHQoW2tleSwgZmFsc2VdKTtcbiAgfVxuXG4gIHN0YXJ0KGNhbGxiYWNrOiAoZG9uZTogYW55KSA9PiB2b2lkLCBrZXk6IHN0cmluZykge1xuICAgIHRoaXMuc2V0S2V5KGtleSk7XG4gICAgY2FsbGJhY2soKCkgPT4gdGhpcy5yZW1vdmVLZXkoa2V5KSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,19 +1,21 @@
1
1
  import { ComponentStore } from '@ngrx/component-store';
2
2
  import { compareById } from '@ng-atomic/common/utils';
3
- import { distinctUntilChanged, tap, filter, switchMap } from 'rxjs/operators';
3
+ import { ReplaySubject } from 'rxjs';
4
+ import { distinctUntilChanged } from 'rxjs/operators';
4
5
  export const distinctUntilChangedArray = () => {
5
6
  return distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));
6
7
  };
7
8
  export class EntitiesStore extends ComponentStore {
8
9
  constructor(initialState) {
9
10
  super(initialState);
10
- this.userId$ = this.select(state => state.userId).pipe(filter(userId => !!userId));
11
+ this.refresh$ = new ReplaySubject(1);
11
12
  this.entities$ = this.select(({ entities }) => entities ? entities.sort(compareById) : []);
12
- this.setUserId = this.updater((state, userId) => ({ ...state, userId }));
13
13
  this.setEntities = this.updater((state, entities) => ({ ...state, entities }));
14
- this.getEntities = this.effect((userId$) => userId$.pipe(filter(userId => !!userId), switchMap((userId) => this._getEntities({ userId })), tap((entities) => this.setEntities(entities))));
15
- this.getEntities(this.userId$);
14
+ this.refresh();
16
15
  }
17
16
  get entities() { return this.get().entities; }
17
+ refresh() {
18
+ this.refresh$.next();
19
+ }
18
20
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvc3RvcmVzL2VudGl0aWVzL2VudGl0aWVzLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPOUUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBTSxFQUFFO0lBQy9DLE9BQU8sb0JBQW9CLENBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDLENBQUM7QUFFRixNQUFNLE9BQWdCLGFBQWtFLFNBQVEsY0FBaUI7SUFNL0csWUFBWSxZQUFlO1FBQ3pCLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUp0QixZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDOUUsY0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBT3BGLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxnQkFBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdFLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3JFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDMUIsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxFQUNsRCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDbkQsQ0FBQyxDQUFDO1FBVkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQVJELElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Q0FvQi9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgY29tcGFyZUJ5SWQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFwLCBmaWx0ZXIsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdGllc1N0YXRlPEU+IHtcbiAgdXNlcklkOiBzdHJpbmc7IFxuICBlbnRpdGllczogRVtdXG59XG5cbmV4cG9ydCBjb25zdCBkaXN0aW5jdFVudGlsQ2hhbmdlZEFycmF5ID0gPFQ+KCkgPT4ge1xuICByZXR1cm4gZGlzdGluY3RVbnRpbENoYW5nZWQ8VD4oKHByZSwgY3VyKSA9PiBKU09OLnN0cmluZ2lmeShwcmUpID09PSBKU09OLnN0cmluZ2lmeShjdXIpKTtcbn07XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbnRpdGllc1N0b3JlPFMgZXh0ZW5kcyBFbnRpdGllc1N0YXRlPEU+LCBFIGV4dGVuZHMge2lkOiBzdHJpbmd9PiBleHRlbmRzIENvbXBvbmVudFN0b3JlPFM+IHtcbiAgZ2V0IGVudGl0aWVzKCkgeyByZXR1cm4gdGhpcy5nZXQoKS5lbnRpdGllczsgfVxuXG4gIHVzZXJJZCQgPSB0aGlzLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS51c2VySWQpLnBpcGUoZmlsdGVyKHVzZXJJZCA9PiAhIXVzZXJJZCkpO1xuICBlbnRpdGllcyQgPSB0aGlzLnNlbGVjdCgoe2VudGl0aWVzfSkgPT4gZW50aXRpZXMgPyBlbnRpdGllcy5zb3J0KGNvbXBhcmVCeUlkKSA6IFtdKTtcbiAgXG4gIGNvbnN0cnVjdG9yKGluaXRpYWxTdGF0ZTogUykge1xuICAgIHN1cGVyKGluaXRpYWxTdGF0ZSk7XG4gICAgdGhpcy5nZXRFbnRpdGllcyh0aGlzLnVzZXJJZCQpO1xuICB9XG5cbiAgc2V0VXNlcklkID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdXNlcklkOiBzdHJpbmcpID0+ICh7Li4uc3RhdGUsIHVzZXJJZH0pKTtcbiAgc2V0RW50aXRpZXMgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiAoey4uLnN0YXRlLCBlbnRpdGllc30pKTtcblxuICBnZXRFbnRpdGllcyA9IHRoaXMuZWZmZWN0KCh1c2VySWQkOiBPYnNlcnZhYmxlPHN0cmluZz4pID0+IHVzZXJJZCQucGlwZShcbiAgICBmaWx0ZXIodXNlcklkID0+ICEhdXNlcklkKSxcbiAgICBzd2l0Y2hNYXAoKHVzZXJJZCkgPT4gdGhpcy5fZ2V0RW50aXRpZXMoe3VzZXJJZH0pKSxcbiAgICB0YXAoKGVudGl0aWVzOiBFW10pID0+IHRoaXMuc2V0RW50aXRpZXMoZW50aXRpZXMpKSxcbiAgKSk7IFxuXG4gIGFic3RyYWN0IF9nZXRFbnRpdGllcyhkYXRhPzogb2JqZWN0KTogT2JzZXJ2YWJsZTxFW10+O1xufSJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRpZXMuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvc3RvcmVzL2VudGl0aWVzL2VudGl0aWVzLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFNOUUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBTSxFQUFFO0lBQy9DLE9BQU8sb0JBQW9CLENBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDLENBQUM7QUFFRixNQUFNLE9BQWdCLGFBQWtFLFNBQVEsY0FBaUI7SUFPL0csWUFBWSxZQUFlO1FBQ3pCLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQVBILGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztRQUl6RCxjQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFPcEYsZ0JBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUgzRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQVBELElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFhOUMsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgY29tcGFyZUJ5SWQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFwLCBmaWx0ZXIsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdGllc1N0YXRlPEU+IHtcbiAgZW50aXRpZXM6IEVbXVxufVxuXG5leHBvcnQgY29uc3QgZGlzdGluY3RVbnRpbENoYW5nZWRBcnJheSA9IDxUPigpID0+IHtcbiAgcmV0dXJuIGRpc3RpbmN0VW50aWxDaGFuZ2VkPFQ+KChwcmUsIGN1cikgPT4gSlNPTi5zdHJpbmdpZnkocHJlKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VyKSk7XG59O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRW50aXRpZXNTdG9yZTxTIGV4dGVuZHMgRW50aXRpZXNTdGF0ZTxFPiwgRSBleHRlbmRzIHtpZDogc3RyaW5nfT4gZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxTPiB7XG4gIHByb3RlY3RlZCByZWFkb25seSByZWZyZXNoJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xuXG4gIGdldCBlbnRpdGllcygpIHsgcmV0dXJuIHRoaXMuZ2V0KCkuZW50aXRpZXM7IH1cblxuICBlbnRpdGllcyQgPSB0aGlzLnNlbGVjdCgoe2VudGl0aWVzfSkgPT4gZW50aXRpZXMgPyBlbnRpdGllcy5zb3J0KGNvbXBhcmVCeUlkKSA6IFtdKTtcbiAgXG4gIGNvbnN0cnVjdG9yKGluaXRpYWxTdGF0ZTogUykge1xuICAgIHN1cGVyKGluaXRpYWxTdGF0ZSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBzZXRFbnRpdGllcyA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0aWVzOiBFW10pID0+ICh7Li4uc3RhdGUsIGVudGl0aWVzfSkpO1xuXG4gIGFic3RyYWN0IGdldEVudGl0aWVzOiBSZXR1cm5UeXBlPHR5cGVvZiB0aGlzLmVmZmVjdD47XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcbiAgfVxufSJdfQ==
@@ -8,25 +8,16 @@ export class PaginationStore extends ComponentStore {
8
8
  super({ page: Page.from() });
9
9
  this.page$ = this.select(state => state.page);
10
10
  this.setPage = this.updater((state, page) => ({ ...state, page }));
11
- this.setSortKey = this.updater((state, sortKey) => ({ ...state, page: this.page.patch({ sortKey }) }));
12
- this.setSortOrder = this.updater((state, sortOrder) => ({ ...state, page: this.page.patch({ sortOrder }) }));
13
11
  this.patch = this.updater((state, page) => ({ ...state, page: state.page.patch(page) }));
14
12
  this.getPageLength = this.effect((entities$) => entities$.pipe(tap(({ length }) => this.setPage(this.page.patch({ length })))));
15
13
  }
16
14
  get page() { return this.get(state => state.page); }
17
- get sortKey() { return this.page.sortKey; }
18
- get sortOrder() { return this.page.sortOrder; }
19
15
  get start() { return this.page.start; }
20
16
  get end() { return this.page.end; }
21
- changeSortFromEvent(sortKey, page = this.page) {
22
- const reverse = (order) => order === 'asc' ? 'desc' : 'asc';
23
- const sortOrder = sortKey === page.sortKey ? reverse(page.sortOrder) : 'asc';
24
- this.patch({ sortKey, sortOrder });
25
- }
26
17
  }
27
18
  PaginationStore.ɵfac = function PaginationStore_Factory(t) { return new (t || PaginationStore)(); };
28
19
  PaginationStore.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PaginationStore, factory: PaginationStore.ɵfac });
29
20
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationStore, [{
30
21
  type: Injectable
31
22
  }], function () { return []; }, null); })();
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9zdG9yZXMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFtQjtJQUN0RDtRQUFlLEtBQUssQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBUXpDLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNwSCxVQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpHLGtCQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTRCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzFFLEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbEUsQ0FBQyxDQUFDO0lBakJzQyxDQUFDO0lBRTFDLElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0MsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkMsSUFBSSxHQUFHLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFhbkMsbUJBQW1CLENBQUMsT0FBZSxFQUFFLE9BQWEsSUFBSSxDQUFDLElBQUk7UUFDekQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM1RSxNQUFNLFNBQVMsR0FBRyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzdFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs4RUF4QlUsZUFBZTtxRUFBZixlQUFlLFdBQWYsZUFBZTt1RkFBZixlQUFlO2NBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gXCJAbmdyeC9jb21wb25lbnQtc3RvcmVcIjtcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscy9wYWdlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRhcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdGllc1N0YXRlPEU+IHtcbiAgcGFnZTogUGFnZTtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25TdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPGFueT4ge1xuICBjb25zdHJ1Y3RvcigpIHtzdXBlcih7cGFnZTogUGFnZS5mcm9tKCl9KX1cblxuICBnZXQgcGFnZSgpIHsgcmV0dXJuIHRoaXMuZ2V0KHN0YXRlID0+IHN0YXRlLnBhZ2UpOyB9XG4gIGdldCBzb3J0S2V5KCkgeyByZXR1cm4gdGhpcy5wYWdlLnNvcnRLZXk7IH1cbiAgZ2V0IHNvcnRPcmRlcigpIHsgcmV0dXJuIHRoaXMucGFnZS5zb3J0T3JkZXI7IH1cbiAgZ2V0IHN0YXJ0KCkgeyByZXR1cm4gdGhpcy5wYWdlLnN0YXJ0OyB9XG4gIGdldCBlbmQoKSB7IHJldHVybiB0aGlzLnBhZ2UuZW5kOyB9XG5cbiAgcGFnZSQgPSB0aGlzLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5wYWdlKTtcblxuICBzZXRQYWdlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcGFnZTogUGFnZSkgPT4gKHsuLi5zdGF0ZSwgcGFnZX0pKTtcbiAgc2V0U29ydEtleSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHNvcnRLZXk6IHN0cmluZykgPT4gKHsuLi5zdGF0ZSwgcGFnZTogdGhpcy5wYWdlLnBhdGNoKHtzb3J0S2V5fSl9KSk7XG4gIHNldFNvcnRPcmRlciA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHNvcnRPcmRlcjogJ2FzYycgfCAnZGVzYycpID0+ICh7Li4uc3RhdGUsIHBhZ2U6IHRoaXMucGFnZS5wYXRjaCh7c29ydE9yZGVyfSl9KSk7XG4gIHBhdGNoID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcGFnZTogUGFydGlhbDxQYWdlPikgPT4gKHsuLi5zdGF0ZSwgcGFnZTogc3RhdGUucGFnZS5wYXRjaChwYWdlKX0pKTtcbiBcbiAgZ2V0UGFnZUxlbmd0aCA9IHRoaXMuZWZmZWN0KChlbnRpdGllcyQ6IE9ic2VydmFibGU8YW55W10+KSA9PiBlbnRpdGllcyQucGlwZShcbiAgICB0YXAoKHtsZW5ndGh9OiBhbnlbXSkgPT4gdGhpcy5zZXRQYWdlKHRoaXMucGFnZS5wYXRjaCh7bGVuZ3RofSkpKSxcbiAgKSk7XG5cbiAgY2hhbmdlU29ydEZyb21FdmVudChzb3J0S2V5OiBzdHJpbmcsIHBhZ2U6IFBhZ2UgPSB0aGlzLnBhZ2UpIHtcbiAgICBjb25zdCByZXZlcnNlID0gKG9yZGVyOiAnYXNjJyB8ICdkZXNjJykgPT4gb3JkZXIgPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYyc7XG4gICAgY29uc3Qgc29ydE9yZGVyID0gc29ydEtleSA9PT0gcGFnZS5zb3J0S2V5ID8gcmV2ZXJzZShwYWdlLnNvcnRPcmRlcikgOiAnYXNjJztcbiAgICB0aGlzLnBhdGNoKHtzb3J0S2V5LCBzb3J0T3JkZXJ9KTtcbiAgfVxuXG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9zdG9yZXMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFxQjtJQUN4RDtRQUFlLEtBQUssQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBTXpDLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxVQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpHLGtCQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTRCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzFFLEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbEUsQ0FBQyxDQUFDO0lBYnNDLENBQUM7SUFFMUMsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2QyxJQUFJLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs7OEVBTHhCLGVBQWU7cUVBQWYsZUFBZSxXQUFmLGVBQWU7dUZBQWYsZUFBZTtjQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tIFwiQG5ncngvY29tcG9uZW50LXN0b3JlXCI7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMvcGFnZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xuICBwYWdlOiBQYWdlO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvblN0b3JlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8U3RhdGU+IHtcbiAgY29uc3RydWN0b3IoKSB7c3VwZXIoe3BhZ2U6IFBhZ2UuZnJvbSgpfSl9XG5cbiAgZ2V0IHBhZ2UoKSB7IHJldHVybiB0aGlzLmdldChzdGF0ZSA9PiBzdGF0ZS5wYWdlKTsgfVxuICBnZXQgc3RhcnQoKSB7IHJldHVybiB0aGlzLnBhZ2Uuc3RhcnQ7IH1cbiAgZ2V0IGVuZCgpIHsgcmV0dXJuIHRoaXMucGFnZS5lbmQ7IH1cblxuICBwYWdlJCA9IHRoaXMuc2VsZWN0KHN0YXRlID0+IHN0YXRlLnBhZ2UpO1xuXG4gIHNldFBhZ2UgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBwYWdlOiBQYWdlKSA9PiAoey4uLnN0YXRlLCBwYWdlfSkpO1xuICBwYXRjaCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHBhZ2U6IFBhcnRpYWw8UGFnZT4pID0+ICh7Li4uc3RhdGUsIHBhZ2U6IHN0YXRlLnBhZ2UucGF0Y2gocGFnZSl9KSk7XG4gXG4gIGdldFBhZ2VMZW5ndGggPSB0aGlzLmVmZmVjdCgoZW50aXRpZXMkOiBPYnNlcnZhYmxlPGFueVtdPikgPT4gZW50aXRpZXMkLnBpcGUoXG4gICAgdGFwKCh7bGVuZ3RofTogYW55W10pID0+IHRoaXMuc2V0UGFnZSh0aGlzLnBhZ2UucGF0Y2goe2xlbmd0aH0pKSksXG4gICkpO1xufVxuIl19
@@ -11,6 +11,7 @@ export class QueryStore extends ComponentStore {
11
11
  this.langMap = langMap;
12
12
  this.query$ = this.select((state) => state.query);
13
13
  this.setQuery = this.updater((state, query) => ({ ...state, query }));
14
+ this.langMap ?? (this.langMap = {});
14
15
  }
15
16
  get query() { return this.get().query; }
16
17
  resolve(entities) {
@@ -27,4 +28,4 @@ QueryStore.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: QueryStore, f
27
28
  type: Inject,
28
29
  args: [DOMAIN_LANG_MAP]
29
30
  }] }]; }, null); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvc3RvcmVzL3F1ZXJ5L3F1ZXJ5LnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFPdkQsTUFBTSxPQUFPLFVBQWMsU0FBUSxjQUEwQjtJQUMzRCxZQUNZLGFBQW1DLEVBQ0UsT0FBK0I7UUFFOUUsS0FBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFIVCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDRSxZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQU1oRixXQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLGFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQztJQUx2RSxDQUFDO0lBRUQsSUFBSSxLQUFLLEtBQWEsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUtoRCxPQUFPLENBQUMsUUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOztvRUFmVSxVQUFVLG9EQUdDLGVBQWU7Z0VBSDFCLFVBQVUsV0FBVixVQUFVO3VGQUFWLFVBQVU7Y0FEdEIsVUFBVTs7c0JBSU4sUUFBUTs7c0JBQUksTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBET01BSU5fTEFOR19NQVAgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vcGlwZXMvZG9tYWluXCI7XG5pbXBvcnQgeyBRdWVyeVJlc29sdmVyU2VydmljZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9xdWVyeS1yZXNvbHZlclwiO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tIFwiQG5ncngvY29tcG9uZW50LXN0b3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlTdGF0ZSB7XG4gIHF1ZXJ5OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdWVyeVN0b3JlPEU+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8UXVlcnlTdGF0ZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcXVlcnlSZXNvbHZlcjogUXVlcnlSZXNvbHZlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChET01BSU5fTEFOR19NQVApIHByb3RlY3RlZCBsYW5nTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICApIHtcbiAgICBzdXBlcih7cXVlcnk6ICcnfSk7XG4gIH1cblxuICBnZXQgcXVlcnkoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuZ2V0KCkucXVlcnk7IH1cbiAgcXVlcnkkID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5xdWVyeSk7XG5cbiAgc2V0UXVlcnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBxdWVyeTogc3RyaW5nKSA9PiAoey4uLnN0YXRlLCBxdWVyeX0pKTtcblxuICByZXNvbHZlKGVudGl0aWVzOiBFW10pOiBFW10ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5UmVzb2x2ZXIucmVzb2x2ZShlbnRpdGllcywgdGhpcy5xdWVyeSwgdGhpcy5sYW5nTWFwKTtcbiAgfVxuXG59Il19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvc3RvcmVzL3F1ZXJ5L3F1ZXJ5LnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFPdkQsTUFBTSxPQUFPLFVBQW9CLFNBQVEsY0FBMEI7SUFDakUsWUFDWSxhQUFtQyxFQUNFLE9BQStCO1FBRTlFLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBSFQsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ0UsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFPaEYsV0FBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFOckUsSUFBSSxDQUFDLE9BQU8sS0FBWixJQUFJLENBQUMsT0FBTyxHQUFLLEVBQUUsRUFBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxLQUFLLEtBQWEsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUtoRCxPQUFPLENBQUMsUUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDOztvRUFoQlUsVUFBVSxvREFHQyxlQUFlO2dFQUgxQixVQUFVLFdBQVYsVUFBVTt1RkFBVixVQUFVO2NBRHRCLFVBQVU7O3NCQUlOLFFBQVE7O3NCQUFJLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRE9NQUlOX0xBTkdfTUFQIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RvbWFpblwiO1xuaW1wb3J0IHsgUXVlcnlSZXNvbHZlclNlcnZpY2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvcXVlcnktcmVzb2x2ZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSBcIkBuZ3J4L2NvbXBvbmVudC1zdG9yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5U3RhdGUge1xuICBxdWVyeTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUXVlcnlTdG9yZTxFID0gYW55PiBleHRlbmRzIENvbXBvbmVudFN0b3JlPFF1ZXJ5U3RhdGU+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHF1ZXJ5UmVzb2x2ZXI6IFF1ZXJ5UmVzb2x2ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9NQUlOX0xBTkdfTUFQKSBwcm90ZWN0ZWQgbGFuZ01hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgKSB7XG4gICAgc3VwZXIoe3F1ZXJ5OiAnJ30pO1xuICAgIHRoaXMubGFuZ01hcCA/Pz0ge307XG4gIH1cblxuICBnZXQgcXVlcnkoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuZ2V0KCkucXVlcnk7IH1cbiAgcXVlcnkkID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5xdWVyeSk7XG5cbiAgc2V0UXVlcnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBxdWVyeTogc3RyaW5nKSA9PiAoey4uLnN0YXRlLCBxdWVyeX0pKTtcblxuICByZXNvbHZlKGVudGl0aWVzOiBFW10pOiBFW10ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5UmVzb2x2ZXIucmVzb2x2ZShlbnRpdGllcywgdGhpcy5xdWVyeSwgdGhpcy5sYW5nTWFwKTtcbiAgfVxuXG59Il19
@@ -0,0 +1,2 @@
1
+ export * from './sort.store';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvc3RvcmVzL3NvcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQuc3RvcmUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zdG9yZXMtc29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9zdG9yZXMvc29ydC9uZy1hdG9taWMtY29tbW9uLXN0b3Jlcy1zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,28 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { ComponentStore } from "@ngrx/component-store";
3
+ import * as i0 from "@angular/core";
4
+ export class SortStore extends ComponentStore {
5
+ constructor() {
6
+ super({ key: null, order: 'asc' });
7
+ this.state$ = this.select(state => state);
8
+ this.key$ = this.select(state => state.key);
9
+ this.order$ = this.select(state => state.order);
10
+ this.setKey = this.updater((state, key) => ({ ...state, key }));
11
+ this.setOrder = this.updater((state, order) => ({ ...state, order }));
12
+ }
13
+ get state() { return this.get(); }
14
+ get key() { return this.get().key; }
15
+ get order() { return this.get().order; }
16
+ changeSortFromEvent(key, state = this.state) {
17
+ const reverse = (order) => order === 'asc' ? 'desc' : 'asc';
18
+ const order = key === state.key ? reverse(state.order) : 'asc';
19
+ this.setKey(key);
20
+ this.setOrder(order);
21
+ }
22
+ }
23
+ SortStore.ɵfac = function SortStore_Factory(t) { return new (t || SortStore)(); };
24
+ SortStore.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SortStore, factory: SortStore.ɵfac });
25
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortStore, [{
26
+ type: Injectable
27
+ }], function () { return []; }, null); })();
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9zdG9yZXMvc29ydC9zb3J0LnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVN2RCxNQUFNLE9BQU8sU0FBVSxTQUFRLGNBQXlCO0lBQ3REO1FBQWUsS0FBSyxDQUFDLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQU0vQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxhQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBWGhDLENBQUM7SUFFaEQsSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLElBQUksR0FBRyxLQUFLLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQVN4QyxtQkFBbUIsQ0FBQyxHQUFXLEVBQUUsUUFBbUIsSUFBSSxDQUFDLEtBQUs7UUFDNUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM1RSxNQUFNLEtBQUssR0FBRyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOztrRUFuQlUsU0FBUzsrREFBVCxTQUFTLFdBQVQsU0FBUzt1RkFBVCxTQUFTO2NBRHJCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSBcIkBuZ3J4L2NvbXBvbmVudC1zdG9yZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydFN0YXRlIHtcbiAga2V5OiBzdHJpbmc7XG4gIG9yZGVyOiAnYXNjJyB8ICdkZXNjJztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNvcnRTdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPFNvcnRTdGF0ZT4ge1xuICBjb25zdHJ1Y3RvcigpIHtzdXBlcih7a2V5OiBudWxsLCBvcmRlcjogJ2FzYyd9KX1cblxuICBnZXQgc3RhdGUoKSB7IHJldHVybiB0aGlzLmdldCgpOyB9XG4gIGdldCBrZXkoKSB7IHJldHVybiB0aGlzLmdldCgpLmtleTsgfVxuICBnZXQgb3JkZXIoKSB7IHJldHVybiB0aGlzLmdldCgpLm9yZGVyOyB9XG5cbiAgc3RhdGUkID0gdGhpcy5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUpO1xuICBrZXkkID0gdGhpcy5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUua2V5KTtcbiAgb3JkZXIkID0gdGhpcy5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUub3JkZXIpO1xuXG4gIHNldEtleSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGtleTogc3RyaW5nKSA9PiAoey4uLnN0YXRlLCBrZXl9KSk7XG4gIHNldE9yZGVyID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnKSA9PiAoey4uLnN0YXRlLCBvcmRlcn0pKTtcbiBcbiAgY2hhbmdlU29ydEZyb21FdmVudChrZXk6IHN0cmluZywgc3RhdGU6IFNvcnRTdGF0ZSA9IHRoaXMuc3RhdGUpIHtcbiAgICBjb25zdCByZXZlcnNlID0gKG9yZGVyOiAnYXNjJyB8ICdkZXNjJykgPT4gb3JkZXIgPT09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYyc7XG4gICAgY29uc3Qgb3JkZXIgPSBrZXkgPT09IHN0YXRlLmtleSA/IHJldmVyc2Uoc3RhdGUub3JkZXIpIDogJ2FzYyc7XG4gICAgdGhpcy5zZXRLZXkoa2V5KTtcbiAgICB0aGlzLnNldE9yZGVyKG9yZGVyKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, Pipe, Optional, Inject } from '@angular/core';
3
+ import { get } from 'lodash';
4
+
5
+ const DATA_ACCESSOR = new InjectionToken('DATA_ACCESSOR');
6
+ const defaultDataAccessor = (obj, key) => { var _a; return (_a = get(obj, key)) !== null && _a !== void 0 ? _a : ''; };
7
+ class DataAccessorPipe {
8
+ constructor(dataAccessor) {
9
+ var _a;
10
+ this.dataAccessor = dataAccessor;
11
+ (_a = this.dataAccessor) !== null && _a !== void 0 ? _a : (this.dataAccessor = defaultDataAccessor);
12
+ }
13
+ transform(data, key) {
14
+ return this.dataAccessor(data, key);
15
+ }
16
+ }
17
+ DataAccessorPipe.ɵfac = function DataAccessorPipe_Factory(t) { return new (t || DataAccessorPipe)(i0.ɵɵdirectiveInject(DATA_ACCESSOR, 24)); };
18
+ DataAccessorPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "dataAccessor", type: DataAccessorPipe, pure: true, standalone: true });
19
+ (function () {
20
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DataAccessorPipe, [{
21
+ type: Pipe,
22
+ args: [{
23
+ name: 'dataAccessor',
24
+ pure: true,
25
+ standalone: true,
26
+ }]
27
+ }], function () {
28
+ return [{ type: undefined, decorators: [{
29
+ type: Optional
30
+ }, {
31
+ type: Inject,
32
+ args: [DATA_ACCESSOR]
33
+ }] }];
34
+ }, null);
35
+ })();
36
+
37
+ /**
38
+ * Generated bundle index. Do not edit.
39
+ */
40
+
41
+ export { DATA_ACCESSOR, DataAccessorPipe, defaultDataAccessor };
42
+ //# sourceMappingURL=ng-atomic-common-pipes-data-accessor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-atomic-common-pipes-data-accessor.mjs","sources":["../../../../libs/common/src/pipes/data-accessor/data-accessor.pipe.ts","../../../../libs/common/src/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.ts"],"sourcesContent":["import { Inject, InjectionToken, Optional, Pipe } from \"@angular/core\";\nimport { get } from 'lodash';\n\nexport type DataAccessor<T> = (obj: T, key: string) => string;\nexport const DATA_ACCESSOR = new InjectionToken<DataAccessor<any>>('DATA_ACCESSOR');\nexport const defaultDataAccessor: DataAccessor<any> = (obj, key) => get(obj, key) ?? '';\n\n@Pipe({\n name: 'dataAccessor',\n pure: true,\n standalone: true,\n})\nexport class DataAccessorPipe<T> {\n\n constructor(\n @Optional() @Inject(DATA_ACCESSOR) protected dataAccessor: DataAccessor<T>,\n ) {\n this.dataAccessor ??= defaultDataAccessor;\n }\n\n transform(data: T, key: string) {\n return this.dataAccessor(data, key);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,aAAa,GAAG,IAAI,cAAc,CAAoB,eAAe,EAAE;MACvE,mBAAmB,GAAsB,CAAC,GAAG,EAAE,GAAG,KAAI,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA,GAAC;MAO3E,gBAAgB,CAAA;AAE3B,IAAA,WAAA,CAC+C,YAA6B,EAAA;;AAA7B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;QAE1E,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAjB,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAA,IAAI,CAAC,YAAY,GAAK,mBAAmB,CAAC,CAAA;KAC3C;IAED,SAAS,CAAC,IAAO,EAAE,GAAW,EAAA;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACrC;;AAVU,gBAAA,CAAA,IAAA,GAAA,SAAA,wBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,gBAAgB,uBAGL,aAAa,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;qFAHxB,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4EAAhB,gBAAgB,EAAA,CAAA;kBAL5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,UAAU,EAAE,IAAI;iBACjB,CAAA;;;8BAII,QAAQ;;8BAAI,MAAM;+BAAC,aAAa,CAAA;;;;;ACfrC;;AAEG;;;;"}
@@ -1,20 +1,24 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Pipe, Optional, Inject, NgModule } from '@angular/core';
3
- import { SlicePipe, CommonModule } from '@angular/common';
4
- import { smartSortByTransformer, SMART_SORT_BY_TRANSFORMER } from '@ng-atomic/common/pipes/smart-sort-by';
2
+ import { InjectionToken, Pipe, Optional, Inject, NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { smartSortByTransformer } from '@ng-atomic/common/pipes/smart-sort-by';
5
5
 
6
+ function paginationTransformer(items, page) {
7
+ return smartSortByTransformer(items, page.key, page.order).slice(page.start, page.end);
8
+ }
9
+
10
+ const PAGINATION_TRANSFORMER = new InjectionToken('[@ng-atomic/pipes] Pagination Transformer');
6
11
  class PaginationPipe {
7
12
  constructor(transformer) {
8
13
  var _a;
9
14
  this.transformer = transformer;
10
- this.slicePipe = new SlicePipe();
11
- (_a = this.transformer) !== null && _a !== void 0 ? _a : (this.transformer = smartSortByTransformer);
15
+ (_a = this.transformer) !== null && _a !== void 0 ? _a : (this.transformer = paginationTransformer);
12
16
  }
13
17
  transform(items, { sortKey, sortOrder, start, end }) {
14
- return this.slicePipe.transform(this.transformer(items, sortKey, sortOrder), start, end);
18
+ return this.transformer(items, { key: sortKey, order: sortOrder, start, end });
15
19
  }
16
20
  }
17
- PaginationPipe.ɵfac = function PaginationPipe_Factory(t) { return new (t || PaginationPipe)(i0.ɵɵdirectiveInject(SMART_SORT_BY_TRANSFORMER, 24)); };
21
+ PaginationPipe.ɵfac = function PaginationPipe_Factory(t) { return new (t || PaginationPipe)(i0.ɵɵdirectiveInject(PAGINATION_TRANSFORMER, 24)); };
18
22
  PaginationPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "pagination", type: PaginationPipe, pure: true });
19
23
  (function () {
20
24
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationPipe, [{
@@ -28,7 +32,7 @@ PaginationPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "pagination", ty
28
32
  type: Optional
29
33
  }, {
30
34
  type: Inject,
31
- args: [SMART_SORT_BY_TRANSFORMER]
35
+ args: [PAGINATION_TRANSFORMER]
32
36
  }] }];
33
37
  }, null);
34
38
  })();
@@ -60,5 +64,5 @@ PaginationModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonM
60
64
  * Generated bundle index. Do not edit.
61
65
  */
62
66
 
63
- export { PaginationModule, PaginationPipe };
67
+ export { PAGINATION_TRANSFORMER, PaginationModule, PaginationPipe, paginationTransformer };
64
68
  //# sourceMappingURL=ng-atomic-common-pipes-pagination.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-pipes-pagination.mjs","sources":["../../../../libs/common/src/pipes/pagination/pagination.pipe.ts","../../../../libs/common/src/pipes/pagination/pagination.module.ts","../../../../libs/common/src/pipes/pagination/ng-atomic-common-pipes-pagination.ts"],"sourcesContent":["import { SlicePipe } from '@angular/common';\nimport { Inject, Optional, Pipe, PipeTransform } from '@angular/core';\nimport { smartSortByTransformer, SmartSortByTransformer, SMART_SORT_BY_TRANSFORMER } from '@ng-atomic/common/pipes/smart-sort-by';\n\n@Pipe({\n name: 'pagination',\n pure: true,\n})\nexport class PaginationPipe implements PipeTransform {\n private slicePipe = new SlicePipe();\n\n constructor(\n @Optional()\n @Inject(SMART_SORT_BY_TRANSFORMER)\n private transformer: SmartSortByTransformer,\n ) {\n this.transformer ??= smartSortByTransformer;\n }\n\n transform<T>(items: T[], {sortKey, sortOrder, start, end}: {sortKey: string, sortOrder: 'asc' | 'desc', start: number, end: number}) {\n return this.slicePipe.transform(this.transformer(items, sortKey, sortOrder), start, end);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PaginationPipe } from './pagination.pipe';\n\n\n\n@NgModule({\n declarations: [\n PaginationPipe\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n PaginationPipe\n ]\n})\nexport class PaginationModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAQa,cAAc,CAAA;AAGzB,IAAA,WAAA,CAGU,WAAmC,EAAA;;AAAnC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAwB;AALrC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAOlC,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAhB,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAA,IAAI,CAAC,WAAW,GAAK,sBAAsB,CAAC,CAAA;KAC7C;IAED,SAAS,CAAI,KAAU,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAA2E,EAAA;QACjI,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KAC1F;;AAbU,cAAA,CAAA,IAAA,GAAA,SAAA,sBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,cAAc,uBAKf,yBAAyB,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;iFALxB,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4EAAd,cAAc,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,IAAI,EAAE,IAAI;iBACX,CAAA;;;8BAKI,QAAQ;;8BACR,MAAM;+BAAC,yBAAyB,CAAA;;;;;MCIxB,gBAAgB,CAAA;;gFAAhB,gBAAgB,GAAA,CAAA,EAAA,CAAA;kEAAhB,gBAAgB,EAAA,CAAA,CAAA;sEANzB,YAAY,CAAA,EAAA,CAAA,CAAA;;4EAMH,gBAAgB,EAAA,CAAA;kBAX5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;AACf,qBAAA;iBACF,CAAA;;;AACY,CAAA,cAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,gBAAgB,EATzB,EAAA,YAAA,EAAA,CAAA,cAAc,CAGd,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACdlB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-pipes-pagination.mjs","sources":["../../../../libs/common/src/pipes/pagination/pagination.transformer.ts","../../../../libs/common/src/pipes/pagination/pagination.pipe.ts","../../../../libs/common/src/pipes/pagination/pagination.module.ts","../../../../libs/common/src/pipes/pagination/ng-atomic-common-pipes-pagination.ts"],"sourcesContent":["import { smartSortByTransformer } from '@ng-atomic/common/pipes/smart-sort-by';\n\ninterface Page {\n start: number;\n end: number;\n key: string;\n order: 'asc' | 'desc';\n}\n\nexport type PaginationTransformer<E> = (items: E[], page: Page) => E[];\n\nexport function paginationTransformer<E>(items: E[], page: Page): E[] {\n return smartSortByTransformer(items, page.key, page.order).slice(page.start, page.end);\n}\n","import { Inject, InjectionToken, Optional, Pipe, PipeTransform } from '@angular/core';\nimport { PaginationTransformer, paginationTransformer } from './pagination.transformer';\n\nexport const PAGINATION_TRANSFORMER = new InjectionToken('[@ng-atomic/pipes] Pagination Transformer');\n\n@Pipe({\n name: 'pagination',\n pure: true,\n})\nexport class PaginationPipe<E> implements PipeTransform {\n\n constructor(\n @Optional()\n @Inject(PAGINATION_TRANSFORMER)\n private transformer: PaginationTransformer<E>,\n ) {\n this.transformer ??= paginationTransformer;\n }\n\n transform(items: E[], {sortKey, sortOrder, start, end}: {sortKey: string, sortOrder: 'asc' | 'desc', start: number, end: number}) {\n return this.transformer(items, { key: sortKey, order: sortOrder, start, end });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PaginationPipe } from './pagination.pipe';\n\n\n\n@NgModule({\n declarations: [\n PaginationPipe\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n PaginationPipe\n ]\n})\nexport class PaginationModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAWgB,SAAA,qBAAqB,CAAI,KAAU,EAAE,IAAU,EAAA;IAC7D,OAAO,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACzF;;MCVa,sBAAsB,GAAG,IAAI,cAAc,CAAC,2CAA2C,EAAE;MAMzF,cAAc,CAAA;AAEzB,IAAA,WAAA,CAGU,WAAqC,EAAA;;AAArC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAA0B;QAE7C,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAhB,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAA,IAAI,CAAC,WAAW,GAAK,qBAAqB,CAAC,CAAA;KAC5C;IAED,SAAS,CAAC,KAAU,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAA2E,EAAA;QAC9H,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;KAChF;;AAZU,cAAA,CAAA,IAAA,GAAA,SAAA,sBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,cAAc,uBAIf,sBAAsB,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;iFAJrB,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4EAAd,cAAc,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,IAAI,EAAE,IAAI;iBACX,CAAA;;;8BAII,QAAQ;;8BACR,MAAM;+BAAC,sBAAsB,CAAA;;;;;MCIrB,gBAAgB,CAAA;;gFAAhB,gBAAgB,GAAA,CAAA,EAAA,CAAA;kEAAhB,gBAAgB,EAAA,CAAA,CAAA;sEANzB,YAAY,CAAA,EAAA,CAAA,CAAA;;4EAMH,gBAAgB,EAAA,CAAA;kBAX5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;AACf,qBAAA;iBACF,CAAA;;;AACY,CAAA,cAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,gBAAgB,EATzB,EAAA,YAAA,EAAA,CAAA,cAAc,CAGd,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACdlB;;AAEG;;;;"}
@@ -3,10 +3,11 @@ import { InjectionToken, Pipe, Optional, Inject, NgModule } from '@angular/core'
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { sortBy } from 'lodash';
5
5
 
6
- const SMART_SORT_BY_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Smart Sort By Transformer');
7
6
  const smartSortByTransformer = (items, key, order) => {
8
7
  return order === 'asc' ? sortBy(items, key) : sortBy(items, key).reverse();
9
8
  };
9
+
10
+ const SMART_SORT_BY_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Smart Sort By Transformer');
10
11
  class SmartSortByPipe {
11
12
  constructor(transformer) {
12
13
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-pipes-smart-sort-by.mjs","sources":["../../../../libs/common/src/pipes/smart-sort-by/smart-sort-by.pipe.ts","../../../../libs/common/src/pipes/smart-sort-by/smart-sort-by.module.ts","../../../../libs/common/src/pipes/smart-sort-by/ng-atomic-common-pipes-smart-sort-by.ts"],"sourcesContent":["import { Inject, InjectionToken, Optional, Pipe, PipeTransform } from '@angular/core';\nimport { sortBy } from 'lodash';\n\nexport const SMART_SORT_BY_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Smart Sort By Transformer');\nexport type SmartSortByTransformer = <T>(items: T[], key: string, order: 'asc' | 'desc') => T[];\nexport const smartSortByTransformer: SmartSortByTransformer = (items, key, order) => {\n return order === 'asc' ? sortBy(items, key) : sortBy(items, key).reverse();\n}\n\n@Pipe({\n name: 'smartSortBy',\n pure: true,\n})\nexport class SmartSortByPipe implements PipeTransform {\n\n constructor(\n @Optional()\n @Inject(SMART_SORT_BY_TRANSFORMER)\n private transformer?: SmartSortByTransformer,\n ) {\n this.transformer ??= smartSortByTransformer;\n }\n\n transform<T>(items: T[], key: string, order: 'asc' | 'desc' = 'asc'): T[] {\n return this.transformer(items, key, order);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SmartSortByPipe } from './smart-sort-by.pipe';\n\n\n\n@NgModule({\n declarations: [\n SmartSortByPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n SmartSortByPipe\n ]\n})\nexport class SmartSortByModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAGa,yBAAyB,GAAG,IAAI,cAAc,CAAC,+CAA+C,EAAE;AAEhG,MAAA,sBAAsB,GAA2B,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,KAAI;IAClF,OAAO,KAAK,KAAK,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAC7E,EAAC;MAMY,eAAe,CAAA;AAE1B,IAAA,WAAA,CAGU,WAAoC,EAAA;;AAApC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QAE5C,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAhB,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAA,IAAI,CAAC,WAAW,GAAK,sBAAsB,CAAC,CAAA;KAC7C;AAED,IAAA,SAAS,CAAI,KAAU,EAAE,GAAW,EAAE,QAAwB,KAAK,EAAA;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;KAC5C;;AAZU,eAAA,CAAA,IAAA,GAAA,SAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,eAAe,uBAIhB,yBAAyB,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mFAJxB,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4EAAf,eAAe,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,IAAI,EAAE,IAAI;iBACX,CAAA;;;8BAII,QAAQ;;8BACR,MAAM;+BAAC,yBAAyB,CAAA;;;;;MCAxB,iBAAiB,CAAA;;kFAAjB,iBAAiB,GAAA,CAAA,EAAA,CAAA;mEAAjB,iBAAiB,EAAA,CAAA,CAAA;uEAN1B,YAAY,CAAA,EAAA,CAAA,CAAA;;4EAMH,iBAAiB,EAAA,CAAA;kBAX7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB,qBAAA;iBACF,CAAA;;;AACY,CAAA,cAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,iBAAiB,EAT1B,EAAA,YAAA,EAAA,CAAA,eAAe,CAGf,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACdnB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-pipes-smart-sort-by.mjs","sources":["../../../../libs/common/src/pipes/smart-sort-by/smart-sort-by.transformer.ts","../../../../libs/common/src/pipes/smart-sort-by/smart-sort-by.pipe.ts","../../../../libs/common/src/pipes/smart-sort-by/smart-sort-by.module.ts","../../../../libs/common/src/pipes/smart-sort-by/ng-atomic-common-pipes-smart-sort-by.ts"],"sourcesContent":["import { sortBy } from 'lodash';\n\nexport type SmartSortByTransformer = <T>(items: T[], key: string, order: 'asc' | 'desc') => T[];\nexport const smartSortByTransformer: SmartSortByTransformer = (items, key, order) => {\n return order === 'asc' ? sortBy(items, key) : sortBy(items, key).reverse();\n}\n","import { Inject, InjectionToken, Optional, Pipe, PipeTransform } from '@angular/core';\nimport { smartSortByTransformer, SmartSortByTransformer } from './smart-sort-by.transformer';\n\nexport const SMART_SORT_BY_TRANSFORMER = new InjectionToken('[@ng-atomic/common] Smart Sort By Transformer');\n\n@Pipe({\n name: 'smartSortBy',\n pure: true,\n})\nexport class SmartSortByPipe implements PipeTransform {\n\n constructor(\n @Optional()\n @Inject(SMART_SORT_BY_TRANSFORMER)\n private transformer?: SmartSortByTransformer,\n ) {\n this.transformer ??= smartSortByTransformer;\n }\n\n transform<T>(items: T[], key: string, order: 'asc' | 'desc' = 'asc'): T[] {\n return this.transformer(items, key, order);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SmartSortByPipe } from './smart-sort-by.pipe';\n\n\n\n@NgModule({\n declarations: [\n SmartSortByPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n SmartSortByPipe\n ]\n})\nexport class SmartSortByModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGa,MAAA,sBAAsB,GAA2B,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,KAAI;IAClF,OAAO,KAAK,KAAK,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAC7E;;MCFa,yBAAyB,GAAG,IAAI,cAAc,CAAC,+CAA+C,EAAE;MAMhG,eAAe,CAAA;AAE1B,IAAA,WAAA,CAGU,WAAoC,EAAA;;AAApC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QAE5C,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAhB,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAA,IAAI,CAAC,WAAW,GAAK,sBAAsB,CAAC,CAAA;KAC7C;AAED,IAAA,SAAS,CAAI,KAAU,EAAE,GAAW,EAAE,QAAwB,KAAK,EAAA;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;KAC5C;;AAZU,eAAA,CAAA,IAAA,GAAA,SAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,eAAe,uBAIhB,yBAAyB,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mFAJxB,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4EAAf,eAAe,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,IAAI,EAAE,IAAI;iBACX,CAAA;;;8BAII,QAAQ;;8BACR,MAAM;+BAAC,yBAAyB,CAAA;;;;;MCIxB,iBAAiB,CAAA;;kFAAjB,iBAAiB,GAAA,CAAA,EAAA,CAAA;mEAAjB,iBAAiB,EAAA,CAAA,CAAA;uEAN1B,YAAY,CAAA,EAAA,CAAA,CAAA;;4EAMH,iBAAiB,EAAA,CAAA;kBAX7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB,qBAAA;iBACF,CAAA;;;AACY,CAAA,cAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,iBAAiB,EAT1B,EAAA,YAAA,EAAA,CAAA,eAAe,CAGf,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACdnB;;AAEG;;;;"}
@@ -21,6 +21,10 @@ class LoadingService {
21
21
  removeKey(key) {
22
22
  this.loadingEntries$.next([key, false]);
23
23
  }
24
+ start(callback, key) {
25
+ this.setKey(key);
26
+ callback(() => this.removeKey(key));
27
+ }
24
28
  }
25
29
  LoadingService.ɵfac = function LoadingService_Factory(t) { return new (t || LoadingService)(); };
26
30
  LoadingService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoadingService, factory: LoadingService.ɵfac, providedIn: 'root' });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-loading.mjs","sources":["../../../../libs/common/src/services/loading/loading.service.ts","../../../../libs/common/src/services/loading/ng-atomic-common-services-loading.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { scan, map, distinctUntilChanged, delay } from 'rxjs/operators';\n\ntype LoadingMap = Record<string, boolean>;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n private loadingEntries$ = new Subject<[string, boolean]>();\n\n loadingMap: LoadingMap = {};\n loadingMap$ = this.loadingEntries$.pipe(\n scan((pre, [key, value]) => ({ ...pre, [key]: value }), {} as LoadingMap),\n map((m: LoadingMap) => Object.entries(m)\n .filter(([k, v]: [string, boolean]) => v)\n .reduce((p, [k, v]) => ({ ...p, [k]: v }), {} as LoadingMap)),\n distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)),\n );\n\n isLoading$ = this.loadingMap$.pipe(\n map((m) => !!Object.keys(m).length),\n delay(0),\n );\n\n constructor() {\n this.loadingMap$.subscribe((m) => {\n this.loadingMap = m;\n });\n }\n\n setKey(key: string): void {\n this.loadingEntries$.next([key, true]);\n }\n\n removeKey(key: string): void {\n this.loadingEntries$.next([key, false]);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MASa,cAAc,CAAA;AAiBzB,IAAA,WAAA,GAAA;AAhBQ,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAqB,CAAC;AAE3D,QAAA,IAAU,CAAA,UAAA,GAAe,EAAE,CAAC;QAC5B,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACrC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,GAAG,CAAE,EAAA,EAAA,CAAC,GAAG,GAAG,KAAK,EAAG,CAAA,CAAA,EAAE,EAAgB,CAAC,EACzE,GAAG,CAAC,CAAC,CAAa,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;aACrC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAoB,KAAK,CAAC,CAAC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAW,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,CAAE,EAAA,EAAA,CAAC,CAAC,GAAG,CAAC,EAAA,CAAA,CAAG,EAAE,EAAgB,CAAC,CAAC,EAC/D,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAChF,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAChC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EACnC,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QAGA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACtB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;QAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KACxC;AAED,IAAA,SAAS,CAAC,GAAW,EAAA;QACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;KACzC;;4EA7BU,cAAc,GAAA,CAAA,EAAA,CAAA;oEAAd,cAAc,EAAA,OAAA,EAAd,cAAc,CAAA,IAAA,EAAA,UAAA,EAFb,MAAM,EAAA,CAAA,CAAA;;4EAEP,cAAc,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-services-loading.mjs","sources":["../../../../libs/common/src/services/loading/loading.service.ts","../../../../libs/common/src/services/loading/ng-atomic-common-services-loading.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { scan, map, distinctUntilChanged, delay } from 'rxjs/operators';\n\ntype LoadingMap = Record<string, boolean>;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n private loadingEntries$ = new Subject<[string, boolean]>();\n\n loadingMap: LoadingMap = {};\n loadingMap$ = this.loadingEntries$.pipe(\n scan((pre, [key, value]) => ({ ...pre, [key]: value }), {} as LoadingMap),\n map((m: LoadingMap) => Object.entries(m)\n .filter(([k, v]: [string, boolean]) => v)\n .reduce((p, [k, v]) => ({ ...p, [k]: v }), {} as LoadingMap)),\n distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)),\n );\n\n isLoading$ = this.loadingMap$.pipe(\n map((m) => !!Object.keys(m).length),\n delay(0),\n );\n\n constructor() {\n this.loadingMap$.subscribe((m) => {\n this.loadingMap = m;\n });\n }\n\n setKey(key: string): void {\n this.loadingEntries$.next([key, true]);\n }\n\n removeKey(key: string): void {\n this.loadingEntries$.next([key, false]);\n }\n\n start(callback: (done: any) => void, key: string) {\n this.setKey(key);\n callback(() => this.removeKey(key));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MASa,cAAc,CAAA;AAiBzB,IAAA,WAAA,GAAA;AAhBQ,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAqB,CAAC;AAE3D,QAAA,IAAU,CAAA,UAAA,GAAe,EAAE,CAAC;QAC5B,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACrC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,GAAG,CAAE,EAAA,EAAA,CAAC,GAAG,GAAG,KAAK,EAAG,CAAA,CAAA,EAAE,EAAgB,CAAC,EACzE,GAAG,CAAC,CAAC,CAAa,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;aACrC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAoB,KAAK,CAAC,CAAC;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAW,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,CAAE,EAAA,EAAA,CAAC,CAAC,GAAG,CAAC,EAAA,CAAA,CAAG,EAAE,EAAgB,CAAC,CAAC,EAC/D,oBAAoB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAChF,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAChC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EACnC,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QAGA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACtB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;QAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KACxC;AAED,IAAA,SAAS,CAAC,GAAW,EAAA;QACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;KACzC;IAED,KAAK,CAAC,QAA6B,EAAE,GAAW,EAAA;AAC9C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;KACrC;;4EAlCU,cAAc,GAAA,CAAA,EAAA,CAAA;oEAAd,cAAc,EAAA,OAAA,EAAd,cAAc,CAAA,IAAA,EAAA,UAAA,EAFb,MAAM,EAAA,CAAA,CAAA;;4EAEP,cAAc,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;ACRD;;AAEG;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { ComponentStore } from '@ngrx/component-store';
2
2
  import { compareById } from '@ng-atomic/common/utils';
3
- import { distinctUntilChanged, filter, switchMap, tap } from 'rxjs/operators';
3
+ import { ReplaySubject } from 'rxjs';
4
+ import { distinctUntilChanged } from 'rxjs/operators';
4
5
 
5
6
  const distinctUntilChangedArray = () => {
6
7
  return distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));
@@ -8,14 +9,15 @@ const distinctUntilChangedArray = () => {
8
9
  class EntitiesStore extends ComponentStore {
9
10
  constructor(initialState) {
10
11
  super(initialState);
11
- this.userId$ = this.select(state => state.userId).pipe(filter(userId => !!userId));
12
+ this.refresh$ = new ReplaySubject(1);
12
13
  this.entities$ = this.select(({ entities }) => entities ? entities.sort(compareById) : []);
13
- this.setUserId = this.updater((state, userId) => (Object.assign(Object.assign({}, state), { userId })));
14
14
  this.setEntities = this.updater((state, entities) => (Object.assign(Object.assign({}, state), { entities })));
15
- this.getEntities = this.effect((userId$) => userId$.pipe(filter(userId => !!userId), switchMap((userId) => this._getEntities({ userId })), tap((entities) => this.setEntities(entities))));
16
- this.getEntities(this.userId$);
15
+ this.refresh();
17
16
  }
18
17
  get entities() { return this.get().entities; }
18
+ refresh() {
19
+ this.refresh$.next();
20
+ }
19
21
  }
20
22
 
21
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-stores-entities.mjs","sources":["../../../../libs/common/src/stores/entities/entities.store.ts","../../../../libs/common/src/stores/entities/ng-atomic-common-stores-entities.ts"],"sourcesContent":["import { ComponentStore } from '@ngrx/component-store';\nimport { compareById } from '@ng-atomic/common/utils';\nimport { Observable } from 'rxjs';\nimport { distinctUntilChanged, tap, filter, switchMap } from 'rxjs/operators';\n\nexport interface EntitiesState<E> {\n userId: string; \n entities: E[]\n}\n\nexport const distinctUntilChangedArray = <T>() => {\n return distinctUntilChanged<T>((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));\n};\n\nexport abstract class EntitiesStore<S extends EntitiesState<E>, E extends {id: string}> extends ComponentStore<S> {\n get entities() { return this.get().entities; }\n\n userId$ = this.select(state => state.userId).pipe(filter(userId => !!userId));\n entities$ = this.select(({entities}) => entities ? entities.sort(compareById) : []);\n \n constructor(initialState: S) {\n super(initialState);\n this.getEntities(this.userId$);\n }\n\n setUserId = this.updater((state, userId: string) => ({...state, userId}));\n setEntities = this.updater((state, entities: E[]) => ({...state, entities}));\n\n getEntities = this.effect((userId$: Observable<string>) => userId$.pipe(\n filter(userId => !!userId),\n switchMap((userId) => this._getEntities({userId})),\n tap((entities: E[]) => this.setEntities(entities)),\n )); \n\n abstract _getEntities(data?: object): Observable<E[]>;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUO,MAAM,yBAAyB,GAAG,MAAQ;IAC/C,OAAO,oBAAoB,CAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5F,EAAE;AAEI,MAAgB,aAAkE,SAAQ,cAAiB,CAAA;AAM/G,IAAA,WAAA,CAAY,YAAe,EAAA;QACzB,KAAK,CAAC,YAAY,CAAC,CAAC;AAJtB,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9E,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAC,KAAK,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAOpF,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAc,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,MAAM,EAAA,CAAA,CAAE,CAAC,CAAC;QAC1E,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAa,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,QAAQ,EAAA,CAAA,CAAE,CAAC,CAAC;AAE7E,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAA2B,KAAK,OAAO,CAAC,IAAI,CACrE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,EAC1B,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,EAClD,GAAG,CAAC,CAAC,QAAa,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CACnD,CAAC,CAAC;AAVD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAChC;IARD,IAAI,QAAQ,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE;AAoB/C;;ACnCD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-stores-entities.mjs","sources":["../../../../libs/common/src/stores/entities/entities.store.ts","../../../../libs/common/src/stores/entities/ng-atomic-common-stores-entities.ts"],"sourcesContent":["import { ComponentStore } from '@ngrx/component-store';\nimport { compareById } from '@ng-atomic/common/utils';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { distinctUntilChanged, tap, filter, switchMap } from 'rxjs/operators';\n\nexport interface EntitiesState<E> {\n entities: E[]\n}\n\nexport const distinctUntilChangedArray = <T>() => {\n return distinctUntilChanged<T>((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));\n};\n\nexport abstract class EntitiesStore<S extends EntitiesState<E>, E extends {id: string}> extends ComponentStore<S> {\n protected readonly refresh$ = new ReplaySubject<void>(1);\n\n get entities() { return this.get().entities; }\n\n entities$ = this.select(({entities}) => entities ? entities.sort(compareById) : []);\n \n constructor(initialState: S) {\n super(initialState);\n this.refresh();\n }\n\n setEntities = this.updater((state, entities: E[]) => ({...state, entities}));\n\n abstract getEntities: ReturnType<typeof this.effect>;\n\n refresh() {\n this.refresh$.next();\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AASO,MAAM,yBAAyB,GAAG,MAAQ;IAC/C,OAAO,oBAAoB,CAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5F,EAAE;AAEI,MAAgB,aAAkE,SAAQ,cAAiB,CAAA;AAO/G,IAAA,WAAA,CAAY,YAAe,EAAA;QACzB,KAAK,CAAC,YAAY,CAAC,CAAC;QAPH,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAO,CAAC,CAAC,CAAC;AAIzD,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAC,KAAK,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAOpF,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAa,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,QAAQ,EAAA,CAAA,CAAE,CAAC,CAAC;QAH3E,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAPD,IAAI,QAAQ,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE;IAa9C,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;AACF;;AChCD;;AAEG;;;;"}