@trudb/tru-common-lib 0.0.327 → 0.0.328

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,14 +1,15 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../base-classes/tru-edit-control-base";
4
4
  export class TruValidationDialog {
5
5
  constructor(host) {
6
6
  this.host = host;
7
- this.acceptAll = () => {
7
+ this.onAcceptAll = () => {
8
8
  let entity = this.host.entity;
9
9
  let originalValues = entity.entityAspect.originalValues;
10
10
  Object.keys(this.mergeData).forEach((key) => {
11
- entity[key] = this.mergeData[key].value;
11
+ let propertyNameKey = key;
12
+ entity[key] = this.mergeData[propertyNameKey].value;
12
13
  if (originalValues.hasOwnProperty(key))
13
14
  delete originalValues[key];
14
15
  });
@@ -20,13 +21,14 @@ export class TruValidationDialog {
20
21
  entity.entityAspect.validateProperty(key);
21
22
  });
22
23
  };
23
- this.accept = () => {
24
+ this.onAccept = () => {
24
25
  let entity = this.host.entity;
25
26
  let originalValues = entity.entityAspect.originalValues;
26
27
  let propertyName = this.host.config.propertyName;
27
28
  this.mergeData = JSON.parse(entity.Merge_Data);
28
- entity[propertyName] = this.mergeData[propertyName].value;
29
- delete this.mergeData[propertyName];
29
+ let propertyNameKey = propertyName;
30
+ entity[propertyName] = this.mergeData[propertyNameKey].value;
31
+ delete this.mergeData[propertyNameKey];
30
32
  if (originalValues.hasOwnProperty(propertyName) && (Object.keys(originalValues).length === 0 && originalValues.constructor === Object))
31
33
  delete originalValues[propertyName];
32
34
  if (!Object.keys(this.mergeData).length)
@@ -34,11 +36,12 @@ export class TruValidationDialog {
34
36
  entity.Merge_Data = JSON.stringify(this.mergeData);
35
37
  entity.entityAspect.validateProperty(propertyName);
36
38
  };
37
- this.decline = () => {
39
+ this.onDecline = () => {
38
40
  let entity = this.host.entity;
39
41
  let propertyName = this.host.config.propertyName;
40
42
  this.mergeData = JSON.parse(entity.Merge_Data);
41
- delete this.mergeData[propertyName];
43
+ let propertyNameKey = propertyName;
44
+ delete this.mergeData[propertyNameKey];
42
45
  entity.Merge_Data = JSON.stringify(this.mergeData);
43
46
  entity.entityAspect.validateProperty(propertyName);
44
47
  };
@@ -47,9 +50,13 @@ export class TruValidationDialog {
47
50
  }
48
51
  }
49
52
  TruValidationDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruValidationDialog, deps: [{ token: i1.TruEditControlBase }], target: i0.ɵɵFactoryTarget.Component });
50
- TruValidationDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruValidationDialog, selector: "tru-validation-dialog", ngImport: i0, template: "\r\n", styles: [""] });
53
+ TruValidationDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruValidationDialog, selector: "tru-validation-dialog", inputs: { entity: "entity", mergeData: "mergeData" }, ngImport: i0, template: "<span class=\"invalid\">\r\n <i class=\"icon-warning-sign icon-white\"></i>%error%\r\n <div>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAcceptAll()\" ng-show=\"multipleChanges\">Accept All</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAccept()\">Accept</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onDecline()\">Decline</button>\r\n </div>\r\n</span>\r\n<span class=\"invalid-flag\"></span>\r\n", styles: [".invalid{position:absolute;left:0;top:20px;display:none;-moz-min-width:200px;-ms-min-width:200px;-o-min-width:200px;-webkit-min-width:200px;min-width:200px;min-height:20px;max-width:500px;max-height:500px}.invalid-flag{box-sizing:border-box;position:absolute;left:0;top:0;width:8px;height:8px;border-bottom:solid 4px transparent;border-right:solid 4px transparent;border-left:solid 4px red;border-top:solid 4px red}.invalid-triangle:after{box-sizing:border-box}\n"] });
51
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruValidationDialog, decorators: [{
52
55
  type: Component,
53
- args: [{ selector: 'tru-validation-dialog', template: "\r\n" }]
54
- }], ctorParameters: function () { return [{ type: i1.TruEditControlBase }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXZhbGlkYXRpb24tZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFRbEQsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixJQUF3QjtRQUF4QixTQUFJLEdBQUosSUFBSSxDQUFvQjtRQUk1QyxjQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ2YsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFhLENBQUM7WUFDckMsSUFBSSxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7WUFFeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDeEMsSUFBSSxjQUFjLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztvQkFDcEMsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxjQUFjLENBQUMsV0FBVyxLQUFLLE1BQU07Z0JBQ25GLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFckMsSUFBSSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXRFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV2QyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHO2dCQUN4QyxNQUFNLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBO1FBRUQsV0FBTSxHQUFHLEdBQUcsRUFBRTtZQUNaLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBYSxDQUFDO1lBQ3JDLElBQUksY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO1lBQ3hELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQXNCLENBQUE7WUFFMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXBDLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxjQUFjLENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQztnQkFDcEksT0FBTyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU07Z0JBQ3JDLE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFckMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQTtRQUVELFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDYixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQWEsQ0FBQztZQUNyQyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFzQixDQUFBO1lBRTFELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkQsTUFBTSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUE7SUFuREQsQ0FBQztJQXFERCxRQUFRO0lBQ1IsQ0FBQzs7Z0hBNURVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDZEQ1JoQyxNQUNBOzJGRE9hLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcnVFZGl0Q29udHJvbEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndHJ1LXZhbGlkYXRpb24tZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LXZhbGlkYXRpb24tZGlhbG9nLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS12YWxpZGF0aW9uLWRpYWxvZy5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1VmFsaWRhdGlvbkRpYWxvZyBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIG1lcmdlRGF0YTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3Q6IFRydUVkaXRDb250cm9sQmFzZSkge1xyXG5cclxuICB9XHJcblxyXG4gIGFjY2VwdEFsbCA9ICgpID0+IHtcclxuICAgIGxldCBlbnRpdHkgPSB0aGlzLmhvc3QuZW50aXR5IGFzIGFueTtcclxuICAgIGxldCBvcmlnaW5hbFZhbHVlcyA9IGVudGl0eS5lbnRpdHlBc3BlY3Qub3JpZ2luYWxWYWx1ZXM7XHJcblxyXG4gICAgT2JqZWN0LmtleXModGhpcy5tZXJnZURhdGEpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBlbnRpdHlba2V5XSA9IHRoaXMubWVyZ2VEYXRhW2tleV0udmFsdWU7XHJcbiAgICAgIGlmIChvcmlnaW5hbFZhbHVlcy5oYXNPd25Qcm9wZXJ0eShrZXkpKVxyXG4gICAgICAgIGRlbGV0ZSBvcmlnaW5hbFZhbHVlc1trZXldO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKE9iamVjdC5rZXlzKG9yaWdpbmFsVmFsdWVzKS5sZW5ndGggPT09IDAgJiYgb3JpZ2luYWxWYWx1ZXMuY29uc3RydWN0b3IgPT09IE9iamVjdClcclxuICAgICAgZW50aXR5LmVudGl0eUFzcGVjdC5zZXRVbmNoYW5nZWQoKTtcclxuXHJcbiAgICBsZXQgcHJvcGVydGllc1RvVmFsaWRhdGUgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzLm1lcmdlRGF0YSk7XHJcblxyXG4gICAgZW50aXR5Lk1lcmdlX0RhdGEgPSBKU09OLnN0cmluZ2lmeSh7fSk7XHJcblxyXG4gICAgcHJvcGVydGllc1RvVmFsaWRhdGUuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgIGVudGl0eS5lbnRpdHlBc3BlY3QudmFsaWRhdGVQcm9wZXJ0eShrZXkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhY2NlcHQgPSAoKSA9PiB7XHJcbiAgICBsZXQgZW50aXR5ID0gdGhpcy5ob3N0LmVudGl0eSBhcyBhbnk7XHJcbiAgICBsZXQgb3JpZ2luYWxWYWx1ZXMgPSBlbnRpdHkuZW50aXR5QXNwZWN0Lm9yaWdpbmFsVmFsdWVzO1xyXG4gICAgbGV0IHByb3BlcnR5TmFtZSA9IHRoaXMuaG9zdC5jb25maWcucHJvcGVydHlOYW1lIGFzIHN0cmluZ1xyXG5cclxuICAgIHRoaXMubWVyZ2VEYXRhID0gSlNPTi5wYXJzZShlbnRpdHkuTWVyZ2VfRGF0YSk7XHJcbiAgICBlbnRpdHlbcHJvcGVydHlOYW1lXSA9IHRoaXMubWVyZ2VEYXRhW3Byb3BlcnR5TmFtZV0udmFsdWU7XHJcbiAgICBkZWxldGUgdGhpcy5tZXJnZURhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICBpZiAob3JpZ2luYWxWYWx1ZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSAmJiAoT2JqZWN0LmtleXMob3JpZ2luYWxWYWx1ZXMpLmxlbmd0aCA9PT0gMCAmJiBvcmlnaW5hbFZhbHVlcy5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSlcclxuICAgICAgZGVsZXRlIG9yaWdpbmFsVmFsdWVzW3Byb3BlcnR5TmFtZV07XHJcblxyXG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLm1lcmdlRGF0YSkubGVuZ3RoKVxyXG4gICAgICBlbnRpdHkuZW50aXR5QXNwZWN0LnNldFVuY2hhbmdlZCgpO1xyXG5cclxuICAgIGVudGl0eS5NZXJnZV9EYXRhID0gSlNPTi5zdHJpbmdpZnkodGhpcy5tZXJnZURhdGEpO1xyXG4gICAgZW50aXR5LmVudGl0eUFzcGVjdC52YWxpZGF0ZVByb3BlcnR5KHByb3BlcnR5TmFtZSk7XHJcbiAgfVxyXG5cclxuICBkZWNsaW5lID0gKCkgPT4ge1xyXG4gICAgbGV0IGVudGl0eSA9IHRoaXMuaG9zdC5lbnRpdHkgYXMgYW55O1xyXG4gICAgbGV0IHByb3BlcnR5TmFtZSA9IHRoaXMuaG9zdC5jb25maWcucHJvcGVydHlOYW1lIGFzIHN0cmluZ1xyXG5cclxuICAgIHRoaXMubWVyZ2VEYXRhID0gSlNPTi5wYXJzZShlbnRpdHkuTWVyZ2VfRGF0YSk7XHJcbiAgICBkZWxldGUgdGhpcy5tZXJnZURhdGFbcHJvcGVydHlOYW1lXTtcclxuICAgIGVudGl0eS5NZXJnZV9EYXRhID0gSlNPTi5zdHJpbmdpZnkodGhpcy5tZXJnZURhdGEpO1xyXG4gICAgZW50aXR5LmVudGl0eUFzcGVjdC52YWxpZGF0ZVByb3BlcnR5KHByb3BlcnR5TmFtZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcbn1cclxuXHJcbiIsIlxyXG4iXX0=
56
+ args: [{ selector: 'tru-validation-dialog', template: "<span class=\"invalid\">\r\n <i class=\"icon-warning-sign icon-white\"></i>%error%\r\n <div>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAcceptAll()\" ng-show=\"multipleChanges\">Accept All</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAccept()\">Accept</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onDecline()\">Decline</button>\r\n </div>\r\n</span>\r\n<span class=\"invalid-flag\"></span>\r\n", styles: [".invalid{position:absolute;left:0;top:20px;display:none;-moz-min-width:200px;-ms-min-width:200px;-o-min-width:200px;-webkit-min-width:200px;min-width:200px;min-height:20px;max-width:500px;max-height:500px}.invalid-flag{box-sizing:border-box;position:absolute;left:0;top:0;width:8px;height:8px;border-bottom:solid 4px transparent;border-right:solid 4px transparent;border-left:solid 4px red;border-top:solid 4px red}.invalid-triangle:after{box-sizing:border-box}\n"] }]
57
+ }], ctorParameters: function () { return [{ type: i1.TruEditControlBase }]; }, propDecorators: { entity: [{
58
+ type: Input
59
+ }], mergeData: [{
60
+ type: Input
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXZhbGlkYXRpb24tZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBU3pELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBb0IsSUFBd0I7UUFBeEIsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFJNUMsZ0JBQVcsR0FBRyxHQUFHLEVBQUU7WUFDakIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFhLENBQUM7WUFDckMsSUFBSSxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7WUFFeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFDLElBQUksZUFBZSxHQUFHLEdBQWtDLENBQUM7Z0JBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDcEQsSUFBSSxjQUFjLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztvQkFDcEMsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFB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LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRydUVkaXRDb250cm9sQmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UtY2xhc3Nlcy90cnUtZWRpdC1jb250cm9sLWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVFbnRpdHlCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS1jbGFzc2VzL3RydS1lbnRpdHktYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS12YWxpZGF0aW9uLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RydS12YWxpZGF0aW9uLWRpYWxvZy5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cnUtdmFsaWRhdGlvbi1kaWFsb2cuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVZhbGlkYXRpb25EaWFsb2cgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGVudGl0eSE6IGFueTtcclxuICBASW5wdXQoKSBtZXJnZURhdGEhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogVHJ1RWRpdENvbnRyb2xCYXNlKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgb25BY2NlcHRBbGwgPSAoKSA9PiB7XHJcbiAgICBsZXQgZW50aXR5ID0gdGhpcy5ob3N0LmVudGl0eSBhcyBhbnk7XHJcbiAgICBsZXQgb3JpZ2luYWxWYWx1ZXMgPSBlbnRpdHkuZW50aXR5QXNwZWN0Lm9yaWdpbmFsVmFsdWVzO1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHRoaXMubWVyZ2VEYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgbGV0IHByb3BlcnR5TmFtZUtleSA9IGtleSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5tZXJnZURhdGE7XHJcbiAgICAgIGVudGl0eVtrZXldID0gdGhpcy5tZXJnZURhdGFbcHJvcGVydHlOYW1lS2V5XS52YWx1ZTtcclxuICAgICAgaWYgKG9yaWdpbmFsVmFsdWVzLmhhc093blByb3BlcnR5KGtleSkpXHJcbiAgICAgICAgZGVsZXRlIG9yaWdpbmFsVmFsdWVzW2tleV07XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoT2JqZWN0LmtleXMob3JpZ2luYWxWYWx1ZXMpLmxlbmd0aCA9PT0gMCAmJiBvcmlnaW5hbFZhbHVlcy5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KVxyXG4gICAgICBlbnRpdHkuZW50aXR5QXNwZWN0LnNldFVuY2hhbmdlZCgpO1xyXG5cclxuICAgIGxldCBwcm9wZXJ0aWVzVG9WYWxpZGF0ZSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMubWVyZ2VEYXRhKTtcclxuXHJcbiAgICBlbnRpdHkuTWVyZ2VfRGF0YSA9IEpTT04uc3RyaW5naWZ5KHt9KTtcclxuXHJcbiAgICBwcm9wZXJ0aWVzVG9WYWxpZGF0ZS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgZW50aXR5LmVudGl0eUFzcGVjdC52YWxpZGF0ZVByb3BlcnR5KGtleSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQWNjZXB0ID0gKCkgPT4ge1xyXG4gICAgbGV0IGVudGl0eSA9IHRoaXMuaG9zdC5lbnRpdHkgYXMgYW55O1xyXG4gICAgbGV0IG9yaWdpbmFsVmFsdWVzID0gZW50aXR5LmVudGl0eUFzcGVjdC5vcmlnaW5hbFZhbHVlcztcclxuICAgIGxldCBwcm9wZXJ0eU5hbWUgPSB0aGlzLmhvc3QuY29uZmlnLnByb3BlcnR5TmFtZSBhcyBzdHJpbmdcclxuXHJcbiAgICB0aGlzLm1lcmdlRGF0YSA9IEpTT04ucGFyc2UoZW50aXR5Lk1lcmdlX0RhdGEpO1xyXG4gICAgbGV0IHByb3BlcnR5TmFtZUtleSA9IHByb3BlcnR5TmFtZSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5tZXJnZURhdGE7XHJcbiAgICBlbnRpdHlbcHJvcGVydHlOYW1lXSA9IHRoaXMubWVyZ2VEYXRhW3Byb3BlcnR5TmFtZUtleV0udmFsdWU7XHJcbiAgICBkZWxldGUgdGhpcy5tZXJnZURhdGFbcHJvcGVydHlOYW1lS2V5XTtcclxuXHJcbiAgICBpZiAob3JpZ2luYWxWYWx1ZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSAmJiAoT2JqZWN0LmtleXMob3JpZ2luYWxWYWx1ZXMpLmxlbmd0aCA9PT0gMCAmJiBvcmlnaW5hbFZhbHVlcy5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSlcclxuICAgICAgZGVsZXRlIG9yaWdpbmFsVmFsdWVzW3Byb3BlcnR5TmFtZV07XHJcblxyXG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLm1lcmdlRGF0YSkubGVuZ3RoKVxyXG4gICAgICBlbnRpdHkuZW50aXR5QXNwZWN0LnNldFVuY2hhbmdlZCgpO1xyXG5cclxuICAgIGVudGl0eS5NZXJnZV9EYXRhID0gSlNPTi5zdHJpbmdpZnkodGhpcy5tZXJnZURhdGEpO1xyXG4gICAgZW50aXR5LmVudGl0eUFzcGVjdC52YWxpZGF0ZVByb3BlcnR5KHByb3BlcnR5TmFtZSk7XHJcbiAgfVxyXG5cclxuICBvbkRlY2xpbmUgPSAoKSA9PiB7XHJcbiAgICBsZXQgZW50aXR5ID0gdGhpcy5ob3N0LmVudGl0eSBhcyBhbnk7XHJcbiAgICBsZXQgcHJvcGVydHlOYW1lID0gdGhpcy5ob3N0LmNvbmZpZy5wcm9wZXJ0eU5hbWUgYXMgc3RyaW5nXHJcblxyXG4gICAgdGhpcy5tZXJnZURhdGEgPSBKU09OLnBhcnNlKGVudGl0eS5NZXJnZV9EYXRhKTtcclxuICAgIGxldCBwcm9wZXJ0eU5hbWVLZXkgPSBwcm9wZXJ0eU5hbWUgYXMga2V5b2YgdHlwZW9mIHRoaXMubWVyZ2VEYXRhO1xyXG4gICAgZGVsZXRlIHRoaXMubWVyZ2VEYXRhW3Byb3BlcnR5TmFtZUtleV07XHJcbiAgICBlbnRpdHkuTWVyZ2VfRGF0YSA9IEpTT04uc3RyaW5naWZ5KHRoaXMubWVyZ2VEYXRhKTtcclxuICAgIGVudGl0eS5lbnRpdHlBc3BlY3QudmFsaWRhdGVQcm9wZXJ0eShwcm9wZXJ0eU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8c3BhbiBjbGFzcz1cImludmFsaWRcIj5cclxuICA8aSBjbGFzcz1cImljb24td2FybmluZy1zaWduIGljb24td2hpdGVcIj48L2k+JWVycm9yJVxyXG4gIDxkaXY+XHJcbiAgICA8YnV0dG9uIHN0eWxlPVwibWFyZ2luOiA1cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO1wiIGNsYXNzPVwibWQtcHJpbWFyeSBtZC1idXR0b24gbmctc2NvcGUgbWQtaW5rLXJpcHBsZVwiIChjbGljayk9XCJvbkFjY2VwdEFsbCgpXCIgbmctc2hvdz1cIm11bHRpcGxlQ2hhbmdlc1wiPkFjY2VwdCBBbGw8L2J1dHRvbj5cclxuICAgIDxidXR0b24gc3R5bGU9XCJtYXJnaW46IDVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XCIgY2xhc3M9XCJtZC1wcmltYXJ5IG1kLWJ1dHRvbiBuZy1zY29wZSBtZC1pbmstcmlwcGxlXCIgKGNsaWNrKT1cIm9uQWNjZXB0KClcIj5BY2NlcHQ8L2J1dHRvbj5cclxuICAgIDxidXR0b24gc3R5bGU9XCJtYXJnaW46IDVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XCIgY2xhc3M9XCJtZC1wcmltYXJ5IG1kLWJ1dHRvbiBuZy1zY29wZSBtZC1pbmstcmlwcGxlXCIgKGNsaWNrKT1cIm9uRGVjbGluZSgpXCI+RGVjbGluZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L3NwYW4+XHJcbjxzcGFuIGNsYXNzPVwiaW52YWxpZC1mbGFnXCI+PC9zcGFuPlxyXG4iXX0=
@@ -1,14 +1,49 @@
1
- import { Directive } from '@angular/core';
1
+ import { Directive, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/tru-data-context";
4
4
  export class TruBreezeValidator {
5
- constructor(el, dataContext) {
5
+ constructor(el, dataContext, viewContainerRef, componentFactoryResolver) {
6
6
  this.el = el;
7
7
  this.dataContext = dataContext;
8
+ this.viewContainerRef = viewContainerRef;
9
+ this.componentFactoryResolver = componentFactoryResolver;
8
10
  this.configModel = {};
9
11
  this.subs = [];
10
- this.valErrsChanged = (newValue) => {
11
- console.log(newValue);
12
+ this.valErrsChanged = (entityToValidate) => {
13
+ if (this.entity === entityToValidate) {
14
+ this.el.nativeElement.setCustomValidity('');
15
+ let previousErrEl = this.el.nativeElement.nextSibling('.invalid');
16
+ let previousFlagEl = this.el.nativeElement.nextSibling('.invalid').nextSibling('.invalid-flag');
17
+ if (previousErrEl)
18
+ previousErrEl.remove();
19
+ if (previousFlagEl)
20
+ previousFlagEl.remove();
21
+ let msgEl, flagEl;
22
+ this.el.nativeElement.removeClass('override-disabled-invalid');
23
+ if (this.propertyPath?.includes('/')) {
24
+ let propertyNameParts = this.propertyPath.split('/');
25
+ let targetProperty;
26
+ propertyNameParts.forEach((name) => {
27
+ if (!targetProperty) {
28
+ let targetPropertyName = 'o' + name;
29
+ targetProperty = this.entity[targetPropertyName];
30
+ }
31
+ else {
32
+ let targetPropertyName = 'o' + name;
33
+ targetProperty = targetProperty[targetPropertyName];
34
+ }
35
+ });
36
+ if (targetProperty && targetProperty.Merge_Data) {
37
+ this.mergeData = JSON.parse(targetProperty.Merge_Data);
38
+ }
39
+ }
40
+ else {
41
+ this.mergeData = JSON.parse(this.entity.Merge_Data);
42
+ }
43
+ //const componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruValidationDialog);
44
+ //const containerRef = this.viewContainerRef.createComponent<any>(componentFactory, 0, this.viewContainerRef.injector);
45
+ //this.el.instance.view = this.view;
46
+ }
12
47
  };
13
48
  }
14
49
  ngOnInit() {
@@ -21,12 +56,16 @@ export class TruBreezeValidator {
21
56
  this.subs.forEach(s => s.unsubscribe());
22
57
  }
23
58
  }
24
- TruBreezeValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruBreezeValidator, deps: [{ token: i0.ElementRef }, { token: i1.TruDataContext }], target: i0.ɵɵFactoryTarget.Directive });
25
- TruBreezeValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: TruBreezeValidator, selector: "[tru-breeze-validator]", ngImport: i0 });
59
+ TruBreezeValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruBreezeValidator, deps: [{ token: i0.ElementRef }, { token: i1.TruDataContext }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
60
+ TruBreezeValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: TruBreezeValidator, selector: "[tru-breeze-validator]", inputs: { entity: "entity", propertyPath: "propertyPath" }, ngImport: i0 });
26
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruBreezeValidator, decorators: [{
27
62
  type: Directive,
28
63
  args: [{
29
64
  selector: '[tru-breeze-validator]'
30
65
  }]
31
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TruDataContext }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQyxNQUFNLGVBQWUsQ0FBQzs7O0FBUXpFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxFQUFjLEVBQ2QsV0FBMkI7UUFEM0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUdyQyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUdkLFNBQUksR0FBd0IsRUFBRSxDQUFDO1FBRXZDLG1CQUFjLEdBQUcsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQTtJQVRELENBQUM7SUFXRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7K0dBeEJVLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcnVFZGl0Q29udHJvbEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1iYXNlJztcclxuaW1wb3J0IHsgVHJ1RGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cnUtZGF0YS1jb250ZXh0JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RydS1icmVlemUtdmFsaWRhdG9yXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUJyZWV6ZVZhbGlkYXRvciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGRhdGFDb250ZXh0OiBUcnVEYXRhQ29udGV4dCkge1xyXG4gIH1cclxuXHJcbiAgY29uZmlnTW9kZWw6IGFueSA9IHt9O1xyXG4gIG1lcmdlRGF0YTogYW55O1xyXG5cclxuICBwcml2YXRlIHN1YnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuXHJcbiAgdmFsRXJyc0NoYW5nZWQgPSAobmV3VmFsdWU6IGFueSkgPT4ge1xyXG4gICAgY29uc29sZS5sb2cobmV3VmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMucHVzaCh0aGlzLmRhdGFDb250ZXh0LmVudGl0eU1hbmFnZXJDaGFuZ2VEZXRlY3Rpb24uc3Vic2NyaWJlKGVudGl0aWVzID0+IHtcclxuICAgICAgY29uc29sZS5sb2coZW50aXRpZXMpO1xyXG4gICAgICB0aGlzLnZhbEVycnNDaGFuZ2VkKGVudGl0aWVzKTtcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
66
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TruDataContext }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { entity: [{
67
+ type: Input
68
+ }], propertyPath: [{
69
+ type: Input
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLFNBQVMsRUFBYyxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDOzs7QUFVNUgsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUNVLEVBQWMsRUFDZCxXQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsd0JBQWtEO1FBSGxELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRzVELGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBR2QsU0FBSSxHQUF3QixFQUFFLENBQUM7UUFFdkMsbUJBQWMsR0FBRyxDQUFDLGdCQUFxQixFQUFFLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixFQUFFO2dCQUNwQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFNUMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUVoRyxJQUFJLGFBQWE7b0JBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxQyxJQUFJLGNBQWM7b0JBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUU1QyxJQUFJLEtBQXdCLEVBQUUsTUFBeUIsQ0FBQztnQkFFeEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLENBQUM7Z0JBRS9ELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3BDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3JELElBQUksY0FBbUIsQ0FBQztvQkFDeEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUU7NEJBQ25CLElBQUksa0JBQWtCLEdBQUcsR0FBRyxHQUFHLElBQWdDLENBQUM7NEJBQ2hFLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7eUJBQ2xEOzZCQUFNOzRCQUNMLElBQUksa0JBQWtCLEdBQUcsR0FBRyxHQUFHLElBQWdDLENBQUM7NEJBQ2hFLGNBQWMsR0FBRyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQzt5QkFDckQ7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRTt3QkFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDeEQ7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3JEO2dCQUVELHNHQUFzRztnQkFDdEcsdUhBQXVIO2dCQUN2SCxvQ0FBb0M7YUFDckM7UUFDSCxDQUFDLENBQUE7SUE1Q0QsQ0FBQztJQThDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7K0dBaEVVLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7b01BRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcnVFZGl0Q29udHJvbEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1iYXNlJztcclxuaW1wb3J0IHsgVHJ1RW50aXR5QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UtY2xhc3Nlcy90cnUtZW50aXR5LWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVWYWxpZGF0aW9uRGlhbG9nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1kYXRhLWNvbnRleHQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdHJ1LWJyZWV6ZS12YWxpZGF0b3JdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1QnJlZXplVmFsaWRhdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGVudGl0eSE6IGFueTtcclxuICBASW5wdXQoKSBwcm9wZXJ0eVBhdGghOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgZGF0YUNvbnRleHQ6IFRydURhdGFDb250ZXh0LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuXHJcbiAgY29uZmlnTW9kZWw6IGFueSA9IHt9O1xyXG4gIG1lcmdlRGF0YTogYW55O1xyXG5cclxuICBwcml2YXRlIHN1YnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuXHJcbiAgdmFsRXJyc0NoYW5nZWQgPSAoZW50aXR5VG9WYWxpZGF0ZTogYW55KSA9PiB7XHJcbiAgICBpZiAodGhpcy5lbnRpdHkgPT09IGVudGl0eVRvVmFsaWRhdGUpIHtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KCcnKTtcclxuXHJcbiAgICAgIGxldCBwcmV2aW91c0VyckVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5leHRTaWJsaW5nKCcuaW52YWxpZCcpO1xyXG4gICAgICBsZXQgcHJldmlvdXNGbGFnRWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmV4dFNpYmxpbmcoJy5pbnZhbGlkJykubmV4dFNpYmxpbmcoJy5pbnZhbGlkLWZsYWcnKTtcclxuXHJcbiAgICAgIGlmIChwcmV2aW91c0VyckVsKSBwcmV2aW91c0VyckVsLnJlbW92ZSgpO1xyXG4gICAgICBpZiAocHJldmlvdXNGbGFnRWwpIHByZXZpb3VzRmxhZ0VsLnJlbW92ZSgpO1xyXG5cclxuICAgICAgbGV0IG1zZ0VsOiBIVE1MT2JqZWN0RWxlbWVudCwgZmxhZ0VsOiBIVE1MT2JqZWN0RWxlbWVudDtcclxuXHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDbGFzcygnb3ZlcnJpZGUtZGlzYWJsZWQtaW52YWxpZCcpO1xyXG5cclxuICAgICAgaWYgKHRoaXMucHJvcGVydHlQYXRoPy5pbmNsdWRlcygnLycpKSB7XHJcbiAgICAgICAgbGV0IHByb3BlcnR5TmFtZVBhcnRzID0gdGhpcy5wcm9wZXJ0eVBhdGguc3BsaXQoJy8nKTtcclxuICAgICAgICBsZXQgdGFyZ2V0UHJvcGVydHk6IGFueTtcclxuICAgICAgICBwcm9wZXJ0eU5hbWVQYXJ0cy5mb3JFYWNoKChuYW1lKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRhcmdldFByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXRQcm9wZXJ0eU5hbWUgPSAnbycgKyBuYW1lIGFzIGtleW9mIHR5cGVvZiB0aGlzLmVudGl0eTtcclxuICAgICAgICAgICAgdGFyZ2V0UHJvcGVydHkgPSB0aGlzLmVudGl0eVt0YXJnZXRQcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHRhcmdldFByb3BlcnR5TmFtZSA9ICdvJyArIG5hbWUgYXMga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICAgICAgICB0YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFByb3BlcnR5W3RhcmdldFByb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRhcmdldFByb3BlcnR5ICYmIHRhcmdldFByb3BlcnR5Lk1lcmdlX0RhdGEpIHtcclxuICAgICAgICAgIHRoaXMubWVyZ2VEYXRhID0gSlNPTi5wYXJzZSh0YXJnZXRQcm9wZXJ0eS5NZXJnZV9EYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXJnZURhdGEgPSBKU09OLnBhcnNlKHRoaXMuZW50aXR5Lk1lcmdlX0RhdGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL2NvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUcnVWYWxpZGF0aW9uRGlhbG9nKTtcclxuICAgICAgLy9jb25zdCBjb250YWluZXJSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PGFueT4oY29tcG9uZW50RmFjdG9yeSwgMCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yKTtcclxuICAgICAgLy90aGlzLmVsLmluc3RhbmNlLnZpZXcgPSB0aGlzLnZpZXc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vicy5wdXNoKHRoaXMuZGF0YUNvbnRleHQuZW50aXR5TWFuYWdlckNoYW5nZURldGVjdGlvbi5zdWJzY3JpYmUoZW50aXRpZXMgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhlbnRpdGllcyk7XHJcbiAgICAgIHRoaXMudmFsRXJyc0NoYW5nZWQoZW50aXRpZXMpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4848,11 +4848,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
4848
4848
  class TruValidationDialog {
4849
4849
  constructor(host) {
4850
4850
  this.host = host;
4851
- this.acceptAll = () => {
4851
+ this.onAcceptAll = () => {
4852
4852
  let entity = this.host.entity;
4853
4853
  let originalValues = entity.entityAspect.originalValues;
4854
4854
  Object.keys(this.mergeData).forEach((key) => {
4855
- entity[key] = this.mergeData[key].value;
4855
+ let propertyNameKey = key;
4856
+ entity[key] = this.mergeData[propertyNameKey].value;
4856
4857
  if (originalValues.hasOwnProperty(key))
4857
4858
  delete originalValues[key];
4858
4859
  });
@@ -4864,13 +4865,14 @@ class TruValidationDialog {
4864
4865
  entity.entityAspect.validateProperty(key);
4865
4866
  });
4866
4867
  };
4867
- this.accept = () => {
4868
+ this.onAccept = () => {
4868
4869
  let entity = this.host.entity;
4869
4870
  let originalValues = entity.entityAspect.originalValues;
4870
4871
  let propertyName = this.host.config.propertyName;
4871
4872
  this.mergeData = JSON.parse(entity.Merge_Data);
4872
- entity[propertyName] = this.mergeData[propertyName].value;
4873
- delete this.mergeData[propertyName];
4873
+ let propertyNameKey = propertyName;
4874
+ entity[propertyName] = this.mergeData[propertyNameKey].value;
4875
+ delete this.mergeData[propertyNameKey];
4874
4876
  if (originalValues.hasOwnProperty(propertyName) && (Object.keys(originalValues).length === 0 && originalValues.constructor === Object))
4875
4877
  delete originalValues[propertyName];
4876
4878
  if (!Object.keys(this.mergeData).length)
@@ -4878,11 +4880,12 @@ class TruValidationDialog {
4878
4880
  entity.Merge_Data = JSON.stringify(this.mergeData);
4879
4881
  entity.entityAspect.validateProperty(propertyName);
4880
4882
  };
4881
- this.decline = () => {
4883
+ this.onDecline = () => {
4882
4884
  let entity = this.host.entity;
4883
4885
  let propertyName = this.host.config.propertyName;
4884
4886
  this.mergeData = JSON.parse(entity.Merge_Data);
4885
- delete this.mergeData[propertyName];
4887
+ let propertyNameKey = propertyName;
4888
+ delete this.mergeData[propertyNameKey];
4886
4889
  entity.Merge_Data = JSON.stringify(this.mergeData);
4887
4890
  entity.entityAspect.validateProperty(propertyName);
4888
4891
  };
@@ -4891,11 +4894,15 @@ class TruValidationDialog {
4891
4894
  }
4892
4895
  }
4893
4896
  TruValidationDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruValidationDialog, deps: [{ token: TruEditControlBase }], target: i0.ɵɵFactoryTarget.Component });
4894
- TruValidationDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruValidationDialog, selector: "tru-validation-dialog", ngImport: i0, template: "\r\n", styles: [""] });
4897
+ TruValidationDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruValidationDialog, selector: "tru-validation-dialog", inputs: { entity: "entity", mergeData: "mergeData" }, ngImport: i0, template: "<span class=\"invalid\">\r\n <i class=\"icon-warning-sign icon-white\"></i>%error%\r\n <div>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAcceptAll()\" ng-show=\"multipleChanges\">Accept All</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAccept()\">Accept</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onDecline()\">Decline</button>\r\n </div>\r\n</span>\r\n<span class=\"invalid-flag\"></span>\r\n", styles: [".invalid{position:absolute;left:0;top:20px;display:none;-moz-min-width:200px;-ms-min-width:200px;-o-min-width:200px;-webkit-min-width:200px;min-width:200px;min-height:20px;max-width:500px;max-height:500px}.invalid-flag{box-sizing:border-box;position:absolute;left:0;top:0;width:8px;height:8px;border-bottom:solid 4px transparent;border-right:solid 4px transparent;border-left:solid 4px red;border-top:solid 4px red}.invalid-triangle:after{box-sizing:border-box}\n"] });
4895
4898
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruValidationDialog, decorators: [{
4896
4899
  type: Component,
4897
- args: [{ selector: 'tru-validation-dialog', template: "\r\n" }]
4898
- }], ctorParameters: function () { return [{ type: TruEditControlBase }]; } });
4900
+ args: [{ selector: 'tru-validation-dialog', template: "<span class=\"invalid\">\r\n <i class=\"icon-warning-sign icon-white\"></i>%error%\r\n <div>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAcceptAll()\" ng-show=\"multipleChanges\">Accept All</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onAccept()\">Accept</button>\r\n <button style=\"margin: 5px;background-color:#fff;\" class=\"md-primary md-button ng-scope md-ink-ripple\" (click)=\"onDecline()\">Decline</button>\r\n </div>\r\n</span>\r\n<span class=\"invalid-flag\"></span>\r\n", styles: [".invalid{position:absolute;left:0;top:20px;display:none;-moz-min-width:200px;-ms-min-width:200px;-o-min-width:200px;-webkit-min-width:200px;min-width:200px;min-height:20px;max-width:500px;max-height:500px}.invalid-flag{box-sizing:border-box;position:absolute;left:0;top:0;width:8px;height:8px;border-bottom:solid 4px transparent;border-right:solid 4px transparent;border-left:solid 4px red;border-top:solid 4px red}.invalid-triangle:after{box-sizing:border-box}\n"] }]
4901
+ }], ctorParameters: function () { return [{ type: TruEditControlBase }]; }, propDecorators: { entity: [{
4902
+ type: Input
4903
+ }], mergeData: [{
4904
+ type: Input
4905
+ }] } });
4899
4906
 
4900
4907
  class TruValidationDialogModule {
4901
4908
  }
@@ -4912,13 +4919,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
4912
4919
  }] });
4913
4920
 
4914
4921
  class TruBreezeValidator {
4915
- constructor(el, dataContext) {
4922
+ constructor(el, dataContext, viewContainerRef, componentFactoryResolver) {
4916
4923
  this.el = el;
4917
4924
  this.dataContext = dataContext;
4925
+ this.viewContainerRef = viewContainerRef;
4926
+ this.componentFactoryResolver = componentFactoryResolver;
4918
4927
  this.configModel = {};
4919
4928
  this.subs = [];
4920
- this.valErrsChanged = (newValue) => {
4921
- console.log(newValue);
4929
+ this.valErrsChanged = (entityToValidate) => {
4930
+ var _a;
4931
+ if (this.entity === entityToValidate) {
4932
+ this.el.nativeElement.setCustomValidity('');
4933
+ let previousErrEl = this.el.nativeElement.nextSibling('.invalid');
4934
+ let previousFlagEl = this.el.nativeElement.nextSibling('.invalid').nextSibling('.invalid-flag');
4935
+ if (previousErrEl)
4936
+ previousErrEl.remove();
4937
+ if (previousFlagEl)
4938
+ previousFlagEl.remove();
4939
+ let msgEl, flagEl;
4940
+ this.el.nativeElement.removeClass('override-disabled-invalid');
4941
+ if ((_a = this.propertyPath) === null || _a === void 0 ? void 0 : _a.includes('/')) {
4942
+ let propertyNameParts = this.propertyPath.split('/');
4943
+ let targetProperty;
4944
+ propertyNameParts.forEach((name) => {
4945
+ if (!targetProperty) {
4946
+ let targetPropertyName = 'o' + name;
4947
+ targetProperty = this.entity[targetPropertyName];
4948
+ }
4949
+ else {
4950
+ let targetPropertyName = 'o' + name;
4951
+ targetProperty = targetProperty[targetPropertyName];
4952
+ }
4953
+ });
4954
+ if (targetProperty && targetProperty.Merge_Data) {
4955
+ this.mergeData = JSON.parse(targetProperty.Merge_Data);
4956
+ }
4957
+ }
4958
+ else {
4959
+ this.mergeData = JSON.parse(this.entity.Merge_Data);
4960
+ }
4961
+ //const componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruValidationDialog);
4962
+ //const containerRef = this.viewContainerRef.createComponent<any>(componentFactory, 0, this.viewContainerRef.injector);
4963
+ //this.el.instance.view = this.view;
4964
+ }
4922
4965
  };
4923
4966
  }
4924
4967
  ngOnInit() {
@@ -4931,14 +4974,18 @@ class TruBreezeValidator {
4931
4974
  this.subs.forEach(s => s.unsubscribe());
4932
4975
  }
4933
4976
  }
4934
- TruBreezeValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruBreezeValidator, deps: [{ token: i0.ElementRef }, { token: TruDataContext }], target: i0.ɵɵFactoryTarget.Directive });
4935
- TruBreezeValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: TruBreezeValidator, selector: "[tru-breeze-validator]", ngImport: i0 });
4977
+ TruBreezeValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruBreezeValidator, deps: [{ token: i0.ElementRef }, { token: TruDataContext }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
4978
+ TruBreezeValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: TruBreezeValidator, selector: "[tru-breeze-validator]", inputs: { entity: "entity", propertyPath: "propertyPath" }, ngImport: i0 });
4936
4979
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruBreezeValidator, decorators: [{
4937
4980
  type: Directive,
4938
4981
  args: [{
4939
4982
  selector: '[tru-breeze-validator]'
4940
4983
  }]
4941
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: TruDataContext }]; } });
4984
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: TruDataContext }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { entity: [{
4985
+ type: Input
4986
+ }], propertyPath: [{
4987
+ type: Input
4988
+ }] } });
4942
4989
 
4943
4990
  class TruBreezeValidatorModule {
4944
4991
  }