@trudb/tru-common-lib 0.0.770 → 0.0.772

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.
@@ -10,7 +10,6 @@ export class TruBreezeValidator {
10
10
  componentFactoryResolver;
11
11
  entity;
12
12
  config;
13
- resultView = false;
14
13
  constructor(el, dataContext, viewContainerRef, componentFactoryResolver) {
15
14
  this.el = el;
16
15
  this.dataContext = dataContext;
@@ -21,6 +20,7 @@ export class TruBreezeValidator {
21
20
  mergeData;
22
21
  dialogRef = null;
23
22
  subs = [];
23
+ currentDialog = null;
24
24
  getMergeData = () => {
25
25
  if (this.config.propertyPath?.includes('/')) {
26
26
  let propertyNameParts = this.config.propertyPath.split('/');
@@ -53,37 +53,31 @@ export class TruBreezeValidator {
53
53
  return errorMsg;
54
54
  };
55
55
  addValidationDialog = (config) => {
56
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruValidationDialog);
57
- const component = this.viewContainerRef.createComponent(componentFactory, 0, this.viewContainerRef.injector);
56
+ let componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruValidationDialog);
57
+ let component = this.viewContainerRef.createComponent(componentFactory, 0, this.viewContainerRef.injector);
58
58
  component.instance.config = config;
59
+ this.currentDialog = component;
59
60
  this.dialogRef = component;
60
61
  };
61
62
  removeValidationDialog = () => {
62
- if (this.dialogRef) {
63
- this.dialogRef.destroy();
64
- this.dialogRef = null;
63
+ if (this.currentDialog) {
64
+ this.currentDialog.destroy();
65
+ this.currentDialog = null;
65
66
  }
66
67
  };
67
68
  valErrsChanged = (validationObject) => {
68
- if (!this.resultView && validationObject.entity === this.entity) {
69
- let validationObjectEntity = validationObject.entity;
70
- let validationTableName = validationObjectEntity.constructor.name;
71
- const entityPkeyName = validationTableName + 'Ref';
72
- const validationObjectEntitypkeyName = validationTableName + 'Ref';
73
- if (this.config.rootTable === validationTableName && this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName]) {
74
- this.mergeData = this.getMergeData();
75
- let addedPropertyValdations = validationObject.added.filter((v) => {
76
- return v.propertyName === this.config.propertyName;
77
- });
78
- let removedPropertyValdations = validationObject.removed.filter((v) => {
79
- return v.propertyName === this.config.propertyName;
80
- });
81
- if (addedPropertyValdations.length || this.mergeData) {
82
- this.addValidationDialog(new TruValidationDialogConfig(this.entity, this.config.propertyName, this.parseErrorMessages(addedPropertyValdations), this.mergeData));
83
- }
84
- else if (!addedPropertyValdations.length && removedPropertyValdations.length) {
85
- this.removeValidationDialog();
86
- }
69
+ let validationObjectEntity = validationObject.entity;
70
+ let validationTableName = validationObjectEntity.constructor.name;
71
+ const entityPkeyName = validationTableName + 'Ref';
72
+ const validationObjectEntitypkeyName = validationTableName + 'Ref';
73
+ if (this.config.rootTable === validationTableName && this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName]) {
74
+ this.mergeData = this.getMergeData();
75
+ let addedPropertyValdations = validationObject.added.filter((v) => {
76
+ return v.propertyName === this.config.propertyName;
77
+ });
78
+ this.removeValidationDialog();
79
+ if (addedPropertyValdations.length || this.mergeData) {
80
+ this.addValidationDialog(new TruValidationDialogConfig(this.entity, this.config.propertyName, this.parseErrorMessages(addedPropertyValdations), this.mergeData));
87
81
  }
88
82
  }
89
83
  };
@@ -94,13 +88,14 @@ export class TruBreezeValidator {
94
88
  }));
95
89
  }
96
90
  ngOnChanges(changes) {
97
- this.entity.entityAspect.validateEntity();
91
+ if (this.entity.entityAspect.validateEntity())
92
+ this.removeValidationDialog();
98
93
  }
99
94
  ngOnDestroy() {
100
95
  this.subs.forEach(s => s.unsubscribe());
101
96
  }
102
97
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeValidator, deps: [{ token: i0.ElementRef }, { token: i1.TruDataContext }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
103
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: TruBreezeValidator, selector: "[truBreezeValidator]", inputs: { entity: ["truBreezeValidator", "entity"], config: "config", resultView: "resultView" }, usesOnChanges: true, ngImport: i0 });
98
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: TruBreezeValidator, selector: "[truBreezeValidator]", inputs: { entity: ["truBreezeValidator", "entity"], config: "config" }, usesOnChanges: true, ngImport: i0 });
104
99
  }
105
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeValidator, decorators: [{
106
101
  type: Directive,
@@ -112,7 +107,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
112
107
  args: ['truBreezeValidator']
113
108
  }], config: [{
114
109
  type: Input
115
- }], resultView: [{
116
- type: Input
117
110
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBDLFNBQVMsRUFBYyxLQUFLLEVBQXNELE1BQU0sZUFBZSxDQUFDO0FBT3pKLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7QUFNNUcsTUFBTSxPQUFPLGtCQUFrQjtJQU1uQjtJQUNBO0lBQ0E7SUFDQTtJQVJtQixNQUFNLENBQWlCO0lBQzNDLE1BQU0sQ0FBaUM7SUFDdkMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUVyQyxZQUNVLEVBQWMsRUFDZCxXQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsd0JBQWtEO1FBSGxELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQzVELENBQUM7SUFFRCxXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLFNBQVMsQ0FBTTtJQUVQLFNBQVMsR0FBNkIsSUFBSSxDQUFDO0lBQzNDLElBQUksR0FBd0IsRUFBRSxDQUFDO0lBRS9CLFlBQVksR0FBRyxHQUFnQyxFQUFFO1FBQ3ZELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVE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QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO3VHQWhIVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQztrTEFFOEIsTUFBTTtzQkFBbEMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBQ2xCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZm9yRWFjaCB9IGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5pbXBvcnQgeyBUcnVFZGl0Q29udHJvbENvbmZpZ0Jhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1jb25maWctYmFzZSc7XHJcbmltcG9ydCB7IFRydUVudGl0eUJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlJztcclxuaW1wb3J0IHsgVHJ1TWVyZ2VEYXRhU2V0IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90cnUtbWVyZ2UtZGF0YS1zZXQnO1xyXG5pbXBvcnQgeyBUcnVWYWxpZGF0aW9uRGlhbG9nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVWYWxpZGF0aW9uRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2ctY29uZmlnJztcclxuaW1wb3J0IHsgVHJ1RGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cnUtZGF0YS1jb250ZXh0JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RydUJyZWV6ZVZhbGlkYXRvcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVCcmVlemVWYWxpZGF0b3IgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCd0cnVCcmVlemVWYWxpZGF0b3InKSBlbnRpdHkhOiBUcnVFbnRpdHlCYXNlO1xyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IFRydUVkaXRDb250cm9sQ29uZmlnQmFzZTxhbnk+O1xyXG4gIEBJbnB1dCgpIHJlc3VsdFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRhQ29udGV4dDogVHJ1RGF0YUNvbnRleHQsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgfVxyXG5cclxuICBjb25maWdNb2RlbDogYW55ID0ge307XHJcbiAgbWVyZ2VEYXRhOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgZGlhbG9nUmVmOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgc3ViczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xyXG5cclxuICBwcml2YXRlIGdldE1lcmdlRGF0YSA9ICgpOiBUcnVNZXJnZURhdGFTZXQgfCB1bmRlZmluZWQgPT4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnByb3BlcnR5UGF0aD8uaW5jbHVkZXMoJy8nKSkge1xyXG4gICAgICBsZXQgcHJvcGVydHlOYW1lUGFydHMgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0eVBhdGguc3BsaXQoJy8nKTtcclxuICAgICAgcHJvcGVydHlOYW1lUGFydHMucG9wKCk7XHJcbiAgICAgIGxldCB0YXJnZXRQcm9wZXJ0eTogYW55O1xyXG4gICAgICBwcm9wZXJ0eU5hbWVQYXJ0cy5mb3JFYWNoKChuYW1lKSA9PiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXRQcm9wZXJ0eSkge1xyXG4gICAgICAgICAgbGV0IHRhcmdldFByb3BlcnR5TmFtZSA9ICdvJyArIG5hbWUgYXMga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICAgICAgdGFyZ2V0UHJvcGVydHkgPSB0aGlzLmVudGl0eVt0YXJnZXRQcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgdGFyZ2V0UHJvcGVydHlOYW1lID0gJ28nICsgbmFtZSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5lbnRpdHk7XHJcbiAgICAgICAgICB0YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFByb3BlcnR5W3RhcmdldFByb3BlcnR5TmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRhcmdldFByb3BlcnR5ICYmIHRhcmdldFByb3BlcnR5Lk1lcmdlX0RhdGEpIHtcclxuICAgICAgICByZXR1cm4gdGFyZ2V0UHJvcGVydHkuTWVyZ2VfRGF0YV9TZXQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmVudGl0eS5NZXJnZV9EYXRhX1NldDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VFcnJvck1lc3NhZ2VzID0gKHZhbGlkYXRpb25FcnJvcnM6IEFycmF5PFZhbGlkYXRpb25FcnJvcj4pOiBzdHJpbmcgPT4ge1xyXG4gICAgbGV0IGVycm9yTXNnOiBzdHJpbmcgPSAnJztcclxuICAgIHZhbGlkYXRpb25FcnJvcnMuZm9yRWFjaCgoZXJyb3IpID0+IHtcclxuICAgICAgZXJyb3JNc2cgKz0gZXJyb3IuZXJyb3JNZXNzYWdlICsgJzsgJztcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGVycm9yTXNnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRWYWxpZGF0aW9uRGlhbG9nID0gKGNvbmZpZzogVHJ1VmFsaWRhdGlvbkRpYWxvZ0NvbmZpZykgPT4ge1xyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRydVZhbGlkYXRpb25EaWFsb2cpO1xyXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxUcnVWYWxpZGF0aW9uRGlhbG9nPihjb21wb25lbnRGYWN0b3J5LCAwLCB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpO1xyXG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmNvbmZpZyA9IGNvbmZpZztcclxuICAgIHRoaXMuZGlhbG9nUmVmID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVWYWxpZGF0aW9uRGlhbG9nID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZGlhbG9nUmVmKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsRXJyc0NoYW5nZWQgPSAodmFsaWRhdGlvbk9iamVjdDogYW55KSA9PiB7XHJcbiAgICBpZiAoIXRoaXMucmVzdWx0VmlldyAmJiB2YWxpZGF0aW9uT2JqZWN0LmVudGl0eSA9PT0gdGhpcy5lbnRpdHkpIHtcclxuICAgICAgbGV0IHZhbGlkYXRpb25PYmplY3RFbnRpdHkgPSB2YWxpZGF0aW9uT2JqZWN0LmVudGl0eVxyXG4gICAgICBsZXQgdmFsaWRhdGlvblRhYmxlTmFtZSA9IHZhbGlkYXRpb25PYmplY3RFbnRpdHkuY29uc3RydWN0b3IubmFtZTtcclxuXHJcbiAgICAgIHR5cGUgRW50aXR5T2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICBjb25zdCBlbnRpdHlQa2V5TmFtZSA9IHZhbGlkYXRpb25UYWJsZU5hbWUgKyAnUmVmJyBhcyBFbnRpdHlPYmplY3RLZXk7XHJcblxyXG4gICAgICB0eXBlIFZhbGlkYXRpb25PYmplY3RFbnRpdHlPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgdmFsaWRhdGlvbk9iamVjdEVudGl0eTtcclxuICAgICAgY29uc3QgdmFsaWRhdGlvbk9iamVjdEVudGl0eXBrZXlOYW1lID0gdmFsaWRhdGlvblRhYmxlTmFtZSArICdSZWYnIGFzIFZhbGlkYXRpb25PYmplY3RFbnRpdHlPYmplY3RLZXk7XHJcblxyXG4gICAgICBpZiAodGhpcy5jb25maWcucm9vdFRhYmxlID09PSB2YWxpZGF0aW9uVGFibGVOYW1lICYmIHRoaXMuZW50aXR5W2VudGl0eVBrZXlOYW1lXSA9PT0gdmFsaWRhdGlvbk9iamVjdEVudGl0eVt2YWxpZGF0aW9uT2JqZWN0RW50aXR5cGtleU5hbWVdKSB7XHJcbiAgICAgICAgdGhpcy5tZXJnZURhdGEgPSB0aGlzLmdldE1lcmdlRGF0YSgpO1xyXG4gICAgICAgIGxldCBhZGRlZFByb3BlcnR5VmFsZGF0aW9ucyA9IHZhbGlkYXRpb25PYmplY3QuYWRkZWQuZmlsdGVyKCh2OiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiB2LnByb3BlcnR5TmFtZSA9PT0gdGhpcy5jb25maWcucHJvcGVydHlOYW1lXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGxldCByZW1vdmVkUHJvcGVydHlWYWxkYXRpb25zID0gdmFsaWRhdGlvbk9iamVjdC5yZW1vdmVkLmZpbHRlcigodjogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdi5wcm9wZXJ0eU5hbWUgPT09IHRoaXMuY29uZmlnLnByb3BlcnR5TmFtZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoYWRkZWRQcm9wZXJ0eVZhbGRhdGlvbnMubGVuZ3RoIHx8IHRoaXMubWVyZ2VEYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmFkZFZhbGlkYXRpb25EaWFsb2cobmV3IFRydVZhbGlkYXRpb25EaWFsb2dDb25maWcoXHJcbiAgICAgICAgICAgIHRoaXMuZW50aXR5LFxyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5wcm9wZXJ0eU5hbWUgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgICB0aGlzLnBhcnNlRXJyb3JNZXNzYWdlcyhhZGRlZFByb3BlcnR5VmFsZGF0aW9ucyksXHJcbiAgICAgICAgICAgIHRoaXMubWVyZ2VEYXRhXHJcbiAgICAgICAgICApKTtcclxuICAgICAgICB9IGVsc2UgaWYgKCFhZGRlZFByb3BlcnR5VmFsZGF0aW9ucy5sZW5ndGggJiYgcmVtb3ZlZFByb3BlcnR5VmFsZGF0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbkRpYWxvZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLnB1c2godGhpcy5kYXRhQ29udGV4dC52YWxpZGF0aW9uQ2hhbmdlRGV0ZWN0aW9uLnN1YnNjcmliZShlbnRpdGllcyA9PiB7XHJcbiAgICAgIHRoaXMudmFsRXJyc0NoYW5nZWQoZW50aXRpZXMpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5lbnRpdHkuZW50aXR5QXNwZWN0LnZhbGlkYXRlRW50aXR5KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcbn1cclxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBDLFNBQVMsRUFBYyxLQUFLLEVBQXNELE1BQU0sZUFBZSxDQUFDO0FBT3pKLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7QUFNNUcsTUFBTSxPQUFPLGtCQUFrQjtJQUtuQjtJQUNBO0lBQ0E7SUFDQTtJQVBtQixNQUFNLENBQWlCO0lBQzNDLE1BQU0sQ0FBaUM7SUFFaEQsWUFDVSxFQUFjLEVBQ2QsV0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2xDLHdCQUFrRDtRQUhsRCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUM1RCxDQUFDO0lBRUQsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUN0QixTQUFTLENBQU07SUFFUCxTQUFTLEdBQTZCLElBQUksQ0FBQztJQUMzQyxJQUFJLEdBQXdCLEVBQUUsQ0FBQztJQUMvQixhQUFhLEdBQTZDLElBQUksQ0FBQTtJQUU5RCxZQUFZLEdBQUcsR0FBZ0MsRUFBRTtRQUN2RCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQyxJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1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bnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYnJlZXplLWNsaWVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmb3JFYWNoIH0gZnJvbSAndW5kZXJzY29yZSc7XHJcbmltcG9ydCB7IFRydUVkaXRDb250cm9sQ29uZmlnQmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UtY2xhc3Nlcy90cnUtZWRpdC1jb250cm9sLWNvbmZpZy1iYXNlJztcclxuaW1wb3J0IHsgVHJ1RW50aXR5QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UtY2xhc3Nlcy90cnUtZW50aXR5LWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVNZXJnZURhdGFTZXQgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhLXNldCc7XHJcbmltcG9ydCB7IFRydVZhbGlkYXRpb25EaWFsb2cgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZyc7XHJcbmltcG9ydCB7IFRydVZhbGlkYXRpb25EaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZy1jb25maWcnO1xyXG5pbXBvcnQgeyBUcnVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1kYXRhLWNvbnRleHQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdHJ1QnJlZXplVmFsaWRhdG9yXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUJyZWV6ZVZhbGlkYXRvciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoJ3RydUJyZWV6ZVZhbGlkYXRvcicpIGVudGl0eSE6IFRydUVudGl0eUJhc2U7XHJcbiAgQElucHV0KCkgY29uZmlnITogVHJ1RWRpdENvbnRyb2xDb25maWdCYXNlPGFueT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgZGF0YUNvbnRleHQ6IFRydURhdGFDb250ZXh0LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuXHJcbiAgY29uZmlnTW9kZWw6IGFueSA9IHt9O1xyXG4gIG1lcmdlRGF0YTogYW55O1xyXG5cclxuICBwcml2YXRlIGRpYWxvZ1JlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHN1YnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuICBwcml2YXRlIGN1cnJlbnREaWFsb2c6IENvbXBvbmVudFJlZjxUcnVWYWxpZGF0aW9uRGlhbG9nPiB8IG51bGwgPSBudWxsXHJcblxyXG4gIHByaXZhdGUgZ2V0TWVyZ2VEYXRhID0gKCk6IFRydU1lcmdlRGF0YVNldCB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgICBpZiAodGhpcy5jb25maWcucHJvcGVydHlQYXRoPy5pbmNsdWRlcygnLycpKSB7XHJcbiAgICAgIGxldCBwcm9wZXJ0eU5hbWVQYXJ0cyA9IHRoaXMuY29uZmlnLnByb3BlcnR5UGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICBwcm9wZXJ0eU5hbWVQYXJ0cy5wb3AoKTtcclxuICAgICAgbGV0IHRhcmdldFByb3BlcnR5OiBhbnk7XHJcbiAgICAgIHByb3BlcnR5TmFtZVBhcnRzLmZvckVhY2goKG5hbWUpID0+IHtcclxuICAgICAgICBpZiAoIXRhcmdldFByb3BlcnR5KSB7XHJcbiAgICAgICAgICBsZXQgdGFyZ2V0UHJvcGVydHlOYW1lID0gJ28nICsgbmFtZSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5lbnRpdHk7XHJcbiAgICAgICAgICB0YXJnZXRQcm9wZXJ0eSA9IHRoaXMuZW50aXR5W3RhcmdldFByb3BlcnR5TmFtZV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCB0YXJnZXRQcm9wZXJ0eU5hbWUgPSAnbycgKyBuYW1lIGFzIGtleW9mIHR5cGVvZiB0aGlzLmVudGl0eTtcclxuICAgICAgICAgIHRhcmdldFByb3BlcnR5ID0gdGFyZ2V0UHJvcGVydHlbdGFyZ2V0UHJvcGVydHlOYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodGFyZ2V0UHJvcGVydHkgJiYgdGFyZ2V0UHJvcGVydHkuTWVyZ2VfRGF0YSkge1xyXG4gICAgICAgIHJldHVybiB0YXJnZXRQcm9wZXJ0eS5NZXJnZV9EYXRhX1NldDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZW50aXR5Lk1lcmdlX0RhdGFfU2V0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUVycm9yTWVzc2FnZXMgPSAodmFsaWRhdGlvbkVycm9yczogQXJyYXk8VmFsaWRhdGlvbkVycm9yPik6IHN0cmluZyA9PiB7XHJcbiAgICBsZXQgZXJyb3JNc2c6IHN0cmluZyA9ICcnO1xyXG4gICAgdmFsaWRhdGlvbkVycm9ycy5mb3JFYWNoKChlcnJvcikgPT4ge1xyXG4gICAgICBlcnJvck1zZyArPSBlcnJvci5lcnJvck1lc3NhZ2UgKyAnOyAnO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZXJyb3JNc2c7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFZhbGlkYXRpb25EaWFsb2cgPSAoY29uZmlnOiBUcnVWYWxpZGF0aW9uRGlhbG9nQ29uZmlnKSA9PiB7XHJcbiAgICBsZXQgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRydVZhbGlkYXRpb25EaWFsb2cpO1xyXG4gICAgbGV0IGNvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQ8VHJ1VmFsaWRhdGlvbkRpYWxvZz4oY29tcG9uZW50RmFjdG9yeSwgMCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yKTtcclxuICAgIGNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSBjb25maWc7XHJcbiAgICB0aGlzLmN1cnJlbnREaWFsb2cgPSBjb21wb25lbnQ7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IGNvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlVmFsaWRhdGlvbkRpYWxvZyA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnREaWFsb2cpIHtcclxuICAgICAgdGhpcy5jdXJyZW50RGlhbG9nLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jdXJyZW50RGlhbG9nID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbEVycnNDaGFuZ2VkID0gKHZhbGlkYXRpb25PYmplY3Q6IGFueSkgPT4ge1xyXG4gICAgbGV0IHZhbGlkYXRpb25PYmplY3RFbnRpdHkgPSB2YWxpZGF0aW9uT2JqZWN0LmVudGl0eVxyXG4gICAgbGV0IHZhbGlkYXRpb25UYWJsZU5hbWUgPSB2YWxpZGF0aW9uT2JqZWN0RW50aXR5LmNvbnN0cnVjdG9yLm5hbWU7XHJcblxyXG4gICAgdHlwZSBFbnRpdHlPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgdGhpcy5lbnRpdHk7XHJcbiAgICBjb25zdCBlbnRpdHlQa2V5TmFtZSA9IHZhbGlkYXRpb25UYWJsZU5hbWUgKyAnUmVmJyBhcyBFbnRpdHlPYmplY3RLZXk7XHJcblxyXG4gICAgdHlwZSBWYWxpZGF0aW9uT2JqZWN0RW50aXR5T2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIHZhbGlkYXRpb25PYmplY3RFbnRpdHk7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uT2JqZWN0RW50aXR5cGtleU5hbWUgPSB2YWxpZGF0aW9uVGFibGVOYW1lICsgJ1JlZicgYXMgVmFsaWRhdGlvbk9iamVjdEVudGl0eU9iamVjdEtleTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcucm9vdFRhYmxlID09PSB2YWxpZGF0aW9uVGFibGVOYW1lICYmIHRoaXMuZW50aXR5W2VudGl0eVBrZXlOYW1lXSA9PT0gdmFsaWRhdGlvbk9iamVjdEVudGl0eVt2YWxpZGF0aW9uT2JqZWN0RW50aXR5cGtleU5hbWVdKSB7XHJcbiAgICAgIHRoaXMubWVyZ2VEYXRhID0gdGhpcy5nZXRNZXJnZURhdGEoKTtcclxuICAgICAgbGV0IGFkZGVkUHJvcGVydHlWYWxkYXRpb25zID0gdmFsaWRhdGlvbk9iamVjdC5hZGRlZC5maWx0ZXIoKHY6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB2LnByb3BlcnR5TmFtZSA9PT0gdGhpcy5jb25maWcucHJvcGVydHlOYW1lXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uRGlhbG9nKCk7XHJcbiAgICAgIGlmIChhZGRlZFByb3BlcnR5VmFsZGF0aW9ucy5sZW5ndGggfHwgdGhpcy5tZXJnZURhdGEpIHtcclxuICAgICAgICB0aGlzLmFkZFZhbGlkYXRpb25EaWFsb2cobmV3IFRydVZhbGlkYXRpb25EaWFsb2dDb25maWcoXHJcbiAgICAgICAgICB0aGlzLmVudGl0eSxcclxuICAgICAgICAgIHRoaXMuY29uZmlnLnByb3BlcnR5TmFtZSBhcyBzdHJpbmcsXHJcbiAgICAgICAgICB0aGlzLnBhcnNlRXJyb3JNZXNzYWdlcyhhZGRlZFByb3BlcnR5VmFsZGF0aW9ucyksXHJcbiAgICAgICAgICB0aGlzLm1lcmdlRGF0YVxyXG4gICAgICAgICkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMucHVzaCh0aGlzLmRhdGFDb250ZXh0LnZhbGlkYXRpb25DaGFuZ2VEZXRlY3Rpb24uc3Vic2NyaWJlKGVudGl0aWVzID0+IHtcclxuICAgICAgdGhpcy52YWxFcnJzQ2hhbmdlZChlbnRpdGllcyk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5lbnRpdHkuZW50aXR5QXNwZWN0LnZhbGlkYXRlRW50aXR5KCkpXHJcbiAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbkRpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -6457,7 +6457,6 @@ class TruBreezeValidator {
6457
6457
  componentFactoryResolver;
6458
6458
  entity;
6459
6459
  config;
6460
- resultView = false;
6461
6460
  constructor(el, dataContext, viewContainerRef, componentFactoryResolver) {
6462
6461
  this.el = el;
6463
6462
  this.dataContext = dataContext;
@@ -6468,6 +6467,7 @@ class TruBreezeValidator {
6468
6467
  mergeData;
6469
6468
  dialogRef = null;
6470
6469
  subs = [];
6470
+ currentDialog = null;
6471
6471
  getMergeData = () => {
6472
6472
  if (this.config.propertyPath?.includes('/')) {
6473
6473
  let propertyNameParts = this.config.propertyPath.split('/');
@@ -6500,37 +6500,31 @@ class TruBreezeValidator {
6500
6500
  return errorMsg;
6501
6501
  };
6502
6502
  addValidationDialog = (config) => {
6503
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruValidationDialog);
6504
- const component = this.viewContainerRef.createComponent(componentFactory, 0, this.viewContainerRef.injector);
6503
+ let componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruValidationDialog);
6504
+ let component = this.viewContainerRef.createComponent(componentFactory, 0, this.viewContainerRef.injector);
6505
6505
  component.instance.config = config;
6506
+ this.currentDialog = component;
6506
6507
  this.dialogRef = component;
6507
6508
  };
6508
6509
  removeValidationDialog = () => {
6509
- if (this.dialogRef) {
6510
- this.dialogRef.destroy();
6511
- this.dialogRef = null;
6510
+ if (this.currentDialog) {
6511
+ this.currentDialog.destroy();
6512
+ this.currentDialog = null;
6512
6513
  }
6513
6514
  };
6514
6515
  valErrsChanged = (validationObject) => {
6515
- if (!this.resultView && validationObject.entity === this.entity) {
6516
- let validationObjectEntity = validationObject.entity;
6517
- let validationTableName = validationObjectEntity.constructor.name;
6518
- const entityPkeyName = validationTableName + 'Ref';
6519
- const validationObjectEntitypkeyName = validationTableName + 'Ref';
6520
- if (this.config.rootTable === validationTableName && this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName]) {
6521
- this.mergeData = this.getMergeData();
6522
- let addedPropertyValdations = validationObject.added.filter((v) => {
6523
- return v.propertyName === this.config.propertyName;
6524
- });
6525
- let removedPropertyValdations = validationObject.removed.filter((v) => {
6526
- return v.propertyName === this.config.propertyName;
6527
- });
6528
- if (addedPropertyValdations.length || this.mergeData) {
6529
- this.addValidationDialog(new TruValidationDialogConfig(this.entity, this.config.propertyName, this.parseErrorMessages(addedPropertyValdations), this.mergeData));
6530
- }
6531
- else if (!addedPropertyValdations.length && removedPropertyValdations.length) {
6532
- this.removeValidationDialog();
6533
- }
6516
+ let validationObjectEntity = validationObject.entity;
6517
+ let validationTableName = validationObjectEntity.constructor.name;
6518
+ const entityPkeyName = validationTableName + 'Ref';
6519
+ const validationObjectEntitypkeyName = validationTableName + 'Ref';
6520
+ if (this.config.rootTable === validationTableName && this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName]) {
6521
+ this.mergeData = this.getMergeData();
6522
+ let addedPropertyValdations = validationObject.added.filter((v) => {
6523
+ return v.propertyName === this.config.propertyName;
6524
+ });
6525
+ this.removeValidationDialog();
6526
+ if (addedPropertyValdations.length || this.mergeData) {
6527
+ this.addValidationDialog(new TruValidationDialogConfig(this.entity, this.config.propertyName, this.parseErrorMessages(addedPropertyValdations), this.mergeData));
6534
6528
  }
6535
6529
  }
6536
6530
  };
@@ -6541,13 +6535,14 @@ class TruBreezeValidator {
6541
6535
  }));
6542
6536
  }
6543
6537
  ngOnChanges(changes) {
6544
- this.entity.entityAspect.validateEntity();
6538
+ if (this.entity.entityAspect.validateEntity())
6539
+ this.removeValidationDialog();
6545
6540
  }
6546
6541
  ngOnDestroy() {
6547
6542
  this.subs.forEach(s => s.unsubscribe());
6548
6543
  }
6549
6544
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeValidator, deps: [{ token: i0.ElementRef }, { token: TruDataContext }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
6550
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: TruBreezeValidator, selector: "[truBreezeValidator]", inputs: { entity: ["truBreezeValidator", "entity"], config: "config", resultView: "resultView" }, usesOnChanges: true, ngImport: i0 });
6545
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: TruBreezeValidator, selector: "[truBreezeValidator]", inputs: { entity: ["truBreezeValidator", "entity"], config: "config" }, usesOnChanges: true, ngImport: i0 });
6551
6546
  }
6552
6547
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeValidator, decorators: [{
6553
6548
  type: Directive,
@@ -6559,8 +6554,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
6559
6554
  args: ['truBreezeValidator']
6560
6555
  }], config: [{
6561
6556
  type: Input
6562
- }], resultView: [{
6563
- type: Input
6564
6557
  }] } });
6565
6558
 
6566
6559
  class TruBreezeValidatorModule {