@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.
- package/esm2020/models/action.mjs +1 -1
- package/esm2020/pipes/data-accessor/data-accessor.pipe.mjs +30 -0
- package/esm2020/pipes/data-accessor/index.mjs +2 -0
- package/esm2020/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.mjs +5 -0
- package/esm2020/pipes/pagination/index.mjs +2 -1
- package/esm2020/pipes/pagination/pagination.pipe.mjs +8 -9
- package/esm2020/pipes/pagination/pagination.transformer.mjs +5 -0
- package/esm2020/pipes/smart-sort-by/index.mjs +2 -1
- package/esm2020/pipes/smart-sort-by/smart-sort-by.pipe.mjs +2 -5
- package/esm2020/pipes/smart-sort-by/smart-sort-by.transformer.mjs +5 -0
- package/esm2020/services/loading/loading.service.mjs +5 -1
- package/esm2020/stores/entities/entities.store.mjs +8 -6
- package/esm2020/stores/pagination/pagination.store.mjs +1 -10
- package/esm2020/stores/query/query.store.mjs +2 -1
- package/esm2020/stores/sort/index.mjs +2 -0
- package/esm2020/stores/sort/ng-atomic-common-stores-sort.mjs +5 -0
- package/esm2020/stores/sort/sort.store.mjs +28 -0
- package/fesm2015/ng-atomic-common-pipes-data-accessor.mjs +42 -0
- package/fesm2015/ng-atomic-common-pipes-data-accessor.mjs.map +1 -0
- package/fesm2015/ng-atomic-common-pipes-pagination.mjs +13 -9
- package/fesm2015/ng-atomic-common-pipes-pagination.mjs.map +1 -1
- package/fesm2015/ng-atomic-common-pipes-smart-sort-by.mjs +2 -1
- package/fesm2015/ng-atomic-common-pipes-smart-sort-by.mjs.map +1 -1
- package/fesm2015/ng-atomic-common-services-loading.mjs +4 -0
- package/fesm2015/ng-atomic-common-services-loading.mjs.map +1 -1
- package/fesm2015/ng-atomic-common-stores-entities.mjs +7 -5
- package/fesm2015/ng-atomic-common-stores-entities.mjs.map +1 -1
- package/fesm2015/ng-atomic-common-stores-pagination.mjs +0 -9
- package/fesm2015/ng-atomic-common-stores-pagination.mjs.map +1 -1
- package/fesm2015/ng-atomic-common-stores-query.mjs +2 -0
- package/fesm2015/ng-atomic-common-stores-query.mjs.map +1 -1
- package/fesm2015/ng-atomic-common-stores-sort.mjs +37 -0
- package/fesm2015/ng-atomic-common-stores-sort.mjs.map +1 -0
- package/fesm2020/ng-atomic-common-pipes-data-accessor.mjs +37 -0
- package/fesm2020/ng-atomic-common-pipes-data-accessor.mjs.map +1 -0
- package/fesm2020/ng-atomic-common-pipes-pagination.mjs +13 -9
- package/fesm2020/ng-atomic-common-pipes-pagination.mjs.map +1 -1
- package/fesm2020/ng-atomic-common-pipes-smart-sort-by.mjs +2 -1
- package/fesm2020/ng-atomic-common-pipes-smart-sort-by.mjs.map +1 -1
- package/fesm2020/ng-atomic-common-services-loading.mjs +4 -0
- package/fesm2020/ng-atomic-common-services-loading.mjs.map +1 -1
- package/fesm2020/ng-atomic-common-stores-entities.mjs +7 -5
- package/fesm2020/ng-atomic-common-stores-entities.mjs.map +1 -1
- package/fesm2020/ng-atomic-common-stores-pagination.mjs +0 -9
- package/fesm2020/ng-atomic-common-stores-pagination.mjs.map +1 -1
- package/fesm2020/ng-atomic-common-stores-query.mjs +1 -0
- package/fesm2020/ng-atomic-common-stores-query.mjs.map +1 -1
- package/fesm2020/ng-atomic-common-stores-sort.mjs +35 -0
- package/fesm2020/ng-atomic-common-stores-sort.mjs.map +1 -0
- package/models/action.d.ts +4 -0
- package/models/action.d.ts.map +1 -1
- package/package.json +19 -1
- package/pipes/data-accessor/data-accessor.pipe.d.ts +13 -0
- package/pipes/data-accessor/data-accessor.pipe.d.ts.map +1 -0
- package/pipes/data-accessor/index.d.ts +2 -0
- package/pipes/data-accessor/index.d.ts.map +1 -0
- package/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.d.ts.map +1 -0
- package/pipes/pagination/index.d.ts +1 -0
- package/pipes/pagination/index.d.ts.map +1 -1
- package/pipes/pagination/pagination.pipe.d.ts +9 -9
- package/pipes/pagination/pagination.pipe.d.ts.map +1 -1
- package/pipes/pagination/pagination.transformer.d.ts +10 -0
- package/pipes/pagination/pagination.transformer.d.ts.map +1 -0
- package/pipes/smart-sort-by/index.d.ts +1 -0
- package/pipes/smart-sort-by/index.d.ts.map +1 -1
- package/pipes/smart-sort-by/smart-sort-by.pipe.d.ts +1 -2
- package/pipes/smart-sort-by/smart-sort-by.pipe.d.ts.map +1 -1
- package/pipes/smart-sort-by/smart-sort-by.transformer.d.ts +3 -0
- package/pipes/smart-sort-by/smart-sort-by.transformer.d.ts.map +1 -0
- package/services/loading/loading.service.d.ts +1 -0
- package/services/loading/loading.service.d.ts.map +1 -1
- package/stores/entities/entities.store.d.ts +4 -6
- package/stores/entities/entities.store.d.ts.map +1 -1
- package/stores/pagination/pagination.store.d.ts +6 -11
- package/stores/pagination/pagination.store.d.ts.map +1 -1
- package/stores/query/query.store.d.ts +1 -1
- package/stores/query/query.store.d.ts.map +1 -1
- package/stores/sort/index.d.ts +2 -0
- package/stores/sort/index.d.ts.map +1 -0
- package/stores/sort/ng-atomic-common-stores-sort.d.ts.map +1 -0
- package/stores/sort/sort.store.d.ts +22 -0
- package/stores/sort/sort.store.d.ts.map +1 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL21vZGVscy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uPFQgPSBhbnk+
|
|
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
|
-
|
|
3
|
+
export * from './pagination.transformer';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGlwZXMvcGFnaW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uLnRyYW5zZm9ybWVyJztcbiJdfQ==
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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.
|
|
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.
|
|
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(
|
|
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: [
|
|
26
|
+
args: [PAGINATION_TRANSFORMER]
|
|
28
27
|
}] }]; }, null); })();
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
-
|
|
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 {
|
|
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,
|
|
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,
|
|
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 {
|
|
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.
|
|
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.
|
|
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,
|
|
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,
|
|
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,
|
|
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 {
|
|
4
|
-
import { smartSortByTransformer
|
|
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.
|
|
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.
|
|
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(
|
|
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: [
|
|
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 {
|
|
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 {
|
|
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;;
|
|
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 {
|
|
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.
|
|
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.
|
|
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
|
|
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;;;;"}
|