@meshmakers/shared-services 2.0.2303-3003 → 2.0.2304-13002

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.
@@ -28,4 +28,4 @@ export class DataSourceBase {
28
28
  this.totalCountSubject.next(pagedResult.totalCount);
29
29
  }
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVNvdXJjZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2RhdGFTb3VyY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFPekI7UUFOUSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFHcEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBa0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVLENBQUMsZ0JBQWtDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxXQUFpQztRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Q29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2xsZWN0aW9uc1wiO1xyXG5pbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiLi4vbW9kZWxzL3BhZ2VkUmVzdWx0RHRvXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZUJhc2U8VER0bz4gaW1wbGVtZW50cyBEYXRhU291cmNlPFREdG8+IHtcclxuICBwcml2YXRlIGRhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxURHRvPj4oW10pO1xyXG4gIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQgPSB0aGlzLmxvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgdG90YWxDb3VudFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRvdGFsQ291bnQkID0gdGhpcy50b3RhbENvdW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiBPYnNlcnZhYmxlPFREdG9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIHRoaXMubG9hZGluZ1N1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChbXSk7XHJcbiAgICB0aGlzLnRvdGFsQ291bnRTdWJqZWN0Lm5leHQoMCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25CZWdpbkxvYWQoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Db21wbGV0ZUxvYWQocGFnZWRSZXN1bHQ6IFBhZ2VkUmVzdWx0RHRvPFREdG8+KSB7XHJcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHBhZ2VkUmVzdWx0Lmxpc3QpO1xyXG4gICAgdGhpcy50b3RhbENvdW50U3ViamVjdC5uZXh0KHBhZ2VkUmVzdWx0LnRvdGFsQ291bnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVNvdXJjZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2RhdGFTb3VyY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFPekI7UUFOUSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFHcEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBa0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVLENBQUMsZ0JBQWtDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxXQUFpQztRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7Q29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2xsZWN0aW9uc1wiO1xyXG5pbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiLi4vbW9kZWxzL3BhZ2VkUmVzdWx0RHRvXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZUJhc2U8VER0bz4gaW1wbGVtZW50cyBEYXRhU291cmNlPFREdG8+IHtcclxuICBwcml2YXRlIGRhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxURHRvPj4oW10pO1xyXG4gIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQgPSB0aGlzLmxvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgdG90YWxDb3VudFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRvdGFsQ291bnQkID0gdGhpcy50b3RhbENvdW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFREdG9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIHRoaXMubG9hZGluZ1N1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChbXSk7XHJcbiAgICB0aGlzLnRvdGFsQ291bnRTdWJqZWN0Lm5leHQoMCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25CZWdpbkxvYWQoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Db21wbGV0ZUxvYWQocGFnZWRSZXN1bHQ6IFBhZ2VkUmVzdWx0RHRvPFREdG8+KSB7XHJcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHBhZ2VkUmVzdWx0Lmxpc3QpO1xyXG4gICAgdGhpcy50b3RhbENvdW50U3ViamVjdC5uZXh0KHBhZ2VkUmVzdWx0LnRvdGFsQ291bnQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5U2VsZWN0RGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiLi4vbW9kZWxzL3BhZ2VkUmVzdWx0RHRvXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdERhdGFTb3VyY2U8VD4ge1xyXG5cclxuICBvbkZpbHRlcihmaWx0ZXI6IHN0cmluZyk6IE9ic2VydmFibGU8UGFnZWRSZXN1bHREdG88VD4+O1xyXG5cclxuICBvbkRpc3BsYXlFbnRpdHkoZW50aXR5OiBUKTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5U2VsZWN0RGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiLi4vbW9kZWxzL3BhZ2VkUmVzdWx0RHRvXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdERhdGFTb3VyY2U8VD4ge1xyXG5cclxuICBvbkZpbHRlcihmaWx0ZXI6IHN0cmluZyk6IE9ic2VydmFibGU8UGFnZWRSZXN1bHREdG88VD4+O1xyXG5cclxuICBvbkRpc3BsYXlFbnRpdHkoZW50aXR5OiBUKTogc3RyaW5nO1xyXG5cclxuICBnZXRJZEVudGl0eShlbnRpdHk6IFQpOiBhbnk7XHJcbn1cclxuIl19
@@ -35,9 +35,9 @@ export class MessageService {
35
35
  });
36
36
  }
37
37
  }
38
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
39
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, decorators: [{
38
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MessageService });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MessageService, decorators: [{
41
41
  type: Injectable
42
42
  }], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
43
43
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFPekIsWUFBb0IsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUV2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBZ0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZSxFQUFFLEtBQWE7UUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2QixNQUFNLFlBQVksR0FBaUI7WUFDakMsS0FBSyxFQUFFLEtBQUs7WUFDWixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNoQyxRQUFRLEVBQUUsSUFBSTtZQUNkLDRCQUE0QjtZQUM1QixrQkFBa0IsRUFBRSxRQUFRO1lBQzVCLGdCQUFnQixFQUFFLFFBQVE7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MkdBNUNVLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRTbmFja0Jhcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtFcnJvck1lc3NhZ2V9IGZyb20gXCIuLi9tb2RlbHMvZXJyb3JNZXNzYWdlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XHJcblxyXG4gIGxhdGVzdEVycm9yTWVzc2FnZTogQmVoYXZpb3JTdWJqZWN0PEVycm9yTWVzc2FnZT47XHJcblxyXG4gIGVycm9yTWVzc2FnZXM6IEFycmF5PEVycm9yTWVzc2FnZT47XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xyXG5cclxuICAgIHRoaXMubGF0ZXN0RXJyb3JNZXNzYWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFcnJvck1lc3NhZ2U+KG51bGwpO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gbmV3IEFycmF5PEVycm9yTWVzc2FnZT4oKTtcclxuICB9XHJcblxyXG4gIGdldEVycm9yTWVzc2FnZUNvdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBnZXRFcnJvck1lc3NhZ2UoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlc1tpbmRleF07XHJcbiAgfVxyXG5cclxuICBnZXRMYXRlc3RFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxFcnJvck1lc3NhZ2U+IHtcclxuICAgIHJldHVybiB0aGlzLmxhdGVzdEVycm9yTWVzc2FnZS5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHNob3dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XHJcblxyXG4gICAgY29uc3QgZXJyb3JNZXNzYWdlID0gPEVycm9yTWVzc2FnZT57XHJcbiAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgbWVzc2FnZTogbWVzc2FnZVxyXG4gICAgfTtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKGVycm9yTWVzc2FnZSk7XHJcblxyXG4gICAgdGhpcy5sYXRlc3RFcnJvck1lc3NhZ2UubmV4dChlcnJvck1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0luZm9ybWF0aW9uKG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsIG51bGwsIHtcclxuICAgICAgZHVyYXRpb246IDMwMDAsXHJcbiAgICAgIC8vIGhlcmUgc3BlY2lmeSB0aGUgcG9zaXRpb25cclxuICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiBcImNlbnRlclwiLFxyXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAnYm90dG9tJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -11,10 +11,10 @@ export class SharedServicesModule {
11
11
  };
12
12
  }
13
13
  }
14
- SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
16
- SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule, decorators: [{
14
+ SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule });
16
+ SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  declarations: [],
@@ -37,9 +37,9 @@ class MessageService {
37
37
  });
38
38
  }
39
39
  }
40
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
41
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, decorators: [{
40
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MessageService });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", 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: "14.2.2", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
58
- SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule, decorators: [{
56
+ SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
+ SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule });
58
+ SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule, decorators: [{
60
60
  type: NgModule,
61
61
  args: [{
62
62
  declarations: [],
@@ -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';\r\nimport {MatSnackBar} from \"@angular/material/snack-bar\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {ErrorMessage} from \"../models/errorMessage\";\r\n\r\n@Injectable()\r\nexport class MessageService {\r\n\r\n latestErrorMessage: BehaviorSubject<ErrorMessage>;\r\n\r\n errorMessages: Array<ErrorMessage>;\r\n\r\n\r\n constructor(private snackBar: MatSnackBar) {\r\n\r\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage>(null);\r\n this.errorMessages = new Array<ErrorMessage>();\r\n }\r\n\r\n getErrorMessageCount() {\r\n return this.errorMessages.length;\r\n }\r\n\r\n getErrorMessage(index: number) {\r\n return this.errorMessages[index];\r\n }\r\n\r\n getLatestErrorMessage(): Observable<ErrorMessage> {\r\n return this.latestErrorMessage.asObservable();\r\n }\r\n\r\n showError(message: string, title: string) {\r\n console.error(message);\r\n\r\n const errorMessage = <ErrorMessage>{\r\n title: title,\r\n message: message\r\n };\r\n this.errorMessages.push(errorMessage);\r\n\r\n this.latestErrorMessage.next(errorMessage);\r\n }\r\n\r\n showInformation(message: string) {\r\n this.snackBar.open(message, null, {\r\n duration: 3000,\r\n // here specify the position\r\n horizontalPosition: \"center\",\r\n verticalPosition: 'bottom'\r\n });\r\n }\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {MessageService} from \"./services/message.service\";\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [],\r\n exports: []\r\n})\r\nexport class SharedServicesModule {\r\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\r\n return {\r\n ngModule: SharedServicesModule,\r\n providers: [\r\n MessageService\r\n ]\r\n }\r\n }\r\n}\r\n","export class AutoCompleteResult {\r\n\r\n searchTerm: string;\r\n\r\n list: Array<string>;\r\n}\r\n","export class ErrorMessage {\r\n title: string;\r\n message: string;\r\n}\r\n","export class PagedResultDto<T> {\r\n\r\n skip: number;\r\n take: number;\r\n totalCount: number;\r\n list: Array<T>;\r\n\r\n constructor() {\r\n this.skip = 0;\r\n this.take = 0;\r\n this.totalCount = 0;\r\n this.list = new Array<T>();\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\nimport {PagedResultDto} from \"../models/pagedResultDto\";\r\n\r\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\r\n private dataSubject = new BehaviorSubject<Array<TDto>>([]);\r\n private loadingSubject = new BehaviorSubject<boolean>(false);\r\n public readonly loading$ = this.loadingSubject.asObservable();\r\n private totalCountSubject = new BehaviorSubject<number>(0);\r\n public readonly totalCount$ = this.totalCountSubject.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<TDto[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n clear() {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next([]);\r\n this.totalCountSubject.next(0);\r\n }\r\n\r\n protected onBeginLoad() {\r\n this.loadingSubject.next(true);\r\n }\r\n\r\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>) {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next(pagedResult.list);\r\n this.totalCountSubject.next(pagedResult.totalCount);\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\n\r\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\r\n private dataSubject = new BehaviorSubject<Array<TEntity>>([]);\r\n\r\n constructor(public data: Array<TEntity>) {\r\n\r\n this.dataSubject.next(data);\r\n\r\n }\r\n\r\n emitChanged() {\r\n this.dataSubject.next(this.data);\r\n }\r\n\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<TEntity[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n }\r\n}\r\n","import moment from 'moment';\r\n\r\nexport class IsoDateTime {\r\n public static utcToLocalDateTimeIso(utcDateTime: string) {\r\n if (!utcDateTime) {\r\n return null;\r\n }\r\n return moment(utcDateTime).local().format(\"YYYY-MM-DDTHH:mm:ss\");\r\n }\r\n\r\n public static localToUtcDateTimeIso(localDateTime: string) {\r\n if (!localDateTime) {\r\n return null;\r\n }\r\n return moment(localDateTime).toISOString();\r\n }\r\n\r\n public static currentUtcDateTimeIso() {\r\n return moment(Date.now()).toISOString();\r\n }\r\n}\r\n","export class EnumTuple<TValue = number> {\r\n id: string;\r\n name: TValue;\r\n}\r\n\r\nexport class EnumReader<TValue = number> {\r\n\r\n\r\n constructor(private value: Object) {\r\n }\r\n\r\n public getNamesAndValues(): EnumTuple<TValue>[] {\r\n\r\n return this.getNames().map((n) => {\r\n return <EnumTuple<TValue>>{name: this.value[n] as TValue, id: n};\r\n });\r\n }\r\n\r\n public getNames(): string[] {\r\n return Object.keys(this.value);\r\n }\r\n\r\n private getObjValues(): TValue[] {\r\n return Object.keys(this.value).map(k => this.value[k]);\r\n }\r\n}\r\n","export class ObjectCloner {\r\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source, source2);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of shared-services\r\n */\r\n\r\nexport * from './lib/shared-services.module';\r\nexport * from './lib/services/message.service';\r\nexport * from './lib/models/autoCompleteResult';\r\nexport * from './lib/models/errorMessage';\r\nexport * from './lib/models/pagedResultDto';\r\nexport * from './lib/dataSources/dataSourceBase';\r\nexport * from './lib/dataSources/genericDataSource';\r\nexport * from './lib/dataSources/entitySelectDataSource';\r\nexport * from './lib/dataSources/autoCompleteDataSource';\r\nexport * from './lib/shared/isoDateTime';\r\nexport * from './lib/shared/enumReader';\r\nexport * from './lib/shared/objectCloner';\r\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';\r\nimport {MatSnackBar} from \"@angular/material/snack-bar\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {ErrorMessage} from \"../models/errorMessage\";\r\n\r\n@Injectable()\r\nexport class MessageService {\r\n\r\n latestErrorMessage: BehaviorSubject<ErrorMessage>;\r\n\r\n errorMessages: Array<ErrorMessage>;\r\n\r\n\r\n constructor(private snackBar: MatSnackBar) {\r\n\r\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage>(null);\r\n this.errorMessages = new Array<ErrorMessage>();\r\n }\r\n\r\n getErrorMessageCount() {\r\n return this.errorMessages.length;\r\n }\r\n\r\n getErrorMessage(index: number) {\r\n return this.errorMessages[index];\r\n }\r\n\r\n getLatestErrorMessage(): Observable<ErrorMessage> {\r\n return this.latestErrorMessage.asObservable();\r\n }\r\n\r\n showError(message: string, title: string) {\r\n console.error(message);\r\n\r\n const errorMessage = <ErrorMessage>{\r\n title: title,\r\n message: message\r\n };\r\n this.errorMessages.push(errorMessage);\r\n\r\n this.latestErrorMessage.next(errorMessage);\r\n }\r\n\r\n showInformation(message: string) {\r\n this.snackBar.open(message, null, {\r\n duration: 3000,\r\n // here specify the position\r\n horizontalPosition: \"center\",\r\n verticalPosition: 'bottom'\r\n });\r\n }\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {MessageService} from \"./services/message.service\";\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [],\r\n exports: []\r\n})\r\nexport class SharedServicesModule {\r\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\r\n return {\r\n ngModule: SharedServicesModule,\r\n providers: [\r\n MessageService\r\n ]\r\n }\r\n }\r\n}\r\n","export class AutoCompleteResult {\r\n\r\n searchTerm: string;\r\n\r\n list: Array<string>;\r\n}\r\n","export class ErrorMessage {\r\n title: string;\r\n message: string;\r\n}\r\n","export class PagedResultDto<T> {\r\n\r\n skip: number;\r\n take: number;\r\n totalCount: number;\r\n list: Array<T>;\r\n\r\n constructor() {\r\n this.skip = 0;\r\n this.take = 0;\r\n this.totalCount = 0;\r\n this.list = new Array<T>();\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\nimport {PagedResultDto} from \"../models/pagedResultDto\";\r\n\r\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\r\n private dataSubject = new BehaviorSubject<Array<TDto>>([]);\r\n private loadingSubject = new BehaviorSubject<boolean>(false);\r\n public readonly loading$ = this.loadingSubject.asObservable();\r\n private totalCountSubject = new BehaviorSubject<number>(0);\r\n public readonly totalCount$ = this.totalCountSubject.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n clear() {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next([]);\r\n this.totalCountSubject.next(0);\r\n }\r\n\r\n protected onBeginLoad() {\r\n this.loadingSubject.next(true);\r\n }\r\n\r\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>) {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next(pagedResult.list);\r\n this.totalCountSubject.next(pagedResult.totalCount);\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\n\r\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\r\n private dataSubject = new BehaviorSubject<Array<TEntity>>([]);\r\n\r\n constructor(public data: Array<TEntity>) {\r\n\r\n this.dataSubject.next(data);\r\n\r\n }\r\n\r\n emitChanged() {\r\n this.dataSubject.next(this.data);\r\n }\r\n\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<TEntity[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n }\r\n}\r\n","import moment from 'moment';\r\n\r\nexport class IsoDateTime {\r\n public static utcToLocalDateTimeIso(utcDateTime: string) {\r\n if (!utcDateTime) {\r\n return null;\r\n }\r\n return moment(utcDateTime).local().format(\"YYYY-MM-DDTHH:mm:ss\");\r\n }\r\n\r\n public static localToUtcDateTimeIso(localDateTime: string) {\r\n if (!localDateTime) {\r\n return null;\r\n }\r\n return moment(localDateTime).toISOString();\r\n }\r\n\r\n public static currentUtcDateTimeIso() {\r\n return moment(Date.now()).toISOString();\r\n }\r\n}\r\n","export class EnumTuple<TValue = number> {\r\n id: string;\r\n name: TValue;\r\n}\r\n\r\nexport class EnumReader<TValue = number> {\r\n\r\n\r\n constructor(private value: Object) {\r\n }\r\n\r\n public getNamesAndValues(): EnumTuple<TValue>[] {\r\n\r\n return this.getNames().map((n) => {\r\n return <EnumTuple<TValue>>{name: this.value[n] as TValue, id: n};\r\n });\r\n }\r\n\r\n public getNames(): string[] {\r\n return Object.keys(this.value);\r\n }\r\n\r\n private getObjValues(): TValue[] {\r\n return Object.keys(this.value).map(k => this.value[k]);\r\n }\r\n}\r\n","export class ObjectCloner {\r\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source, source2);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of shared-services\r\n */\r\n\r\nexport * from './lib/shared-services.module';\r\nexport * from './lib/services/message.service';\r\nexport * from './lib/models/autoCompleteResult';\r\nexport * from './lib/models/errorMessage';\r\nexport * from './lib/models/pagedResultDto';\r\nexport * from './lib/dataSources/dataSourceBase';\r\nexport * from './lib/dataSources/genericDataSource';\r\nexport * from './lib/dataSources/entitySelectDataSource';\r\nexport * from './lib/dataSources/autoCompleteDataSource';\r\nexport * from './lib/shared/isoDateTime';\r\nexport * from './lib/shared/enumReader';\r\nexport * from './lib/shared/objectCloner';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -37,9 +37,9 @@ class MessageService {
37
37
  });
38
38
  }
39
39
  }
40
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
41
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, decorators: [{
40
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MessageService });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", 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: "14.2.2", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
58
- SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule, decorators: [{
56
+ SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
+ SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule });
58
+ SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: SharedServicesModule, decorators: [{
60
60
  type: NgModule,
61
61
  args: [{
62
62
  declarations: [],
@@ -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';\r\nimport {MatSnackBar} from \"@angular/material/snack-bar\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {ErrorMessage} from \"../models/errorMessage\";\r\n\r\n@Injectable()\r\nexport class MessageService {\r\n\r\n latestErrorMessage: BehaviorSubject<ErrorMessage>;\r\n\r\n errorMessages: Array<ErrorMessage>;\r\n\r\n\r\n constructor(private snackBar: MatSnackBar) {\r\n\r\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage>(null);\r\n this.errorMessages = new Array<ErrorMessage>();\r\n }\r\n\r\n getErrorMessageCount() {\r\n return this.errorMessages.length;\r\n }\r\n\r\n getErrorMessage(index: number) {\r\n return this.errorMessages[index];\r\n }\r\n\r\n getLatestErrorMessage(): Observable<ErrorMessage> {\r\n return this.latestErrorMessage.asObservable();\r\n }\r\n\r\n showError(message: string, title: string) {\r\n console.error(message);\r\n\r\n const errorMessage = <ErrorMessage>{\r\n title: title,\r\n message: message\r\n };\r\n this.errorMessages.push(errorMessage);\r\n\r\n this.latestErrorMessage.next(errorMessage);\r\n }\r\n\r\n showInformation(message: string) {\r\n this.snackBar.open(message, null, {\r\n duration: 3000,\r\n // here specify the position\r\n horizontalPosition: \"center\",\r\n verticalPosition: 'bottom'\r\n });\r\n }\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {MessageService} from \"./services/message.service\";\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [],\r\n exports: []\r\n})\r\nexport class SharedServicesModule {\r\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\r\n return {\r\n ngModule: SharedServicesModule,\r\n providers: [\r\n MessageService\r\n ]\r\n }\r\n }\r\n}\r\n","export class AutoCompleteResult {\r\n\r\n searchTerm: string;\r\n\r\n list: Array<string>;\r\n}\r\n","export class ErrorMessage {\r\n title: string;\r\n message: string;\r\n}\r\n","export class PagedResultDto<T> {\r\n\r\n skip: number;\r\n take: number;\r\n totalCount: number;\r\n list: Array<T>;\r\n\r\n constructor() {\r\n this.skip = 0;\r\n this.take = 0;\r\n this.totalCount = 0;\r\n this.list = new Array<T>();\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\nimport {PagedResultDto} from \"../models/pagedResultDto\";\r\n\r\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\r\n private dataSubject = new BehaviorSubject<Array<TDto>>([]);\r\n private loadingSubject = new BehaviorSubject<boolean>(false);\r\n public readonly loading$ = this.loadingSubject.asObservable();\r\n private totalCountSubject = new BehaviorSubject<number>(0);\r\n public readonly totalCount$ = this.totalCountSubject.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<TDto[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n clear() {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next([]);\r\n this.totalCountSubject.next(0);\r\n }\r\n\r\n protected onBeginLoad() {\r\n this.loadingSubject.next(true);\r\n }\r\n\r\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>) {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next(pagedResult.list);\r\n this.totalCountSubject.next(pagedResult.totalCount);\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\n\r\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\r\n private dataSubject = new BehaviorSubject<Array<TEntity>>([]);\r\n\r\n constructor(public data: Array<TEntity>) {\r\n\r\n this.dataSubject.next(data);\r\n\r\n }\r\n\r\n emitChanged() {\r\n this.dataSubject.next(this.data);\r\n }\r\n\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<TEntity[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n }\r\n}\r\n","import moment from 'moment';\r\n\r\nexport class IsoDateTime {\r\n public static utcToLocalDateTimeIso(utcDateTime: string) {\r\n if (!utcDateTime) {\r\n return null;\r\n }\r\n return moment(utcDateTime).local().format(\"YYYY-MM-DDTHH:mm:ss\");\r\n }\r\n\r\n public static localToUtcDateTimeIso(localDateTime: string) {\r\n if (!localDateTime) {\r\n return null;\r\n }\r\n return moment(localDateTime).toISOString();\r\n }\r\n\r\n public static currentUtcDateTimeIso() {\r\n return moment(Date.now()).toISOString();\r\n }\r\n}\r\n","export class EnumTuple<TValue = number> {\r\n id: string;\r\n name: TValue;\r\n}\r\n\r\nexport class EnumReader<TValue = number> {\r\n\r\n\r\n constructor(private value: Object) {\r\n }\r\n\r\n public getNamesAndValues(): EnumTuple<TValue>[] {\r\n\r\n return this.getNames().map((n) => {\r\n return <EnumTuple<TValue>>{name: this.value[n] as TValue, id: n};\r\n });\r\n }\r\n\r\n public getNames(): string[] {\r\n return Object.keys(this.value);\r\n }\r\n\r\n private getObjValues(): TValue[] {\r\n return Object.keys(this.value).map(k => this.value[k]);\r\n }\r\n}\r\n","export class ObjectCloner {\r\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source, source2);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of shared-services\r\n */\r\n\r\nexport * from './lib/shared-services.module';\r\nexport * from './lib/services/message.service';\r\nexport * from './lib/models/autoCompleteResult';\r\nexport * from './lib/models/errorMessage';\r\nexport * from './lib/models/pagedResultDto';\r\nexport * from './lib/dataSources/dataSourceBase';\r\nexport * from './lib/dataSources/genericDataSource';\r\nexport * from './lib/dataSources/entitySelectDataSource';\r\nexport * from './lib/dataSources/autoCompleteDataSource';\r\nexport * from './lib/shared/isoDateTime';\r\nexport * from './lib/shared/enumReader';\r\nexport * from './lib/shared/objectCloner';\r\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';\r\nimport {MatSnackBar} from \"@angular/material/snack-bar\";\r\nimport {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {ErrorMessage} from \"../models/errorMessage\";\r\n\r\n@Injectable()\r\nexport class MessageService {\r\n\r\n latestErrorMessage: BehaviorSubject<ErrorMessage>;\r\n\r\n errorMessages: Array<ErrorMessage>;\r\n\r\n\r\n constructor(private snackBar: MatSnackBar) {\r\n\r\n this.latestErrorMessage = new BehaviorSubject<ErrorMessage>(null);\r\n this.errorMessages = new Array<ErrorMessage>();\r\n }\r\n\r\n getErrorMessageCount() {\r\n return this.errorMessages.length;\r\n }\r\n\r\n getErrorMessage(index: number) {\r\n return this.errorMessages[index];\r\n }\r\n\r\n getLatestErrorMessage(): Observable<ErrorMessage> {\r\n return this.latestErrorMessage.asObservable();\r\n }\r\n\r\n showError(message: string, title: string) {\r\n console.error(message);\r\n\r\n const errorMessage = <ErrorMessage>{\r\n title: title,\r\n message: message\r\n };\r\n this.errorMessages.push(errorMessage);\r\n\r\n this.latestErrorMessage.next(errorMessage);\r\n }\r\n\r\n showInformation(message: string) {\r\n this.snackBar.open(message, null, {\r\n duration: 3000,\r\n // here specify the position\r\n horizontalPosition: \"center\",\r\n verticalPosition: 'bottom'\r\n });\r\n }\r\n}\r\n","import {ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {MessageService} from \"./services/message.service\";\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [],\r\n exports: []\r\n})\r\nexport class SharedServicesModule {\r\n static forRoot(): ModuleWithProviders<SharedServicesModule> {\r\n return {\r\n ngModule: SharedServicesModule,\r\n providers: [\r\n MessageService\r\n ]\r\n }\r\n }\r\n}\r\n","export class AutoCompleteResult {\r\n\r\n searchTerm: string;\r\n\r\n list: Array<string>;\r\n}\r\n","export class ErrorMessage {\r\n title: string;\r\n message: string;\r\n}\r\n","export class PagedResultDto<T> {\r\n\r\n skip: number;\r\n take: number;\r\n totalCount: number;\r\n list: Array<T>;\r\n\r\n constructor() {\r\n this.skip = 0;\r\n this.take = 0;\r\n this.totalCount = 0;\r\n this.list = new Array<T>();\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\nimport {PagedResultDto} from \"../models/pagedResultDto\";\r\n\r\nexport class DataSourceBase<TDto> implements DataSource<TDto> {\r\n private dataSubject = new BehaviorSubject<Array<TDto>>([]);\r\n private loadingSubject = new BehaviorSubject<boolean>(false);\r\n public readonly loading$ = this.loadingSubject.asObservable();\r\n private totalCountSubject = new BehaviorSubject<number>(0);\r\n public readonly totalCount$ = this.totalCountSubject.asObservable();\r\n\r\n constructor() {\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n clear() {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next([]);\r\n this.totalCountSubject.next(0);\r\n }\r\n\r\n protected onBeginLoad() {\r\n this.loadingSubject.next(true);\r\n }\r\n\r\n protected onCompleteLoad(pagedResult: PagedResultDto<TDto>) {\r\n this.loadingSubject.next(false);\r\n this.dataSubject.next(pagedResult.list);\r\n this.totalCountSubject.next(pagedResult.totalCount);\r\n }\r\n}\r\n","import {BehaviorSubject, Observable} from \"rxjs\";\r\nimport {CollectionViewer, DataSource} from \"@angular/cdk/collections\";\r\n\r\nexport class GenericDataSource<TEntity> implements DataSource<TEntity> {\r\n private dataSubject = new BehaviorSubject<Array<TEntity>>([]);\r\n\r\n constructor(public data: Array<TEntity>) {\r\n\r\n this.dataSubject.next(data);\r\n\r\n }\r\n\r\n emitChanged() {\r\n this.dataSubject.next(this.data);\r\n }\r\n\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<TEntity[]> {\r\n return this.dataSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.dataSubject.complete();\r\n }\r\n}\r\n","import moment from 'moment';\r\n\r\nexport class IsoDateTime {\r\n public static utcToLocalDateTimeIso(utcDateTime: string) {\r\n if (!utcDateTime) {\r\n return null;\r\n }\r\n return moment(utcDateTime).local().format(\"YYYY-MM-DDTHH:mm:ss\");\r\n }\r\n\r\n public static localToUtcDateTimeIso(localDateTime: string) {\r\n if (!localDateTime) {\r\n return null;\r\n }\r\n return moment(localDateTime).toISOString();\r\n }\r\n\r\n public static currentUtcDateTimeIso() {\r\n return moment(Date.now()).toISOString();\r\n }\r\n}\r\n","export class EnumTuple<TValue = number> {\r\n id: string;\r\n name: TValue;\r\n}\r\n\r\nexport class EnumReader<TValue = number> {\r\n\r\n\r\n constructor(private value: Object) {\r\n }\r\n\r\n public getNamesAndValues(): EnumTuple<TValue>[] {\r\n\r\n return this.getNames().map((n) => {\r\n return <EnumTuple<TValue>>{name: this.value[n] as TValue, id: n};\r\n });\r\n }\r\n\r\n public getNames(): string[] {\r\n return Object.keys(this.value);\r\n }\r\n\r\n private getObjValues(): TValue[] {\r\n return Object.keys(this.value).map(k => this.value[k]);\r\n }\r\n}\r\n","export class ObjectCloner {\r\n public static cloneObject<TR, TS1>(source: TS1, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n public static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties: string[] = null): TR {\r\n let clonedObject = Object.assign(<TR>{}, source, source2);\r\n\r\n if (ignoreProperties) {\r\n for (let prop of ignoreProperties) {\r\n delete clonedObject[prop];\r\n }\r\n }\r\n return <TR>clonedObject;\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of shared-services\r\n */\r\n\r\nexport * from './lib/shared-services.module';\r\nexport * from './lib/services/message.service';\r\nexport * from './lib/models/autoCompleteResult';\r\nexport * from './lib/models/errorMessage';\r\nexport * from './lib/models/pagedResultDto';\r\nexport * from './lib/dataSources/dataSourceBase';\r\nexport * from './lib/dataSources/genericDataSource';\r\nexport * from './lib/dataSources/entitySelectDataSource';\r\nexport * from './lib/dataSources/autoCompleteDataSource';\r\nexport * from './lib/shared/isoDateTime';\r\nexport * from './lib/shared/enumReader';\r\nexport * from './lib/shared/objectCloner';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class DataSourceBase<TDto> implements DataSource<TDto> {
8
8
  private totalCountSubject;
9
9
  readonly totalCount$: Observable<number>;
10
10
  constructor();
11
- connect(collectionViewer: CollectionViewer): Observable<TDto[]>;
11
+ connect(collectionViewer: CollectionViewer): Observable<readonly TDto[]>;
12
12
  disconnect(collectionViewer: CollectionViewer): void;
13
13
  clear(): void;
14
14
  protected onBeginLoad(): void;
@@ -3,4 +3,5 @@ import { PagedResultDto } from "../models/pagedResultDto";
3
3
  export interface EntitySelectDataSource<T> {
4
4
  onFilter(filter: string): Observable<PagedResultDto<T>>;
5
5
  onDisplayEntity(entity: T): string;
6
+ getIdEntity(entity: T): any;
6
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshmakers/shared-services",
3
- "version": "2.0.2303-3003",
3
+ "version": "2.0.2304-13002",
4
4
  "dependencies": {
5
5
  "tslib": "^2.4.0"
6
6
  },