@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
|
@@ -9,21 +9,12 @@ class PaginationStore extends ComponentStore {
|
|
|
9
9
|
super({ page: Page.from() });
|
|
10
10
|
this.page$ = this.select(state => state.page);
|
|
11
11
|
this.setPage = this.updater((state, page) => (Object.assign(Object.assign({}, state), { page })));
|
|
12
|
-
this.setSortKey = this.updater((state, sortKey) => (Object.assign(Object.assign({}, state), { page: this.page.patch({ sortKey }) })));
|
|
13
|
-
this.setSortOrder = this.updater((state, sortOrder) => (Object.assign(Object.assign({}, state), { page: this.page.patch({ sortOrder }) })));
|
|
14
12
|
this.patch = this.updater((state, page) => (Object.assign(Object.assign({}, state), { page: state.page.patch(page) })));
|
|
15
13
|
this.getPageLength = this.effect((entities$) => entities$.pipe(tap(({ length }) => this.setPage(this.page.patch({ length })))));
|
|
16
14
|
}
|
|
17
15
|
get page() { return this.get(state => state.page); }
|
|
18
|
-
get sortKey() { return this.page.sortKey; }
|
|
19
|
-
get sortOrder() { return this.page.sortOrder; }
|
|
20
16
|
get start() { return this.page.start; }
|
|
21
17
|
get end() { return this.page.end; }
|
|
22
|
-
changeSortFromEvent(sortKey, page = this.page) {
|
|
23
|
-
const reverse = (order) => order === 'asc' ? 'desc' : 'asc';
|
|
24
|
-
const sortOrder = sortKey === page.sortKey ? reverse(page.sortOrder) : 'asc';
|
|
25
|
-
this.patch({ sortKey, sortOrder });
|
|
26
|
-
}
|
|
27
18
|
}
|
|
28
19
|
PaginationStore.ɵfac = function PaginationStore_Factory(t) { return new (t || PaginationStore)(); };
|
|
29
20
|
PaginationStore.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PaginationStore, factory: PaginationStore.ɵfac });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-pagination.mjs","sources":["../../../../libs/common/src/stores/pagination/pagination.store.ts","../../../../libs/common/src/stores/pagination/ng-atomic-common-stores-pagination.ts"],"sourcesContent":["import { ComponentStore } from \"@ngrx/component-store\";\nimport { Page } from '@ng-atomic/common/utils/page';\nimport { Observable, tap } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-stores-pagination.mjs","sources":["../../../../libs/common/src/stores/pagination/pagination.store.ts","../../../../libs/common/src/stores/pagination/ng-atomic-common-stores-pagination.ts"],"sourcesContent":["import { ComponentStore } from \"@ngrx/component-store\";\nimport { Page } from '@ng-atomic/common/utils/page';\nimport { Observable, tap } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface State {\n page: Page;\n}\n\n@Injectable()\nexport class PaginationStore extends ComponentStore<State> {\n constructor() {super({page: Page.from()})}\n\n get page() { return this.get(state => state.page); }\n get start() { return this.page.start; }\n get end() { return this.page.end; }\n\n page$ = this.select(state => state.page);\n\n setPage = this.updater((state, page: Page) => ({...state, page}));\n patch = this.updater((state, page: Partial<Page>) => ({...state, page: state.page.patch(page)}));\n \n getPageLength = this.effect((entities$: Observable<any[]>) => entities$.pipe(\n tap(({length}: any[]) => this.setPage(this.page.patch({length}))),\n ));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,eAAgB,SAAQ,cAAqB,CAAA;AACxD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAC,CAAC,CAAA;AAMzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAU,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,IAAI,EAAA,CAAA,CAAE,CAAC,CAAC;AAClE,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAmB,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAE,EAAA,EAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA,CAAA,CAAE,CAAC,CAAC;AAEjG,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAA4B,KAAK,SAAS,CAAC,IAAI,CAC1E,GAAG,CAAC,CAAC,EAAC,MAAM,EAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC,CAClE,CAAC,CAAC;KAbuC;AAE1C,IAAA,IAAI,IAAI,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;IACpD,IAAI,KAAK,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACvC,IAAI,GAAG,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;;8EALxB,eAAe,GAAA,CAAA,EAAA,CAAA;AAAf,eAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,eAAe,WAAf,eAAe,CAAA,IAAA,EAAA,CAAA,CAAA;;4EAAf,eAAe,EAAA,CAAA;kBAD3B,UAAU;;;;ACTX;;AAEG;;;;"}
|
|
@@ -6,11 +6,13 @@ import * as i1 from '@ng-atomic/common/services/query-resolver';
|
|
|
6
6
|
|
|
7
7
|
class QueryStore extends ComponentStore {
|
|
8
8
|
constructor(queryResolver, langMap) {
|
|
9
|
+
var _a;
|
|
9
10
|
super({ query: '' });
|
|
10
11
|
this.queryResolver = queryResolver;
|
|
11
12
|
this.langMap = langMap;
|
|
12
13
|
this.query$ = this.select((state) => state.query);
|
|
13
14
|
this.setQuery = this.updater((state, query) => (Object.assign(Object.assign({}, state), { query })));
|
|
15
|
+
(_a = this.langMap) !== null && _a !== void 0 ? _a : (this.langMap = {});
|
|
14
16
|
}
|
|
15
17
|
get query() { return this.get().query; }
|
|
16
18
|
resolve(entities) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-query.mjs","sources":["../../../../libs/common/src/stores/query/query.store.ts","../../../../libs/common/src/stores/query/ng-atomic-common-stores-query.ts"],"sourcesContent":["import { Inject, Injectable, Optional } from \"@angular/core\";\nimport { DOMAIN_LANG_MAP } from \"@ng-atomic/common/pipes/domain\";\nimport { QueryResolverService } from \"@ng-atomic/common/services/query-resolver\";\nimport { ComponentStore } from \"@ngrx/component-store\";\n\nexport interface QueryState {\n query: string;\n}\n\n@Injectable()\nexport class QueryStore<E> extends ComponentStore<QueryState> {\n constructor(\n protected queryResolver: QueryResolverService,\n @Optional() @Inject(DOMAIN_LANG_MAP) protected langMap: Record<string, string>,\n ) {\n super({query: ''});\n }\n\n get query(): string { return this.get().query; }\n query$ = this.select((state) => state.query);\n\n setQuery = this.updater((state, query: string) => ({...state, query}));\n\n resolve(entities: E[]): E[] {\n return this.queryResolver.resolve(entities, this.query, this.langMap);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-stores-query.mjs","sources":["../../../../libs/common/src/stores/query/query.store.ts","../../../../libs/common/src/stores/query/ng-atomic-common-stores-query.ts"],"sourcesContent":["import { Inject, Injectable, Optional } from \"@angular/core\";\nimport { DOMAIN_LANG_MAP } from \"@ng-atomic/common/pipes/domain\";\nimport { QueryResolverService } from \"@ng-atomic/common/services/query-resolver\";\nimport { ComponentStore } from \"@ngrx/component-store\";\n\nexport interface QueryState {\n query: string;\n}\n\n@Injectable()\nexport class QueryStore<E = any> extends ComponentStore<QueryState> {\n constructor(\n protected queryResolver: QueryResolverService,\n @Optional() @Inject(DOMAIN_LANG_MAP) protected langMap: Record<string, string>,\n ) {\n super({query: ''});\n this.langMap ??= {};\n }\n\n get query(): string { return this.get().query; }\n query$ = this.select((state) => state.query);\n\n setQuery = this.updater((state, query: string) => ({...state, query}));\n\n resolve(entities: E[]): E[] {\n return this.queryResolver.resolve(entities, this.query, this.langMap);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,UAAoB,SAAQ,cAA0B,CAAA;IACjE,WACY,CAAA,aAAmC,EACE,OAA+B,EAAA;;AAE9E,QAAA,KAAK,CAAC,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC;AAHT,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAsB;AACE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;AAOhF,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAa,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,KAAK,EAAA,CAAA,CAAE,CAAC,CAAC;QANrE,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAZ,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,IAAA,IAAI,CAAC,OAAO,GAAK,EAAE,CAAC,CAAA;KACrB;IAED,IAAI,KAAK,GAAa,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE;AAKhD,IAAA,OAAO,CAAC,QAAa,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACvE;;AAhBU,UAAA,CAAA,IAAA,GAAA,SAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,UAAU,oDAGC,eAAe,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAH1B,UAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,UAAU,WAAV,UAAU,CAAA,IAAA,EAAA,CAAA,CAAA;;4EAAV,UAAU,EAAA,CAAA;kBADtB,UAAU;;;8BAIN,QAAQ;;8BAAI,MAAM;+BAAC,eAAe,CAAA;;;;;ACbvC;;AAEG;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
4
|
+
|
|
5
|
+
class SortStore extends ComponentStore {
|
|
6
|
+
constructor() {
|
|
7
|
+
super({ key: null, order: 'asc' });
|
|
8
|
+
this.state$ = this.select(state => state);
|
|
9
|
+
this.key$ = this.select(state => state.key);
|
|
10
|
+
this.order$ = this.select(state => state.order);
|
|
11
|
+
this.setKey = this.updater((state, key) => (Object.assign(Object.assign({}, state), { key })));
|
|
12
|
+
this.setOrder = this.updater((state, order) => (Object.assign(Object.assign({}, state), { order })));
|
|
13
|
+
}
|
|
14
|
+
get state() { return this.get(); }
|
|
15
|
+
get key() { return this.get().key; }
|
|
16
|
+
get order() { return this.get().order; }
|
|
17
|
+
changeSortFromEvent(key, state = this.state) {
|
|
18
|
+
const reverse = (order) => order === 'asc' ? 'desc' : 'asc';
|
|
19
|
+
const order = key === state.key ? reverse(state.order) : 'asc';
|
|
20
|
+
this.setKey(key);
|
|
21
|
+
this.setOrder(order);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
SortStore.ɵfac = function SortStore_Factory(t) { return new (t || SortStore)(); };
|
|
25
|
+
SortStore.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SortStore, factory: SortStore.ɵfac });
|
|
26
|
+
(function () {
|
|
27
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortStore, [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}], function () { return []; }, null);
|
|
30
|
+
})();
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Generated bundle index. Do not edit.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
export { SortStore };
|
|
37
|
+
//# sourceMappingURL=ng-atomic-common-stores-sort.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-stores-sort.mjs","sources":["../../../../libs/common/src/stores/sort/sort.store.ts","../../../../libs/common/src/stores/sort/ng-atomic-common-stores-sort.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable } from \"rxjs\";\n\nexport interface SortState {\n key: string;\n order: 'asc' | 'desc';\n}\n\n@Injectable()\nexport class SortStore extends ComponentStore<SortState> {\n constructor() {super({key: null, order: 'asc'})}\n\n get state() { return this.get(); }\n get key() { return this.get().key; }\n get order() { return this.get().order; }\n\n state$ = this.select(state => state);\n key$ = this.select(state => state.key);\n order$ = this.select(state => state.order);\n\n setKey = this.updater((state, key: string) => ({...state, key}));\n setOrder = this.updater((state, order: 'asc' | 'desc') => ({...state, order}));\n \n changeSortFromEvent(key: string, state: SortState = this.state) {\n const reverse = (order: 'asc' | 'desc') => order === 'asc' ? 'desc' : 'asc';\n const order = key === state.key ? reverse(state.order) : 'asc';\n this.setKey(key);\n this.setOrder(order);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUM,MAAO,SAAU,SAAQ,cAAyB,CAAA;AACtD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;AAM/C,QAAA,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAW,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,GAAG,EAAA,CAAA,CAAE,CAAC,CAAC;QACjE,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAqB,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,KAAK,EAAA,CAAA,CAAE,CAAC,CAAC;KAX/B;IAEhD,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;IAClC,IAAI,GAAG,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;IACpC,IAAI,KAAK,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE;AASxC,IAAA,mBAAmB,CAAC,GAAW,EAAE,KAAmB,GAAA,IAAI,CAAC,KAAK,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAC,KAAqB,KAAK,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;QAC5E,MAAM,KAAK,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC/D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACtB;;kEAnBU,SAAS,GAAA,CAAA,EAAA,CAAA;AAAT,SAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,SAAS,WAAT,SAAS,CAAA,IAAA,EAAA,CAAA,CAAA;;4EAAT,SAAS,EAAA,CAAA;kBADrB,UAAU;;;;ACTX;;AAEG;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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) => get(obj, key) ?? '';
|
|
7
|
+
class DataAccessorPipe {
|
|
8
|
+
constructor(dataAccessor) {
|
|
9
|
+
this.dataAccessor = dataAccessor;
|
|
10
|
+
this.dataAccessor ?? (this.dataAccessor = defaultDataAccessor);
|
|
11
|
+
}
|
|
12
|
+
transform(data, key) {
|
|
13
|
+
return this.dataAccessor(data, key);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
DataAccessorPipe.ɵfac = function DataAccessorPipe_Factory(t) { return new (t || DataAccessorPipe)(i0.ɵɵdirectiveInject(DATA_ACCESSOR, 24)); };
|
|
17
|
+
DataAccessorPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "dataAccessor", type: DataAccessorPipe, pure: true, standalone: true });
|
|
18
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DataAccessorPipe, [{
|
|
19
|
+
type: Pipe,
|
|
20
|
+
args: [{
|
|
21
|
+
name: 'dataAccessor',
|
|
22
|
+
pure: true,
|
|
23
|
+
standalone: true,
|
|
24
|
+
}]
|
|
25
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
26
|
+
type: Optional
|
|
27
|
+
}, {
|
|
28
|
+
type: Inject,
|
|
29
|
+
args: [DATA_ACCESSOR]
|
|
30
|
+
}] }]; }, null); })();
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Generated bundle index. Do not edit.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
export { DATA_ACCESSOR, DataAccessorPipe, defaultDataAccessor };
|
|
37
|
+
//# 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;AACvE,MAAA,mBAAmB,GAAsB,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG;MAO3E,gBAAgB,CAAA;AAE3B,IAAA,WAAA,CAC+C,YAA6B,EAAA;QAA7B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;QAE1E,IAAI,CAAC,YAAY,KAAjB,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;uFAAhB,gBAAgB,EAAA,CAAA;cAL5B,IAAI;AAAC,QAAA,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,UAAU,EAAE,IAAI;AACjB,aAAA,CAAA;;sBAII,QAAQ;;sBAAI,MAAM;uBAAC,aAAa,CAAA;;;ACfrC;;AAEG;;;;"}
|
|
@@ -1,19 +1,23 @@
|
|
|
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
|
this.transformer = transformer;
|
|
9
|
-
this.
|
|
10
|
-
this.transformer ?? (this.transformer = smartSortByTransformer);
|
|
14
|
+
this.transformer ?? (this.transformer = paginationTransformer);
|
|
11
15
|
}
|
|
12
16
|
transform(items, { sortKey, sortOrder, start, end }) {
|
|
13
|
-
return this.
|
|
17
|
+
return this.transformer(items, { key: sortKey, order: sortOrder, start, end });
|
|
14
18
|
}
|
|
15
19
|
}
|
|
16
|
-
PaginationPipe.ɵfac = function PaginationPipe_Factory(t) { return new (t || PaginationPipe)(i0.ɵɵdirectiveInject(
|
|
20
|
+
PaginationPipe.ɵfac = function PaginationPipe_Factory(t) { return new (t || PaginationPipe)(i0.ɵɵdirectiveInject(PAGINATION_TRANSFORMER, 24)); };
|
|
17
21
|
PaginationPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "pagination", type: PaginationPipe, pure: true });
|
|
18
22
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationPipe, [{
|
|
19
23
|
type: Pipe,
|
|
@@ -25,7 +29,7 @@ PaginationPipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "pagination", ty
|
|
|
25
29
|
type: Optional
|
|
26
30
|
}, {
|
|
27
31
|
type: Inject,
|
|
28
|
-
args: [
|
|
32
|
+
args: [PAGINATION_TRANSFORMER]
|
|
29
33
|
}] }]; }, null); })();
|
|
30
34
|
|
|
31
35
|
class PaginationModule {
|
|
@@ -53,5 +57,5 @@ PaginationModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonM
|
|
|
53
57
|
* Generated bundle index. Do not edit.
|
|
54
58
|
*/
|
|
55
59
|
|
|
56
|
-
export { PaginationModule, PaginationPipe };
|
|
60
|
+
export { PAGINATION_TRANSFORMER, PaginationModule, PaginationPipe, paginationTransformer };
|
|
57
61
|
//# 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;QAArC,IAAW,CAAA,WAAA,GAAX,WAAW,CAA0B;QAE7C,IAAI,CAAC,WAAW,KAAhB,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;uFAAd,cAAc,EAAA,CAAA;cAJ1B,IAAI;AAAC,QAAA,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAA;;sBAII,QAAQ;;sBACR,MAAM;uBAAC,sBAAsB,CAAA;;;MCIrB,gBAAgB,CAAA;;gFAAhB,gBAAgB,GAAA,CAAA,EAAA,CAAA;kEAAhB,gBAAgB,EAAA,CAAA,CAAA;sEANzB,YAAY,CAAA,EAAA,CAAA,CAAA;uFAMH,gBAAgB,EAAA,CAAA;cAX5B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,YAAY,EAAE;oBACZ,cAAc;AACf,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,cAAc;AACf,iBAAA;AACF,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,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
|
this.transformer = transformer;
|
|
@@ -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;QAApC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QAE5C,IAAI,CAAC,WAAW,KAAhB,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;uFAAf,eAAe,EAAA,CAAA;cAJ3B,IAAI;AAAC,QAAA,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAA;;sBAII,QAAQ;;sBACR,MAAM;uBAAC,yBAAyB,CAAA;;;MCIxB,iBAAiB,CAAA;;kFAAjB,iBAAiB,GAAA,CAAA,EAAA,CAAA;mEAAjB,iBAAiB,EAAA,CAAA,CAAA;uEAN1B,YAAY,CAAA,EAAA,CAAA,CAAA;uFAMH,iBAAiB,EAAA,CAAA;cAX7B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,YAAY,EAAE;oBACZ,eAAe;AAChB,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,eAAe;AAChB,iBAAA;AACF,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,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;QAE3D,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,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,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,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,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;QAE3D,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,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,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,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,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;uFAEP,cAAc,EAAA,CAAA;cAH1B,UAAU;AAAC,QAAA,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,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) => ({ ...state, userId }));
|
|
14
14
|
this.setEntities = this.updater((state, entities) => ({ ...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;AAPH,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAO,CAAC,CAAC,CAAC;QAIzD,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,MAAM,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAC,CAAC,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;;;;"}
|
|
@@ -9,21 +9,12 @@ class PaginationStore extends ComponentStore {
|
|
|
9
9
|
super({ page: Page.from() });
|
|
10
10
|
this.page$ = this.select(state => state.page);
|
|
11
11
|
this.setPage = this.updater((state, page) => ({ ...state, page }));
|
|
12
|
-
this.setSortKey = this.updater((state, sortKey) => ({ ...state, page: this.page.patch({ sortKey }) }));
|
|
13
|
-
this.setSortOrder = this.updater((state, sortOrder) => ({ ...state, page: this.page.patch({ sortOrder }) }));
|
|
14
12
|
this.patch = this.updater((state, page) => ({ ...state, page: state.page.patch(page) }));
|
|
15
13
|
this.getPageLength = this.effect((entities$) => entities$.pipe(tap(({ length }) => this.setPage(this.page.patch({ length })))));
|
|
16
14
|
}
|
|
17
15
|
get page() { return this.get(state => state.page); }
|
|
18
|
-
get sortKey() { return this.page.sortKey; }
|
|
19
|
-
get sortOrder() { return this.page.sortOrder; }
|
|
20
16
|
get start() { return this.page.start; }
|
|
21
17
|
get end() { return this.page.end; }
|
|
22
|
-
changeSortFromEvent(sortKey, page = this.page) {
|
|
23
|
-
const reverse = (order) => order === 'asc' ? 'desc' : 'asc';
|
|
24
|
-
const sortOrder = sortKey === page.sortKey ? reverse(page.sortOrder) : 'asc';
|
|
25
|
-
this.patch({ sortKey, sortOrder });
|
|
26
|
-
}
|
|
27
18
|
}
|
|
28
19
|
PaginationStore.ɵfac = function PaginationStore_Factory(t) { return new (t || PaginationStore)(); };
|
|
29
20
|
PaginationStore.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PaginationStore, factory: PaginationStore.ɵfac });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-pagination.mjs","sources":["../../../../libs/common/src/stores/pagination/pagination.store.ts","../../../../libs/common/src/stores/pagination/ng-atomic-common-stores-pagination.ts"],"sourcesContent":["import { ComponentStore } from \"@ngrx/component-store\";\nimport { Page } from '@ng-atomic/common/utils/page';\nimport { Observable, tap } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-stores-pagination.mjs","sources":["../../../../libs/common/src/stores/pagination/pagination.store.ts","../../../../libs/common/src/stores/pagination/ng-atomic-common-stores-pagination.ts"],"sourcesContent":["import { ComponentStore } from \"@ngrx/component-store\";\nimport { Page } from '@ng-atomic/common/utils/page';\nimport { Observable, tap } from \"rxjs\";\nimport { Injectable } from \"@angular/core\";\n\nexport interface State {\n page: Page;\n}\n\n@Injectable()\nexport class PaginationStore extends ComponentStore<State> {\n constructor() {super({page: Page.from()})}\n\n get page() { return this.get(state => state.page); }\n get start() { return this.page.start; }\n get end() { return this.page.end; }\n\n page$ = this.select(state => state.page);\n\n setPage = this.updater((state, page: Page) => ({...state, page}));\n patch = this.updater((state, page: Partial<Page>) => ({...state, page: state.page.patch(page)}));\n \n getPageLength = this.effect((entities$: Observable<any[]>) => entities$.pipe(\n tap(({length}: any[]) => this.setPage(this.page.patch({length}))),\n ));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,eAAgB,SAAQ,cAAqB,CAAA;AACxD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAC,CAAC,CAAA;AAMzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAU,MAAM,EAAC,GAAG,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;AAClE,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAmB,MAAM,EAAC,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC;AAEjG,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAA4B,KAAK,SAAS,CAAC,IAAI,CAC1E,GAAG,CAAC,CAAC,EAAC,MAAM,EAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC,CAClE,CAAC,CAAC;KAbuC;AAE1C,IAAA,IAAI,IAAI,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;IACpD,IAAI,KAAK,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACvC,IAAI,GAAG,GAAK,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;;8EALxB,eAAe,GAAA,CAAA,EAAA,CAAA;AAAf,eAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,eAAe,WAAf,eAAe,CAAA,IAAA,EAAA,CAAA,CAAA;uFAAf,eAAe,EAAA,CAAA;cAD3B,UAAU;;;ACTX;;AAEG;;;;"}
|
|
@@ -11,6 +11,7 @@ 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) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-query.mjs","sources":["../../../../libs/common/src/stores/query/query.store.ts","../../../../libs/common/src/stores/query/ng-atomic-common-stores-query.ts"],"sourcesContent":["import { Inject, Injectable, Optional } from \"@angular/core\";\nimport { DOMAIN_LANG_MAP } from \"@ng-atomic/common/pipes/domain\";\nimport { QueryResolverService } from \"@ng-atomic/common/services/query-resolver\";\nimport { ComponentStore } from \"@ngrx/component-store\";\n\nexport interface QueryState {\n query: string;\n}\n\n@Injectable()\nexport class QueryStore<E> extends ComponentStore<QueryState> {\n constructor(\n protected queryResolver: QueryResolverService,\n @Optional() @Inject(DOMAIN_LANG_MAP) protected langMap: Record<string, string>,\n ) {\n super({query: ''});\n }\n\n get query(): string { return this.get().query; }\n query$ = this.select((state) => state.query);\n\n setQuery = this.updater((state, query: string) => ({...state, query}));\n\n resolve(entities: E[]): E[] {\n return this.queryResolver.resolve(entities, this.query, this.langMap);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-stores-query.mjs","sources":["../../../../libs/common/src/stores/query/query.store.ts","../../../../libs/common/src/stores/query/ng-atomic-common-stores-query.ts"],"sourcesContent":["import { Inject, Injectable, Optional } from \"@angular/core\";\nimport { DOMAIN_LANG_MAP } from \"@ng-atomic/common/pipes/domain\";\nimport { QueryResolverService } from \"@ng-atomic/common/services/query-resolver\";\nimport { ComponentStore } from \"@ngrx/component-store\";\n\nexport interface QueryState {\n query: string;\n}\n\n@Injectable()\nexport class QueryStore<E = any> extends ComponentStore<QueryState> {\n constructor(\n protected queryResolver: QueryResolverService,\n @Optional() @Inject(DOMAIN_LANG_MAP) protected langMap: Record<string, string>,\n ) {\n super({query: ''});\n this.langMap ??= {};\n }\n\n get query(): string { return this.get().query; }\n query$ = this.select((state) => state.query);\n\n setQuery = this.updater((state, query: string) => ({...state, query}));\n\n resolve(entities: E[]): E[] {\n return this.queryResolver.resolve(entities, this.query, this.langMap);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,UAAoB,SAAQ,cAA0B,CAAA;IACjE,WACY,CAAA,aAAmC,EACE,OAA+B,EAAA;AAE9E,QAAA,KAAK,CAAC,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC;QAHT,IAAa,CAAA,aAAA,GAAb,aAAa,CAAsB;QACE,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;AAOhF,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAa,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;QANrE,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,EAAE,CAAC,CAAA;KACrB;IAED,IAAI,KAAK,GAAa,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE;AAKhD,IAAA,OAAO,CAAC,QAAa,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACvE;;AAhBU,UAAA,CAAA,IAAA,GAAA,SAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,UAAU,oDAGC,eAAe,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAH1B,UAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,UAAU,WAAV,UAAU,CAAA,IAAA,EAAA,CAAA,CAAA;uFAAV,UAAU,EAAA,CAAA;cADtB,UAAU;;sBAIN,QAAQ;;sBAAI,MAAM;uBAAC,eAAe,CAAA;;;ACbvC;;AAEG;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
4
|
+
|
|
5
|
+
class SortStore extends ComponentStore {
|
|
6
|
+
constructor() {
|
|
7
|
+
super({ key: null, order: 'asc' });
|
|
8
|
+
this.state$ = this.select(state => state);
|
|
9
|
+
this.key$ = this.select(state => state.key);
|
|
10
|
+
this.order$ = this.select(state => state.order);
|
|
11
|
+
this.setKey = this.updater((state, key) => ({ ...state, key }));
|
|
12
|
+
this.setOrder = this.updater((state, order) => ({ ...state, order }));
|
|
13
|
+
}
|
|
14
|
+
get state() { return this.get(); }
|
|
15
|
+
get key() { return this.get().key; }
|
|
16
|
+
get order() { return this.get().order; }
|
|
17
|
+
changeSortFromEvent(key, state = this.state) {
|
|
18
|
+
const reverse = (order) => order === 'asc' ? 'desc' : 'asc';
|
|
19
|
+
const order = key === state.key ? reverse(state.order) : 'asc';
|
|
20
|
+
this.setKey(key);
|
|
21
|
+
this.setOrder(order);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
SortStore.ɵfac = function SortStore_Factory(t) { return new (t || SortStore)(); };
|
|
25
|
+
SortStore.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SortStore, factory: SortStore.ɵfac });
|
|
26
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortStore, [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}], function () { return []; }, null); })();
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Generated bundle index. Do not edit.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
export { SortStore };
|
|
35
|
+
//# sourceMappingURL=ng-atomic-common-stores-sort.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-stores-sort.mjs","sources":["../../../../libs/common/src/stores/sort/sort.store.ts","../../../../libs/common/src/stores/sort/ng-atomic-common-stores-sort.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable } from \"rxjs\";\n\nexport interface SortState {\n key: string;\n order: 'asc' | 'desc';\n}\n\n@Injectable()\nexport class SortStore extends ComponentStore<SortState> {\n constructor() {super({key: null, order: 'asc'})}\n\n get state() { return this.get(); }\n get key() { return this.get().key; }\n get order() { return this.get().order; }\n\n state$ = this.select(state => state);\n key$ = this.select(state => state.key);\n order$ = this.select(state => state.order);\n\n setKey = this.updater((state, key: string) => ({...state, key}));\n setOrder = this.updater((state, order: 'asc' | 'desc') => ({...state, order}));\n \n changeSortFromEvent(key: string, state: SortState = this.state) {\n const reverse = (order: 'asc' | 'desc') => order === 'asc' ? 'desc' : 'asc';\n const order = key === state.key ? reverse(state.order) : 'asc';\n this.setKey(key);\n this.setOrder(order);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUM,MAAO,SAAU,SAAQ,cAAyB,CAAA;AACtD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;QAM/C,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAW,MAAM,EAAC,GAAG,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC;QACjE,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAqB,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;KAX/B;IAEhD,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;IAClC,IAAI,GAAG,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;IACpC,IAAI,KAAK,GAAK,EAAA,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE;AASxC,IAAA,mBAAmB,CAAC,GAAW,EAAE,KAAmB,GAAA,IAAI,CAAC,KAAK,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAC,KAAqB,KAAK,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;QAC5E,MAAM,KAAK,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC/D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACtB;;kEAnBU,SAAS,GAAA,CAAA,EAAA,CAAA;AAAT,SAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,SAAS,WAAT,SAAS,CAAA,IAAA,EAAA,CAAA,CAAA;uFAAT,SAAS,EAAA,CAAA;cADrB,UAAU;;;ACTX;;AAEG;;;;"}
|
package/models/action.d.ts
CHANGED
package/models/action.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../libs/common/src/models/action.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../libs/common/src/models/action.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,oBAAY,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-atomic/common",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.16.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"module": "fesm2015/ng-atomic-common.mjs",
|
|
6
6
|
"es2020": "fesm2020/ng-atomic-common.mjs",
|
|
@@ -36,6 +36,14 @@
|
|
|
36
36
|
"node": "./fesm2015/ng-atomic-common-models.mjs",
|
|
37
37
|
"default": "./fesm2020/ng-atomic-common-models.mjs"
|
|
38
38
|
},
|
|
39
|
+
"./pipes/data-accessor": {
|
|
40
|
+
"types": "./pipes/data-accessor/index.d.ts",
|
|
41
|
+
"esm2020": "./esm2020/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.mjs",
|
|
42
|
+
"es2020": "./fesm2020/ng-atomic-common-pipes-data-accessor.mjs",
|
|
43
|
+
"es2015": "./fesm2015/ng-atomic-common-pipes-data-accessor.mjs",
|
|
44
|
+
"node": "./fesm2015/ng-atomic-common-pipes-data-accessor.mjs",
|
|
45
|
+
"default": "./fesm2020/ng-atomic-common-pipes-data-accessor.mjs"
|
|
46
|
+
},
|
|
39
47
|
"./pipes/domain": {
|
|
40
48
|
"types": "./pipes/domain/index.d.ts",
|
|
41
49
|
"esm2020": "./esm2020/pipes/domain/ng-atomic-common-pipes-domain.mjs",
|
|
@@ -164,6 +172,14 @@
|
|
|
164
172
|
"node": "./fesm2015/ng-atomic-common-stores-selection.mjs",
|
|
165
173
|
"default": "./fesm2020/ng-atomic-common-stores-selection.mjs"
|
|
166
174
|
},
|
|
175
|
+
"./stores/sort": {
|
|
176
|
+
"types": "./stores/sort/index.d.ts",
|
|
177
|
+
"esm2020": "./esm2020/stores/sort/ng-atomic-common-stores-sort.mjs",
|
|
178
|
+
"es2020": "./fesm2020/ng-atomic-common-stores-sort.mjs",
|
|
179
|
+
"es2015": "./fesm2015/ng-atomic-common-stores-sort.mjs",
|
|
180
|
+
"node": "./fesm2015/ng-atomic-common-stores-sort.mjs",
|
|
181
|
+
"default": "./fesm2020/ng-atomic-common-stores-sort.mjs"
|
|
182
|
+
},
|
|
167
183
|
"./utils": {
|
|
168
184
|
"types": "./utils/index.d.ts",
|
|
169
185
|
"esm2020": "./esm2020/utils/ng-atomic-common-utils.mjs",
|
|
@@ -191,8 +207,10 @@
|
|
|
191
207
|
"peerDependencies": {
|
|
192
208
|
"@angular/core": "^14.0.0",
|
|
193
209
|
"@angular/common": "^14.0.0",
|
|
210
|
+
"dayjs": "^1.11.7",
|
|
194
211
|
"flat": "^5.0.2",
|
|
195
212
|
"rxjs": "7.5.0",
|
|
213
|
+
"@angular/material": "^14.0.0",
|
|
196
214
|
"@ngrx/component-store": "14.0.2"
|
|
197
215
|
}
|
|
198
216
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare type DataAccessor<T> = (obj: T, key: string) => string;
|
|
4
|
+
export declare const DATA_ACCESSOR: InjectionToken<DataAccessor<any>>;
|
|
5
|
+
export declare const defaultDataAccessor: DataAccessor<any>;
|
|
6
|
+
export declare class DataAccessorPipe<T> {
|
|
7
|
+
protected dataAccessor: DataAccessor<T>;
|
|
8
|
+
constructor(dataAccessor: DataAccessor<T>);
|
|
9
|
+
transform(data: T, key: string): string;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataAccessorPipe<any>, [{ optional: true; }]>;
|
|
11
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<DataAccessorPipe<any>, "dataAccessor", true>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data-accessor.pipe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-accessor.pipe.d.ts","sourceRoot":"","sources":["../../../../../libs/common/src/pipes/data-accessor/data-accessor.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAkB,MAAM,eAAe,CAAC;;AAGvE,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAC9D,eAAO,MAAM,aAAa,mCAAyD,CAAC;AACpF,eAAO,MAAM,mBAAmB,EAAE,YAAY,CAAC,GAAG,CAAqC,CAAC;AAExF,qBAKa,gBAAgB,CAAC,CAAC;IAGQ,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;gBAA7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAK5E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;yCARnB,gBAAgB;uCAAhB,gBAAgB;CAW5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../libs/common/src/pipes/data-accessor/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-data-accessor.d.ts","sourceRoot":"","sources":["../../../../../libs/common/src/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../libs/common/src/pipes/pagination/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../libs/common/src/pipes/pagination/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { InjectionToken, PipeTransform } from '@angular/core';
|
|
2
|
+
import { PaginationTransformer } from './pagination.transformer';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare
|
|
4
|
+
export declare const PAGINATION_TRANSFORMER: InjectionToken<unknown>;
|
|
5
|
+
export declare class PaginationPipe<E> implements PipeTransform {
|
|
5
6
|
private transformer;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
transform<T>(items: T[], { sortKey, sortOrder, start, end }: {
|
|
7
|
+
constructor(transformer: PaginationTransformer<E>);
|
|
8
|
+
transform(items: E[], { sortKey, sortOrder, start, end }: {
|
|
9
9
|
sortKey: string;
|
|
10
10
|
sortOrder: 'asc' | 'desc';
|
|
11
11
|
start: number;
|
|
12
12
|
end: number;
|
|
13
|
-
}):
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PaginationPipe
|
|
15
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<PaginationPipe
|
|
13
|
+
}): E[];
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PaginationPipe<any>, [{ optional: true; }]>;
|
|
15
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<PaginationPipe<any>, "pagination", false>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=pagination.pipe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.pipe.d.ts","sourceRoot":"","sources":["../../../../../libs/common/src/pipes/pagination/pagination.pipe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pagination.pipe.d.ts","sourceRoot":"","sources":["../../../../../libs/common/src/pipes/pagination/pagination.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAkB,aAAa,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAyB,MAAM,0BAA0B,CAAC;;AAExF,eAAO,MAAM,sBAAsB,yBAAkE,CAAC;AAEtG,qBAIa,cAAc,CAAC,CAAC,CAAE,YAAW,aAAa;IAKnD,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAK/C,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAC,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC;yCAVrH,cAAc;uCAAd,cAAc;CAa1B"}
|