info-library 2.14.39 → 2.14.40-beta.2

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.
@@ -61,7 +61,7 @@ function InfoModalComponent_div_9_button_3_Template(rf, ctx) { if (rf & 1) {
61
61
  i0.ɵɵelementEnd();
62
62
  } if (rf & 2) {
63
63
  const ctx_r8 = i0.ɵɵnextContext(2);
64
- i0.ɵɵproperty("disabled", ctx_r8.loading || ctx_r8.form != null && !ctx_r8.form.form.valid);
64
+ i0.ɵɵproperty("disabled", ctx_r8.loading || ctx_r8.formInvalid);
65
65
  i0.ɵɵadvance(1);
66
66
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r8.labelsubmit));
67
67
  } }
@@ -106,6 +106,15 @@ export class InfoModalComponent {
106
106
  this.onsave = new EventEmitter();
107
107
  this.onsuccess = new EventEmitter();
108
108
  }
109
+ get formInvalid() {
110
+ if (this.form != null) {
111
+ if (Array.isArray(this.form))
112
+ return this.form.some(f => f?.form?.invalid || false);
113
+ else
114
+ return this.form.form?.invalid || false;
115
+ }
116
+ return false;
117
+ }
109
118
  ngOnInit() {
110
119
  if (this.modaltitle == '' && this.prop != null && this.prop.title != null)
111
120
  this.modaltitle = this.prop.title;
@@ -116,7 +125,7 @@ export class InfoModalComponent {
116
125
  if (this.readonly == null && this.prop != null && this.prop.readonly != null)
117
126
  this.readonly = this.prop.readonly;
118
127
  this._ref.keydownEvents().subscribe((r) => {
119
- if (r.ctrlKey && r.key == "Enter" && !(this.loading || (this.form != null && !this.form.form.valid)) && this.labelsubmit != '' && !this.readonly)
128
+ if (r.ctrlKey && r.key == "Enter" && !(this.loading || this.formInvalid) && this.labelsubmit != '' && !this.readonly)
120
129
  this.submit();
121
130
  });
122
131
  }
@@ -220,7 +229,7 @@ export class InfoModalComponent {
220
229
  useExisting: forwardRef((() => InfoModalComponent)),
221
230
  multi: true
222
231
  }
223
- ], template: "<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || (form != null && !form.form.valid)\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>" }]
232
+ ], template: "<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || formInvalid\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>" }]
224
233
  }], function () { return [{ type: i1.InfoDataService }, { type: i9.InfoFormPropModel, decorators: [{
225
234
  type: Inject,
226
235
  args: [MAT_DIALOG_DATA]
@@ -255,4 +264,4 @@ export class InfoModalComponent {
255
264
  }], onsuccess: [{
256
265
  type: Output
257
266
  }] }); })();
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9sYXlvdXRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0gzRCxtQ0FBc0U7SUFBekMsc0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUF3QixxQkFBSztJQUFBLGlCQUFXOzs7SUFFdEYsa0NBQTZDO0lBQ3pDLHVDQUEwRTtJQUM5RSxpQkFBVTs7OztJQVVOLGtDQUE2RztJQUF2QywwS0FBUyxlQUFBLGNBQU8sQ0FBQSxJQUFDO0lBQXNCLFlBQTRCOztJQUFBLGlCQUFTOzs7SUFBMUQseUNBQW9CO0lBQUMsZUFBNEI7SUFBNUIsNkRBQTRCOzs7O0lBQ3pJLGtDQUE0SDtJQUFwRCwyS0FBUyxlQUFBLGVBQU8sQ0FBQSxJQUFDO0lBQW1DLFlBQTZCOztJQUFBLGlCQUFTOzs7SUFBM0QseUNBQW9CO0lBQUMsZUFBNkI7SUFBN0IsOERBQTZCOzs7O0lBQ3pKLGtDQUF1SjtJQUFwQiwyS0FBUyxlQUFBLGdCQUFRLENBQUEsSUFBQztJQUFFLFlBQTZCOztJQUFBLGlCQUFTOzs7SUFBckgsMkZBQTBEO0lBQXFCLGVBQTZCO0lBQTdCLDhEQUE2Qjs7O0lBSHhMLCtCQUFpSTtJQUM3SCxnRkFBa0o7SUFDbEosZ0ZBQWtLO0lBQ2xLLGdGQUE2TDtJQUNqTSxpQkFBTTs7O0lBSGtCLGVBQWtDO0lBQWxDLGlFQUFrQztJQUNsQyxlQUFvQztJQUFwQyxtRUFBb0M7SUFDcEMsZUFBb0M7SUFBcEMsbUVBQW9DOzs7SUFJaEUsMEJBQXlEOzs7O0FESnpELE1BQU0sT0FBTyxrQkFBa0I7SUF1QjNCLFlBQW9CLGtCQUFtQyxFQUFrQyxJQUF1QixFQUFVLElBQXVCO1FBQTdILHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBaUI7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXJCeEksZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixRQUFHLEdBQVEsSUFBSSxDQUFDO1FBQ2hCLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFDdEIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQzdCLFNBQUksR0FBUSxJQUFJLENBQUM7UUFDakIsZUFBVSxHQUFXLFFBQVEsQ0FBQztRQUM5QixnQkFBVyxHQUFXLFVBQVUsQ0FBQztRQUNqQyxnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUMvQixhQUFRLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLFVBQUssR0FBVyxJQUFJLENBQUM7UUFFcEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFNNEcsQ0FBQztJQUV0SixRQUFRO1FBRUosSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJO1lBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJO1lBQzlELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUk7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRXpFLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSTtZQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRXZDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxJQUFJLENBQUMsSUFB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LEtBQUs7WUFDRyxHQUFHO2tCQUFYLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFDRyxTQUFTO2tCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgSW5mb0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvRm9ybVByb3BNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL2Zvcm0tcHJvcC5tb2RlbCc7XHJcbmltcG9ydCB7IEluZm9Nb2RhbEFjdGlvbiB9IGZyb20gJy4uLy4uL2VudW0vbW9kYWwtYWN0aW9uLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2luZm8tbW9kYWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9Nb2RhbENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIEBJbnB1dCgpIG1vZGFsdGl0bGU6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgc2hvd2Nsb3NlaWNvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYXBpOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbWV0aG9kOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBudWxsO1xyXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbG9hZGluZ2Jsb2NrOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGZvcm06IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBsYWJlbGNsb3NlOiBzdHJpbmcgPSAnRmVjaGFyJztcclxuICAgIEBJbnB1dCgpIGxhYmVsY2FuY2VsOiBzdHJpbmcgPSAnQ2FuY2VsYXInO1xyXG4gICAgQElucHV0KCkgbGFiZWxzdWJtaXQ6IHN0cmluZyA9ICdTYWx2YXInO1xyXG4gICAgQElucHV0KCkgbWVzc2FnZXM6IFN0cmluZ1tdID0gW107XHJcbiAgICBASW5wdXQoKSB3aWR0aDogbnVtYmVyID0gbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25zYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBtb2RlbDogYW55O1xyXG4gICAgb25DaGFuZ2U6IGFueTtcclxuICAgIG9uVG91Y2hlZDogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RhdGFBY2Nlc3NTZXJ2aWNlOiBJbmZvRGF0YVNlcnZpY2UsIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgcHJvcDogSW5mb0Zvcm1Qcm9wTW9kZWwsIHByaXZhdGUgX3JlZjogTWF0RGlhbG9nUmVmPGFueT4pIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2RhbHRpdGxlID09ICcnICYmIHRoaXMucHJvcCAhPSBudWxsICYmIHRoaXMucHJvcC50aXRsZSAhPSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLm1vZGFsdGl0bGUgPSB0aGlzLnByb3AudGl0bGU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwaSA9PSBudWxsICYmIHRoaXMucHJvcCAhPSBudWxsICYmIHRoaXMucHJvcC5hcGkgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5hcGkgPSB0aGlzLnByb3AuYXBpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy53aWR0aCAhPSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLl9yZWYudXBkYXRlU2l6ZSh0aGlzLndpZHRoLnRvU3RyaW5nKCkucmVwbGFjZSgncHgnLCAnJykgKyAncHgnKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkgPT0gbnVsbCAmJiB0aGlzLnByb3AgIT0gbnVsbCAmJiB0aGlzLnByb3AucmVhZG9ubHkgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5yZWFkb25seSA9IHRoaXMucHJvcC5yZWFkb25seTtcclxuXHJcbiAgICAgICAgdGhpcy5fcmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKHIpID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuY3RybEtleSAmJiByLmtleSA9PSBcIkVudGVyXCIgJiYgISh0aGlzLmxvYWRpbmcgfHwgKHRoaXMuZm9ybSAhPSBudWxsICYmICF0aGlzLmZvcm0uZm9ybS52YWxpZCkpICYmIHRoaXMubGFiZWxzdWJtaXQgIT0gJycgJiYgIXRoaXMucmVhZG9ubHkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1Ym1pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5vbnNhdmUub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5vbnNhdmUubmV4dCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuYXBpID09IG51bGwgfHwgdGhpcy5hcGkudG9TdHJpbmcoKSA9PSAnJylcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdBUEkgbsOjbyBpbmZvcm1hZG8nKTtcclxuXHJcbiAgICAgICAgdmFyIGRhdGFJbmljaWFsID0gdGhpcy5tb2RlbFtcIkRhdGFJbmljaWFsXCJdO1xyXG4gICAgICAgIHZhciBkYXRhRmluYWwgPSB0aGlzLm1vZGVsW1wiRGF0YUZpbmFsXCJdO1xyXG4gICAgICAgIGlmIChkYXRhSW5pY2lhbCAhPSBudWxsICYmIGRhdGFGaW5hbCAhPSBudWxsICYmIG5ldyBEYXRlKGRhdGFJbmljaWFsKSA+IG5ldyBEYXRlKGRhdGFGaW5hbCkpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdEYXRhSW5pY2lhbE1haW9yRmluYWwnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGRhdGFJbmljaW8gPSB0aGlzLm1vZGVsW1wiRGF0YUluaWNpb1wiXTtcclxuICAgICAgICB2YXIgZGF0YUZpbSA9IHRoaXMubW9kZWxbXCJEYXRhRmltXCJdO1xyXG4gICAgICAgIGlmIChkYXRhSW5pY2lvICE9IG51bGwgJiYgZGF0YUZpbSAhPSBudWxsICYmIG5ldyBEYXRlKGRhdGFJbmljaW8pID4gbmV3IERhdGUoZGF0YUZpbSkpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdEYXRhSW5pY2lvTWFpb3JGaW0nKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZXMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhQWNjZXNzU2VydmljZVxyXG4gICAgICAgICAgICAucG9zdCh0aGlzLmFwaSwgdGhpcy5tb2RlbCwgdGhpcy5tZXRob2QpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHIuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcC5tb2RhbEFjdGlvbiA9IEluZm9Nb2RhbEFjdGlvbi5TYXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcC5kYXRhID0gdGhpcy5tb2RlbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWYuY2xvc2UodGhpcy5wcm9wKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub25zdWNjZXNzLm9ic2VydmVycy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uc3VjY2Vzcy5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZWxzZSB0aGlzLm1lc3NhZ2VzID0gci5tZXNzYWdlcztcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JlZi5jbG9zZSh0aGlzLnByb3ApO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7IH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZSA+XHJcbiAgICA8bGFiZWwgW2lubmVySFRNTF09XCJtb2RhbHRpdGxlIHwgdHJhbnNsYXRlXCI+PC9sYWJlbD5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2UoKVwiICpuZ0lmPVwic2hvd2Nsb3NlaWNvblwiID5jbG9zZTwvbWF0LWljb24+XHJcblxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIGNvbG9yPVwicHJpbWFyeVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgPC9zZWN0aW9uPlxyXG48L2gyPlxyXG5cclxuPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImluZm8tbW9kYWwtY29udGVudFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYnV0dG9uc11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGxhYmVsY2xvc2UgIT0gJycgJiYgcmVhZG9ubHkpIHx8IChsYWJlbGNhbmNlbCAhPSAnJyAmJiAhcmVhZG9ubHkpIHx8IChsYWJlbHN1Ym1pdCAhPSAnJyAmJiAhcmVhZG9ubHkpXCIgY2xhc3M9XCJtbC01XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwibGFiZWxjbG9zZSAhPSAnJyAmJiByZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+e3sgbGFiZWxjbG9zZSB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImxhYmVsY2FuY2VsICE9ICcnICYmICFyZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIGNvbG9yPVwid2FyblwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+e3sgbGFiZWxjYW5jZWwgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJsYWJlbHN1Ym1pdCAhPSAnJyAmJiAhcmVhZG9ubHlcIiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgKGZvcm0gIT0gbnVsbCAmJiAhZm9ybS5mb3JtLnZhbGlkKVwiIChjbGljayk9XCJzdWJtaXQoKVwiID57eyBsYWJlbHN1Ym1pdCB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+ICAgIFxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcbjxkaXYgY2xhc3M9XCJibG9ja1wiICpuZ0lmPVwibG9hZGluZyAmJiBsb2FkaW5nYmxvY2tcIj48L2Rpdj5cclxuPGluZm8tYWxlcnQgW21lc3NhZ2VzXT1cIm1lc3NhZ2VzXCI+PC9pbmZvLWFsZXJ0PiJdfQ==
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9sYXlvdXRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0gzRCxtQ0FBc0U7SUFBekMsc0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUF3QixxQkFBSztJQUFBLGlCQUFXOzs7SUFFdEYsa0NBQTZDO0lBQ3pDLHVDQUEwRTtJQUM5RSxpQkFBVTs7OztJQVVOLGtDQUE2RztJQUF2QywwS0FBUyxlQUFBLGNBQU8sQ0FBQSxJQUFDO0lBQXNCLFlBQTRCOztJQUFBLGlCQUFTOzs7SUFBMUQseUNBQW9CO0lBQUMsZUFBNEI7SUFBNUIsNkRBQTRCOzs7O0lBQ3pJLGtDQUE0SDtJQUFwRCwyS0FBUyxlQUFBLGVBQU8sQ0FBQSxJQUFDO0lBQW1DLFlBQTZCOztJQUFBLGlCQUFTOzs7SUFBM0QseUNBQW9CO0lBQUMsZUFBNkI7SUFBN0Is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NkI7UUFDckMsZUFBcUI7UUFBckIsdUNBQXFCOzt1RkRMcEIsa0JBQWtCO2NBWDlCLFNBQVM7MkJBQ0ksWUFBWSxhQUVYO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLG1CQUFtQixFQUFDO3dCQUNqRCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7c0JBeUJ5RCxNQUFNO3VCQUFDLGVBQWU7bURBckJ2RSxVQUFVO2tCQUFsQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUVJLE1BQU07a0JBQWYsTUFBTTtZQUNHLFNBQVM7a0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBJbmZvRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZm9Gb3JtUHJvcE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvZm9ybS1wcm9wLm1vZGVsJztcclxuaW1wb3J0IHsgSW5mb01vZGFsQWN0aW9uIH0gZnJvbSAnLi4vLi4vZW51bS9tb2RhbC1hY3Rpb24uZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5mb01vZGFsQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgbW9kYWx0aXRsZTogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBzaG93Y2xvc2VpY29uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBhcGk6IGFueSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBtZXRob2Q6IHN0cmluZyA9IG51bGw7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBsb2FkaW5nYmxvY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZm9ybTogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIGxhYmVsY2xvc2U6IHN0cmluZyA9ICdGZWNoYXInO1xyXG4gICAgQElucHV0KCkgbGFiZWxjYW5jZWw6IHN0cmluZyA9ICdDYW5jZWxhcic7XHJcbiAgICBASW5wdXQoKSBsYWJlbHN1Ym1pdDogc3RyaW5nID0gJ1NhbHZhcic7XHJcbiAgICBASW5wdXQoKSBtZXNzYWdlczogU3RyaW5nW10gPSBbXTtcclxuICAgIEBJbnB1dCgpIHdpZHRoOiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbnNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25zdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG1vZGVsOiBhbnk7XHJcbiAgICBvbkNoYW5nZTogYW55O1xyXG4gICAgb25Ub3VjaGVkOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGF0YUFjY2Vzc1NlcnZpY2U6IEluZm9EYXRhU2VydmljZSwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBwcm9wOiBJbmZvRm9ybVByb3BNb2RlbCwgcHJpdmF0ZSBfcmVmOiBNYXREaWFsb2dSZWY8YW55PikgeyB9XHJcblxyXG5cclxuICAgIGdldCBmb3JtSW52YWxpZCgpIHtcclxuICAgICAgICBpZiAodGhpcy5mb3JtICE9IG51bGwpIHtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5mb3JtKSlcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm0uc29tZShmID0+IGY/LmZvcm0/LmludmFsaWQgfHwgZmFsc2UpO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmZvcm0/LmludmFsaWQgfHwgZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kYWx0aXRsZSA9PSAnJyAmJiB0aGlzLnByb3AgIT0gbnVsbCAmJiB0aGlzLnByb3AudGl0bGUgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5tb2RhbHRpdGxlID0gdGhpcy5wcm9wLnRpdGxlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5hcGkgPT0gbnVsbCAmJiB0aGlzLnByb3AgIT0gbnVsbCAmJiB0aGlzLnByb3AuYXBpICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMuYXBpID0gdGhpcy5wcm9wLmFwaTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMud2lkdGggIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5fcmVmLnVwZGF0ZVNpemUodGhpcy53aWR0aC50b1N0cmluZygpLnJlcGxhY2UoJ3B4JywgJycpICsgJ3B4Jyk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5ID09IG51bGwgJiYgdGhpcy5wcm9wICE9IG51bGwgJiYgdGhpcy5wcm9wLnJlYWRvbmx5ICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMucmVhZG9ubHkgPSB0aGlzLnByb3AucmVhZG9ubHk7XHJcblxyXG4gICAgICAgIHRoaXMuX3JlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKChyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyLmN0cmxLZXkgJiYgci5rZXkgPT0gXCJFbnRlclwiICYmICEodGhpcy5sb2FkaW5nIHx8IHRoaXMuZm9ybUludmFsaWQpICYmIHRoaXMubGFiZWxzdWJtaXQgIT0gJycgJiYgIXRoaXMucmVhZG9ubHkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1Ym1pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5vbnNhdmUub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5vbnNhdmUubmV4dCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuYXBpID09IG51bGwgfHwgdGhpcy5hcGkudG9TdHJpbmcoKSA9PSAnJylcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdBUEkgbsOjbyBpbmZvcm1hZG8nKTtcclxuXHJcbiAgICAgICAgdmFyIGRhdGFJbmljaWFsID0gdGhpcy5tb2RlbFtcIkRhdGFJbmljaWFsXCJdO1xyXG4gICAgICAgIHZhciBkYXRhRmluYWwgPSB0aGlzLm1vZGVsW1wiRGF0YUZpbmFsXCJdO1xyXG4gICAgICAgIGlmIChkYXRhSW5pY2lhbCAhPSBudWxsICYmIGRhdGFGaW5hbCAhPSBudWxsICYmIG5ldyBEYXRlKGRhdGFJbmljaWFsKSA+IG5ldyBEYXRlKGRhdGFGaW5hbCkpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdEYXRhSW5pY2lhbE1haW9yRmluYWwnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIGRhdGFJbmljaW8gPSB0aGlzLm1vZGVsW1wiRGF0YUluaWNpb1wiXTtcclxuICAgICAgICB2YXIgZGF0YUZpbSA9IHRoaXMubW9kZWxbXCJEYXRhRmltXCJdO1xyXG4gICAgICAgIGlmIChkYXRhSW5pY2lvICE9IG51bGwgJiYgZGF0YUZpbSAhPSBudWxsICYmIG5ldyBEYXRlKGRhdGFJbmljaW8pID4gbmV3IERhdGUoZGF0YUZpbSkpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKCdEYXRhSW5pY2lvTWFpb3JGaW0nKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZXMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl9kYXRhQWNjZXNzU2VydmljZVxyXG4gICAgICAgICAgICAucG9zdCh0aGlzLmFwaSwgdGhpcy5tb2RlbCwgdGhpcy5tZXRob2QpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUociA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHIuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcC5tb2RhbEFjdGlvbiA9IEluZm9Nb2RhbEFjdGlvbi5TYXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcC5kYXRhID0gdGhpcy5tb2RlbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWYuY2xvc2UodGhpcy5wcm9wKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub25zdWNjZXNzLm9ic2VydmVycy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uc3VjY2Vzcy5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgZWxzZSB0aGlzLm1lc3NhZ2VzID0gci5tZXNzYWdlcztcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JlZi5jbG9zZSh0aGlzLnByb3ApO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gb2JqO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7IH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZSA+XHJcbiAgICA8bGFiZWwgW2lubmVySFRNTF09XCJtb2RhbHRpdGxlIHwgdHJhbnNsYXRlXCI+PC9sYWJlbD5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2UoKVwiICpuZ0lmPVwic2hvd2Nsb3NlaWNvblwiID5jbG9zZTwvbWF0LWljb24+XHJcblxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIGNvbG9yPVwicHJpbWFyeVwiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgPC9zZWN0aW9uPlxyXG48L2gyPlxyXG5cclxuPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImluZm8tbW9kYWwtY29udGVudFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYnV0dG9uc11cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGxhYmVsY2xvc2UgIT0gJycgJiYgcmVhZG9ubHkpIHx8IChsYWJlbGNhbmNlbCAhPSAnJyAmJiAhcmVhZG9ubHkpIHx8IChsYWJlbHN1Ym1pdCAhPSAnJyAmJiAhcmVhZG9ubHkpXCIgY2xhc3M9XCJtbC01XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwibGFiZWxjbG9zZSAhPSAnJyAmJiByZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+e3sgbGFiZWxjbG9zZSB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImxhYmVsY2FuY2VsICE9ICcnICYmICFyZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIGNvbG9yPVwid2FyblwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+e3sgbGFiZWxjYW5jZWwgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJsYWJlbHN1Ym1pdCAhPSAnJyAmJiAhcmVhZG9ubHlcIiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgZm9ybUludmFsaWRcIiAoY2xpY2spPVwic3VibWl0KClcIiA+e3sgbGFiZWxzdWJtaXQgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cclxuICAgIDwvZGl2PiAgICBcclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcblxyXG48ZGl2IGNsYXNzPVwiYmxvY2tcIiAqbmdJZj1cImxvYWRpbmcgJiYgbG9hZGluZ2Jsb2NrXCI+PC9kaXY+XHJcbjxpbmZvLWFsZXJ0IFttZXNzYWdlc109XCJtZXNzYWdlc1wiPjwvaW5mby1hbGVydD4iXX0=
@@ -840,7 +840,7 @@ function InfoModalComponent_div_9_button_3_Template(rf, ctx) {
840
840
  }
841
841
  if (rf & 2) {
842
842
  const ctx_r8 = i0.ɵɵnextContext(2);
843
- i0.ɵɵproperty("disabled", ctx_r8.loading || ctx_r8.form != null && !ctx_r8.form.form.valid);
843
+ i0.ɵɵproperty("disabled", ctx_r8.loading || ctx_r8.formInvalid);
844
844
  i0.ɵɵadvance(1);
845
845
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r8.labelsubmit));
846
846
  }
@@ -891,6 +891,16 @@ class InfoModalComponent {
891
891
  this.onsave = new EventEmitter();
892
892
  this.onsuccess = new EventEmitter();
893
893
  }
894
+ get formInvalid() {
895
+ var _a;
896
+ if (this.form != null) {
897
+ if (Array.isArray(this.form))
898
+ return this.form.some(f => { var _a; return ((_a = f === null || f === void 0 ? void 0 : f.form) === null || _a === void 0 ? void 0 : _a.invalid) || false; });
899
+ else
900
+ return ((_a = this.form.form) === null || _a === void 0 ? void 0 : _a.invalid) || false;
901
+ }
902
+ return false;
903
+ }
894
904
  ngOnInit() {
895
905
  if (this.modaltitle == '' && this.prop != null && this.prop.title != null)
896
906
  this.modaltitle = this.prop.title;
@@ -901,7 +911,7 @@ class InfoModalComponent {
901
911
  if (this.readonly == null && this.prop != null && this.prop.readonly != null)
902
912
  this.readonly = this.prop.readonly;
903
913
  this._ref.keydownEvents().subscribe((r) => {
904
- if (r.ctrlKey && r.key == "Enter" && !(this.loading || (this.form != null && !this.form.form.valid)) && this.labelsubmit != '' && !this.readonly)
914
+ if (r.ctrlKey && r.key == "Enter" && !(this.loading || this.formInvalid) && this.labelsubmit != '' && !this.readonly)
905
915
  this.submit();
906
916
  });
907
917
  }
@@ -1009,7 +1019,7 @@ class InfoModalComponent {
1009
1019
  useExisting: forwardRef((() => InfoModalComponent)),
1010
1020
  multi: true
1011
1021
  }
1012
- ], template: "<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || (form != null && !form.form.valid)\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>" }]
1022
+ ], template: "<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || formInvalid\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>" }]
1013
1023
  }], function () {
1014
1024
  return [{ type: InfoDataService }, { type: InfoFormPropModel, decorators: [{
1015
1025
  type: Inject,