@trudb/tru-common-lib 0.0.768 → 0.0.770

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,6 +10,7 @@ export class TruBreezeValidator {
10
10
  componentFactoryResolver;
11
11
  entity;
12
12
  config;
13
+ resultView = false;
13
14
  constructor(el, dataContext, viewContainerRef, componentFactoryResolver) {
14
15
  this.el = el;
15
16
  this.dataContext = dataContext;
@@ -64,23 +65,25 @@ export class TruBreezeValidator {
64
65
  }
65
66
  };
66
67
  valErrsChanged = (validationObject) => {
67
- let validationObjectEntity = validationObject.entity;
68
- let validationTableName = validationObjectEntity.constructor.name;
69
- const entityPkeyName = validationTableName + 'Ref';
70
- const validationObjectEntitypkeyName = validationTableName + 'Ref';
71
- if (this.config.rootTable === validationTableName && this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName]) {
72
- this.mergeData = this.getMergeData();
73
- let addedPropertyValdations = validationObject.added.filter((v) => {
74
- return v.propertyName === this.config.propertyName;
75
- });
76
- let removedPropertyValdations = validationObject.removed.filter((v) => {
77
- return v.propertyName === this.config.propertyName;
78
- });
79
- if (addedPropertyValdations.length || this.mergeData) {
80
- this.addValidationDialog(new TruValidationDialogConfig(this.entity, this.config.propertyName, this.parseErrorMessages(addedPropertyValdations), this.mergeData));
81
- }
82
- else if (!addedPropertyValdations.length && removedPropertyValdations.length) {
83
- this.removeValidationDialog();
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
+ }
84
87
  }
85
88
  }
86
89
  };
@@ -89,18 +92,15 @@ export class TruBreezeValidator {
89
92
  this.subs.push(this.dataContext.validationChangeDetection.subscribe(entities => {
90
93
  this.valErrsChanged(entities);
91
94
  }));
92
- this.entity.entityAspect.validateEntity();
93
95
  }
94
96
  ngOnChanges(changes) {
95
- if (!changes.entity.firstChange) {
96
- this.entity.entityAspect.validateEntity();
97
- }
97
+ this.entity.entityAspect.validateEntity();
98
98
  }
99
99
  ngOnDestroy() {
100
100
  this.subs.forEach(s => s.unsubscribe());
101
101
  }
102
102
  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" }, usesOnChanges: true, ngImport: i0 });
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 });
104
104
  }
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeValidator, decorators: [{
106
106
  type: Directive,
@@ -112,5 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
112
112
  args: ['truBreezeValidator']
113
113
  }], config: [{
114
114
  type: Input
115
+ }], resultView: [{
116
+ type: Input
115
117
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBDLFNBQVMsRUFBYyxLQUFLLEVBQXNELE1BQU0sZUFBZSxDQUFDO0FBT3pKLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7QUFNNUcsTUFBTSxPQUFPLGtCQUFrQjtJQUtuQjtJQUNBO0lBQ0E7SUFDQTtJQVBtQixNQUFNLENBQWlCO0lBQzNDLE1BQU0sQ0FBaUM7SUFFaEQsWUFDVSxFQUFjLEVBQ2QsV0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2xDLHdCQUFrRDtRQUhsRCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUM1RCxDQUFDO0lBRUQsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUN0QixTQUFTLENBQU07SUFFUCxTQUFTLEdBQTZCLElBQUksQ0FBQztJQUMzQyxJQUFJLEdBQXdCLEVBQUUsQ0FBQztJQUUvQixZQUFZLEdBQUcsR0FBZ0MsRUFBRTtRQUN2RCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQyxJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FB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QyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO3VHQWhIVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQztrTEFFOEIsTUFBTTtzQkFBbEMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBQ2xCLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdicmVlemUtY2xpZW50JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZvckVhY2ggfSBmcm9tICd1bmRlcnNjb3JlJztcclxuaW1wb3J0IHsgVHJ1RWRpdENvbnRyb2xDb25maWdCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS1jbGFzc2VzL3RydS1lZGl0LWNvbnRyb2wtY29uZmlnLWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVFbnRpdHlCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS1jbGFzc2VzL3RydS1lbnRpdHktYmFzZSc7XHJcbmltcG9ydCB7IFRydU1lcmdlRGF0YVNldCB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdHJ1LW1lcmdlLWRhdGEtc2V0JztcclxuaW1wb3J0IHsgVHJ1VmFsaWRhdGlvbkRpYWxvZyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LXZhbGlkYXRpb24tZGlhbG9nJztcclxuaW1wb3J0IHsgVHJ1VmFsaWRhdGlvbkRpYWxvZ0NvbmZpZyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LXZhbGlkYXRpb24tZGlhbG9nLWNvbmZpZyc7XHJcbmltcG9ydCB7IFRydURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJ1LWRhdGEtY29udGV4dCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cnVCcmVlemVWYWxpZGF0b3JdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1QnJlZXplVmFsaWRhdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgndHJ1QnJlZXplVmFsaWRhdG9yJykgZW50aXR5ITogVHJ1RW50aXR5QmFzZTtcclxuICBASW5wdXQoKSBjb25maWchOiBUcnVFZGl0Q29udHJvbENvbmZpZ0Jhc2U8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRhQ29udGV4dDogVHJ1RGF0YUNvbnRleHQsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgfVxyXG5cclxuICBjb25maWdNb2RlbDogYW55ID0ge307XHJcbiAgbWVyZ2VEYXRhOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgZGlhbG9nUmVmOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgc3ViczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xyXG5cclxuICBwcml2YXRlIGdldE1lcmdlRGF0YSA9ICgpOiBUcnVNZXJnZURhdGFTZXQgfCB1bmRlZmluZWQgPT4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnByb3BlcnR5UGF0aD8uaW5jbHVkZXMoJy8nKSkge1xyXG4gICAgICBsZXQgcHJvcGVydHlOYW1lUGFydHMgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0eVBhdGguc3BsaXQoJy8nKTtcclxuICAgICAgcHJvcGVydHlOYW1lUGFydHMucG9wKCk7XHJcbiAgICAgIGxldCB0YXJnZXRQcm9wZXJ0eTogYW55O1xyXG4gICAgICBwcm9wZXJ0eU5hbWVQYXJ0cy5mb3JFYWNoKChuYW1lKSA9PiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXRQcm9wZXJ0eSkge1xyXG4gICAgICAgICAgbGV0IHRhcmdldFByb3BlcnR5TmFtZSA9ICdvJyArIG5hbWUgYXMga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICAgICAgdGFyZ2V0UHJvcGVydHkgPSB0aGlzLmVudGl0eVt0YXJnZXRQcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgdGFyZ2V0UHJvcGVydHlOYW1lID0gJ28nICsgbmFtZSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5lbnRpdHk7XHJcbiAgICAgICAgICB0YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFByb3BlcnR5W3RhcmdldFByb3BlcnR5TmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRhcmdldFByb3BlcnR5ICYmIHRhcmdldFByb3BlcnR5Lk1lcmdlX0RhdGEpIHtcclxuICAgICAgICByZXR1cm4gdGFyZ2V0UHJvcGVydHkuTWVyZ2VfRGF0YV9TZXQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmVudGl0eS5NZXJnZV9EYXRhX1NldDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VFcnJvck1lc3NhZ2VzID0gKHZhbGlkYXRpb25FcnJvcnM6IEFycmF5PFZhbGlkYXRpb25FcnJvcj4pOiBzdHJpbmcgPT4ge1xyXG4gICAgbGV0IGVycm9yTXNnOiBzdHJpbmcgPSAnJztcclxuICAgIHZhbGlkYXRpb25FcnJvcnMuZm9yRWFjaCgoZXJyb3IpID0+IHtcclxuICAgICAgZXJyb3JNc2cgKz0gZXJyb3IuZXJyb3JNZXNzYWdlICsgJzsgJztcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGVycm9yTXNnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRWYWxpZGF0aW9uRGlhbG9nID0gKGNvbmZpZzogVHJ1VmFsaWRhdGlvbkRpYWxvZ0NvbmZpZykgPT4ge1xyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRydVZhbGlkYXRpb25EaWFsb2cpO1xyXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxUcnVWYWxpZGF0aW9uRGlhbG9nPihjb21wb25lbnRGYWN0b3J5LCAwLCB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpO1xyXG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmNvbmZpZyA9IGNvbmZpZztcclxuICAgIHRoaXMuZGlhbG9nUmVmID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVWYWxpZGF0aW9uRGlhbG9nID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZGlhbG9nUmVmKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsRXJyc0NoYW5nZWQgPSAodmFsaWRhdGlvbk9iamVjdDogYW55KSA9PiB7XHJcbiAgICBsZXQgdmFsaWRhdGlvbk9iamVjdEVudGl0eSA9IHZhbGlkYXRpb25PYmplY3QuZW50aXR5XHJcbiAgICBsZXQgdmFsaWRhdGlvblRhYmxlTmFtZSA9IHZhbGlkYXRpb25PYmplY3RFbnRpdHkuY29uc3RydWN0b3IubmFtZTtcclxuXHJcbiAgICB0eXBlIEVudGl0eU9iamVjdEtleSA9IGtleW9mIHR5cGVvZiB0aGlzLmVudGl0eTtcclxuICAgIGNvbnN0IGVudGl0eVBrZXlOYW1lID0gdmFsaWRhdGlvblRhYmxlTmFtZSArICdSZWYnIGFzIEVudGl0eU9iamVjdEtleTtcclxuXHJcbiAgICB0eXBlIFZhbGlkYXRpb25PYmplY3RFbnRpdHlPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgdmFsaWRhdGlvbk9iamVjdEVudGl0eTtcclxuICAgIGNvbnN0IHZhbGlkYXRpb25PYmplY3RFbnRpdHlwa2V5TmFtZSA9IHZhbGlkYXRpb25UYWJsZU5hbWUgKyAnUmVmJyBhcyBWYWxpZGF0aW9uT2JqZWN0RW50aXR5T2JqZWN0S2V5O1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5yb290VGFibGUgPT09IHZhbGlkYXRpb25UYWJsZU5hbWUgJiYgdGhpcy5lbnRpdHlbZW50aXR5UGtleU5hbWVdID09PSB2YWxpZGF0aW9uT2JqZWN0RW50aXR5W3ZhbGlkYXRpb25PYmplY3RFbnRpdHlwa2V5TmFtZV0pIHtcclxuICAgICAgdGhpcy5tZXJnZURhdGEgPSB0aGlzLmdldE1lcmdlRGF0YSgpO1xyXG4gICAgICBsZXQgYWRkZWRQcm9wZXJ0eVZhbGRhdGlvbnMgPSB2YWxpZGF0aW9uT2JqZWN0LmFkZGVkLmZpbHRlcigodjogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHYucHJvcGVydHlOYW1lID09PSB0aGlzLmNvbmZpZy5wcm9wZXJ0eU5hbWVcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBsZXQgcmVtb3ZlZFByb3BlcnR5VmFsZGF0aW9ucyA9IHZhbGlkYXRpb25PYmplY3QucmVtb3ZlZC5maWx0ZXIoKHY6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB2LnByb3BlcnR5TmFtZSA9PT0gdGhpcy5jb25maWcucHJvcGVydHlOYW1lXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKGFkZGVkUHJvcGVydHlWYWxkYXRpb25zLmxlbmd0aCB8fCB0aGlzLm1lcmdlRGF0YSkge1xyXG4gICAgICAgIHRoaXMuYWRkVmFsaWRhdGlvbkRpYWxvZyhuZXcgVHJ1VmFsaWRhdGlvbkRpYWxvZ0NvbmZpZyhcclxuICAgICAgICAgIHRoaXMuZW50aXR5LFxyXG4gICAgICAgICAgdGhpcy5jb25maWcucHJvcGVydHlOYW1lIGFzIHN0cmluZyxcclxuICAgICAgICAgIHRoaXMucGFyc2VFcnJvck1lc3NhZ2VzKGFkZGVkUHJvcGVydHlWYWxkYXRpb25zKSxcclxuICAgICAgICAgIHRoaXMubWVyZ2VEYXRhXHJcbiAgICAgICAgKSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoIWFkZGVkUHJvcGVydHlWYWxkYXRpb25zLmxlbmd0aCAmJiByZW1vdmVkUHJvcGVydHlWYWxkYXRpb25zLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uRGlhbG9nKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQgeyB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vicy5wdXNoKHRoaXMuZGF0YUNvbnRleHQudmFsaWRhdGlvbkNoYW5nZURldGVjdGlvbi5zdWJzY3JpYmUoZW50aXRpZXMgPT4ge1xyXG4gICAgICB0aGlzLnZhbEVycnNDaGFuZ2VkKGVudGl0aWVzKTtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuZW50aXR5LmVudGl0eUFzcGVjdC52YWxpZGF0ZUVudGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKCFjaGFuZ2VzLmVudGl0eS5maXJzdENoYW5nZSkge1xyXG4gICAgICB0aGlzLmVudGl0eS5lbnRpdHlBc3BlY3QudmFsaWRhdGVFbnRpdHkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBDLFNBQVMsRUFBYyxLQUFLLEVBQXNELE1BQU0sZUFBZSxDQUFDO0FBT3pKLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7QUFNNUcsTUFBTSxPQUFPLGtCQUFrQjtJQU1uQjtJQUNBO0lBQ0E7SUFDQTtJQVJtQixNQUFNLENBQWlCO0lBQzNDLE1BQU0sQ0FBaUM7SUFDdkMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUVyQyxZQUNVLEVBQWMsRUFDZCxXQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsd0JBQWtEO1FBSGxELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQzVELENBQUM7SUFFRCxXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLFNBQVMsQ0FBTTtJQUVQLFNBQVMsR0FBNkIsSUFBSSxDQUFDO0lBQzNDLElBQUksR0FBd0IsRUFBRSxDQUFDO0lBRS9CLFlBQVksR0FBRyxHQUFnQyxFQUFFO1FBQ3ZELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVE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QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO3VHQWhIVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQztrTEFFOEIsTUFBTTtzQkFBbEMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBQ2xCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZm9yRWFjaCB9IGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5pbXBvcnQgeyBUcnVFZGl0Q29udHJvbENvbmZpZ0Jhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1jb25maWctYmFzZSc7XHJcbmltcG9ydCB7IFRydUVudGl0eUJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlJztcclxuaW1wb3J0IHsgVHJ1TWVyZ2VEYXRhU2V0IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90cnUtbWVyZ2UtZGF0YS1zZXQnO1xyXG5pbXBvcnQgeyBUcnVWYWxpZGF0aW9uRGlhbG9nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVWYWxpZGF0aW9uRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2ctY29uZmlnJztcclxuaW1wb3J0IHsgVHJ1RGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cnUtZGF0YS1jb250ZXh0JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RydUJyZWV6ZVZhbGlkYXRvcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVCcmVlemVWYWxpZGF0b3IgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCd0cnVCcmVlemVWYWxpZGF0b3InKSBlbnRpdHkhOiBUcnVFbnRpdHlCYXNlO1xyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IFRydUVkaXRDb250cm9sQ29uZmlnQmFzZTxhbnk+O1xyXG4gIEBJbnB1dCgpIHJlc3VsdFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRhQ29udGV4dDogVHJ1RGF0YUNvbnRleHQsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgfVxyXG5cclxuICBjb25maWdNb2RlbDogYW55ID0ge307XHJcbiAgbWVyZ2VEYXRhOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgZGlhbG9nUmVmOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgc3ViczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xyXG5cclxuICBwcml2YXRlIGdldE1lcmdlRGF0YSA9ICgpOiBUcnVNZXJnZURhdGFTZXQgfCB1bmRlZmluZWQgPT4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnByb3BlcnR5UGF0aD8uaW5jbHVkZXMoJy8nKSkge1xyXG4gICAgICBsZXQgcHJvcGVydHlOYW1lUGFydHMgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0eVBhdGguc3BsaXQoJy8nKTtcclxuICAgICAgcHJvcGVydHlOYW1lUGFydHMucG9wKCk7XHJcbiAgICAgIGxldCB0YXJnZXRQcm9wZXJ0eTogYW55O1xyXG4gICAgICBwcm9wZXJ0eU5hbWVQYXJ0cy5mb3JFYWNoKChuYW1lKSA9PiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXRQcm9wZXJ0eSkge1xyXG4gICAgICAgICAgbGV0IHRhcmdldFByb3BlcnR5TmFtZSA9ICdvJyArIG5hbWUgYXMga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICAgICAgdGFyZ2V0UHJvcGVydHkgPSB0aGlzLmVudGl0eVt0YXJnZXRQcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgdGFyZ2V0UHJvcGVydHlOYW1lID0gJ28nICsgbmFtZSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5lbnRpdHk7XHJcbiAgICAgICAgICB0YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFByb3BlcnR5W3RhcmdldFByb3BlcnR5TmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRhcmdldFByb3BlcnR5ICYmIHRhcmdldFByb3BlcnR5Lk1lcmdlX0RhdGEpIHtcclxuICAgICAgICByZXR1cm4gdGFyZ2V0UHJvcGVydHkuTWVyZ2VfRGF0YV9TZXQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmVudGl0eS5NZXJnZV9EYXRhX1NldDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VFcnJvck1lc3NhZ2VzID0gKHZhbGlkYXRpb25FcnJvcnM6IEFycmF5PFZhbGlkYXRpb25FcnJvcj4pOiBzdHJpbmcgPT4ge1xyXG4gICAgbGV0IGVycm9yTXNnOiBzdHJpbmcgPSAnJztcclxuICAgIHZhbGlkYXRpb25FcnJvcnMuZm9yRWFjaCgoZXJyb3IpID0+IHtcclxuICAgICAgZXJyb3JNc2cgKz0gZXJyb3IuZXJyb3JNZXNzYWdlICsgJzsgJztcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGVycm9yTXNnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRWYWxpZGF0aW9uRGlhbG9nID0gKGNvbmZpZzogVHJ1VmFsaWRhdGlvbkRpYWxvZ0NvbmZpZykgPT4ge1xyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRydVZhbGlkYXRpb25EaWFsb2cpO1xyXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxUcnVWYWxpZGF0aW9uRGlhbG9nPihjb21wb25lbnRGYWN0b3J5LCAwLCB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpO1xyXG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmNvbmZpZyA9IGNvbmZpZztcclxuICAgIHRoaXMuZGlhbG9nUmVmID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVWYWxpZGF0aW9uRGlhbG9nID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZGlhbG9nUmVmKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsRXJyc0NoYW5nZWQgPSAodmFsaWRhdGlvbk9iamVjdDogYW55KSA9PiB7XHJcbiAgICBpZiAoIXRoaXMucmVzdWx0VmlldyAmJiB2YWxpZGF0aW9uT2JqZWN0LmVudGl0eSA9PT0gdGhpcy5lbnRpdHkpIHtcclxuICAgICAgbGV0IHZhbGlkYXRpb25PYmplY3RFbnRpdHkgPSB2YWxpZGF0aW9uT2JqZWN0LmVudGl0eVxyXG4gICAgICBsZXQgdmFsaWRhdGlvblRhYmxlTmFtZSA9IHZhbGlkYXRpb25PYmplY3RFbnRpdHkuY29uc3RydWN0b3IubmFtZTtcclxuXHJcbiAgICAgIHR5cGUgRW50aXR5T2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICBjb25zdCBlbnRpdHlQa2V5TmFtZSA9IHZhbGlkYXRpb25UYWJsZU5hbWUgKyAnUmVmJyBhcyBFbnRpdHlPYmplY3RLZXk7XHJcblxyXG4gICAgICB0eXBlIFZhbGlkYXRpb25PYmplY3RFbnRpdHlPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgdmFsaWRhdGlvbk9iamVjdEVudGl0eTtcclxuICAgICAgY29uc3QgdmFsaWRhdGlvbk9iamVjdEVudGl0eXBrZXlOYW1lID0gdmFsaWRhdGlvblRhYmxlTmFtZSArICdSZWYnIGFzIFZhbGlkYXRpb25PYmplY3RFbnRpdHlPYmplY3RLZXk7XHJcblxyXG4gICAgICBpZiAodGhpcy5jb25maWcucm9vdFRhYmxlID09PSB2YWxpZGF0aW9uVGFibGVOYW1lICYmIHRoaXMuZW50aXR5W2VudGl0eVBrZXlOYW1lXSA9PT0gdmFsaWRhdGlvbk9iamVjdEVudGl0eVt2YWxpZGF0aW9uT2JqZWN0RW50aXR5cGtleU5hbWVdKSB7XHJcbiAgICAgICAgdGhpcy5tZXJnZURhdGEgPSB0aGlzLmdldE1lcmdlRGF0YSgpO1xyXG4gICAgICAgIGxldCBhZGRlZFByb3BlcnR5VmFsZGF0aW9ucyA9IHZhbGlkYXRpb25PYmplY3QuYWRkZWQuZmlsdGVyKCh2OiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiB2LnByb3BlcnR5TmFtZSA9PT0gdGhpcy5jb25maWcucHJvcGVydHlOYW1lXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGxldCByZW1vdmVkUHJvcGVydHlWYWxkYXRpb25zID0gdmFsaWRhdGlvbk9iamVjdC5yZW1vdmVkLmZpbHRlcigodjogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdi5wcm9wZXJ0eU5hbWUgPT09IHRoaXMuY29uZmlnLnByb3BlcnR5TmFtZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoYWRkZWRQcm9wZXJ0eVZhbGRhdGlvbnMubGVuZ3RoIHx8IHRoaXMubWVyZ2VEYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmFkZFZhbGlkYXRpb25EaWFsb2cobmV3IFRydVZhbGlkYXRpb25EaWFsb2dDb25maWcoXHJcbiAgICAgICAgICAgIHRoaXMuZW50aXR5LFxyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5wcm9wZXJ0eU5hbWUgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgICB0aGlzLnBhcnNlRXJyb3JNZXNzYWdlcyhhZGRlZFByb3BlcnR5VmFsZGF0aW9ucyksXHJcbiAgICAgICAgICAgIHRoaXMubWVyZ2VEYXRhXHJcbiAgICAgICAgICApKTtcclxuICAgICAgICB9IGVsc2UgaWYgKCFhZGRlZFByb3BlcnR5VmFsZGF0aW9ucy5sZW5ndGggJiYgcmVtb3ZlZFByb3BlcnR5VmFsZGF0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbkRpYWxvZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7IH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLnB1c2godGhpcy5kYXRhQ29udGV4dC52YWxpZGF0aW9uQ2hhbmdlRGV0ZWN0aW9uLnN1YnNjcmliZShlbnRpdGllcyA9PiB7XHJcbiAgICAgIHRoaXMudmFsRXJyc0NoYW5nZWQoZW50aXRpZXMpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5lbnRpdHkuZW50aXR5QXNwZWN0LnZhbGlkYXRlRW50aXR5KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcbn1cclxuIl19
@@ -6457,6 +6457,7 @@ class TruBreezeValidator {
6457
6457
  componentFactoryResolver;
6458
6458
  entity;
6459
6459
  config;
6460
+ resultView = false;
6460
6461
  constructor(el, dataContext, viewContainerRef, componentFactoryResolver) {
6461
6462
  this.el = el;
6462
6463
  this.dataContext = dataContext;
@@ -6511,23 +6512,25 @@ class TruBreezeValidator {
6511
6512
  }
6512
6513
  };
6513
6514
  valErrsChanged = (validationObject) => {
6514
- let validationObjectEntity = validationObject.entity;
6515
- let validationTableName = validationObjectEntity.constructor.name;
6516
- const entityPkeyName = validationTableName + 'Ref';
6517
- const validationObjectEntitypkeyName = validationTableName + 'Ref';
6518
- if (this.config.rootTable === validationTableName && this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName]) {
6519
- this.mergeData = this.getMergeData();
6520
- let addedPropertyValdations = validationObject.added.filter((v) => {
6521
- return v.propertyName === this.config.propertyName;
6522
- });
6523
- let removedPropertyValdations = validationObject.removed.filter((v) => {
6524
- return v.propertyName === this.config.propertyName;
6525
- });
6526
- if (addedPropertyValdations.length || this.mergeData) {
6527
- this.addValidationDialog(new TruValidationDialogConfig(this.entity, this.config.propertyName, this.parseErrorMessages(addedPropertyValdations), this.mergeData));
6528
- }
6529
- else if (!addedPropertyValdations.length && removedPropertyValdations.length) {
6530
- this.removeValidationDialog();
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
+ }
6531
6534
  }
6532
6535
  }
6533
6536
  };
@@ -6536,18 +6539,15 @@ class TruBreezeValidator {
6536
6539
  this.subs.push(this.dataContext.validationChangeDetection.subscribe(entities => {
6537
6540
  this.valErrsChanged(entities);
6538
6541
  }));
6539
- this.entity.entityAspect.validateEntity();
6540
6542
  }
6541
6543
  ngOnChanges(changes) {
6542
- if (!changes.entity.firstChange) {
6543
- this.entity.entityAspect.validateEntity();
6544
- }
6544
+ this.entity.entityAspect.validateEntity();
6545
6545
  }
6546
6546
  ngOnDestroy() {
6547
6547
  this.subs.forEach(s => s.unsubscribe());
6548
6548
  }
6549
6549
  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" }, usesOnChanges: true, ngImport: i0 });
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 });
6551
6551
  }
6552
6552
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeValidator, decorators: [{
6553
6553
  type: Directive,
@@ -6559,6 +6559,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
6559
6559
  args: ['truBreezeValidator']
6560
6560
  }], config: [{
6561
6561
  type: Input
6562
+ }], resultView: [{
6563
+ type: Input
6562
6564
  }] } });
6563
6565
 
6564
6566
  class TruBreezeValidatorModule {