@meshmakers/shared-services 0.0.2304-15002 → 0.0.2304-26001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -9
- package/esm2020/lib/dataSources/dataSourceBase.mjs +5 -1
- package/esm2020/lib/models/autoCompleteResult.mjs +1 -1
- package/esm2020/lib/models/errorMessage.mjs +1 -1
- package/esm2020/lib/services/message.service.mjs +5 -5
- package/esm2020/lib/shared/enumReader.mjs +3 -1
- package/esm2020/lib/shared/isoDateTime.mjs +2 -2
- package/esm2020/lib/shared/objectCloner.mjs +5 -1
- package/esm2020/lib/shared-services.module.mjs +4 -4
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/meshmakers-shared-services.mjs +19 -9
- package/fesm2015/meshmakers-shared-services.mjs.map +1 -1
- package/fesm2020/meshmakers-shared-services.mjs +19 -9
- package/fesm2020/meshmakers-shared-services.mjs.map +1 -1
- package/lib/dataSources/dataSourceBase.d.ts +2 -0
- package/lib/models/autoCompleteResult.d.ts +2 -2
- package/lib/models/errorMessage.d.ts +2 -2
- package/lib/services/message.service.d.ts +2 -2
- package/lib/shared/enumReader.d.ts +2 -2
- package/lib/shared/isoDateTime.d.ts +2 -2
- package/lib/shared/objectCloner.d.ts +2 -2
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
# SharedServices
|
|
2
2
|
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
|
|
4
4
|
|
|
5
5
|
## Code scaffolding
|
|
6
6
|
|
|
7
|
-
Run `ng generate component component-name --project shared-services` to generate a new component. You can also
|
|
8
|
-
|
|
9
|
-
> Note: Don't forget to add `--project shared-services` or else it will be added to the default project in
|
|
10
|
-
> your `angular.json` file.
|
|
7
|
+
Run `ng generate component component-name --project shared-services` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project shared-services`.
|
|
8
|
+
> Note: Don't forget to add `--project shared-services` or else it will be added to the default project in your `angular.json` file.
|
|
11
9
|
|
|
12
10
|
## Build
|
|
13
11
|
|
|
@@ -15,8 +13,7 @@ Run `ng build shared-services` to build the project. The build artifacts will be
|
|
|
15
13
|
|
|
16
14
|
## Publishing
|
|
17
15
|
|
|
18
|
-
After building your library with `ng build shared-services`, go to the dist folder `cd dist/shared-services` and
|
|
19
|
-
run `npm publish`.
|
|
16
|
+
After building your library with `ng build shared-services`, go to the dist folder `cd dist/shared-services` and run `npm publish`.
|
|
20
17
|
|
|
21
18
|
## Running unit tests
|
|
22
19
|
|
|
@@ -24,5 +21,4 @@ Run `ng test shared-services` to execute the unit tests via [Karma](https://karm
|
|
|
24
21
|
|
|
25
22
|
## Further help
|
|
26
23
|
|
|
27
|
-
To get more help on the Angular CLI use `ng help` or go check out
|
|
28
|
-
the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -6,6 +6,10 @@ export class DataSourceBase {
|
|
|
6
6
|
this.loading$ = this.loadingSubject.asObservable();
|
|
7
7
|
this.totalCountSubject = new BehaviorSubject(0);
|
|
8
8
|
this.totalCount$ = this.totalCountSubject.asObservable();
|
|
9
|
+
this.xyz = 123;
|
|
10
|
+
}
|
|
11
|
+
get totalCount() {
|
|
12
|
+
return this.totalCount$;
|
|
9
13
|
}
|
|
10
14
|
connect(collectionViewer) {
|
|
11
15
|
return this.dataSubject.asObservable();
|
|
@@ -28,4 +32,4 @@ export class DataSourceBase {
|
|
|
28
32
|
this.totalCountSubject.next(pagedResult.totalCount);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVNvdXJjZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2RhdGFTb3VyY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFTekI7UUFSUSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFLbEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sQ0FBQyxnQkFBa0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVLENBQUMsZ0JBQWtDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxXQUFpQztRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0NvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2V9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7UGFnZWRSZXN1bHREdG99IGZyb20gXCIuLi9tb2RlbHMvcGFnZWRSZXN1bHREdG9cIjtcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VCYXNlPFREdG8+IGltcGxlbWVudHMgRGF0YVNvdXJjZTxURHRvPiB7XG4gIHByaXZhdGUgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PFREdG8+PihbXSk7XG4gIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSB0b3RhbENvdW50U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgcHVibGljIHJlYWRvbmx5IHRvdGFsQ291bnQkID0gdGhpcy50b3RhbENvdW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgeHl6IDogbnVtYmVyO1xuICBcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy54eXogPSAxMjM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvdGFsQ291bnQoKTogT2JzZXJ2YWJsZTxudW1iZXI+e1xuICAgIHJldHVybiB0aGlzLnRvdGFsQ291bnQkO1xuICB9XG4gIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8cmVhZG9ubHkgVER0b1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQoW10pO1xuICAgIHRoaXMudG90YWxDb3VudFN1YmplY3QubmV4dCgwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkJlZ2luTG9hZCgpIHtcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Db21wbGV0ZUxvYWQocGFnZWRSZXN1bHQ6IFBhZ2VkUmVzdWx0RHRvPFREdG8+KSB7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQocGFnZWRSZXN1bHQubGlzdCk7XG4gICAgdGhpcy50b3RhbENvdW50U3ViamVjdC5uZXh0KHBhZ2VkUmVzdWx0LnRvdGFsQ291bnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class AutoCompleteResult {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0NvbXBsZXRlUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvYXV0b0NvbXBsZXRlUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7Q0FLOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlUmVzdWx0IHtcblxuICBzZWFyY2hUZXJtPzogc3RyaW5nO1xuXG4gIGxpc3Q/OiBBcnJheTxzdHJpbmc+O1xufVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class ErrorMessage {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvZXJyb3JNZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0NBR3hCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -27,7 +27,7 @@ export class MessageService {
|
|
|
27
27
|
this.latestErrorMessage.next(errorMessage);
|
|
28
28
|
}
|
|
29
29
|
showInformation(message) {
|
|
30
|
-
this.snackBar.open(message,
|
|
30
|
+
this.snackBar.open(message, undefined, {
|
|
31
31
|
duration: 3000,
|
|
32
32
|
// here specify the position
|
|
33
33
|
horizontalPosition: "center",
|
|
@@ -35,9 +35,9 @@ export class MessageService {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
39
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
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
41
|
type: Injectable
|
|
42
42
|
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFPekIsWUFBb0IsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUV2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxLQUFLLEVBQWdCLENBQUM7SUFDakQsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWUsRUFBRSxLQUFhO1FBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkIsTUFBTSxZQUFZLEdBQWlCO1lBQ2pDLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFlO1FBRTdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDckMsUUFBUSxFQUFFLElBQUk7WUFDZCw0QkFBNEI7WUFDNUIsa0JBQWtCLEVBQUUsUUFBUTtZQUM1QixnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7OzJHQTdDVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdFNuYWNrQmFyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7RXJyb3JNZXNzYWdlfSBmcm9tIFwiLi4vbW9kZWxzL2Vycm9yTWVzc2FnZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2Uge1xuXG4gIGxhdGVzdEVycm9yTWVzc2FnZTogQmVoYXZpb3JTdWJqZWN0PEVycm9yTWVzc2FnZSB8IG51bGw+O1xuXG4gIGVycm9yTWVzc2FnZXM6IEFycmF5PEVycm9yTWVzc2FnZT47XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xuXG4gICAgdGhpcy5sYXRlc3RFcnJvck1lc3NhZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVycm9yTWVzc2FnZSB8IG51bGw+KG51bGwpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IG5ldyBBcnJheTxFcnJvck1lc3NhZ2U+KCk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2VDb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aDtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZShpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlc1tpbmRleF07XG4gIH1cblxuICBnZXRMYXRlc3RFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxFcnJvck1lc3NhZ2UgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0RXJyb3JNZXNzYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2hvd0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU6IHN0cmluZykge1xuICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG5cbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSA8RXJyb3JNZXNzYWdlPntcbiAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VcbiAgICB9O1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKGVycm9yTWVzc2FnZSk7XG5cbiAgICB0aGlzLmxhdGVzdEVycm9yTWVzc2FnZS5uZXh0KGVycm9yTWVzc2FnZSk7XG4gIH1cblxuICBzaG93SW5mb3JtYXRpb24obWVzc2FnZTogc3RyaW5nKSB7XG5cbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgdW5kZWZpbmVkLCB7XG4gICAgICBkdXJhdGlvbjogMzAwMCxcbiAgICAgIC8vIGhlcmUgc3BlY2lmeSB0aGUgcG9zaXRpb25cbiAgICAgIGhvcml6b250YWxQb3NpdGlvbjogXCJjZW50ZXJcIixcbiAgICAgIHZlcnRpY2FsUG9zaXRpb246ICdib3R0b20nXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,7 @@ export class EnumReader {
|
|
|
6
6
|
}
|
|
7
7
|
getNamesAndValues() {
|
|
8
8
|
return this.getNames().map((n) => {
|
|
9
|
+
// @ts-ignore
|
|
9
10
|
return { name: this.value[n], id: n };
|
|
10
11
|
});
|
|
11
12
|
}
|
|
@@ -13,7 +14,8 @@ export class EnumReader {
|
|
|
13
14
|
return Object.keys(this.value);
|
|
14
15
|
}
|
|
15
16
|
getObjValues() {
|
|
17
|
+
// @ts-ignore
|
|
16
18
|
return Object.keys(this.value).map(k => this.value[k]);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bVJlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvc2hhcmVkL2VudW1SZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7Q0FHckI7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUFvQixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNqQyxDQUFDO0lBRU0saUJBQWlCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9CLGFBQWE7WUFDYixPQUEwQixFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWTtRQUNsQixhQUFhO1FBQ2IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVudW1UdXBsZTxUVmFsdWUgPSBudW1iZXI+IHtcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgbmFtZTogVFZhbHVlIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY2xhc3MgRW51bVJlYWRlcjxUVmFsdWUgPSBudW1iZXI+IHtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmFsdWU6IE9iamVjdCkge1xuICB9XG5cbiAgcHVibGljIGdldE5hbWVzQW5kVmFsdWVzKCk6IEVudW1UdXBsZTxUVmFsdWU+W10ge1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0TmFtZXMoKS5tYXAoKG4pID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiA8RW51bVR1cGxlPFRWYWx1ZT4+e25hbWU6IHRoaXMudmFsdWVbbl0gYXMgVFZhbHVlLCBpZDogbn07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2JqVmFsdWVzKCk6IFRWYWx1ZVtdIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLm1hcChrID0+IHRoaXMudmFsdWVba10pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import moment from 'moment';
|
|
1
|
+
import * as moment from 'moment';
|
|
2
2
|
export class IsoDateTime {
|
|
3
3
|
static utcToLocalDateTimeIso(utcDateTime) {
|
|
4
4
|
if (!utcDateTime) {
|
|
@@ -16,4 +16,4 @@ export class IsoDateTime {
|
|
|
16
16
|
return moment(Date.now()).toISOString();
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvRGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9pc29EYXRlVGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxNQUFNLE9BQU8sV0FBVztJQUNmLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxXQUFtQjtRQUNyRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLGFBQXFCO1FBQ3ZELElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5leHBvcnQgY2xhc3MgSXNvRGF0ZVRpbWUge1xuICBwdWJsaWMgc3RhdGljIHV0Y1RvTG9jYWxEYXRlVGltZUlzbyh1dGNEYXRlVGltZTogc3RyaW5nKSB7XG4gICAgaWYgKCF1dGNEYXRlVGltZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBtb21lbnQodXRjRGF0ZVRpbWUpLmxvY2FsKCkuZm9ybWF0KFwiWVlZWS1NTS1ERFRISDptbTpzc1wiKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbG9jYWxUb1V0Y0RhdGVUaW1lSXNvKGxvY2FsRGF0ZVRpbWU6IHN0cmluZykge1xuICAgIGlmICghbG9jYWxEYXRlVGltZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBtb21lbnQobG9jYWxEYXRlVGltZSkudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY3VycmVudFV0Y0RhdGVUaW1lSXNvKCkge1xuICAgIHJldHVybiBtb21lbnQoRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
export class ObjectCloner {
|
|
2
2
|
static cloneObject(source, ignoreProperties = null) {
|
|
3
|
+
// @ts-ignore
|
|
3
4
|
let clonedObject = Object.assign({}, source);
|
|
4
5
|
if (ignoreProperties) {
|
|
5
6
|
for (let prop of ignoreProperties) {
|
|
7
|
+
// @ts-ignore
|
|
6
8
|
delete clonedObject[prop];
|
|
7
9
|
}
|
|
8
10
|
}
|
|
9
11
|
return clonedObject;
|
|
10
12
|
}
|
|
11
13
|
static cloneObject2(source, source2, ignoreProperties = null) {
|
|
14
|
+
// @ts-ignore
|
|
12
15
|
let clonedObject = Object.assign({}, source, source2);
|
|
13
16
|
if (ignoreProperties) {
|
|
14
17
|
for (let prop of ignoreProperties) {
|
|
18
|
+
// @ts-ignore
|
|
15
19
|
delete clonedObject[prop];
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
22
|
return clonedObject;
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0Q2xvbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQVUsTUFBVyxFQUFFLG1CQUFvQyxJQUFJO1FBQ3RGLGFBQWE7UUFDYixJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFLLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVqRCxJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLEtBQUssSUFBSSxJQUFJLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2pDLGFBQWE7Z0JBQ2IsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQVcsWUFBWSxDQUFDO0lBQzFCLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFlLE1BQVcsRUFBRSxPQUFZLEVBQUUsbUJBQW9DLElBQUk7UUFDMUcsYUFBYTtRQUNiLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUxRCxJQUFJLGdCQUFnQixFQUFFO1lBQ3BCLEtBQUssSUFBSSxJQUFJLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2pDLGFBQWE7Z0JBQ2IsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQVcsWUFBWSxDQUFDO0lBQzFCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPYmplY3RDbG9uZXIge1xuICBwdWJsaWMgc3RhdGljIGNsb25lT2JqZWN0PFRSLCBUUzE+KHNvdXJjZTogVFMxLCBpZ25vcmVQcm9wZXJ0aWVzOiBzdHJpbmdbXXwgIG51bGwgPSBudWxsKTogVFIge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBsZXQgY2xvbmVkT2JqZWN0ID0gT2JqZWN0LmFzc2lnbig8VFI+e30sIHNvdXJjZSk7XG5cbiAgICBpZiAoaWdub3JlUHJvcGVydGllcykge1xuICAgICAgZm9yIChsZXQgcHJvcCBvZiBpZ25vcmVQcm9wZXJ0aWVzKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZGVsZXRlIGNsb25lZE9iamVjdFtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIDxUUj5jbG9uZWRPYmplY3Q7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNsb25lT2JqZWN0MjxUUiwgVFMxLCBUUzI+KHNvdXJjZTogVFMxLCBzb3VyY2UyOiBUUzIsIGlnbm9yZVByb3BlcnRpZXM6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGwpOiBUUiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxldCBjbG9uZWRPYmplY3QgPSBPYmplY3QuYXNzaWduKDxUUj57fSwgc291cmNlLCBzb3VyY2UyKTtcblxuICAgIGlmIChpZ25vcmVQcm9wZXJ0aWVzKSB7XG4gICAgICBmb3IgKGxldCBwcm9wIG9mIGlnbm9yZVByb3BlcnRpZXMpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBkZWxldGUgY2xvbmVkT2JqZWN0W3Byb3BdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gPFRSPmNsb25lZE9iamVjdDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -11,10 +11,10 @@ export class SharedServicesModule {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
15
|
-
SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
16
|
-
SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
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
18
|
type: NgModule,
|
|
19
19
|
args: [{
|
|
20
20
|
declarations: [],
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -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,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNoYXJlZC1zZXJ2aWNlc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC1zZXJ2aWNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hdXRvQ29tcGxldGVSZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Vycm9yTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGFnZWRSZXN1bHREdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZGF0YVNvdXJjZUJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZ2VuZXJpY0RhdGFTb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhU291cmNlcy9hdXRvQ29tcGxldGVEYXRhU291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9pc29EYXRlVGltZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvZW51bVJlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyJztcblxuIl19
|
|
@@ -2,7 +2,7 @@ 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 moment from 'moment';
|
|
5
|
+
import * as moment from 'moment';
|
|
6
6
|
|
|
7
7
|
class MessageService {
|
|
8
8
|
constructor(snackBar) {
|
|
@@ -29,7 +29,7 @@ class MessageService {
|
|
|
29
29
|
this.latestErrorMessage.next(errorMessage);
|
|
30
30
|
}
|
|
31
31
|
showInformation(message) {
|
|
32
|
-
this.snackBar.open(message,
|
|
32
|
+
this.snackBar.open(message, undefined, {
|
|
33
33
|
duration: 3000,
|
|
34
34
|
// here specify the position
|
|
35
35
|
horizontalPosition: "center",
|
|
@@ -37,9 +37,9 @@ class MessageService {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
41
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
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
43
|
type: Injectable
|
|
44
44
|
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
45
45
|
|
|
@@ -53,10 +53,10 @@ class SharedServicesModule {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
57
|
-
SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
58
|
-
SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
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
60
|
type: NgModule,
|
|
61
61
|
args: [{
|
|
62
62
|
declarations: [],
|
|
@@ -87,6 +87,10 @@ class DataSourceBase {
|
|
|
87
87
|
this.loading$ = this.loadingSubject.asObservable();
|
|
88
88
|
this.totalCountSubject = new BehaviorSubject(0);
|
|
89
89
|
this.totalCount$ = this.totalCountSubject.asObservable();
|
|
90
|
+
this.xyz = 123;
|
|
91
|
+
}
|
|
92
|
+
get totalCount() {
|
|
93
|
+
return this.totalCount$;
|
|
90
94
|
}
|
|
91
95
|
connect(collectionViewer) {
|
|
92
96
|
return this.dataSubject.asObservable();
|
|
@@ -153,6 +157,7 @@ class EnumReader {
|
|
|
153
157
|
}
|
|
154
158
|
getNamesAndValues() {
|
|
155
159
|
return this.getNames().map((n) => {
|
|
160
|
+
// @ts-ignore
|
|
156
161
|
return { name: this.value[n], id: n };
|
|
157
162
|
});
|
|
158
163
|
}
|
|
@@ -160,24 +165,29 @@ class EnumReader {
|
|
|
160
165
|
return Object.keys(this.value);
|
|
161
166
|
}
|
|
162
167
|
getObjValues() {
|
|
168
|
+
// @ts-ignore
|
|
163
169
|
return Object.keys(this.value).map(k => this.value[k]);
|
|
164
170
|
}
|
|
165
171
|
}
|
|
166
172
|
|
|
167
173
|
class ObjectCloner {
|
|
168
174
|
static cloneObject(source, ignoreProperties = null) {
|
|
175
|
+
// @ts-ignore
|
|
169
176
|
let clonedObject = Object.assign({}, source);
|
|
170
177
|
if (ignoreProperties) {
|
|
171
178
|
for (let prop of ignoreProperties) {
|
|
179
|
+
// @ts-ignore
|
|
172
180
|
delete clonedObject[prop];
|
|
173
181
|
}
|
|
174
182
|
}
|
|
175
183
|
return clonedObject;
|
|
176
184
|
}
|
|
177
185
|
static cloneObject2(source, source2, ignoreProperties = null) {
|
|
186
|
+
// @ts-ignore
|
|
178
187
|
let clonedObject = Object.assign({}, source, source2);
|
|
179
188
|
if (ignoreProperties) {
|
|
180
189
|
for (let prop of ignoreProperties) {
|
|
190
|
+
// @ts-ignore
|
|
181
191
|
delete clonedObject[prop];
|
|
182
192
|
}
|
|
183
193
|
}
|
|
@@ -1 +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\n latestErrorMessage: BehaviorSubject<ErrorMessage>;\n\n errorMessages: Array<ErrorMessage>;\n\n\n constructor(private snackBar: MatSnackBar) {\n\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage>(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> {\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 this.snackBar.open(message, null, {\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 constructor() {\n }\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 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;\n name: TValue;\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 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 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): TR {\n let clonedObject = Object.assign(<TR>{}, source);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\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): TR {\n let clonedObject = Object.assign(<TR>{}, source, source2);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
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 xyz : number;\n \n constructor() {\n this.xyz = 123;\n }\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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"}
|
|
@@ -2,7 +2,7 @@ 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 moment from 'moment';
|
|
5
|
+
import * as moment from 'moment';
|
|
6
6
|
|
|
7
7
|
class MessageService {
|
|
8
8
|
constructor(snackBar) {
|
|
@@ -29,7 +29,7 @@ class MessageService {
|
|
|
29
29
|
this.latestErrorMessage.next(errorMessage);
|
|
30
30
|
}
|
|
31
31
|
showInformation(message) {
|
|
32
|
-
this.snackBar.open(message,
|
|
32
|
+
this.snackBar.open(message, undefined, {
|
|
33
33
|
duration: 3000,
|
|
34
34
|
// here specify the position
|
|
35
35
|
horizontalPosition: "center",
|
|
@@ -37,9 +37,9 @@ class MessageService {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
41
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
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
43
|
type: Injectable
|
|
44
44
|
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
45
45
|
|
|
@@ -53,10 +53,10 @@ class SharedServicesModule {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
57
|
-
SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
58
|
-
SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
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
60
|
type: NgModule,
|
|
61
61
|
args: [{
|
|
62
62
|
declarations: [],
|
|
@@ -87,6 +87,10 @@ class DataSourceBase {
|
|
|
87
87
|
this.loading$ = this.loadingSubject.asObservable();
|
|
88
88
|
this.totalCountSubject = new BehaviorSubject(0);
|
|
89
89
|
this.totalCount$ = this.totalCountSubject.asObservable();
|
|
90
|
+
this.xyz = 123;
|
|
91
|
+
}
|
|
92
|
+
get totalCount() {
|
|
93
|
+
return this.totalCount$;
|
|
90
94
|
}
|
|
91
95
|
connect(collectionViewer) {
|
|
92
96
|
return this.dataSubject.asObservable();
|
|
@@ -153,6 +157,7 @@ class EnumReader {
|
|
|
153
157
|
}
|
|
154
158
|
getNamesAndValues() {
|
|
155
159
|
return this.getNames().map((n) => {
|
|
160
|
+
// @ts-ignore
|
|
156
161
|
return { name: this.value[n], id: n };
|
|
157
162
|
});
|
|
158
163
|
}
|
|
@@ -160,24 +165,29 @@ class EnumReader {
|
|
|
160
165
|
return Object.keys(this.value);
|
|
161
166
|
}
|
|
162
167
|
getObjValues() {
|
|
168
|
+
// @ts-ignore
|
|
163
169
|
return Object.keys(this.value).map(k => this.value[k]);
|
|
164
170
|
}
|
|
165
171
|
}
|
|
166
172
|
|
|
167
173
|
class ObjectCloner {
|
|
168
174
|
static cloneObject(source, ignoreProperties = null) {
|
|
175
|
+
// @ts-ignore
|
|
169
176
|
let clonedObject = Object.assign({}, source);
|
|
170
177
|
if (ignoreProperties) {
|
|
171
178
|
for (let prop of ignoreProperties) {
|
|
179
|
+
// @ts-ignore
|
|
172
180
|
delete clonedObject[prop];
|
|
173
181
|
}
|
|
174
182
|
}
|
|
175
183
|
return clonedObject;
|
|
176
184
|
}
|
|
177
185
|
static cloneObject2(source, source2, ignoreProperties = null) {
|
|
186
|
+
// @ts-ignore
|
|
178
187
|
let clonedObject = Object.assign({}, source, source2);
|
|
179
188
|
if (ignoreProperties) {
|
|
180
189
|
for (let prop of ignoreProperties) {
|
|
190
|
+
// @ts-ignore
|
|
181
191
|
delete clonedObject[prop];
|
|
182
192
|
}
|
|
183
193
|
}
|
|
@@ -1 +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\n latestErrorMessage: BehaviorSubject<ErrorMessage>;\n\n errorMessages: Array<ErrorMessage>;\n\n\n constructor(private snackBar: MatSnackBar) {\n\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage>(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> {\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 this.snackBar.open(message, null, {\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 constructor() {\n }\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 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;\n name: TValue;\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 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 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): TR {\n let clonedObject = Object.assign(<TR>{}, source);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\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): TR {\n let clonedObject = Object.assign(<TR>{}, source, source2);\n\n if (ignoreProperties) {\n for (let prop of ignoreProperties) {\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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
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 xyz : number;\n \n constructor() {\n this.xyz = 123;\n }\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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"}
|
|
@@ -7,7 +7,9 @@ export declare class DataSourceBase<TDto> implements DataSource<TDto> {
|
|
|
7
7
|
readonly loading$: Observable<boolean>;
|
|
8
8
|
private totalCountSubject;
|
|
9
9
|
readonly totalCount$: Observable<number>;
|
|
10
|
+
xyz: number;
|
|
10
11
|
constructor();
|
|
12
|
+
get totalCount(): Observable<number>;
|
|
11
13
|
connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]>;
|
|
12
14
|
disconnect(collectionViewer: CollectionViewer): void;
|
|
13
15
|
clear(): void;
|
|
@@ -4,12 +4,12 @@ import { ErrorMessage } from "../models/errorMessage";
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class MessageService {
|
|
6
6
|
private snackBar;
|
|
7
|
-
latestErrorMessage: BehaviorSubject<ErrorMessage>;
|
|
7
|
+
latestErrorMessage: BehaviorSubject<ErrorMessage | null>;
|
|
8
8
|
errorMessages: Array<ErrorMessage>;
|
|
9
9
|
constructor(snackBar: MatSnackBar);
|
|
10
10
|
getErrorMessageCount(): number;
|
|
11
11
|
getErrorMessage(index: number): ErrorMessage;
|
|
12
|
-
getLatestErrorMessage(): Observable<ErrorMessage>;
|
|
12
|
+
getLatestErrorMessage(): Observable<ErrorMessage | null>;
|
|
13
13
|
showError(message: string, title: string): void;
|
|
14
14
|
showInformation(message: string): void;
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<MessageService, never>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare class IsoDateTime {
|
|
2
|
-
static utcToLocalDateTimeIso(utcDateTime: string): string;
|
|
3
|
-
static localToUtcDateTimeIso(localDateTime: string): string;
|
|
2
|
+
static utcToLocalDateTimeIso(utcDateTime: string): string | null;
|
|
3
|
+
static localToUtcDateTimeIso(localDateTime: string): string | null;
|
|
4
4
|
static currentUtcDateTimeIso(): string;
|
|
5
5
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare class ObjectCloner {
|
|
2
|
-
static cloneObject<TR, TS1>(source: TS1, ignoreProperties?: string[]): TR;
|
|
3
|
-
static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties?: string[]): TR;
|
|
2
|
+
static cloneObject<TR, TS1>(source: TS1, ignoreProperties?: string[] | null): TR;
|
|
3
|
+
static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties?: string[] | null): TR;
|
|
4
4
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshmakers/shared-services",
|
|
3
|
-
"version": "0.0.2304-
|
|
3
|
+
"version": "0.0.2304-26001",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^15.2.0",
|
|
6
|
+
"@angular/core": "^15.2.0"
|
|
7
|
+
},
|
|
4
8
|
"dependencies": {
|
|
5
|
-
"tslib": "^2.
|
|
9
|
+
"tslib": "^2.3.0"
|
|
6
10
|
},
|
|
11
|
+
"sideEffects": false,
|
|
7
12
|
"module": "fesm2015/meshmakers-shared-services.mjs",
|
|
8
13
|
"es2020": "fesm2020/meshmakers-shared-services.mjs",
|
|
9
14
|
"esm2020": "esm2020/meshmakers-shared-services.mjs",
|
|
@@ -22,6 +27,5 @@
|
|
|
22
27
|
"node": "./fesm2015/meshmakers-shared-services.mjs",
|
|
23
28
|
"default": "./fesm2020/meshmakers-shared-services.mjs"
|
|
24
29
|
}
|
|
25
|
-
}
|
|
26
|
-
"sideEffects": false
|
|
30
|
+
}
|
|
27
31
|
}
|