@meshmakers/shared-ui 2.0.2304-23001 → 2.1.3-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { IsoDateTime } from "@meshmakers/shared-services";
2
2
  export class AbstractDetailsComponent {
3
- constructor() {
3
+ constructor(formGroup) {
4
4
  this.hasError = (controlName, errorName) => {
5
5
  return this.ownerForm?.controls[controlName].hasError(errorName);
6
6
  };
@@ -9,7 +9,7 @@ export class AbstractDetailsComponent {
9
9
  };
10
10
  this.loading = true;
11
11
  this.entity = null;
12
- this._ownerForm = null;
12
+ this._ownerForm = formGroup;
13
13
  }
14
14
  get ownerForm() {
15
15
  return this._ownerForm;
@@ -35,4 +35,4 @@ export class AbstractDetailsComponent {
35
35
  this.loading = false;
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3REZXRhaWxzQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtdWkvc3JjL2xpYi9zaGFyZWQvYWJzdHJhY3REZXRhaWxzQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RCxNQUFNLE9BQWdCLHdCQUF3QjtJQUs1QztRQWdCTyxhQUFRLEdBQUcsQ0FBQyxXQUFtQixFQUFFLFNBQWlCLEVBQUUsRUFBRTtZQUMzRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUM7UUFFSyxpQkFBWSxHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDO1FBckJBLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFJRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztJQUM5QixDQUFDO0lBVU0sY0FBYyxDQUFDLFdBQW1CO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxZQUFrQjtRQUN4QyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxrQkFBa0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7SXNvRGF0ZVRpbWV9IGZyb20gXCJAbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXNcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGV0YWlsc0NvbXBvbmVudDxURW50aXR5PiB7XG5cbiAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBlbnRpdHk6IFRFbnRpdHkgfCBudWxsO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZW50aXR5ID0gbnVsbDtcbiAgICB0aGlzLl9vd25lckZvcm0gPSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9vd25lckZvcm06IEZvcm1Hcm91cCB8IG51bGw7XG5cbiAgcHVibGljIGdldCBvd25lckZvcm0oKTogRm9ybUdyb3VwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX293bmVyRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNMb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5ICE9PSBudWxsO1xuICB9XG5cbiAgcHVibGljIGhhc0Vycm9yID0gKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGVycm9yTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3duZXJGb3JtPy5jb250cm9sc1tjb250cm9sTmFtZV0uaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfTtcblxuICBwdWJsaWMgaGFzRm9ybUVycm9yID0gKGVycm9yTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3duZXJGb3JtPy5oYXNFcnJvcihlcnJvck5hbWUpO1xuICB9O1xuXG4gIHB1YmxpYyB1cGRhdGVEYXRlVGltZShjb250cm9sTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vd25lckZvcm0/LmdldChjb250cm9sTmFtZSk/LnNldFZhbHVlKElzb0RhdGVUaW1lLnV0Y1RvTG9jYWxEYXRlVGltZUlzbyhJc29EYXRlVGltZS5jdXJyZW50VXRjRGF0ZVRpbWVJc28oKSkpO1xuICB9XG5cbiAgcHVibGljIGNvcHlJbnB1dE1lc3NhZ2UoaW5wdXRFbGVtZW50IDogYW55KSB7XG4gICAgaW5wdXRFbGVtZW50LnNlbGVjdCgpO1xuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgaW5wdXRFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uUHJvZ3Jlc3NTdGFydGluZygpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMub3duZXJGb3JtPy5kaXNhYmxlKCk7XG4gICAgdGhpcy5vd25lckZvcm0/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblByb2dyZXNzQ29tcGxldGVkKCkge1xuICAgIHRoaXMub3duZXJGb3JtPy5lbmFibGUoKTtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3REZXRhaWxzQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtdWkvc3JjL2xpYi9zaGFyZWQvYWJzdHJhY3REZXRhaWxzQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RCxNQUFNLE9BQWdCLHdCQUF3QjtJQUs1QyxZQUFzQixTQUFvQjtRQWdCbkMsYUFBUSxHQUFHLENBQUMsV0FBbUIsRUFBRSxTQUFpQixFQUFFLEVBQUU7WUFDM0QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDO1FBRUssaUJBQVksR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQXJCQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBSUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQVVNLGNBQWMsQ0FBQyxXQUFtQjtRQUN2QyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsWUFBa0I7UUFDeEMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0lzb0RhdGVUaW1lfSBmcm9tIFwiQG1lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERldGFpbHNDb21wb25lbnQ8VEVudGl0eT4ge1xuXG4gIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgZW50aXR5OiBURW50aXR5IHwgbnVsbDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZW50aXR5ID0gbnVsbDtcbiAgICB0aGlzLl9vd25lckZvcm0gPSBmb3JtR3JvdXA7XG4gIH1cblxuICBwcml2YXRlIF9vd25lckZvcm06IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZ2V0IG93bmVyRm9ybSgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLl9vd25lckZvcm07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eSAhPT0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBoYXNFcnJvciA9IChjb250cm9sTmFtZTogc3RyaW5nLCBlcnJvck5hbWU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiB0aGlzLm93bmVyRm9ybT8uY29udHJvbHNbY29udHJvbE5hbWVdLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH07XG5cbiAgcHVibGljIGhhc0Zvcm1FcnJvciA9IChlcnJvck5hbWU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiB0aGlzLm93bmVyRm9ybT8uaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfTtcblxuICBwdWJsaWMgdXBkYXRlRGF0ZVRpbWUoY29udHJvbE5hbWU6IHN0cmluZykge1xuICAgIHRoaXMub3duZXJGb3JtPy5nZXQoY29udHJvbE5hbWUpPy5zZXRWYWx1ZShJc29EYXRlVGltZS51dGNUb0xvY2FsRGF0ZVRpbWVJc28oSXNvRGF0ZVRpbWUuY3VycmVudFV0Y0RhdGVUaW1lSXNvKCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb3B5SW5wdXRNZXNzYWdlKGlucHV0RWxlbWVudCA6IGFueSkge1xuICAgIGlucHV0RWxlbWVudC5zZWxlY3QoKTtcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgIGlucHV0RWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgwLCAwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblByb2dyZXNzU3RhcnRpbmcoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm93bmVyRm9ybT8uZGlzYWJsZSgpO1xuICAgIHRoaXMub3duZXJGb3JtPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Qcm9ncmVzc0NvbXBsZXRlZCgpIHtcbiAgICB0aGlzLm93bmVyRm9ybT8uZW5hYmxlKCk7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -10,6 +10,12 @@ export class CommonValidators {
10
10
  static httpUri() {
11
11
  return Validators.pattern("^(http:\\/\\/|https:\\/\\/)([a-zA-Z0-9-_]+\\.)*[a-zA-Z0-9][a-zA-Z0-9-_]+(\\.[a-zA-Z]{2,11}?)*(:[0-9]{2,5}){0,1}\\/{0,1}$");
12
12
  }
13
+ static ensureSameValue(sourceControlName) {
14
+ return (control) => {
15
+ const value = control.value;
16
+ return value === control.parent?.get(sourceControlName)?.value ? null : { notSame: true };
17
+ };
18
+ }
13
19
  static conditionalRequired(sourceControlName, sourceValueCompareExpression) {
14
20
  return (control) => {
15
21
  if (control.parent && sourceValueCompareExpression(control.parent.get(sourceControlName)?.value)) {
@@ -27,4 +33,4 @@ export class CommonValidators {
27
33
  };
28
34
  }
29
35
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uVmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXVpL3NyYy9saWIvc2hhcmVkL2NvbW1vblZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU14RSxTQUFTLGlCQUFpQixDQUFDLEtBQVU7SUFDbkMsOERBQThEO0lBQzlELE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUNwQixNQUFNLENBQUMsV0FBVztRQUN2QixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLDBIQUEwSCxDQUFDLENBQUM7SUFDeEosQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBZ0IsaUJBQXlCLEVBQUUsNEJBQTJEO1FBRXJJLE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUU7WUFDbEMsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hHLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ3JFO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFlBQXNCO1FBQ3BELE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUU7WUFDbEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDakMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENvbXBhcmVWYWx1ZUZuPFRWYWx1ZT4ge1xuICAodmFsdWU6IFRWYWx1ZSk6IGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIGlzRW1wdHlJbnB1dFZhbHVlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgLy8gd2UgZG9uJ3QgY2hlY2sgZm9yIHN0cmluZyBoZXJlIHNvIGl0IGFsc28gd29ya3Mgd2l0aCBhcnJheXNcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xufVxuXG5leHBvcnQgY2xhc3MgQ29tbW9uVmFsaWRhdG9ycyB7XG4gIHB1YmxpYyBzdGF0aWMgcGhvbmVOdW1iZXIoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bK10qWyhdezAsMX1bMC05XXsxLDR9WyldezAsMX1bLVxcXFxzXFxcXC4vMC05XSokJyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGh0dHBVcmkoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBWYWxpZGF0b3JzLnBhdHRlcm4oXCJeKGh0dHA6XFxcXC9cXFxcL3xodHRwczpcXFxcL1xcXFwvKShbYS16QS1aMC05LV9dK1xcXFwuKSpbYS16QS1aMC05XVthLXpBLVowLTktX10rKFxcXFwuW2EtekEtWl17MiwxMX0/KSooOlswLTldezIsNX0pezAsMX1cXFxcL3swLDF9JFwiKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29uZGl0aW9uYWxSZXF1aXJlZDxUQ29tcGFyZVZhbHVlPihzb3VyY2VDb250cm9sTmFtZTogc3RyaW5nLCBzb3VyY2VWYWx1ZUNvbXBhcmVFeHByZXNzaW9uOiBDb21wYXJlVmFsdWVGbjxUQ29tcGFyZVZhbHVlPik6IFZhbGlkYXRvckZuIHtcblxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBpZiAoY29udHJvbC5wYXJlbnQgJiYgc291cmNlVmFsdWVDb21wYXJlRXhwcmVzc2lvbihjb250cm9sLnBhcmVudC5nZXQoc291cmNlQ29udHJvbE5hbWUpPy52YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpID8geydyZXF1aXJlZCc6IHRydWV9IDogbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVwZW5kZW50Q29udHJvbHMoY29udHJvbE5hbWVzOiBzdHJpbmdbXSk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgY29udHJvbE5hbWVzLmZvckVhY2goY29udHJvbE5hbWUgPT4ge1xuICAgICAgICBjb250cm9sLnBhcmVudD8uZ2V0KGNvbnRyb2xOYW1lKT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuXG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uVmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXVpL3NyYy9saWIvc2hhcmVkL2NvbW1vblZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU14RSxTQUFTLGlCQUFpQixDQUFDLEtBQVU7SUFDbkMsOERBQThEO0lBQzlELE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUNwQixNQUFNLENBQUMsV0FBVztRQUN2QixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLDBIQUEwSCxDQUFDLENBQUM7SUFDeEosQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsaUJBQXlCO1FBRXJELE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUU7WUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUM1QixPQUFPLEtBQUssS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQTtRQUN6RixDQUFDLENBQUE7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFnQixpQkFBeUIsRUFBRSw0QkFBMkQ7UUFFckksT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUNsQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksNEJBQTRCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDaEcsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDckU7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsWUFBc0I7UUFDcEQsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtZQUNsQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1lBQzdELENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUE7SUFDSCxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnN9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ29tcGFyZVZhbHVlRm48VFZhbHVlPiB7XG4gICh2YWx1ZTogVFZhbHVlKTogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gaXNFbXB0eUlucHV0VmFsdWUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAvLyB3ZSBkb24ndCBjaGVjayBmb3Igc3RyaW5nIGhlcmUgc28gaXQgYWxzbyB3b3JrcyB3aXRoIGFycmF5c1xuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZS5sZW5ndGggPT09IDA7XG59XG5cbmV4cG9ydCBjbGFzcyBDb21tb25WYWxpZGF0b3JzIHtcbiAgcHVibGljIHN0YXRpYyBwaG9uZU51bWJlcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIFZhbGlkYXRvcnMucGF0dGVybignXlsrXSpbKF17MCwxfVswLTldezEsNH1bKV17MCwxfVstXFxcXHNcXFxcLi8wLTldKiQnKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaHR0cFVyaSgpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIFZhbGlkYXRvcnMucGF0dGVybihcIl4oaHR0cDpcXFxcL1xcXFwvfGh0dHBzOlxcXFwvXFxcXC8pKFthLXpBLVowLTktX10rXFxcXC4pKlthLXpBLVowLTldW2EtekEtWjAtOS1fXSsoXFxcXC5bYS16QS1aXXsyLDExfT8pKig6WzAtOV17Miw1fSl7MCwxfVxcXFwvezAsMX0kXCIpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbnN1cmVTYW1lVmFsdWUoc291cmNlQ29udHJvbE5hbWU6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcblxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IGNvbnRyb2wucGFyZW50Py5nZXQoc291cmNlQ29udHJvbE5hbWUpPy52YWx1ZSA/IG51bGwgOiB7bm90U2FtZTogdHJ1ZX1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbmRpdGlvbmFsUmVxdWlyZWQ8VENvbXBhcmVWYWx1ZT4oc291cmNlQ29udHJvbE5hbWU6IHN0cmluZywgc291cmNlVmFsdWVDb21wYXJlRXhwcmVzc2lvbjogQ29tcGFyZVZhbHVlRm48VENvbXBhcmVWYWx1ZT4pOiBWYWxpZGF0b3JGbiB7XG5cbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgICAgaWYgKGNvbnRyb2wucGFyZW50ICYmIHNvdXJjZVZhbHVlQ29tcGFyZUV4cHJlc3Npb24oY29udHJvbC5wYXJlbnQuZ2V0KHNvdXJjZUNvbnRyb2xOYW1lKT8udmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSA/IHsncmVxdWlyZWQnOiB0cnVlfSA6IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRlcGVuZGVudENvbnRyb2xzKGNvbnRyb2xOYW1lczogc3RyaW5nW10pOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICAgIGNvbnRyb2xOYW1lcy5mb3JFYWNoKGNvbnRyb2xOYW1lID0+IHtcbiAgICAgICAgY29udHJvbC5wYXJlbnQ/LmdldChjb250cm9sTmFtZSk/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cblxufVxuIl19
@@ -1271,6 +1271,13 @@ class CommonValidators {
1271
1271
  static httpUri() {
1272
1272
  return Validators.pattern("^(http:\\/\\/|https:\\/\\/)([a-zA-Z0-9-_]+\\.)*[a-zA-Z0-9][a-zA-Z0-9-_]+(\\.[a-zA-Z]{2,11}?)*(:[0-9]{2,5}){0,1}\\/{0,1}$");
1273
1273
  }
1274
+ static ensureSameValue(sourceControlName) {
1275
+ return (control) => {
1276
+ var _a, _b;
1277
+ const value = control.value;
1278
+ return value === ((_b = (_a = control.parent) === null || _a === void 0 ? void 0 : _a.get(sourceControlName)) === null || _b === void 0 ? void 0 : _b.value) ? null : { notSame: true };
1279
+ };
1280
+ }
1274
1281
  static conditionalRequired(sourceControlName, sourceValueCompareExpression) {
1275
1282
  return (control) => {
1276
1283
  var _a;
@@ -1292,7 +1299,7 @@ class CommonValidators {
1292
1299
  }
1293
1300
 
1294
1301
  class AbstractDetailsComponent {
1295
- constructor() {
1302
+ constructor(formGroup) {
1296
1303
  this.hasError = (controlName, errorName) => {
1297
1304
  var _a;
1298
1305
  return (_a = this.ownerForm) === null || _a === void 0 ? void 0 : _a.controls[controlName].hasError(errorName);
@@ -1303,7 +1310,7 @@ class AbstractDetailsComponent {
1303
1310
  };
1304
1311
  this.loading = true;
1305
1312
  this.entity = null;
1306
- this._ownerForm = null;
1313
+ this._ownerForm = formGroup;
1307
1314
  }
1308
1315
  get ownerForm() {
1309
1316
  return this._ownerForm;