@meshmakers/shared-services 2.1.17-0 → 3.1.26-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/esm2022/lib/dataSources/autoCompleteDataSource.mjs +2 -0
  2. package/esm2022/lib/dataSources/dataSourceBase.mjs +31 -0
  3. package/esm2022/lib/dataSources/entitySelectDataSource.mjs +2 -0
  4. package/esm2022/lib/dataSources/genericDataSource.mjs +19 -0
  5. package/{esm2020 → esm2022}/lib/models/autoCompleteResult.mjs +3 -1
  6. package/{esm2020 → esm2022}/lib/models/errorMessage.mjs +3 -1
  7. package/esm2022/lib/models/pagedResultDto.mjs +13 -0
  8. package/esm2022/lib/services/message.service.mjs +46 -0
  9. package/esm2022/lib/shared/enumReader.mjs +22 -0
  10. package/esm2022/lib/shared/isoDateTime.mjs +19 -0
  11. package/esm2022/lib/shared/objectCloner.mjs +23 -0
  12. package/esm2022/lib/shared-services.module.mjs +23 -0
  13. package/{esm2020 → esm2022}/public-api.mjs +1 -1
  14. package/{fesm2020 → fesm2022}/meshmakers-shared-services.mjs +54 -48
  15. package/fesm2022/meshmakers-shared-services.mjs.map +1 -0
  16. package/lib/dataSources/autoCompleteDataSource.d.ts +4 -4
  17. package/lib/dataSources/dataSourceBase.d.ts +6 -6
  18. package/lib/dataSources/entitySelectDataSource.d.ts +5 -5
  19. package/lib/dataSources/genericDataSource.d.ts +5 -5
  20. package/lib/models/autoCompleteResult.d.ts +1 -1
  21. package/lib/models/pagedResultDto.d.ts +1 -1
  22. package/lib/services/message.service.d.ts +5 -5
  23. package/lib/shared/enumReader.d.ts +3 -3
  24. package/package.json +8 -14
  25. package/esm2020/lib/dataSources/autoCompleteDataSource.mjs +0 -2
  26. package/esm2020/lib/dataSources/dataSourceBase.mjs +0 -34
  27. package/esm2020/lib/dataSources/entitySelectDataSource.mjs +0 -2
  28. package/esm2020/lib/dataSources/genericDataSource.mjs +0 -18
  29. package/esm2020/lib/models/pagedResultDto.mjs +0 -9
  30. package/esm2020/lib/services/message.service.mjs +0 -43
  31. package/esm2020/lib/shared/enumReader.mjs +0 -21
  32. package/esm2020/lib/shared/isoDateTime.mjs +0 -19
  33. package/esm2020/lib/shared/objectCloner.mjs +0 -25
  34. package/esm2020/lib/shared-services.module.mjs +0 -25
  35. package/fesm2015/meshmakers-shared-services.mjs +0 -206
  36. package/fesm2015/meshmakers-shared-services.mjs.map +0 -1
  37. package/fesm2020/meshmakers-shared-services.mjs.map +0 -1
  38. /package/{esm2020 → esm2022}/meshmakers-shared-services.mjs +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0NvbXBsZXRlRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvYXV0b0NvbXBsZXRlRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlUmVzdWx0IH0gZnJvbSAnLi4vbW9kZWxzL2F1dG9Db21wbGV0ZVJlc3VsdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0NvbXBsZXRlRGF0YVNvdXJjZSB7XG4gIG9uRmlsdGVyOiAoZmlsdGVyOiBzdHJpbmcpID0+IE9ic2VydmFibGU8QXV0b0NvbXBsZXRlUmVzdWx0PjtcblxuICBvblByZXByb2Nlc3NTZWFyY2hTdHJpbmc6IChzZWFyY2g6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,31 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ export class DataSourceBase {
3
+ dataSubject = new BehaviorSubject([]);
4
+ loadingSubject = new BehaviorSubject(false);
5
+ totalCountSubject = new BehaviorSubject(0);
6
+ loading$ = this.loadingSubject.asObservable();
7
+ totalCount$ = this.totalCountSubject.asObservable();
8
+ get totalCount() {
9
+ return this.totalCount$;
10
+ }
11
+ connect(collectionViewer) {
12
+ return this.dataSubject.asObservable();
13
+ }
14
+ disconnect(collectionViewer) {
15
+ this.clear();
16
+ }
17
+ clear() {
18
+ this.loadingSubject?.next(false);
19
+ this.dataSubject?.next([]);
20
+ this.totalCountSubject?.next(0);
21
+ }
22
+ onBeginLoad() {
23
+ this.loadingSubject?.next(true);
24
+ }
25
+ onCompleteLoad(pagedResult) {
26
+ this.loadingSubject?.next(false);
27
+ this.dataSubject?.next(pagedResult.list);
28
+ this.totalCountSubject?.next(pagedResult.totalCount);
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVNvdXJjZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2RhdGFTb3VyY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJbkQsTUFBTSxPQUFPLGNBQWM7SUFDUixXQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3JELGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXBELFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFcEUsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxDQUFDLGdCQUFrQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxnQkFBa0M7UUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUyxjQUFjLENBQUMsV0FBaUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBQYWdlZFJlc3VsdER0byB9IGZyb20gJy4uL21vZGVscy9wYWdlZFJlc3VsdER0byc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlQmFzZTxURHRvPiBpbXBsZW1lbnRzIERhdGFTb3VyY2U8VER0bz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxURHRvW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvdGFsQ291bnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuXG4gIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJCA9IHRoaXMubG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyByZWFkb25seSB0b3RhbENvdW50JCA9IHRoaXMudG90YWxDb3VudFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGdldCB0b3RhbENvdW50KCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMudG90YWxDb3VudCQ7XG4gIH1cblxuICBjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFREdG9bXT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZGlzY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhcigpO1xuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdD8ubmV4dChmYWxzZSk7XG4gICAgdGhpcy5kYXRhU3ViamVjdD8ubmV4dChbXSk7XG4gICAgdGhpcy50b3RhbENvdW50U3ViamVjdD8ubmV4dCgwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkJlZ2luTG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Py5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ29tcGxldGVMb2FkKHBhZ2VkUmVzdWx0OiBQYWdlZFJlc3VsdER0bzxURHRvPik6IHZvaWQge1xuICAgIHRoaXMubG9hZGluZ1N1YmplY3Q/Lm5leHQoZmFsc2UpO1xuICAgIHRoaXMuZGF0YVN1YmplY3Q/Lm5leHQocGFnZWRSZXN1bHQubGlzdCk7XG4gICAgdGhpcy50b3RhbENvdW50U3ViamVjdD8ubmV4dChwYWdlZFJlc3VsdC50b3RhbENvdW50KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5U2VsZWN0RGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFnZWRSZXN1bHREdG8gfSBmcm9tICcuLi9tb2RlbHMvcGFnZWRSZXN1bHREdG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdERhdGFTb3VyY2U8VD4ge1xuICBvbkZpbHRlcjogKGZpbHRlcjogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPFBhZ2VkUmVzdWx0RHRvPFQ+PjtcblxuICBvbkRpc3BsYXlFbnRpdHk6IChlbnRpdHk6IFQpID0+IHN0cmluZztcblxuICBnZXRJZEVudGl0eTogKGVudGl0eTogVCkgPT4gYW55O1xufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ export class GenericDataSource {
3
+ data;
4
+ dataSubject = new BehaviorSubject([]);
5
+ constructor(data) {
6
+ this.data = data;
7
+ this.dataSubject.next(data);
8
+ }
9
+ emitChanged() {
10
+ this.dataSubject.next(this.data);
11
+ }
12
+ connect(collectionViewer) {
13
+ return this.dataSubject.asObservable();
14
+ }
15
+ disconnect(collectionViewer) {
16
+ this.dataSubject.complete();
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY0RhdGFTb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2dlbmVyaWNEYXRhU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUdUO0lBRkYsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRWxFLFlBQW1CLElBQWU7UUFBZixTQUFJLEdBQUosSUFBSSxDQUFXO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsZ0JBQWtDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVSxDQUFDLGdCQUFrQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5cbmV4cG9ydCBjbGFzcyBHZW5lcmljRGF0YVNvdXJjZTxURW50aXR5PiBpbXBsZW1lbnRzIERhdGFTb3VyY2U8VEVudGl0eT4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxURW50aXR5W10+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogVEVudGl0eVtdKSB7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgZW1pdENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHRoaXMuZGF0YSk7XG4gIH1cblxuICBjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiBPYnNlcnZhYmxlPFRFbnRpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZGlzY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,5 @@
1
1
  export class AutoCompleteResult {
2
+ searchTerm;
3
+ list;
2
4
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0NvbXBsZXRlUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvYXV0b0NvbXBsZXRlUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7Q0FLOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlUmVzdWx0IHtcblxuICBzZWFyY2hUZXJtPzogc3RyaW5nO1xuXG4gIGxpc3Q/OiBBcnJheTxzdHJpbmc+O1xufVxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0NvbXBsZXRlUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvYXV0b0NvbXBsZXRlUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsVUFBVSxDQUFVO0lBRXBCLElBQUksQ0FBWTtDQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVSZXN1bHQge1xuICBzZWFyY2hUZXJtPzogc3RyaW5nO1xuXG4gIGxpc3Q/OiBzdHJpbmdbXTtcbn1cbiJdfQ==
@@ -1,3 +1,5 @@
1
1
  export class ErrorMessage {
2
+ title;
3
+ message;
2
4
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvZXJyb3JNZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0NBR3hCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvZXJyb3JNZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLEtBQUssQ0FBVTtJQUNmLE9BQU8sQ0FBVTtDQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFcnJvck1lc3NhZ2Uge1xuICB0aXRsZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ export class PagedResultDto {
2
+ skip;
3
+ take;
4
+ totalCount;
5
+ list;
6
+ constructor() {
7
+ this.skip = 0;
8
+ this.take = 0;
9
+ this.totalCount = 0;
10
+ this.list = new Array();
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRSZXN1bHREdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZFJlc3VsdER0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQUN6QixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDYixVQUFVLENBQVM7SUFDbkIsSUFBSSxDQUFNO0lBRVY7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssRUFBSyxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQYWdlZFJlc3VsdER0bzxUPiB7XG4gIHNraXA6IG51bWJlcjtcbiAgdGFrZTogbnVtYmVyO1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIGxpc3Q6IFRbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNraXAgPSAwO1xuICAgIHRoaXMudGFrZSA9IDA7XG4gICAgdGhpcy50b3RhbENvdW50ID0gMDtcbiAgICB0aGlzLmxpc3QgPSBuZXcgQXJyYXk8VD4oKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,46 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/snack-bar";
5
+ export class MessageService {
6
+ snackBar;
7
+ latestErrorMessage;
8
+ errorMessages;
9
+ constructor(snackBar) {
10
+ this.snackBar = snackBar;
11
+ this.latestErrorMessage = new BehaviorSubject(null);
12
+ this.errorMessages = new Array();
13
+ }
14
+ getErrorMessageCount() {
15
+ return this.errorMessages.length;
16
+ }
17
+ getErrorMessage(index) {
18
+ return this.errorMessages[index];
19
+ }
20
+ getLatestErrorMessage() {
21
+ return this.latestErrorMessage.asObservable();
22
+ }
23
+ showError(message, title) {
24
+ console.error(message);
25
+ const errorMessage = {
26
+ title,
27
+ message
28
+ };
29
+ this.errorMessages.push(errorMessage);
30
+ this.latestErrorMessage.next(errorMessage);
31
+ }
32
+ showInformation(message) {
33
+ this.snackBar.open(message, undefined, {
34
+ duration: 3000,
35
+ // here specify the position
36
+ horizontalPosition: 'center',
37
+ verticalPosition: 'bottom'
38
+ });
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MessageService });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MessageService, decorators: [{
44
+ type: Injectable
45
+ }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFJbkQsTUFBTSxPQUFPLGNBQWM7SUFLSTtJQUo3QixrQkFBa0IsQ0FBdUM7SUFFekQsYUFBYSxDQUFpQjtJQUU5QixZQUE2QixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBZ0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZSxFQUFFLEtBQWE7UUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2QixNQUFNLFlBQVksR0FBaUI7WUFDakMsS0FBSztZQUNMLE9BQU87U0FDUixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRTtZQUNyQyxRQUFRLEVBQUUsSUFBSTtZQUNkLDRCQUE0QjtZQUM1QixrQkFBa0IsRUFBRSxRQUFRO1lBQzVCLGdCQUFnQixFQUFFLFFBQVE7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0F6Q1UsY0FBYzsyR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9tb2RlbHMvZXJyb3JNZXNzYWdlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIHtcbiAgbGF0ZXN0RXJyb3JNZXNzYWdlOiBCZWhhdmlvclN1YmplY3Q8RXJyb3JNZXNzYWdlIHwgbnVsbD47XG5cbiAgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzbmFja0JhcjogTWF0U25hY2tCYXIpIHtcbiAgICB0aGlzLmxhdGVzdEVycm9yTWVzc2FnZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RXJyb3JNZXNzYWdlIHwgbnVsbD4obnVsbCk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gbmV3IEFycmF5PEVycm9yTWVzc2FnZT4oKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGg7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoaW5kZXg6IG51bWJlcik6IEVycm9yTWVzc2FnZSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlc1tpbmRleF07XG4gIH1cblxuICBnZXRMYXRlc3RFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxFcnJvck1lc3NhZ2UgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0RXJyb3JNZXNzYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2hvd0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG5cbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSA8RXJyb3JNZXNzYWdlPntcbiAgICAgIHRpdGxlLFxuICAgICAgbWVzc2FnZVxuICAgIH07XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goZXJyb3JNZXNzYWdlKTtcblxuICAgIHRoaXMubGF0ZXN0RXJyb3JNZXNzYWdlLm5leHQoZXJyb3JNZXNzYWdlKTtcbiAgfVxuXG4gIHNob3dJbmZvcm1hdGlvbihtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgdW5kZWZpbmVkLCB7XG4gICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIC8vIGhlcmUgc3BlY2lmeSB0aGUgcG9zaXRpb25cbiAgICAgIGhvcml6b250YWxQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAnYm90dG9tJ1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ export class EnumTuple {
2
+ id;
3
+ name;
4
+ }
5
+ export class EnumReader {
6
+ value;
7
+ constructor(value) {
8
+ this.value = value;
9
+ }
10
+ getNamesAndValues() {
11
+ return this.getNames().map((n) => {
12
+ return { name: this.value[n], id: n };
13
+ });
14
+ }
15
+ getNames() {
16
+ return Object.keys(this.value);
17
+ }
18
+ getObjValues() {
19
+ return Object.keys(this.value).map((k) => this.value[k]);
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bVJlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvc2hhcmVkL2VudW1SZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7SUFDcEIsRUFBRSxDQUFxQjtJQUN2QixJQUFJLENBQXFCO0NBQzFCO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFDUTtJQUE3QixZQUE2QixLQUE2QjtRQUE3QixVQUFLLEdBQUwsS0FBSyxDQUF3QjtJQUFHLENBQUM7SUFFdkQsaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9CLE9BQTBCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVudW1UdXBsZTxUVmFsdWUgPSBudW1iZXI+IHtcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgbmFtZTogVFZhbHVlIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY2xhc3MgRW51bVJlYWRlcjxUVmFsdWUgPSBudW1iZXI+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2YWx1ZTogUmVjb3JkPHN0cmluZywgVFZhbHVlPikge31cblxuICBwdWJsaWMgZ2V0TmFtZXNBbmRWYWx1ZXMoKTogQXJyYXk8RW51bVR1cGxlPFRWYWx1ZT4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXROYW1lcygpLm1hcCgobikgPT4ge1xuICAgICAgcmV0dXJuIDxFbnVtVHVwbGU8VFZhbHVlPj57IG5hbWU6IHRoaXMudmFsdWVbbl0sIGlkOiBuIH07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2JqVmFsdWVzKCk6IFRWYWx1ZVtdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy52YWx1ZSkubWFwKChrKSA9PiB0aGlzLnZhbHVlW2tdKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { formatISO, parseISO } from 'date-fns';
2
+ export class IsoDateTime {
3
+ static utcToLocalDateTimeIso(utcDateTime) {
4
+ if (!utcDateTime) {
5
+ return null;
6
+ }
7
+ return parseISO(utcDateTime).toISOString();
8
+ }
9
+ static localToUtcDateTimeIso(localDateTime) {
10
+ if (!localDateTime) {
11
+ return null;
12
+ }
13
+ return formatISO(localDateTime);
14
+ }
15
+ static currentUtcDateTimeIso() {
16
+ return formatISO(Date.now());
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvRGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9pc29EYXRlVGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQyxNQUFNLE9BQU8sV0FBVztJQUNmLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxXQUFtQjtRQUNyRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFxQjtRQUN2RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUI7UUFDakMsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0SVNPLCBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IGNsYXNzIElzb0RhdGVUaW1lIHtcbiAgcHVibGljIHN0YXRpYyB1dGNUb0xvY2FsRGF0ZVRpbWVJc28odXRjRGF0ZVRpbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghdXRjRGF0ZVRpbWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJzZUlTTyh1dGNEYXRlVGltZSkudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbG9jYWxUb1V0Y0RhdGVUaW1lSXNvKGxvY2FsRGF0ZVRpbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghbG9jYWxEYXRlVGltZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRJU08obG9jYWxEYXRlVGltZSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGN1cnJlbnRVdGNEYXRlVGltZUlzbygpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXRJU08oRGF0ZS5ub3coKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ export class ObjectCloner {
2
+ static cloneObject(source, ignoreProperties = null) {
3
+ const clonedObject = Object.assign({}, source);
4
+ if (ignoreProperties != null) {
5
+ for (const prop of ignoreProperties) {
6
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
7
+ delete clonedObject[prop];
8
+ }
9
+ }
10
+ return clonedObject;
11
+ }
12
+ static cloneObject2(source, source2, ignoreProperties = null) {
13
+ const clonedObject = Object.assign({}, source, source2);
14
+ if (ignoreProperties != null) {
15
+ for (const prop of ignoreProperties) {
16
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
17
+ delete clonedObject[prop];
18
+ }
19
+ }
20
+ return clonedObject;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0Q2xvbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQVUsTUFBVyxFQUFFLG1CQUFvQyxJQUFJO1FBQ3RGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXRELElBQUksZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDN0IsS0FBSyxNQUFNLElBQUksSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNwQyxnRUFBZ0U7Z0JBQ2hFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBVyxZQUFZLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQWUsTUFBVyxFQUFFLE9BQVksRUFBRSxtQkFBb0MsSUFBSTtRQUMxRyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFL0QsSUFBSSxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM3QixLQUFLLE1BQU0sSUFBSSxJQUFJLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3BDLGdFQUFnRTtnQkFDaEUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFXLFlBQVksQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgT2JqZWN0Q2xvbmVyIHtcbiAgcHVibGljIHN0YXRpYyBjbG9uZU9iamVjdDxUUiwgVFMxPihzb3VyY2U6IFRTMSwgaWdub3JlUHJvcGVydGllczogc3RyaW5nW10gfCBudWxsID0gbnVsbCk6IFRSIHtcbiAgICBjb25zdCBjbG9uZWRPYmplY3QgPSBPYmplY3QuYXNzaWduKHt9IGFzIGFueSwgc291cmNlKTtcblxuICAgIGlmIChpZ25vcmVQcm9wZXJ0aWVzICE9IG51bGwpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBpZ25vcmVQcm9wZXJ0aWVzKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGVcbiAgICAgICAgZGVsZXRlIGNsb25lZE9iamVjdFtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIDxUUj5jbG9uZWRPYmplY3Q7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNsb25lT2JqZWN0MjxUUiwgVFMxLCBUUzI+KHNvdXJjZTogVFMxLCBzb3VyY2UyOiBUUzIsIGlnbm9yZVByb3BlcnRpZXM6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGwpOiBUUiB7XG4gICAgY29uc3QgY2xvbmVkT2JqZWN0ID0gT2JqZWN0LmFzc2lnbih7fSBhcyBhbnksIHNvdXJjZSwgc291cmNlMik7XG5cbiAgICBpZiAoaWdub3JlUHJvcGVydGllcyAhPSBudWxsKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgaWdub3JlUHJvcGVydGllcykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlXG4gICAgICAgIGRlbGV0ZSBjbG9uZWRPYmplY3RbcHJvcF07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiA8VFI+Y2xvbmVkT2JqZWN0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { MessageService } from './services/message.service';
3
+ import * as i0 from "@angular/core";
4
+ export class SharedServicesModule {
5
+ static forRoot() {
6
+ return {
7
+ ngModule: SharedServicesModule,
8
+ providers: [MessageService]
9
+ };
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule });
13
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [],
19
+ imports: [],
20
+ exports: []
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXNlcnZpY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvc2hhcmVkLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7U0FDNUIsQ0FBQztJQUNKLENBQUM7dUdBTlUsb0JBQW9CO3dHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRTZXJ2aWNlc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2hhcmVkU2VydmljZXNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFNoYXJlZFNlcnZpY2VzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -13,4 +13,4 @@ export * from './lib/dataSources/autoCompleteDataSource';
13
13
  export * from './lib/shared/isoDateTime';
14
14
  export * from './lib/shared/enumReader';
15
15
  export * from './lib/shared/objectCloner';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNoYXJlZC1zZXJ2aWNlc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC1zZXJ2aWNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hdXRvQ29tcGxldGVSZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Vycm9yTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGFnZWRSZXN1bHREdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZGF0YVNvdXJjZUJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZ2VuZXJpY0RhdGFTb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhU291cmNlcy9hdXRvQ29tcGxldGVEYXRhU291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9pc29EYXRlVGltZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvZW51bVJlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyJztcblxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNoYXJlZC1zZXJ2aWNlc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC1zZXJ2aWNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hdXRvQ29tcGxldGVSZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Vycm9yTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGFnZWRSZXN1bHREdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZGF0YVNvdXJjZUJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZ2VuZXJpY0RhdGFTb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhU291cmNlcy9hdXRvQ29tcGxldGVEYXRhU291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9pc29EYXRlVGltZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvZW51bVJlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyJztcbiJdfQ==
@@ -2,9 +2,12 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, NgModule } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import * as i1 from '@angular/material/snack-bar';
5
- import * as moment from 'moment';
5
+ import { parseISO, formatISO } from 'date-fns';
6
6
 
7
7
  class MessageService {
8
+ snackBar;
9
+ latestErrorMessage;
10
+ errorMessages;
8
11
  constructor(snackBar) {
9
12
  this.snackBar = snackBar;
10
13
  this.latestErrorMessage = new BehaviorSubject(null);
@@ -22,8 +25,8 @@ class MessageService {
22
25
  showError(message, title) {
23
26
  console.error(message);
24
27
  const errorMessage = {
25
- title: title,
26
- message: message
28
+ title,
29
+ message
27
30
  };
28
31
  this.errorMessages.push(errorMessage);
29
32
  this.latestErrorMessage.next(errorMessage);
@@ -32,31 +35,29 @@ class MessageService {
32
35
  this.snackBar.open(message, undefined, {
33
36
  duration: 3000,
34
37
  // here specify the position
35
- horizontalPosition: "center",
38
+ horizontalPosition: 'center',
36
39
  verticalPosition: 'bottom'
37
40
  });
38
41
  }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
43
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MessageService });
39
44
  }
40
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
41
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MessageService, decorators: [{
43
46
  type: Injectable
44
- }], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
47
+ }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
45
48
 
46
49
  class SharedServicesModule {
47
50
  static forRoot() {
48
51
  return {
49
52
  ngModule: SharedServicesModule,
50
- providers: [
51
- MessageService
52
- ]
53
+ providers: [MessageService]
53
54
  };
54
55
  }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule });
58
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule });
55
59
  }
56
- SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule });
58
- SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SharedServicesModule, decorators: [{
60
61
  type: NgModule,
61
62
  args: [{
62
63
  declarations: [],
@@ -66,12 +67,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
66
67
  }] });
67
68
 
68
69
  class AutoCompleteResult {
70
+ searchTerm;
71
+ list;
69
72
  }
70
73
 
71
74
  class ErrorMessage {
75
+ title;
76
+ message;
72
77
  }
73
78
 
74
79
  class PagedResultDto {
80
+ skip;
81
+ take;
82
+ totalCount;
83
+ list;
75
84
  constructor() {
76
85
  this.skip = 0;
77
86
  this.take = 0;
@@ -81,13 +90,11 @@ class PagedResultDto {
81
90
  }
82
91
 
83
92
  class DataSourceBase {
84
- constructor() {
85
- this.dataSubject = new BehaviorSubject([]);
86
- this.loadingSubject = new BehaviorSubject(false);
87
- this.loading$ = this.loadingSubject.asObservable();
88
- this.totalCountSubject = new BehaviorSubject(0);
89
- this.totalCount$ = this.totalCountSubject.asObservable();
90
- }
93
+ dataSubject = new BehaviorSubject([]);
94
+ loadingSubject = new BehaviorSubject(false);
95
+ totalCountSubject = new BehaviorSubject(0);
96
+ loading$ = this.loadingSubject.asObservable();
97
+ totalCount$ = this.totalCountSubject.asObservable();
91
98
  get totalCount() {
92
99
  return this.totalCount$;
93
100
  }
@@ -95,28 +102,28 @@ class DataSourceBase {
95
102
  return this.dataSubject.asObservable();
96
103
  }
97
104
  disconnect(collectionViewer) {
98
- this.dataSubject.complete();
99
- this.loadingSubject.complete();
105
+ this.clear();
100
106
  }
101
107
  clear() {
102
- this.loadingSubject.next(false);
103
- this.dataSubject.next([]);
104
- this.totalCountSubject.next(0);
108
+ this.loadingSubject?.next(false);
109
+ this.dataSubject?.next([]);
110
+ this.totalCountSubject?.next(0);
105
111
  }
106
112
  onBeginLoad() {
107
- this.loadingSubject.next(true);
113
+ this.loadingSubject?.next(true);
108
114
  }
109
115
  onCompleteLoad(pagedResult) {
110
- this.loadingSubject.next(false);
111
- this.dataSubject.next(pagedResult.list);
112
- this.totalCountSubject.next(pagedResult.totalCount);
116
+ this.loadingSubject?.next(false);
117
+ this.dataSubject?.next(pagedResult.list);
118
+ this.totalCountSubject?.next(pagedResult.totalCount);
113
119
  }
114
120
  }
115
121
 
116
122
  class GenericDataSource {
123
+ data;
124
+ dataSubject = new BehaviorSubject([]);
117
125
  constructor(data) {
118
126
  this.data = data;
119
- this.dataSubject = new BehaviorSubject([]);
120
127
  this.dataSubject.next(data);
121
128
  }
122
129
  emitChanged() {
@@ -135,28 +142,30 @@ class IsoDateTime {
135
142
  if (!utcDateTime) {
136
143
  return null;
137
144
  }
138
- return moment(utcDateTime).local().format("YYYY-MM-DDTHH:mm:ss");
145
+ return parseISO(utcDateTime).toISOString();
139
146
  }
140
147
  static localToUtcDateTimeIso(localDateTime) {
141
148
  if (!localDateTime) {
142
149
  return null;
143
150
  }
144
- return moment(localDateTime).toISOString();
151
+ return formatISO(localDateTime);
145
152
  }
146
153
  static currentUtcDateTimeIso() {
147
- return moment(Date.now()).toISOString();
154
+ return formatISO(Date.now());
148
155
  }
149
156
  }
150
157
 
151
158
  class EnumTuple {
159
+ id;
160
+ name;
152
161
  }
153
162
  class EnumReader {
163
+ value;
154
164
  constructor(value) {
155
165
  this.value = value;
156
166
  }
157
167
  getNamesAndValues() {
158
168
  return this.getNames().map((n) => {
159
- // @ts-ignore
160
169
  return { name: this.value[n], id: n };
161
170
  });
162
171
  }
@@ -164,29 +173,26 @@ class EnumReader {
164
173
  return Object.keys(this.value);
165
174
  }
166
175
  getObjValues() {
167
- // @ts-ignore
168
- return Object.keys(this.value).map(k => this.value[k]);
176
+ return Object.keys(this.value).map((k) => this.value[k]);
169
177
  }
170
178
  }
171
179
 
172
180
  class ObjectCloner {
173
181
  static cloneObject(source, ignoreProperties = null) {
174
- // @ts-ignore
175
- let clonedObject = Object.assign({}, source);
176
- if (ignoreProperties) {
177
- for (let prop of ignoreProperties) {
178
- // @ts-ignore
182
+ const clonedObject = Object.assign({}, source);
183
+ if (ignoreProperties != null) {
184
+ for (const prop of ignoreProperties) {
185
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
179
186
  delete clonedObject[prop];
180
187
  }
181
188
  }
182
189
  return clonedObject;
183
190
  }
184
191
  static cloneObject2(source, source2, ignoreProperties = null) {
185
- // @ts-ignore
186
- let clonedObject = Object.assign({}, source, source2);
187
- if (ignoreProperties) {
188
- for (let prop of ignoreProperties) {
189
- // @ts-ignore
192
+ const clonedObject = Object.assign({}, source, source2);
193
+ if (ignoreProperties != null) {
194
+ for (const prop of ignoreProperties) {
195
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
190
196
  delete clonedObject[prop];
191
197
  }
192
198
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meshmakers-shared-services.mjs","sources":["../../../../projects/meshmakers/shared-services/src/lib/services/message.service.ts","../../../../projects/meshmakers/shared-services/src/lib/shared-services.module.ts","../../../../projects/meshmakers/shared-services/src/lib/models/autoCompleteResult.ts","../../../../projects/meshmakers/shared-services/src/lib/models/errorMessage.ts","../../../../projects/meshmakers/shared-services/src/lib/models/pagedResultDto.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/dataSourceBase.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/genericDataSource.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/isoDateTime.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/enumReader.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/objectCloner.ts","../../../../projects/meshmakers/shared-services/src/public-api.ts","../../../../projects/meshmakers/shared-services/src/meshmakers-shared-services.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ErrorMessage } from '../models/errorMessage';\n\n@Injectable()\nexport class MessageService {\n latestErrorMessage: BehaviorSubject<ErrorMessage | null>;\n\n errorMessages: ErrorMessage[];\n\n constructor(private readonly snackBar: MatSnackBar) {\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage | null>(null);\n this.errorMessages = new Array<ErrorMessage>();\n }\n\n getErrorMessageCount(): number {\n return this.errorMessages.length;\n }\n\n getErrorMessage(index: number): ErrorMessage {\n return this.errorMessages[index];\n }\n\n getLatestErrorMessage(): Observable<ErrorMessage | null> {\n return this.latestErrorMessage.asObservable();\n }\n\n showError(message: string, title: string): void {\n console.error(message);\n\n const errorMessage = <ErrorMessage>{\n title,\n message\n };\n this.errorMessages.push(errorMessage);\n\n this.latestErrorMessage.next(errorMessage);\n }\n\n showInformation(message: string): void {\n this.snackBar.open(message, undefined, {\n duration: 3000,\n // here specify the position\n horizontalPosition: 'center',\n verticalPosition: 'bottom'\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { MessageService } from './services/message.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class SharedServicesModule {\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\n return {\n ngModule: SharedServicesModule,\n providers: [MessageService]\n };\n }\n}\n","export class AutoCompleteResult {\n searchTerm?: string;\n\n list?: string[];\n}\n","export class ErrorMessage {\n title?: string;\n message?: string;\n}\n","export class PagedResultDto<T> {\n skip: number;\n take: number;\n totalCount: number;\n list: T[];\n\n constructor() {\n this.skip = 0;\n this.take = 0;\n this.totalCount = 0;\n this.list = new Array<T>();\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { PagedResultDto } from '../models/pagedResultDto';\n\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\n private readonly dataSubject = new BehaviorSubject<TDto[]>([]);\n private readonly loadingSubject = new BehaviorSubject<boolean>(false);\n private readonly totalCountSubject = new BehaviorSubject<number>(0);\n\n public readonly loading$ = this.loadingSubject.asObservable();\n public readonly totalCount$ = this.totalCountSubject.asObservable();\n\n public get totalCount(): Observable<number> {\n return this.totalCount$;\n }\n\n connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.clear();\n }\n\n clear(): void {\n this.loadingSubject?.next(false);\n this.dataSubject?.next([]);\n this.totalCountSubject?.next(0);\n }\n\n protected onBeginLoad(): void {\n this.loadingSubject?.next(true);\n }\n\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>): void {\n this.loadingSubject?.next(false);\n this.dataSubject?.next(pagedResult.list);\n this.totalCountSubject?.next(pagedResult.totalCount);\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\n\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\n private readonly dataSubject = new BehaviorSubject<TEntity[]>([]);\n\n constructor(public data: TEntity[]) {\n this.dataSubject.next(data);\n }\n\n emitChanged(): void {\n this.dataSubject.next(this.data);\n }\n\n connect(collectionViewer: CollectionViewer): Observable<TEntity[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.dataSubject.complete();\n }\n}\n","import { formatISO, parseISO } from 'date-fns';\n\nexport class IsoDateTime {\n public static utcToLocalDateTimeIso(utcDateTime: string): string | null {\n if (!utcDateTime) {\n return null;\n }\n\n return parseISO(utcDateTime).toISOString();\n }\n\n public static localToUtcDateTimeIso(localDateTime: string): string | null {\n if (!localDateTime) {\n return null;\n }\n return formatISO(localDateTime);\n }\n\n public static currentUtcDateTimeIso(): string {\n return formatISO(Date.now());\n }\n}\n","export class EnumTuple<TValue = number> {\n id: string | undefined;\n name: TValue | undefined;\n}\n\nexport class EnumReader<TValue = number> {\n constructor(private readonly value: Record<string, TValue>) {}\n\n public getNamesAndValues(): Array<EnumTuple<TValue>> {\n return this.getNames().map((n) => {\n return <EnumTuple<TValue>>{ name: this.value[n], id: n };\n });\n }\n\n public getNames(): string[] {\n return Object.keys(this.value);\n }\n\n private getObjValues(): TValue[] {\n return Object.keys(this.value).map((k) => this.value[k]);\n }\n}\n","export class ObjectCloner {\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[] | null = null): TR {\n const clonedObject = Object.assign({} as any, source);\n\n if (ignoreProperties != null) {\n for (const prop of ignoreProperties) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete clonedObject[prop];\n }\n }\n return <TR>clonedObject;\n }\n\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] | null = null): TR {\n const clonedObject = Object.assign({} as any, source, source2);\n\n if (ignoreProperties != null) {\n for (const prop of ignoreProperties) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete clonedObject[prop];\n }\n }\n return <TR>clonedObject;\n }\n}\n","/*\n * Public API Surface of shared-services\n */\n\nexport * from './lib/shared-services.module';\nexport * from './lib/services/message.service';\nexport * from './lib/models/autoCompleteResult';\nexport * from './lib/models/errorMessage';\nexport * from './lib/models/pagedResultDto';\nexport * from './lib/dataSources/dataSourceBase';\nexport * from './lib/dataSources/genericDataSource';\nexport * from './lib/dataSources/entitySelectDataSource';\nexport * from './lib/dataSources/autoCompleteDataSource';\nexport * from './lib/shared/isoDateTime';\nexport * from './lib/shared/enumReader';\nexport * from './lib/shared/objectCloner';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Observable } from "rxjs";
2
- import { AutoCompleteResult } from "../models/autoCompleteResult";
1
+ import { Observable } from 'rxjs';
2
+ import { AutoCompleteResult } from '../models/autoCompleteResult';
3
3
  export interface AutoCompleteDataSource {
4
- onFilter(filter: string): Observable<AutoCompleteResult>;
5
- onPreprocessSearchString(search: string): string;
4
+ onFilter: (filter: string) => Observable<AutoCompleteResult>;
5
+ onPreprocessSearchString: (search: string) => string;
6
6
  }
@@ -1,11 +1,11 @@
1
- import { Observable } from "rxjs";
2
- import { CollectionViewer, DataSource } from "@angular/cdk/collections";
3
- import { PagedResultDto } from "../models/pagedResultDto";
1
+ import { Observable } from 'rxjs';
2
+ import { CollectionViewer, DataSource } from '@angular/cdk/collections';
3
+ import { PagedResultDto } from '../models/pagedResultDto';
4
4
  export declare class DataSourceBase<TDto> implements DataSource<TDto> {
5
- private dataSubject;
6
- private loadingSubject;
5
+ private readonly dataSubject;
6
+ private readonly loadingSubject;
7
+ private readonly totalCountSubject;
7
8
  readonly loading$: Observable<boolean>;
8
- private totalCountSubject;
9
9
  readonly totalCount$: Observable<number>;
10
10
  get totalCount(): Observable<number>;
11
11
  connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]>;
@@ -1,7 +1,7 @@
1
- import { Observable } from "rxjs";
2
- import { PagedResultDto } from "../models/pagedResultDto";
1
+ import { Observable } from 'rxjs';
2
+ import { PagedResultDto } from '../models/pagedResultDto';
3
3
  export interface EntitySelectDataSource<T> {
4
- onFilter(filter: string): Observable<PagedResultDto<T>>;
5
- onDisplayEntity(entity: T): string;
6
- getIdEntity(entity: T): any;
4
+ onFilter: (filter: string) => Observable<PagedResultDto<T>>;
5
+ onDisplayEntity: (entity: T) => string;
6
+ getIdEntity: (entity: T) => any;
7
7
  }
@@ -1,9 +1,9 @@
1
- import { Observable } from "rxjs";
2
- import { CollectionViewer, DataSource } from "@angular/cdk/collections";
1
+ import { Observable } from 'rxjs';
2
+ import { CollectionViewer, DataSource } from '@angular/cdk/collections';
3
3
  export declare class GenericDataSource<TEntity> implements DataSource<TEntity> {
4
- data: Array<TEntity>;
5
- private dataSubject;
6
- constructor(data: Array<TEntity>);
4
+ data: TEntity[];
5
+ private readonly dataSubject;
6
+ constructor(data: TEntity[]);
7
7
  emitChanged(): void;
8
8
  connect(collectionViewer: CollectionViewer): Observable<TEntity[]>;
9
9
  disconnect(collectionViewer: CollectionViewer): void;
@@ -1,4 +1,4 @@
1
1
  export declare class AutoCompleteResult {
2
2
  searchTerm?: string;
3
- list?: Array<string>;
3
+ list?: string[];
4
4
  }
@@ -2,6 +2,6 @@ export declare class PagedResultDto<T> {
2
2
  skip: number;
3
3
  take: number;
4
4
  totalCount: number;
5
- list: Array<T>;
5
+ list: T[];
6
6
  constructor();
7
7
  }
@@ -1,11 +1,11 @@
1
- import { MatSnackBar } from "@angular/material/snack-bar";
2
- import { BehaviorSubject, Observable } from "rxjs";
3
- import { ErrorMessage } from "../models/errorMessage";
1
+ import { MatSnackBar } from '@angular/material/snack-bar';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { ErrorMessage } from '../models/errorMessage';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class MessageService {
6
- private snackBar;
6
+ private readonly snackBar;
7
7
  latestErrorMessage: BehaviorSubject<ErrorMessage | null>;
8
- errorMessages: Array<ErrorMessage>;
8
+ errorMessages: ErrorMessage[];
9
9
  constructor(snackBar: MatSnackBar);
10
10
  getErrorMessageCount(): number;
11
11
  getErrorMessage(index: number): ErrorMessage;
@@ -3,9 +3,9 @@ export declare class EnumTuple<TValue = number> {
3
3
  name: TValue | undefined;
4
4
  }
5
5
  export declare class EnumReader<TValue = number> {
6
- private value;
7
- constructor(value: Object);
8
- getNamesAndValues(): EnumTuple<TValue>[];
6
+ private readonly value;
7
+ constructor(value: Record<string, TValue>);
8
+ getNamesAndValues(): Array<EnumTuple<TValue>>;
9
9
  getNames(): string[];
10
10
  private getObjValues;
11
11
  }
package/package.json CHANGED
@@ -1,19 +1,15 @@
1
1
  {
2
2
  "name": "@meshmakers/shared-services",
3
- "version": "2.1.17-0",
3
+ "version": "3.1.26-0",
4
4
  "peerDependencies": {
5
- "@angular/common": "^15.2.0",
6
- "@angular/core": "^15.2.0"
5
+ "@angular/common": "^17.3.4",
6
+ "@angular/core": "^17.3.4"
7
7
  },
8
8
  "dependencies": {
9
- "tslib": "^2.3.0"
9
+ "tslib": "^2.6.2"
10
10
  },
11
11
  "sideEffects": false,
12
- "module": "fesm2015/meshmakers-shared-services.mjs",
13
- "es2020": "fesm2020/meshmakers-shared-services.mjs",
14
- "esm2020": "esm2020/meshmakers-shared-services.mjs",
15
- "fesm2020": "fesm2020/meshmakers-shared-services.mjs",
16
- "fesm2015": "fesm2015/meshmakers-shared-services.mjs",
12
+ "module": "fesm2022/meshmakers-shared-services.mjs",
17
13
  "typings": "index.d.ts",
18
14
  "exports": {
19
15
  "./package.json": {
@@ -21,11 +17,9 @@
21
17
  },
22
18
  ".": {
23
19
  "types": "./index.d.ts",
24
- "esm2020": "./esm2020/meshmakers-shared-services.mjs",
25
- "es2020": "./fesm2020/meshmakers-shared-services.mjs",
26
- "es2015": "./fesm2015/meshmakers-shared-services.mjs",
27
- "node": "./fesm2015/meshmakers-shared-services.mjs",
28
- "default": "./fesm2020/meshmakers-shared-services.mjs"
20
+ "esm2022": "./esm2022/meshmakers-shared-services.mjs",
21
+ "esm": "./esm2022/meshmakers-shared-services.mjs",
22
+ "default": "./fesm2022/meshmakers-shared-services.mjs"
29
23
  }
30
24
  }
31
25
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0NvbXBsZXRlRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvYXV0b0NvbXBsZXRlRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtBdXRvQ29tcGxldGVSZXN1bHR9IGZyb20gXCIuLi9tb2RlbHMvYXV0b0NvbXBsZXRlUmVzdWx0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0NvbXBsZXRlRGF0YVNvdXJjZSB7XG4gIG9uRmlsdGVyKGZpbHRlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRvQ29tcGxldGVSZXN1bHQ+O1xuXG4gIG9uUHJlcHJvY2Vzc1NlYXJjaFN0cmluZyhzZWFyY2g6IHN0cmluZyk6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { BehaviorSubject } from "rxjs";
2
- export class DataSourceBase {
3
- constructor() {
4
- this.dataSubject = new BehaviorSubject([]);
5
- this.loadingSubject = new BehaviorSubject(false);
6
- this.loading$ = this.loadingSubject.asObservable();
7
- this.totalCountSubject = new BehaviorSubject(0);
8
- this.totalCount$ = this.totalCountSubject.asObservable();
9
- }
10
- get totalCount() {
11
- return this.totalCount$;
12
- }
13
- connect(collectionViewer) {
14
- return this.dataSubject.asObservable();
15
- }
16
- disconnect(collectionViewer) {
17
- this.dataSubject.complete();
18
- this.loadingSubject.complete();
19
- }
20
- clear() {
21
- this.loadingSubject.next(false);
22
- this.dataSubject.next([]);
23
- this.totalCountSubject.next(0);
24
- }
25
- onBeginLoad() {
26
- this.loadingSubject.next(true);
27
- }
28
- onCompleteLoad(pagedResult) {
29
- this.loadingSubject.next(false);
30
- this.dataSubject.next(pagedResult.list);
31
- this.totalCountSubject.next(pagedResult.totalCount);
32
- }
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVNvdXJjZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2RhdGFTb3VyY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFBM0I7UUFDVSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUE2QnRFLENBQUM7SUEzQkMsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsT0FBTyxDQUFDLGdCQUFrQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxnQkFBa0M7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRVMsY0FBYyxDQUFDLFdBQWlDO1FBQ3hELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7Q29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2xsZWN0aW9uc1wiO1xuaW1wb3J0IHtQYWdlZFJlc3VsdER0b30gZnJvbSBcIi4uL21vZGVscy9wYWdlZFJlc3VsdER0b1wiO1xuXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZUJhc2U8VER0bz4gaW1wbGVtZW50cyBEYXRhU291cmNlPFREdG8+IHtcbiAgcHJpdmF0ZSBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8VER0bz4+KFtdKTtcbiAgcHJpdmF0ZSBsb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQgPSB0aGlzLmxvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIHRvdGFsQ291bnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwdWJsaWMgcmVhZG9ubHkgdG90YWxDb3VudCQgPSB0aGlzLnRvdGFsQ291bnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBnZXQgdG90YWxDb3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj57XG4gICAgcmV0dXJuIHRoaXMudG90YWxDb3VudCQ7XG4gIH1cbiAgY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogT2JzZXJ2YWJsZTxyZWFkb25seSBURHRvW10+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IHZvaWQge1xuICAgIHRoaXMuZGF0YVN1YmplY3QuY29tcGxldGUoKTtcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChbXSk7XG4gICAgdGhpcy50b3RhbENvdW50U3ViamVjdC5uZXh0KDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQmVnaW5Mb2FkKCkge1xuICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNvbXBsZXRlTG9hZChwYWdlZFJlc3VsdDogUGFnZWRSZXN1bHREdG88VER0bz4pIHtcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChwYWdlZFJlc3VsdC5saXN0KTtcbiAgICB0aGlzLnRvdGFsQ291bnRTdWJqZWN0Lm5leHQocGFnZWRSZXN1bHQudG90YWxDb3VudCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5U2VsZWN0RGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtQYWdlZFJlc3VsdER0b30gZnJvbSBcIi4uL21vZGVscy9wYWdlZFJlc3VsdER0b1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdERhdGFTb3VyY2U8VD4ge1xuXG4gIG9uRmlsdGVyKGZpbHRlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlZFJlc3VsdER0bzxUPj47XG5cbiAgb25EaXNwbGF5RW50aXR5KGVudGl0eTogVCk6IHN0cmluZztcblxuICBnZXRJZEVudGl0eShlbnRpdHk6IFQpOiBhbnk7XG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { BehaviorSubject } from "rxjs";
2
- export class GenericDataSource {
3
- constructor(data) {
4
- this.data = data;
5
- this.dataSubject = new BehaviorSubject([]);
6
- this.dataSubject.next(data);
7
- }
8
- emitChanged() {
9
- this.dataSubject.next(this.data);
10
- }
11
- connect(collectionViewer) {
12
- return this.dataSubject.asObservable();
13
- }
14
- disconnect(collectionViewer) {
15
- this.dataSubject.complete();
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY0RhdGFTb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2dlbmVyaWNEYXRhU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFHakQsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFtQixJQUFvQjtRQUFwQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUYvQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztRQUk1RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBR0QsT0FBTyxDQUFDLGdCQUFrQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxnQkFBa0M7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7Q29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2xsZWN0aW9uc1wiO1xuXG5leHBvcnQgY2xhc3MgR2VuZXJpY0RhdGFTb3VyY2U8VEVudGl0eT4gaW1wbGVtZW50cyBEYXRhU291cmNlPFRFbnRpdHk+IHtcbiAgcHJpdmF0ZSBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8VEVudGl0eT4+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogQXJyYXk8VEVudGl0eT4pIHtcblxuICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChkYXRhKTtcblxuICB9XG5cbiAgZW1pdENoYW5nZWQoKSB7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHRoaXMuZGF0YSk7XG4gIH1cblxuXG4gIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8VEVudGl0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +0,0 @@
1
- export class PagedResultDto {
2
- constructor() {
3
- this.skip = 0;
4
- this.take = 0;
5
- this.totalCount = 0;
6
- this.list = new Array();
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRSZXN1bHREdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZFJlc3VsdER0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQU96QjtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksS0FBSyxFQUFLLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFBhZ2VkUmVzdWx0RHRvPFQ+IHtcblxuICBza2lwOiBudW1iZXI7XG4gIHRha2U6IG51bWJlcjtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xuICBsaXN0OiBBcnJheTxUPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNraXAgPSAwO1xuICAgIHRoaXMudGFrZSA9IDA7XG4gICAgdGhpcy50b3RhbENvdW50ID0gMDtcbiAgICB0aGlzLmxpc3QgPSBuZXcgQXJyYXk8VD4oKTtcbiAgfVxufVxuIl19
@@ -1,43 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from "rxjs";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/snack-bar";
5
- export class MessageService {
6
- constructor(snackBar) {
7
- this.snackBar = snackBar;
8
- this.latestErrorMessage = new BehaviorSubject(null);
9
- this.errorMessages = new Array();
10
- }
11
- getErrorMessageCount() {
12
- return this.errorMessages.length;
13
- }
14
- getErrorMessage(index) {
15
- return this.errorMessages[index];
16
- }
17
- getLatestErrorMessage() {
18
- return this.latestErrorMessage.asObservable();
19
- }
20
- showError(message, title) {
21
- console.error(message);
22
- const errorMessage = {
23
- title: title,
24
- message: message
25
- };
26
- this.errorMessages.push(errorMessage);
27
- this.latestErrorMessage.next(errorMessage);
28
- }
29
- showInformation(message) {
30
- this.snackBar.open(message, undefined, {
31
- duration: 3000,
32
- // here specify the position
33
- horizontalPosition: "center",
34
- verticalPosition: 'bottom'
35
- });
36
- }
37
- }
38
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
39
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService, decorators: [{
41
- type: Injectable
42
- }], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFPekIsWUFBb0IsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUV2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxLQUFLLEVBQWdCLENBQUM7SUFDakQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWUsRUFBRSxLQUFhO1FBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkIsTUFBTSxZQUFZLEdBQWlCO1lBQ2pDLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFlO1FBRTdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDckMsUUFBUSxFQUFFLElBQUk7WUFDZCw0QkFBNEI7WUFDNUIsa0JBQWtCLEVBQUUsUUFBUTtZQUM1QixnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7OzJHQTdDVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdFNuYWNrQmFyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7RXJyb3JNZXNzYWdlfSBmcm9tIFwiLi4vbW9kZWxzL2Vycm9yTWVzc2FnZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2Uge1xuXG4gIGxhdGVzdEVycm9yTWVzc2FnZTogQmVoYXZpb3JTdWJqZWN0PEVycm9yTWVzc2FnZSB8IG51bGw+O1xuXG4gIGVycm9yTWVzc2FnZXM6IEFycmF5PEVycm9yTWVzc2FnZT47XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xuXG4gICAgdGhpcy5sYXRlc3RFcnJvck1lc3NhZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVycm9yTWVzc2FnZSB8IG51bGw+KG51bGwpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IG5ldyBBcnJheTxFcnJvck1lc3NhZ2U+KCk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2VDb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aDtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZShpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlc1tpbmRleF07XG4gIH1cblxuICBnZXRMYXRlc3RFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxFcnJvck1lc3NhZ2UgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0RXJyb3JNZXNzYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2hvd0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG5cbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSA8RXJyb3JNZXNzYWdlPntcbiAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VcbiAgICB9O1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKGVycm9yTWVzc2FnZSk7XG5cbiAgICB0aGlzLmxhdGVzdEVycm9yTWVzc2FnZS5uZXh0KGVycm9yTWVzc2FnZSk7XG4gIH1cblxuICBzaG93SW5mb3JtYXRpb24obWVzc2FnZTogc3RyaW5nKSB7XG5cbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgdW5kZWZpbmVkLCB7XG4gICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIC8vIGhlcmUgc3BlY2lmeSB0aGUgcG9zaXRpb25cbiAgICAgIGhvcml6b250YWxQb3NpdGlvbjogXCJjZW50ZXJcIixcbiAgICAgIHZlcnRpY2FsUG9zaXRpb246ICdib3R0b20nXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- export class EnumTuple {
2
- }
3
- export class EnumReader {
4
- constructor(value) {
5
- this.value = value;
6
- }
7
- getNamesAndValues() {
8
- return this.getNames().map((n) => {
9
- // @ts-ignore
10
- return { name: this.value[n], id: n };
11
- });
12
- }
13
- getNames() {
14
- return Object.keys(this.value);
15
- }
16
- getObjValues() {
17
- // @ts-ignore
18
- return Object.keys(this.value).map(k => this.value[k]);
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bVJlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvc2hhcmVkL2VudW1SZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7Q0FHckI7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUFvQixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNqQyxDQUFDO0lBRU0saUJBQWlCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9CLGFBQWE7WUFDYixPQUEwQixFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWTtRQUNsQixhQUFhO1FBQ2IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVudW1UdXBsZTxUVmFsdWUgPSBudW1iZXI+IHtcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgbmFtZTogVFZhbHVlIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY2xhc3MgRW51bVJlYWRlcjxUVmFsdWUgPSBudW1iZXI+IHtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmFsdWU6IE9iamVjdCkge1xuICB9XG5cbiAgcHVibGljIGdldE5hbWVzQW5kVmFsdWVzKCk6IEVudW1UdXBsZTxUVmFsdWU+W10ge1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0TmFtZXMoKS5tYXAoKG4pID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiA8RW51bVR1cGxlPFRWYWx1ZT4+e25hbWU6IHRoaXMudmFsdWVbbl0gYXMgVFZhbHVlLCBpZDogbn07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2JqVmFsdWVzKCk6IFRWYWx1ZVtdIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLm1hcChrID0+IHRoaXMudmFsdWVba10pO1xuICB9XG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import * as moment from 'moment';
2
- export class IsoDateTime {
3
- static utcToLocalDateTimeIso(utcDateTime) {
4
- if (!utcDateTime) {
5
- return null;
6
- }
7
- return moment(utcDateTime).local().format("YYYY-MM-DDTHH:mm:ss");
8
- }
9
- static localToUtcDateTimeIso(localDateTime) {
10
- if (!localDateTime) {
11
- return null;
12
- }
13
- return moment(localDateTime).toISOString();
14
- }
15
- static currentUtcDateTimeIso() {
16
- return moment(Date.now()).toISOString();
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvRGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9pc29EYXRlVGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxNQUFNLE9BQU8sV0FBVztJQUNmLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxXQUFtQjtRQUNyRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLGFBQXFCO1FBQ3ZELElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5leHBvcnQgY2xhc3MgSXNvRGF0ZVRpbWUge1xuICBwdWJsaWMgc3RhdGljIHV0Y1RvTG9jYWxEYXRlVGltZUlzbyh1dGNEYXRlVGltZTogc3RyaW5nKSB7XG4gICAgaWYgKCF1dGNEYXRlVGltZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBtb21lbnQodXRjRGF0ZVRpbWUpLmxvY2FsKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFRISDptbTpzc1wiKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbG9jYWxUb1V0Y0RhdGVUaW1lSXNvKGxvY2FsRGF0ZVRpbWU6IHN0cmluZykge1xuICAgIGlmICghbG9jYWxEYXRlVGltZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBtb21lbnQobG9jYWxEYXRlVGltZSkudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY3VycmVudFV0Y0RhdGVUaW1lSXNvKCkge1xuICAgIHJldHVybiBtb21lbnQoRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -1,25 +0,0 @@
1
- export class ObjectCloner {
2
- static cloneObject(source, ignoreProperties = null) {
3
- // @ts-ignore
4
- let clonedObject = Object.assign({}, source);
5
- if (ignoreProperties) {
6
- for (let prop of ignoreProperties) {
7
- // @ts-ignore
8
- delete clonedObject[prop];
9
- }
10
- }
11
- return clonedObject;
12
- }
13
- static cloneObject2(source, source2, ignoreProperties = null) {
14
- // @ts-ignore
15
- let clonedObject = Object.assign({}, source, source2);
16
- if (ignoreProperties) {
17
- for (let prop of ignoreProperties) {
18
- // @ts-ignore
19
- delete clonedObject[prop];
20
- }
21
- }
22
- return clonedObject;
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0Q2xvbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQVUsTUFBVyxFQUFFLG1CQUFvQyxJQUFJO1FBQ3RGLGFBQWE7UUFDYixJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFLLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVqRCxJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLEtBQUssSUFBSSxJQUFJLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2pDLGFBQWE7Z0JBQ2IsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQVcsWUFBWSxDQUFDO0lBQzFCLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFlLE1BQVcsRUFBRSxPQUFZLEVBQUUsbUJBQW9DLElBQUk7UUFDMUcsYUFBYTtRQUNiLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUxRCxJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLEtBQUssSUFBSSxJQUFJLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2pDLGFBQWE7Z0JBQ2IsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQVcsWUFBWSxDQUFDO0lBQzFCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPYmplY3RDbG9uZXIge1xuICBwdWJsaWMgc3RhdGljIGNsb25lT2JqZWN0PFRSLCBUUzE+KHNvdXJjZTogVFMxLCBpZ25vcmVQcm9wZXJ0aWVzOiBzdHJpbmdbXXwgIG51bGwgPSBudWxsKTogVFIge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBsZXQgY2xvbmVkT2JqZWN0ID0gT2JqZWN0LmFzc2lnbig8VFI+e30sIHNvdXJjZSk7XG5cbiAgICBpZiAoaWdub3JlUHJvcGVydGllcykge1xuICAgICAgZm9yIChsZXQgcHJvcCBvZiBpZ25vcmVQcm9wZXJ0aWVzKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZGVsZXRlIGNsb25lZE9iamVjdFtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIDxUUj5jbG9uZWRPYmplY3Q7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNsb25lT2JqZWN0MjxUUiwgVFMxLCBUUzI+KHNvdXJjZTogVFMxLCBzb3VyY2UyOiBUUzIsIGlnbm9yZVByb3BlcnRpZXM6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGwpOiBUUiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBjbG9uZWRPYmplY3QgPSBPYmplY3QuYXNzaWduKDxUUj57fSwgc291cmNlLCBzb3VyY2UyKTtcblxuICAgIGlmIChpZ25vcmVQcm9wZXJ0aWVzKSB7XG4gICAgICBmb3IgKGxldCBwcm9wIG9mIGlnbm9yZVByb3BlcnRpZXMpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBkZWxldGUgY2xvbmVkT2JqZWN0W3Byb3BdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gPFRSPmNsb25lZE9iamVjdDtcbiAgfVxuXG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MessageService } from "./services/message.service";
3
- import * as i0 from "@angular/core";
4
- export class SharedServicesModule {
5
- static forRoot() {
6
- return {
7
- ngModule: SharedServicesModule,
8
- providers: [
9
- MessageService
10
- ]
11
- };
12
- }
13
- }
14
- SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule });
16
- SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule, decorators: [{
18
- type: NgModule,
19
- args: [{
20
- declarations: [],
21
- imports: [],
22
- exports: []
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXNlcnZpY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvc2hhcmVkLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7O0FBUTFELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1QsY0FBYzthQUNmO1NBQ0YsQ0FBQTtJQUNILENBQUM7O2lIQVJVLG9CQUFvQjtrSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWVzc2FnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRTZXJ2aWNlc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2hhcmVkU2VydmljZXNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFNoYXJlZFNlcnZpY2VzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1lc3NhZ2VTZXJ2aWNlXG4gICAgICBdXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,206 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, NgModule } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import * as i1 from '@angular/material/snack-bar';
5
- import * as moment from 'moment';
6
-
7
- class MessageService {
8
- constructor(snackBar) {
9
- this.snackBar = snackBar;
10
- this.latestErrorMessage = new BehaviorSubject(null);
11
- this.errorMessages = new Array();
12
- }
13
- getErrorMessageCount() {
14
- return this.errorMessages.length;
15
- }
16
- getErrorMessage(index) {
17
- return this.errorMessages[index];
18
- }
19
- getLatestErrorMessage() {
20
- return this.latestErrorMessage.asObservable();
21
- }
22
- showError(message, title) {
23
- console.error(message);
24
- const errorMessage = {
25
- title: title,
26
- message: message
27
- };
28
- this.errorMessages.push(errorMessage);
29
- this.latestErrorMessage.next(errorMessage);
30
- }
31
- showInformation(message) {
32
- this.snackBar.open(message, undefined, {
33
- duration: 3000,
34
- // here specify the position
35
- horizontalPosition: "center",
36
- verticalPosition: 'bottom'
37
- });
38
- }
39
- }
40
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
41
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageService, decorators: [{
43
- type: Injectable
44
- }], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
45
-
46
- class SharedServicesModule {
47
- static forRoot() {
48
- return {
49
- ngModule: SharedServicesModule,
50
- providers: [
51
- MessageService
52
- ]
53
- };
54
- }
55
- }
56
- SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule });
58
- SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SharedServicesModule, decorators: [{
60
- type: NgModule,
61
- args: [{
62
- declarations: [],
63
- imports: [],
64
- exports: []
65
- }]
66
- }] });
67
-
68
- class AutoCompleteResult {
69
- }
70
-
71
- class ErrorMessage {
72
- }
73
-
74
- class PagedResultDto {
75
- constructor() {
76
- this.skip = 0;
77
- this.take = 0;
78
- this.totalCount = 0;
79
- this.list = new Array();
80
- }
81
- }
82
-
83
- class DataSourceBase {
84
- constructor() {
85
- this.dataSubject = new BehaviorSubject([]);
86
- this.loadingSubject = new BehaviorSubject(false);
87
- this.loading$ = this.loadingSubject.asObservable();
88
- this.totalCountSubject = new BehaviorSubject(0);
89
- this.totalCount$ = this.totalCountSubject.asObservable();
90
- }
91
- get totalCount() {
92
- return this.totalCount$;
93
- }
94
- connect(collectionViewer) {
95
- return this.dataSubject.asObservable();
96
- }
97
- disconnect(collectionViewer) {
98
- this.dataSubject.complete();
99
- this.loadingSubject.complete();
100
- }
101
- clear() {
102
- this.loadingSubject.next(false);
103
- this.dataSubject.next([]);
104
- this.totalCountSubject.next(0);
105
- }
106
- onBeginLoad() {
107
- this.loadingSubject.next(true);
108
- }
109
- onCompleteLoad(pagedResult) {
110
- this.loadingSubject.next(false);
111
- this.dataSubject.next(pagedResult.list);
112
- this.totalCountSubject.next(pagedResult.totalCount);
113
- }
114
- }
115
-
116
- class GenericDataSource {
117
- constructor(data) {
118
- this.data = data;
119
- this.dataSubject = new BehaviorSubject([]);
120
- this.dataSubject.next(data);
121
- }
122
- emitChanged() {
123
- this.dataSubject.next(this.data);
124
- }
125
- connect(collectionViewer) {
126
- return this.dataSubject.asObservable();
127
- }
128
- disconnect(collectionViewer) {
129
- this.dataSubject.complete();
130
- }
131
- }
132
-
133
- class IsoDateTime {
134
- static utcToLocalDateTimeIso(utcDateTime) {
135
- if (!utcDateTime) {
136
- return null;
137
- }
138
- return moment(utcDateTime).local().format("YYYY-MM-DDTHH:mm:ss");
139
- }
140
- static localToUtcDateTimeIso(localDateTime) {
141
- if (!localDateTime) {
142
- return null;
143
- }
144
- return moment(localDateTime).toISOString();
145
- }
146
- static currentUtcDateTimeIso() {
147
- return moment(Date.now()).toISOString();
148
- }
149
- }
150
-
151
- class EnumTuple {
152
- }
153
- class EnumReader {
154
- constructor(value) {
155
- this.value = value;
156
- }
157
- getNamesAndValues() {
158
- return this.getNames().map((n) => {
159
- // @ts-ignore
160
- return { name: this.value[n], id: n };
161
- });
162
- }
163
- getNames() {
164
- return Object.keys(this.value);
165
- }
166
- getObjValues() {
167
- // @ts-ignore
168
- return Object.keys(this.value).map(k => this.value[k]);
169
- }
170
- }
171
-
172
- class ObjectCloner {
173
- static cloneObject(source, ignoreProperties = null) {
174
- // @ts-ignore
175
- let clonedObject = Object.assign({}, source);
176
- if (ignoreProperties) {
177
- for (let prop of ignoreProperties) {
178
- // @ts-ignore
179
- delete clonedObject[prop];
180
- }
181
- }
182
- return clonedObject;
183
- }
184
- static cloneObject2(source, source2, ignoreProperties = null) {
185
- // @ts-ignore
186
- let clonedObject = Object.assign({}, source, source2);
187
- if (ignoreProperties) {
188
- for (let prop of ignoreProperties) {
189
- // @ts-ignore
190
- delete clonedObject[prop];
191
- }
192
- }
193
- return clonedObject;
194
- }
195
- }
196
-
197
- /*
198
- * Public API Surface of shared-services
199
- */
200
-
201
- /**
202
- * Generated bundle index. Do not edit.
203
- */
204
-
205
- export { AutoCompleteResult, DataSourceBase, EnumReader, EnumTuple, ErrorMessage, GenericDataSource, IsoDateTime, MessageService, ObjectCloner, PagedResultDto, SharedServicesModule };
206
- //# sourceMappingURL=meshmakers-shared-services.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meshmakers-shared-services.mjs","sources":["../../../../projects/meshmakers/shared-services/src/lib/services/message.service.ts","../../../../projects/meshmakers/shared-services/src/lib/shared-services.module.ts","../../../../projects/meshmakers/shared-services/src/lib/models/autoCompleteResult.ts","../../../../projects/meshmakers/shared-services/src/lib/models/errorMessage.ts","../../../../projects/meshmakers/shared-services/src/lib/models/pagedResultDto.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/dataSourceBase.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/genericDataSource.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/isoDateTime.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/enumReader.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/objectCloner.ts","../../../../projects/meshmakers/shared-services/src/public-api.ts","../../../../projects/meshmakers/shared-services/src/meshmakers-shared-services.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {MatSnackBar} from \"@angular/material/snack-bar\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\nimport {ErrorMessage} from \"../models/errorMessage\";\n\n@Injectable()\nexport class MessageService {\n\n latestErrorMessage: BehaviorSubject<ErrorMessage | null>;\n\n errorMessages: Array<ErrorMessage>;\n\n\n constructor(private snackBar: MatSnackBar) {\n\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage | null>(null);\n this.errorMessages = new Array<ErrorMessage>();\n }\n\n getErrorMessageCount() {\n return this.errorMessages.length;\n }\n\n getErrorMessage(index: number) {\n return this.errorMessages[index];\n }\n\n getLatestErrorMessage(): Observable<ErrorMessage | null> {\n return this.latestErrorMessage.asObservable();\n }\n\n showError(message: string, title: string) {\n console.error(message);\n\n const errorMessage = <ErrorMessage>{\n title: title,\n message: message\n };\n this.errorMessages.push(errorMessage);\n\n this.latestErrorMessage.next(errorMessage);\n }\n\n showInformation(message: string) {\n\n this.snackBar.open(message, undefined, {\n duration: 3000,\n // here specify the position\n horizontalPosition: \"center\",\n verticalPosition: 'bottom'\n });\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {MessageService} from \"./services/message.service\";\n\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class SharedServicesModule {\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\n return {\n ngModule: SharedServicesModule,\n providers: [\n MessageService\n ]\n }\n }\n}\n","export class AutoCompleteResult {\n\n searchTerm?: string;\n\n list?: Array<string>;\n}\n","export class ErrorMessage {\n title?: string;\n message?: string;\n}\n","export class PagedResultDto<T> {\n\n skip: number;\n take: number;\n totalCount: number;\n list: Array<T>;\n\n constructor() {\n this.skip = 0;\n this.take = 0;\n this.totalCount = 0;\n this.list = new Array<T>();\n }\n}\n","import {BehaviorSubject, Observable} from \"rxjs\";\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\nimport {PagedResultDto} from \"../models/pagedResultDto\";\n\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\n private dataSubject = new BehaviorSubject<Array<TDto>>([]);\n private loadingSubject = new BehaviorSubject<boolean>(false);\n public readonly loading$ = this.loadingSubject.asObservable();\n private totalCountSubject = new BehaviorSubject<number>(0);\n public readonly totalCount$ = this.totalCountSubject.asObservable();\n\n public get totalCount(): Observable<number>{\n return this.totalCount$;\n }\n connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.dataSubject.complete();\n this.loadingSubject.complete();\n }\n\n clear() {\n this.loadingSubject.next(false);\n this.dataSubject.next([]);\n this.totalCountSubject.next(0);\n }\n\n protected onBeginLoad() {\n this.loadingSubject.next(true);\n }\n\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>) {\n this.loadingSubject.next(false);\n this.dataSubject.next(pagedResult.list);\n this.totalCountSubject.next(pagedResult.totalCount);\n }\n}\n","import {BehaviorSubject, Observable} from \"rxjs\";\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\n\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\n private dataSubject = new BehaviorSubject<Array<TEntity>>([]);\n\n constructor(public data: Array<TEntity>) {\n\n this.dataSubject.next(data);\n\n }\n\n emitChanged() {\n this.dataSubject.next(this.data);\n }\n\n\n connect(collectionViewer: CollectionViewer): Observable<TEntity[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.dataSubject.complete();\n }\n}\n","import * as moment from 'moment';\n\nexport class IsoDateTime {\n public static utcToLocalDateTimeIso(utcDateTime: string) {\n if (!utcDateTime) {\n return null;\n }\n return moment(utcDateTime).local().format(\"YYYY-MM-DDTHH:mm:ss\");\n }\n\n public static localToUtcDateTimeIso(localDateTime: string) {\n if (!localDateTime) {\n return null;\n }\n return moment(localDateTime).toISOString();\n }\n\n public static currentUtcDateTimeIso() {\n return moment(Date.now()).toISOString();\n }\n}\n","export class EnumTuple<TValue = number> {\n id: string | undefined;\n name: TValue | undefined;\n}\n\nexport class EnumReader<TValue = number> {\n\n\n constructor(private value: Object) {\n }\n\n public getNamesAndValues(): EnumTuple<TValue>[] {\n\n return this.getNames().map((n) => {\n // @ts-ignore\n return <EnumTuple<TValue>>{name: this.value[n] as TValue, id: n};\n });\n }\n\n public getNames(): string[] {\n return Object.keys(this.value);\n }\n\n private getObjValues(): TValue[] {\n // @ts-ignore\n return Object.keys(this.value).map(k => this.value[k]);\n }\n}\n","export class ObjectCloner {\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[]| null = null): TR {\n // @ts-ignore\n let clonedObject = Object.assign(<TR>{}, source);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\n // @ts-ignore\n delete clonedObject[prop];\n }\n }\n return <TR>clonedObject;\n }\n\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] | null = null): TR {\n // @ts-ignore\n let clonedObject = Object.assign(<TR>{}, source, source2);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\n // @ts-ignore\n delete clonedObject[prop];\n }\n }\n return <TR>clonedObject;\n }\n\n}\n","/*\n * Public API Surface of shared-services\n */\n\nexport * from './lib/shared-services.module';\nexport * from './lib/services/message.service';\nexport * from './lib/models/autoCompleteResult';\nexport * from './lib/models/errorMessage';\nexport * from './lib/models/pagedResultDto';\nexport * from './lib/dataSources/dataSourceBase';\nexport * from './lib/dataSources/genericDataSource';\nexport * from './lib/dataSources/entitySelectDataSource';\nexport * from './lib/dataSources/autoCompleteDataSource';\nexport * from './lib/shared/isoDateTime';\nexport * from './lib/shared/enumReader';\nexport * from './lib/shared/objectCloner';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"meshmakers-shared-services.mjs","sources":["../../../../projects/meshmakers/shared-services/src/lib/services/message.service.ts","../../../../projects/meshmakers/shared-services/src/lib/shared-services.module.ts","../../../../projects/meshmakers/shared-services/src/lib/models/autoCompleteResult.ts","../../../../projects/meshmakers/shared-services/src/lib/models/errorMessage.ts","../../../../projects/meshmakers/shared-services/src/lib/models/pagedResultDto.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/dataSourceBase.ts","../../../../projects/meshmakers/shared-services/src/lib/dataSources/genericDataSource.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/isoDateTime.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/enumReader.ts","../../../../projects/meshmakers/shared-services/src/lib/shared/objectCloner.ts","../../../../projects/meshmakers/shared-services/src/public-api.ts","../../../../projects/meshmakers/shared-services/src/meshmakers-shared-services.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {MatSnackBar} from \"@angular/material/snack-bar\";\nimport {BehaviorSubject, Observable} from \"rxjs\";\nimport {ErrorMessage} from \"../models/errorMessage\";\n\n@Injectable()\nexport class MessageService {\n\n latestErrorMessage: BehaviorSubject<ErrorMessage | null>;\n\n errorMessages: Array<ErrorMessage>;\n\n\n constructor(private snackBar: MatSnackBar) {\n\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage | null>(null);\n this.errorMessages = new Array<ErrorMessage>();\n }\n\n getErrorMessageCount() {\n return this.errorMessages.length;\n }\n\n getErrorMessage(index: number) {\n return this.errorMessages[index];\n }\n\n getLatestErrorMessage(): Observable<ErrorMessage | null> {\n return this.latestErrorMessage.asObservable();\n }\n\n showError(message: string, title: string) {\n console.error(message);\n\n const errorMessage = <ErrorMessage>{\n title: title,\n message: message\n };\n this.errorMessages.push(errorMessage);\n\n this.latestErrorMessage.next(errorMessage);\n }\n\n showInformation(message: string) {\n\n this.snackBar.open(message, undefined, {\n duration: 3000,\n // here specify the position\n horizontalPosition: \"center\",\n verticalPosition: 'bottom'\n });\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {MessageService} from \"./services/message.service\";\n\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class SharedServicesModule {\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\n return {\n ngModule: SharedServicesModule,\n providers: [\n MessageService\n ]\n }\n }\n}\n","export class AutoCompleteResult {\n\n searchTerm?: string;\n\n list?: Array<string>;\n}\n","export class ErrorMessage {\n title?: string;\n message?: string;\n}\n","export class PagedResultDto<T> {\n\n skip: number;\n take: number;\n totalCount: number;\n list: Array<T>;\n\n constructor() {\n this.skip = 0;\n this.take = 0;\n this.totalCount = 0;\n this.list = new Array<T>();\n }\n}\n","import {BehaviorSubject, Observable} from \"rxjs\";\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\nimport {PagedResultDto} from \"../models/pagedResultDto\";\n\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\n private dataSubject = new BehaviorSubject<Array<TDto>>([]);\n private loadingSubject = new BehaviorSubject<boolean>(false);\n public readonly loading$ = this.loadingSubject.asObservable();\n private totalCountSubject = new BehaviorSubject<number>(0);\n public readonly totalCount$ = this.totalCountSubject.asObservable();\n\n public get totalCount(): Observable<number>{\n return this.totalCount$;\n }\n connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.dataSubject.complete();\n this.loadingSubject.complete();\n }\n\n clear() {\n this.loadingSubject.next(false);\n this.dataSubject.next([]);\n this.totalCountSubject.next(0);\n }\n\n protected onBeginLoad() {\n this.loadingSubject.next(true);\n }\n\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>) {\n this.loadingSubject.next(false);\n this.dataSubject.next(pagedResult.list);\n this.totalCountSubject.next(pagedResult.totalCount);\n }\n}\n","import {BehaviorSubject, Observable} from \"rxjs\";\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\n\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\n private dataSubject = new BehaviorSubject<Array<TEntity>>([]);\n\n constructor(public data: Array<TEntity>) {\n\n this.dataSubject.next(data);\n\n }\n\n emitChanged() {\n this.dataSubject.next(this.data);\n }\n\n\n connect(collectionViewer: CollectionViewer): Observable<TEntity[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.dataSubject.complete();\n }\n}\n","import * as moment from 'moment';\n\nexport class IsoDateTime {\n public static utcToLocalDateTimeIso(utcDateTime: string) {\n if (!utcDateTime) {\n return null;\n }\n return moment(utcDateTime).local().format(\"YYYY-MM-DDTHH:mm:ss\");\n }\n\n public static localToUtcDateTimeIso(localDateTime: string) {\n if (!localDateTime) {\n return null;\n }\n return moment(localDateTime).toISOString();\n }\n\n public static currentUtcDateTimeIso() {\n return moment(Date.now()).toISOString();\n }\n}\n","export class EnumTuple<TValue = number> {\n id: string | undefined;\n name: TValue | undefined;\n}\n\nexport class EnumReader<TValue = number> {\n\n\n constructor(private value: Object) {\n }\n\n public getNamesAndValues(): EnumTuple<TValue>[] {\n\n return this.getNames().map((n) => {\n // @ts-ignore\n return <EnumTuple<TValue>>{name: this.value[n] as TValue, id: n};\n });\n }\n\n public getNames(): string[] {\n return Object.keys(this.value);\n }\n\n private getObjValues(): TValue[] {\n // @ts-ignore\n return Object.keys(this.value).map(k => this.value[k]);\n }\n}\n","export class ObjectCloner {\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[]| null = null): TR {\n // @ts-ignore\n let clonedObject = Object.assign(<TR>{}, source);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\n // @ts-ignore\n delete clonedObject[prop];\n }\n }\n return <TR>clonedObject;\n }\n\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] | null = null): TR {\n // @ts-ignore\n let clonedObject = Object.assign(<TR>{}, source, source2);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\n // @ts-ignore\n delete clonedObject[prop];\n }\n }\n return <TR>clonedObject;\n }\n\n}\n","/*\n * Public API Surface of shared-services\n */\n\nexport * from './lib/shared-services.module';\nexport * from './lib/services/message.service';\nexport * from './lib/models/autoCompleteResult';\nexport * from './lib/models/errorMessage';\nexport * from './lib/models/pagedResultDto';\nexport * from './lib/dataSources/dataSourceBase';\nexport * from './lib/dataSources/genericDataSource';\nexport * from './lib/dataSources/entitySelectDataSource';\nexport * from './lib/dataSources/autoCompleteDataSource';\nexport * from './lib/shared/isoDateTime';\nexport * from './lib/shared/enumReader';\nexport * from './lib/shared/objectCloner';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAMa,cAAc,CAAA;AAOzB,IAAA,WAAA,CAAoB,QAAqB,EAAA;QAArB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;QAEvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,eAAe,CAAsB,IAAI,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,EAAgB,CAAC;KAChD;IAED,oBAAoB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;KAClC;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,qBAAqB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC/C;IAED,SAAS,CAAC,OAAe,EAAE,KAAa,EAAA;AACtC,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAEvB,QAAA,MAAM,YAAY,GAAiB;AACjC,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,OAAO,EAAE,OAAO;SACjB,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEtC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5C;AAED,IAAA,eAAe,CAAC,OAAe,EAAA;QAE7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE;AACrC,YAAA,QAAQ,EAAE,IAAI;;AAEd,YAAA,kBAAkB,EAAE,QAAQ;AAC5B,YAAA,gBAAgB,EAAE,QAAQ;AAC3B,SAAA,CAAC,CAAC;KACJ;;2GA7CU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;MCIE,oBAAoB,CAAA;AAC/B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,SAAS,EAAE;gBACT,cAAc;AACf,aAAA;SACF,CAAA;KACF;;iHARU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;MCRY,kBAAkB,CAAA;AAK9B;;MCLY,YAAY,CAAA;AAGxB;;MCHY,cAAc,CAAA;AAOzB,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;AACd,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,EAAK,CAAC;KAC5B;AACF;;MCTY,cAAc,CAAA;AAA3B,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAc,EAAE,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC7C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AACtD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KA6BrE;AA3BC,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AACD,IAAA,OAAO,CAAC,gBAAkC,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KACxC;AAED,IAAA,UAAU,CAAC,gBAAkC,EAAA;AAC3C,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAChC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChC;IAES,WAAW,GAAA;AACnB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;AAES,IAAA,cAAc,CAAC,WAAiC,EAAA;AACxD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KACrD;AACF;;MCnCY,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAmB,IAAoB,EAAA;QAApB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgB;AAF/B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAiB,EAAE,CAAC,CAAC;AAI5D,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAE7B;IAED,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;AAGD,IAAA,OAAO,CAAC,gBAAkC,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KACxC;AAED,IAAA,UAAU,CAAC,gBAAkC,EAAA;AAC3C,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;KAC7B;AACF;;MCtBY,WAAW,CAAA;IACf,OAAO,qBAAqB,CAAC,WAAmB,EAAA;QACrD,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;KAClE;IAEM,OAAO,qBAAqB,CAAC,aAAqB,EAAA;QACvD,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;KAC5C;AAEM,IAAA,OAAO,qBAAqB,GAAA;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;KACzC;AACF;;MCpBY,SAAS,CAAA;AAGrB,CAAA;MAEY,UAAU,CAAA;AAGrB,IAAA,WAAA,CAAoB,KAAa,EAAA;QAAb,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;KAChC;IAEM,iBAAiB,GAAA;QAEtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;;AAE/B,YAAA,OAA0B,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC;AACnE,SAAC,CAAC,CAAC;KACJ;IAEM,QAAQ,GAAA;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAEO,YAAY,GAAA;;QAElB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACxD;AACF;;MC3BY,YAAY,CAAA;AAChB,IAAA,OAAO,WAAW,CAAU,MAAW,EAAE,mBAAoC,IAAI,EAAA;;QAEtF,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAK,EAAE,EAAE,MAAM,CAAC,CAAC;AAEjD,QAAA,IAAI,gBAAgB,EAAE;AACpB,YAAA,KAAK,IAAI,IAAI,IAAI,gBAAgB,EAAE;;AAEjC,gBAAA,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,aAAA;AACF,SAAA;AACD,QAAA,OAAW,YAAY,CAAC;KACzB;IAEM,OAAO,YAAY,CAAe,MAAW,EAAE,OAAY,EAAE,mBAAoC,IAAI,EAAA;;AAE1G,QAAA,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,QAAA,IAAI,gBAAgB,EAAE;AACpB,YAAA,KAAK,IAAI,IAAI,IAAI,gBAAgB,EAAE;;AAEjC,gBAAA,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,aAAA;AACF,SAAA;AACD,QAAA,OAAW,YAAY,CAAC;KACzB;AAEF;;AC3BD;;AAEG;;ACFH;;AAEG;;;;"}