@trudb/tru-common-lib 0.0.326 → 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.
- package/esm2020/lib/components/validation-dialog/tru-validation-dialog.mjs +19 -12
- package/esm2020/lib/directives/breeze-validator/tru-breeze-validator.mjs +47 -8
- package/esm2020/lib/services/tru-data-context.mjs +3 -3
- package/fesm2015/trudb-tru-common-lib.mjs +64 -17
- package/fesm2015/trudb-tru-common-lib.mjs.map +1 -1
- package/fesm2020/trudb-tru-common-lib.mjs +63 -17
- package/fesm2020/trudb-tru-common-lib.mjs.map +1 -1
- package/lib/components/validation-dialog/tru-validation-dialog.d.ts +5 -4
- package/lib/directives/breeze-validator/tru-breeze-validator.d.ts +8 -4
- package/package.json +1 -1
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
29
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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 = (
|
|
11
|
-
|
|
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
|
-
|
|
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==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { EntityState } from "breeze-client";
|
|
3
|
-
import {
|
|
3
|
+
import { Observable, of } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./tru-breeze-context-factory";
|
|
6
6
|
import * as i2 from "./tru-app-environment";
|
|
@@ -15,7 +15,7 @@ export class TruDataContext {
|
|
|
15
15
|
this._pendingDeleteEntities = [];
|
|
16
16
|
this._pendingCascadeDeleteEntities = [];
|
|
17
17
|
this.entityManagerChangeDetection = new Observable((observer) => {
|
|
18
|
-
|
|
18
|
+
this.entityManager.validationErrorsChanged.subscribe(entities => {
|
|
19
19
|
observer.next(entities);
|
|
20
20
|
});
|
|
21
21
|
});
|
|
@@ -214,4 +214,4 @@ TruDataContext.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
|
|
|
214
214
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDataContext, decorators: [{
|
|
215
215
|
type: Injectable
|
|
216
216
|
}], ctorParameters: function () { return [{ type: i1.TruBreezeContextFactory }, { type: i2.TruAppEnvironment }, { type: i3.TruEntityAccessor }, { type: i4.TruUiNotification }]; } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRhdGEtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LWRhdGEtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVSxXQUFXLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBS2pGLE9BQU8sRUFBUyxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBR25ELE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQ1Usb0JBQTZDLEVBQzdDLGNBQWlDLEVBQ2pDLGNBQWlDLEVBQ2pDLGNBQWlDO1FBSGpDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFQbkMsMkJBQXNCLEdBQWtCLEVBQUUsQ0FBQztRQUMzQyxrQ0FBNkIsR0FBa0IsRUFBRSxDQUFDO1FBWTFELGlDQUE0QixHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3pELFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILHdCQUFtQixHQUFHLENBQUMsV0FBaUMsSUFBSSxFQUF3QyxFQUFFO1lBQ3BHLFFBQVEsR0FBRyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2RCxJQUFJ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QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUE7UUF0TkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFzRkQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7OzJHQXpHVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlTdGF0ZSwgRW50aXR5VHlwZSwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcImJyZWV6ZS1jbGllbnRcIjtcclxuaW1wb3J0IHsgVHJ1QnJlZXplQ29udGV4dEZhY3RvcnksIFRydUJyZWV6ZUNvbnRleHQgfSBmcm9tICcuL3RydS1icmVlemUtY29udGV4dC1mYWN0b3J5JztcclxuaW1wb3J0IHsgVHJ1RW50aXR5QWNjZXNzb3IgfSBmcm9tICcuL3RydS1lbnRpdHktYWNjZXNzb3InO1xyXG5pbXBvcnQgeyBUcnVVaU5vdGlmaWNhdGlvbiB9IGZyb20gJy4vdHJ1LXVpLW5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IFRydUFwcEVudmlyb25tZW50IH0gZnJvbSAnLi90cnUtYXBwLWVudmlyb25tZW50JztcclxuaW1wb3J0IHsgZGVmZXIsIGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcnVEYXRhQ29udGV4dCB7XHJcbiAgcHJpdmF0ZSBfYnJlZXplQ29udGV4dDogVHJ1QnJlZXplQ29udGV4dDtcclxuICBwcml2YXRlIF9wZW5kaW5nRGVsZXRlRW50aXRpZXM6IEFycmF5PEVudGl0eT4gPSBbXTtcclxuICBwcml2YXRlIF9wZW5kaW5nQ2FzY2FkZURlbGV0ZUVudGl0aWVzOiBBcnJheTxFbnRpdHk+ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBicmVlemVDb250ZXh0RmFjdG9yeTogVHJ1QnJlZXplQ29udGV4dEZhY3RvcnksXHJcbiAgICBwcml2YXRlIGFwcEVudmlyb25tZW50OiBUcnVBcHBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgZW50aXR5QWNjZXNzb3I6IFRydUVudGl0eUFjY2Vzc29yLFxyXG4gICAgcHJpdmF0ZSB1aU5vdGlmaWNhdGlvbjogVHJ1VWlOb3RpZmljYXRpb25cclxuICApIHtcclxuICAgIHRoaXMuX2JyZWV6ZUNvbnRleHQgPSB0aGlzLmJyZWV6ZUNvbnRleHRGYWN0b3J5LmNyZWF0ZUNvbnRleHQoKTtcclxuICAgIHRoaXMuZW50aXR5QWNjZXNzb3IuY29udGV4dCA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBlbnRpdHlNYW5hZ2VyQ2hhbmdlRGV0ZWN0aW9uID0gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICBmcm9tKHRoaXMuZW50aXR5TWFuYWdlci5nZXRDaGFuZ2VzKCkpLnN1YnNjcmliZShlbnRpdGllcyA9PiB7XHJcbiAgICAgIG9ic2VydmVyLm5leHQoZW50aXRpZXMpO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIGdldFZhbGlkYXRpb25FcnJvcnMgPSAoZW50aXRpZXM6IEFycmF5PEVudGl0eT4gfCBudWxsID0gbnVsbCk6IE9ic2VydmFibGU8QXJyYXk8VmFsaWRhdGlvbkVycm9yW10+PiA9PiB7XHJcbiAgICBlbnRpdGllcyA9IGVudGl0aWVzIHx8IHRoaXMuZW50aXR5TWFuYWdlci5nZXRDaGFuZ2VzKCk7XHJcbiAgICB2YXIgZXJyb3JzUGVyRW50aXR5ID0gZW50aXRpZXMhLm1hcCgoZW50aXR5KTogVmFsaWRhdGlvbkVycm9yW10gPT4ge1xyXG4gICAgICB2YXIgZXJyb3JzID0gZW50aXR5LmVudGl0eUFzcGVjdC5nZXRWYWxpZGF0aW9uRXJyb3JzKCk7XHJcbiAgICAgIGVycm9ycyA9IGVycm9ycy5tYXAoKGVycjogYW55KTogYW55ID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZW50aXR5OiBlbnRpdHksXHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6IGVyci5lcnJvck1lc3NhZ2UsXHJcbiAgICAgICAgICBwcm9wZXJ0eTogZXJyLnByb3BlcnR5XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGVycm9ycztcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG9mKGVycm9yc1BlckVudGl0eSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdFZhbGlkYXRpb25FcnJvcnMgPSAoZW50aXRpZXM6IEFycmF5PEVudGl0eT4gfCBudWxsID0gbnVsbCk6IEFycmF5PHN0cmluZ1tdPiA9PiB7XHJcbiAgICBsZXQgZXJyb3JzID0gdGhpcy5nZXRWYWxpZGF0aW9uRXJyb3JzKGVudGl0aWVzKTtcclxuICAgIGxldCBmb3JtYXR0ZWRFcnJvcnMgPSBuZXcgQXJyYXk8c3RyaW5nW10+KCk7XHJcbiAgICBlcnJvcnMuc3Vic2NyaWJlKGVycm9yc0FycmF5ID0+IHtcclxuICAgICAgZm9ybWF0dGVkRXJyb3JzLnB1c2goZXJyb3JzQXJyYXkubWFwKChlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZS5wcm9wZXJ0eU5hbWUpIHtcclxuICAgICAgICAgIHJldHVybiBlLmVudGl0eS5lbnRpdHlUeXBlLmRlZmF1bHRSZXNvdXJjZU5hbWUgKyAnLicgKyBlLnByb3BlcnR5TmFtZSArICc6ICcgKyBlLmVycm9yTWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIG1lcmdlRGF0YSA9IEpTT04ucGFyc2UoZS5lbnRpdHkuTWVyZ2VfRGF0YSk7XHJcbiAgICAgICAgaWYgKG1lcmdlRGF0YSAmJlxyXG4gICAgICAgICAgbWVyZ2VEYXRhLmNvbnN0cnVjdG9yID09PSBPYmplY3QgJiZcclxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKG1lcmdlRGF0YSkubGVuZ3RoID4gMCAmJlxyXG4gICAgICAgICAgbWVyZ2VEYXRhW2UucHJvcGVydHkubmFtZV0pIHtcclxuICAgICAgICAgIHJldHVybiBtZXJnZURhdGFbZS5wcm9wZXJ0eS5uYW1lXS5tb2RpZmllZEJ5ICsgJyBjaGFuZ2VkICcgKyBlLnByb3BlcnR5Lm5hbWUgKyAnIHRvICcgKyBtZXJnZURhdGFbZS5wcm9wZXJ0eS5uYW1lXS52YWx1ZSArICcuIEFjY2VwdCBvciBEZWNsaW5lIHRoZSBjaGFuZ2UuICdcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHByb3BlcnR5TmFtZSA9IGUucHJvcGVydHkubmFtZSA/IGUucHJvcGVydHkubmFtZSA6ICdbVW5rbm93biBQcm9wZXJ0eV0nO1xyXG4gICAgICAgIHJldHVybiBlLmVudGl0eS5lbnRpdHlUeXBlLmRlZmF1bHRSZXNvdXJjZU5hbWUgKyAnLicgKyBwcm9wZXJ0eU5hbWUgKyAnOiBoYXMgaW52YWxpZCBkYXRhLidcclxuICAgICAgfSkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZvcm1hdHRlZEVycm9ycztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZENhY2hlZENhc2NhZGVEZWxldGVEZXNjZW5kYW50cyA9IChlbnRpdHk6IEVudGl0eSk6IEFycmF5PEVudGl0eT4gPT4ge1xyXG4gICAgbGV0IGRlc2NlbmRhbnRzOiBBcnJheTxFbnRpdHk+ID0gW107XHJcbiAgICB0eXBlIGtleU9mRW50aXR5ID0ga2V5b2YgdHlwZW9mIGVudGl0eTtcclxuICAgIGxldCB0eXBlID0gZW50aXR5LmVudGl0eVR5cGU7XHJcbiAgICBsZXQgdHlwZU5hbWUgPSB0eXBlLmRlZmF1bHRSZXNvdXJjZU5hbWU7XHJcbiAgICBsZXQgZW50aXR5Q2hpbGRyZW5OYW1lczogYW55ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSgnUmVwbGFjZSB3aXRoOiBNb2RlbE5hdmlnYXRpb25Qcm9wZXJ0aWVzLnZhbHVlJykpW3R5cGVOYW1lXTtcclxuICAgIE9iamVjdC5lbnRyaWVzKGVudGl0eUNoaWxkcmVuTmFtZXMpXHJcbiAgICAgIC5mb3JFYWNoKChbaywgdl06IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCBwcm9wZXJ0eSA9IGVudGl0eVtrIGFzIGtleU9mRW50aXR5XSBhcyBhbnk7XHJcbiAgICAgICAgcHJvcGVydHkuZm9yRWFjaCgoY2hpbGQ6IEVudGl0eSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB2ID09PSAnb2JqZWN0JyAmJiB2LmRvZXNDYXNjYWRlRGVsZXRlICYmIGNoaWxkLmVudGl0eUFzcGVjdC5lbnRpdHlTdGF0ZSAhPT0gRW50aXR5U3RhdGUuQWRkZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEZWxldGUgb2Ygc2VsZWN0ZWQgaXRlbSBpcyBub3QgcG9zc2libGUgZHVlIHRvIHJlbGF0ZWQgY2hpbGQgdGhhdCBpcyBub3Qgc2V0dXAgZm9yIGNhc2NhZGUgZGVsZXRlLiAgRGVsZXRlIGNoaWxkcmVuIGl0ZW1zIGZpcnN0LicpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZGVzY2VuZGFudHMgPSBkZXNjZW5kYW50cy5jb25jYXQodGhpcy5maW5kQ2FjaGVkQ2FzY2FkZURlbGV0ZURlc2NlbmRhbnRzKGNoaWxkKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZGVzY2VuZGFudHMgPSBwcm9wZXJ0eS5jb25jYXQoZGVzY2VuZGFudHMpO1xyXG4gICAgICB9KTtcclxuICAgIHJldHVybiBkZXNjZW5kYW50cztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFya0NhY2hlZERlc2NlbmRhbnRzRm9yRGVsZXRlID0gKGVudGl0aWVzOiBBcnJheTxFbnRpdHk+KSA9PiB7XHJcbiAgICB2YXIgY2FzY2FkZURlbGV0ZURlc2NlbmRhbnRzUGVyRW50aXR5ID0gZW50aXRpZXMubWFwKChlbnRpdHk6IEVudGl0eSkgPT4geyByZXR1cm4gdGhpcy5maW5kQ2FjaGVkQ2FzY2FkZURlbGV0ZURlc2NlbmRhbnRzKGVudGl0eSk7IH0sIGVudGl0aWVzKTtcclxuICAgIHZhciBjYXNjYWRlRGVsZXRlRGVzY2VuZGFudHMgPSBjYXNjYWRlRGVsZXRlRGVzY2VuZGFudHNQZXJFbnRpdHkucmVkdWNlKChtZW1vLCBpKSA9PiB7IHJldHVybiBtZW1vLmNvbmNhdChpKTsgfSk7XHJcbiAgICBjYXNjYWRlRGVsZXRlRGVzY2VuZGFudHMuZm9yRWFjaCgoZW50aXR5OiBFbnRpdHkpID0+IHsgdGhpcy5lbnRpdHlNYW5hZ2VyLmRldGFjaEVudGl0eShlbnRpdHkpOyB9KTtcclxuICAgIHRoaXMuX3BlbmRpbmdEZWxldGVFbnRpdGllcyA9IHRoaXMuX3BlbmRpbmdEZWxldGVFbnRpdGllcy5jb25jYXQoZW50aXRpZXMpO1xyXG4gICAgbGV0IGNvbWJpbmVkID0gdGhpcy5fcGVuZGluZ0Nhc2NhZGVEZWxldGVFbnRpdGllcy5jb25jYXQoY2FzY2FkZURlbGV0ZURlc2NlbmRhbnRzKTtcclxuICAgIHRoaXMuX3BlbmRpbmdDYXNjYWRlRGVsZXRlRW50aXRpZXMgPSBjb21iaW5lZC5maWx0ZXIoKG4sIGkpID0+IGNvbWJpbmVkLmluZGV4T2YobikgPT09IGkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYXJrRm9yRGVsZXRlID0gKGVudGl0aWVzOiBBcnJheTxFbnRpdHk+KSA9PiB7XHJcbiAgICBpZiAoZW50aXRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm1hcmtDYWNoZWREZXNjZW5kYW50c0ZvckRlbGV0ZShlbnRpdGllcyk7XHJcbiAgICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eTogRW50aXR5KSA9PiB7XHJcbiAgICAgICAgZW50aXR5LmVudGl0eUFzcGVjdC5zZXREZWxldGVkKCk7XHJcbiAgICAgICAgLy9lbnRpdHkuX2Fzc29jaWF0ZWREYXRhQ2FjaGVkID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGJyZWV6ZUNvbnRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYnJlZXplQ29udGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBlbnRpdHlNYW5hZ2VyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2JyZWV6ZUNvbnRleHQuZW50aXR5TWFuYWdlcjtcclxuICB9XHJcblxyXG4gIGhhc0NoYW5nZXMgPSAoZW50aXR5VHlwZXM6IEFycmF5PEVudGl0eVR5cGU+ID0gW10pID0+IHtcclxuICAgIGlmIChlbnRpdHlUeXBlcy5sZW5ndGgpXHJcbiAgICAgIHJldHVybiB0aGlzLl9icmVlemVDb250ZXh0LmVudGl0eU1hbmFnZXIuZ2V0Q2hhbmdlcyhlbnRpdHlUeXBlcyk7XHJcbiAgICByZXR1cm4gdGhpcy5fYnJlZXplQ29udGV4dC5lbnRpdHlNYW5hZ2VyLmdldENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGVudGl0eUFjY2VzcyA9ICgpOiBUcnVFbnRpdHlBY2Nlc3NvciA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnRpdHlBY2Nlc3NvcjtcclxuICB9XHJcblxyXG4gIGV4cG9ydENhaGNlID0gKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5fYnJlZXplQ29udGV4dC5lbnRpdHlNYW5hZ2VyLmV4cG9ydEVudGl0aWVzKCkpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSA9IChcclxuICAgIGVudGl0aWVzOiBBcnJheTxFbnRpdHk+IHwgbnVsbCA9IG51bGwsXHJcbiAgICBkZWxldGVPcGVyYXRpb246IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYXBwRW52aXJvbm1lbnQuaXNTYXZpbmcpIHtcclxuICAgICAgICB0aGlzLnVpTm90aWZpY2F0aW9uLmVycm9yKHRoaXMuYXBwRW52aXJvbm1lbnQubXNnU2F2ZUluUHJvZ3Jlc3MpO1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdmFyIHZhbGlkYXRpb25FcnJvck1lc3NhZ2VzID0gdGhpcy5mb3JtYXRWYWxpZGF0aW9uRXJyb3JzKGVudGl0aWVzKTtcclxuICAgICAgaWYgKHZhbGlkYXRpb25FcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvL3RoaXMudWlOb3RpZmljYXRpb24uZXJyb3IodGhpcy5hcHBFbnZpcm9ubWVudC5tc2dJbnZhbGlkRGF0YSwgdmFsaWRhdGlvbkVycm9yTWVzc2FnZXMpO1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdGhpcy5oYXNDaGFuZ2VzKCkubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi53YXJuaW5nKHRoaXMuYXBwRW52aXJvbm1lbnQubXNnTm9DaGFuZ2VzVG9TYXZlKTtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYXBwRW52aXJvbm1lbnQuaXNTYXZpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmVudGl0eU1hbmFnZXIuc2F2ZUNoYW5nZXMoKS50aGVuKCgpID0+IHtcclxuICAgICAgICBpZiAoIWRlbGV0ZU9wZXJhdGlvbikge1xyXG4gICAgICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi5zdWNjZXNzKHRoaXMuYXBwRW52aXJvbm1lbnQubXNnU2F2ZVN1Y2Nlc3NmdWwpO1xyXG4gICAgICAgICAgdGhpcy5hcHBFbnZpcm9ubWVudC5zYXZlQ29tcGxldGUoeyBzdWNjZXNzZnVsOiB0cnVlIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgIH0pLmNhdGNoKChlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmFwcEVudmlyb25tZW50LnNhdmVDb21wbGV0ZSh7IHN1Y2Nlc3NmdWw6IGZhbHNlIH0pO1xyXG4gICAgICAgIHJlamVjdChlKTtcclxuICAgICAgfSkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHBFbnZpcm9ubWVudC5pc1NhdmluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV2ZXJ0ID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy51aU5vdGlmaWNhdGlvbi5jb25maXJtKCdDb25maXJtIEFjdGlvbicsICdSZXZlcnQgJyArIHRoaXMuaGFzQ2hhbmdlcygpLmxlbmd0aCArICcgY2hhbmdlZCByZWNvcmQocyk/JykudGhlbigoY29uZmlybTogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgIHRoaXMuZW50aXR5TWFuYWdlci5yZWplY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5hcHBFbnZpcm9ubWVudC5yZXZlcnRDb21wbGV0ZSh7IHN1Y2Nlc3NmdWw6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV2ZXJ0V2l0aG91dFByb21wdCA9ICgpOiB2b2lkID0+IHtcclxuICAgIHRoaXMucmV2ZXJ0KCk7XHJcbiAgICB0aGlzLmFwcEVudmlyb25tZW50LnJldmVydENvbXBsZXRlKHsgc3VjY2Vzc2Z1bDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZSA9IChcclxuICAgIGVudGl0aWVzOiBBcnJheTxFbnRpdHk+LFxyXG4gICAgY29uZmlybU1zZzogc3RyaW5nLFxyXG4gICAgb25TdWNjZXNzOiBGdW5jdGlvbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkgPT4ge1xyXG4gICAgdmFyIG5ld0VudGl0aWVzOiBBcnJheTxFbnRpdHk+ID0gW107XHJcbiAgICB2YXIgZXhpc3RpbmdFbnRpdGllczogQXJyYXk8RW50aXR5PiA9IFtdO1xyXG4gICAgZW50aXRpZXMuZm9yRWFjaChmdW5jdGlvbiAoZSkge1xyXG4gICAgICBpZiAoZS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGUuaXNBZGRlZCgpKVxyXG4gICAgICAgIG5ld0VudGl0aWVzLnB1c2goZSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBleGlzdGluZ0VudGl0aWVzLnB1c2goZSk7XHJcbiAgICB9KTtcclxuICAgIGlmIChuZXdFbnRpdGllcy5sZW5ndGggJiYgZXhpc3RpbmdFbnRpdGllcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi53YXJuaW5nKHRoaXMuYXBwRW52aXJvbm1lbnQubXNnQ2Fubm90RGVsZXRlTmV3QW5kRXhpc3RpbmdSZWNvcmRzKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGV4aXN0aW5nRW50aXRpZXMubGVuZ3RoKSB7XHJcbiAgICAgIGlmICh0aGlzLmhhc0NoYW5nZXMoKS5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLnVpTm90aWZpY2F0aW9uLndhcm5pbmcodGhpcy5hcHBFbnZpcm9ubWVudC5tc2dEaXJ0eVByZXZlbnRzRGVsZXRlRXhpc3RpbmdSZWNvcmQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudWlOb3RpZmljYXRpb24uY29uZmlybSgnQ29uZmlybSBBY3Rpb24nLCBjb25maXJtTXNnKS50aGVuKChjb25maXJtOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgaWYgKG5ld0VudGl0aWVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgbmV3RW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFbnRpdHkpID0+IHtcclxuICAgICAgICAgICAgZW50aXR5LmVudGl0eUFzcGVjdC5jbGVhclZhbGlkYXRpb25FcnJvcnMoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5tYXJrRm9yRGVsZXRlKG5ld0VudGl0aWVzKTtcclxuICAgICAgICAgIGlmIChvblN1Y2Nlc3MpIG9uU3VjY2VzcygpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgdGhpcy5tYXJrRm9yRGVsZXRlKGV4aXN0aW5nRW50aXRpZXMpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbjogYW55KSB7XHJcbiAgICAgICAgICB0aGlzLnVpTm90aWZpY2F0aW9uLmVycm9yKGV4Y2VwdGlvbi5tZXNzYWdlKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zYXZlKG51bGwsIHRydWUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgdmFyIGVudGl0aWVzRGVsZXRlZCA9IHRoaXMuX3BlbmRpbmdEZWxldGVFbnRpdGllcy5jb25jYXQodGhpcy5fcGVuZGluZ0Nhc2NhZGVEZWxldGVFbnRpdGllcyk7XHJcbiAgICAgICAgICB0aGlzLmFwcEVudmlyb25tZW50LmRlbGV0ZUNvbXBsZXRlKHsgc3VjY2Vzc2Z1bDogdHJ1ZSwgZW50aXRpZXM6IGVudGl0aWVzRGVsZXRlZCB9KTtcclxuICAgICAgICAgIGlmIChlbnRpdGllc0RlbGV0ZWQubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdDYXNjYWRlRGVsZXRlRW50aXRpZXMgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5fcGVuZGluZ0RlbGV0ZUVudGl0aWVzID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnVpTm90aWZpY2F0aW9uLnN1Y2Nlc3ModGhpcy5hcHBFbnZpcm9ubWVudC5tc2dEZWxldGVTdWNjZXNzZnVsKTtcclxuICAgICAgICAgIGlmIChvblN1Y2Nlc3MpIG9uU3VjY2Vzcyh0cnVlKTtcclxuICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRoaXMucmV2ZXJ0KCk7XHJcbiAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7IH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRhdGEtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvdHJ1LWRhdGEtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVSxXQUFXLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBS2pGLE9BQU8sRUFBZSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFHbkQsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFDVSxvQkFBNkMsRUFDN0MsY0FBaUMsRUFDakMsY0FBaUMsRUFDakMsY0FBaUM7UUFIakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQVBuQywyQkFBc0IsR0FBa0IsRUFBRSxDQUFDO1FBQzNDLGtDQUE2QixHQUFrQixFQUFFLENBQUM7UUFZMUQsaUNBQTRCLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDOUQsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsd0JBQW1CLEdBQUcsQ0FBQyxXQUFpQyxJQUFJLEVBQXdDLEVBQUU7WUFDcEcsUUFBUSxHQUFHLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZELElBQUksZUFBZSxHQUFHLFFBQVMsQ0FBQyxHQUFHLENB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QXROQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNoRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQXNGRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQzs7MkdBekdVLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbnRpdHksIEVudGl0eVN0YXRlLCBFbnRpdHlUeXBlLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiYnJlZXplLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBUcnVCcmVlemVDb250ZXh0RmFjdG9yeSwgVHJ1QnJlZXplQ29udGV4dCB9IGZyb20gJy4vdHJ1LWJyZWV6ZS1jb250ZXh0LWZhY3RvcnknO1xyXG5pbXBvcnQgeyBUcnVFbnRpdHlBY2Nlc3NvciB9IGZyb20gJy4vdHJ1LWVudGl0eS1hY2Nlc3Nvcic7XHJcbmltcG9ydCB7IFRydVVpTm90aWZpY2F0aW9uIH0gZnJvbSAnLi90cnUtdWktbm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgVHJ1QXBwRW52aXJvbm1lbnQgfSBmcm9tICcuL3RydS1hcHAtZW52aXJvbm1lbnQnO1xyXG5pbXBvcnQgeyBkZWZlciwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRydURhdGFDb250ZXh0IHtcclxuICBwcml2YXRlIF9icmVlemVDb250ZXh0OiBUcnVCcmVlemVDb250ZXh0O1xyXG4gIHByaXZhdGUgX3BlbmRpbmdEZWxldGVFbnRpdGllczogQXJyYXk8RW50aXR5PiA9IFtdO1xyXG4gIHByaXZhdGUgX3BlbmRpbmdDYXNjYWRlRGVsZXRlRW50aXRpZXM6IEFycmF5PEVudGl0eT4gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGJyZWV6ZUNvbnRleHRGYWN0b3J5OiBUcnVCcmVlemVDb250ZXh0RmFjdG9yeSxcclxuICAgIHByaXZhdGUgYXBwRW52aXJvbm1lbnQ6IFRydUFwcEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBlbnRpdHlBY2Nlc3NvcjogVHJ1RW50aXR5QWNjZXNzb3IsXHJcbiAgICBwcml2YXRlIHVpTm90aWZpY2F0aW9uOiBUcnVVaU5vdGlmaWNhdGlvblxyXG4gICkge1xyXG4gICAgdGhpcy5fYnJlZXplQ29udGV4dCA9IHRoaXMuYnJlZXplQ29udGV4dEZhY3RvcnkuY3JlYXRlQ29udGV4dCgpO1xyXG4gICAgdGhpcy5lbnRpdHlBY2Nlc3Nvci5jb250ZXh0ID0gdGhpcztcclxuICB9XHJcblxyXG4gIGVudGl0eU1hbmFnZXJDaGFuZ2VEZXRlY3Rpb24gPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgIHRoaXMuZW50aXR5TWFuYWdlci52YWxpZGF0aW9uRXJyb3JzQ2hhbmdlZC5zdWJzY3JpYmUoZW50aXRpZXMgPT4ge1xyXG4gICAgICBvYnNlcnZlci5uZXh0KGVudGl0aWVzKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICBnZXRWYWxpZGF0aW9uRXJyb3JzID0gKGVudGl0aWVzOiBBcnJheTxFbnRpdHk+IHwgbnVsbCA9IG51bGwpOiBPYnNlcnZhYmxlPEFycmF5PFZhbGlkYXRpb25FcnJvcltdPj4gPT4ge1xyXG4gICAgZW50aXRpZXMgPSBlbnRpdGllcyB8fCB0aGlzLmVudGl0eU1hbmFnZXIuZ2V0Q2hhbmdlcygpO1xyXG4gICAgdmFyIGVycm9yc1BlckVudGl0eSA9IGVudGl0aWVzIS5tYXAoKGVudGl0eSk6IFZhbGlkYXRpb25FcnJvcltdID0+IHtcclxuICAgICAgdmFyIGVycm9ycyA9IGVudGl0eS5lbnRpdHlBc3BlY3QuZ2V0VmFsaWRhdGlvbkVycm9ycygpO1xyXG4gICAgICBlcnJvcnMgPSBlcnJvcnMubWFwKChlcnI6IGFueSk6IGFueSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGVudGl0eTogZW50aXR5LFxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiBlcnIuZXJyb3JNZXNzYWdlLFxyXG4gICAgICAgICAgcHJvcGVydHk6IGVyci5wcm9wZXJ0eVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBlcnJvcnM7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBvZihlcnJvcnNQZXJFbnRpdHkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRWYWxpZGF0aW9uRXJyb3JzID0gKGVudGl0aWVzOiBBcnJheTxFbnRpdHk+IHwgbnVsbCA9IG51bGwpOiBBcnJheTxzdHJpbmdbXT4gPT4ge1xyXG4gICAgbGV0IGVycm9ycyA9IHRoaXMuZ2V0VmFsaWRhdGlvbkVycm9ycyhlbnRpdGllcyk7XHJcbiAgICBsZXQgZm9ybWF0dGVkRXJyb3JzID0gbmV3IEFycmF5PHN0cmluZ1tdPigpO1xyXG4gICAgZXJyb3JzLnN1YnNjcmliZShlcnJvcnNBcnJheSA9PiB7XHJcbiAgICAgIGZvcm1hdHRlZEVycm9ycy5wdXNoKGVycm9yc0FycmF5Lm1hcCgoZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGUucHJvcGVydHlOYW1lKSB7XHJcbiAgICAgICAgICByZXR1cm4gZS5lbnRpdHkuZW50aXR5VHlwZS5kZWZhdWx0UmVzb3VyY2VOYW1lICsgJy4nICsgZS5wcm9wZXJ0eU5hbWUgKyAnOiAnICsgZS5lcnJvck1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBtZXJnZURhdGEgPSBKU09OLnBhcnNlKGUuZW50aXR5Lk1lcmdlX0RhdGEpO1xyXG4gICAgICAgIGlmIChtZXJnZURhdGEgJiZcclxuICAgICAgICAgIG1lcmdlRGF0YS5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0ICYmXHJcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhtZXJnZURhdGEpLmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgIG1lcmdlRGF0YVtlLnByb3BlcnR5Lm5hbWVdKSB7XHJcbiAgICAgICAgICByZXR1cm4gbWVyZ2VEYXRhW2UucHJvcGVydHkubmFtZV0ubW9kaWZpZWRCeSArICcgY2hhbmdlZCAnICsgZS5wcm9wZXJ0eS5uYW1lICsgJyB0byAnICsgbWVyZ2VEYXRhW2UucHJvcGVydHkubmFtZV0udmFsdWUgKyAnLiBBY2NlcHQgb3IgRGVjbGluZSB0aGUgY2hhbmdlLiAnXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBlLnByb3BlcnR5Lm5hbWUgPyBlLnByb3BlcnR5Lm5hbWUgOiAnW1Vua25vd24gUHJvcGVydHldJztcclxuICAgICAgICByZXR1cm4gZS5lbnRpdHkuZW50aXR5VHlwZS5kZWZhdWx0UmVzb3VyY2VOYW1lICsgJy4nICsgcHJvcGVydHlOYW1lICsgJzogaGFzIGludmFsaWQgZGF0YS4nXHJcbiAgICAgIH0pKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvcnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRDYWNoZWRDYXNjYWRlRGVsZXRlRGVzY2VuZGFudHMgPSAoZW50aXR5OiBFbnRpdHkpOiBBcnJheTxFbnRpdHk+ID0+IHtcclxuICAgIGxldCBkZXNjZW5kYW50czogQXJyYXk8RW50aXR5PiA9IFtdO1xyXG4gICAgdHlwZSBrZXlPZkVudGl0eSA9IGtleW9mIHR5cGVvZiBlbnRpdHk7XHJcbiAgICBsZXQgdHlwZSA9IGVudGl0eS5lbnRpdHlUeXBlO1xyXG4gICAgbGV0IHR5cGVOYW1lID0gdHlwZS5kZWZhdWx0UmVzb3VyY2VOYW1lO1xyXG4gICAgbGV0IGVudGl0eUNoaWxkcmVuTmFtZXM6IGFueSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoJ1JlcGxhY2Ugd2l0aDogTW9kZWxOYXZpZ2F0aW9uUHJvcGVydGllcy52YWx1ZScpKVt0eXBlTmFtZV07XHJcbiAgICBPYmplY3QuZW50cmllcyhlbnRpdHlDaGlsZHJlbk5hbWVzKVxyXG4gICAgICAuZm9yRWFjaCgoW2ssIHZdOiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgcHJvcGVydHkgPSBlbnRpdHlbayBhcyBrZXlPZkVudGl0eV0gYXMgYW55O1xyXG4gICAgICAgIHByb3BlcnR5LmZvckVhY2goKGNoaWxkOiBFbnRpdHkpID0+IHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgdiA9PT0gJ29iamVjdCcgJiYgdi5kb2VzQ2FzY2FkZURlbGV0ZSAmJiBjaGlsZC5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGUgIT09IEVudGl0eVN0YXRlLkFkZGVkKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGVsZXRlIG9mIHNlbGVjdGVkIGl0ZW0gaXMgbm90IHBvc3NpYmxlIGR1ZSB0byByZWxhdGVkIGNoaWxkIHRoYXQgaXMgbm90IHNldHVwIGZvciBjYXNjYWRlIGRlbGV0ZS4gIERlbGV0ZSBjaGlsZHJlbiBpdGVtcyBmaXJzdC4nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGRlc2NlbmRhbnRzID0gZGVzY2VuZGFudHMuY29uY2F0KHRoaXMuZmluZENhY2hlZENhc2NhZGVEZWxldGVEZXNjZW5kYW50cyhjaGlsZCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGRlc2NlbmRhbnRzID0gcHJvcGVydHkuY29uY2F0KGRlc2NlbmRhbnRzKTtcclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gZGVzY2VuZGFudHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcmtDYWNoZWREZXNjZW5kYW50c0ZvckRlbGV0ZSA9IChlbnRpdGllczogQXJyYXk8RW50aXR5PikgPT4ge1xyXG4gICAgdmFyIGNhc2NhZGVEZWxldGVEZXNjZW5kYW50c1BlckVudGl0eSA9IGVudGl0aWVzLm1hcCgoZW50aXR5OiBFbnRpdHkpID0+IHsgcmV0dXJuIHRoaXMuZmluZENhY2hlZENhc2NhZGVEZWxldGVEZXNjZW5kYW50cyhlbnRpdHkpOyB9LCBlbnRpdGllcyk7XHJcbiAgICB2YXIgY2FzY2FkZURlbGV0ZURlc2NlbmRhbnRzID0gY2FzY2FkZURlbGV0ZURlc2NlbmRhbnRzUGVyRW50aXR5LnJlZHVjZSgobWVtbywgaSkgPT4geyByZXR1cm4gbWVtby5jb25jYXQoaSk7IH0pO1xyXG4gICAgY2FzY2FkZURlbGV0ZURlc2NlbmRhbnRzLmZvckVhY2goKGVudGl0eTogRW50aXR5KSA9PiB7IHRoaXMuZW50aXR5TWFuYWdlci5kZXRhY2hFbnRpdHkoZW50aXR5KTsgfSk7XHJcbiAgICB0aGlzLl9wZW5kaW5nRGVsZXRlRW50aXRpZXMgPSB0aGlzLl9wZW5kaW5nRGVsZXRlRW50aXRpZXMuY29uY2F0KGVudGl0aWVzKTtcclxuICAgIGxldCBjb21iaW5lZCA9IHRoaXMuX3BlbmRpbmdDYXNjYWRlRGVsZXRlRW50aXRpZXMuY29uY2F0KGNhc2NhZGVEZWxldGVEZXNjZW5kYW50cyk7XHJcbiAgICB0aGlzLl9wZW5kaW5nQ2FzY2FkZURlbGV0ZUVudGl0aWVzID0gY29tYmluZWQuZmlsdGVyKChuLCBpKSA9PiBjb21iaW5lZC5pbmRleE9mKG4pID09PSBpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFya0ZvckRlbGV0ZSA9IChlbnRpdGllczogQXJyYXk8RW50aXR5PikgPT4ge1xyXG4gICAgaWYgKGVudGl0aWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5tYXJrQ2FjaGVkRGVzY2VuZGFudHNGb3JEZWxldGUoZW50aXRpZXMpO1xyXG4gICAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEVudGl0eSkgPT4ge1xyXG4gICAgICAgIGVudGl0eS5lbnRpdHlBc3BlY3Quc2V0RGVsZXRlZCgpO1xyXG4gICAgICAgIC8vZW50aXR5Ll9hc3NvY2lhdGVkRGF0YUNhY2hlZCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBicmVlemVDb250ZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2JyZWV6ZUNvbnRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZW50aXR5TWFuYWdlcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9icmVlemVDb250ZXh0LmVudGl0eU1hbmFnZXI7XHJcbiAgfVxyXG5cclxuICBoYXNDaGFuZ2VzID0gKGVudGl0eVR5cGVzOiBBcnJheTxFbnRpdHlUeXBlPiA9IFtdKSA9PiB7XHJcbiAgICBpZiAoZW50aXR5VHlwZXMubGVuZ3RoKVxyXG4gICAgICByZXR1cm4gdGhpcy5fYnJlZXplQ29udGV4dC5lbnRpdHlNYW5hZ2VyLmdldENoYW5nZXMoZW50aXR5VHlwZXMpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2JyZWV6ZUNvbnRleHQuZW50aXR5TWFuYWdlci5nZXRDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBlbnRpdHlBY2Nlc3MgPSAoKTogVHJ1RW50aXR5QWNjZXNzb3IgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZW50aXR5QWNjZXNzb3I7XHJcbiAgfVxyXG5cclxuICBleHBvcnRDYWhjZSA9ICgpID0+IHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuX2JyZWV6ZUNvbnRleHQuZW50aXR5TWFuYWdlci5leHBvcnRFbnRpdGllcygpKTtcclxuICB9XHJcblxyXG4gIHNhdmUgPSAoXHJcbiAgICBlbnRpdGllczogQXJyYXk8RW50aXR5PiB8IG51bGwgPSBudWxsLFxyXG4gICAgZGVsZXRlT3BlcmF0aW9uOiBib29sZWFuID0gZmFsc2UpID0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmFwcEVudmlyb25tZW50LmlzU2F2aW5nKSB7XHJcbiAgICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi5lcnJvcih0aGlzLmFwcEVudmlyb25tZW50Lm1zZ1NhdmVJblByb2dyZXNzKTtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHZhciB2YWxpZGF0aW9uRXJyb3JNZXNzYWdlcyA9IHRoaXMuZm9ybWF0VmFsaWRhdGlvbkVycm9ycyhlbnRpdGllcyk7XHJcbiAgICAgIGlmICh2YWxpZGF0aW9uRXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgLy90aGlzLnVpTm90aWZpY2F0aW9uLmVycm9yKHRoaXMuYXBwRW52aXJvbm1lbnQubXNnSW52YWxpZERhdGEsIHZhbGlkYXRpb25FcnJvck1lc3NhZ2VzKTtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXRoaXMuaGFzQ2hhbmdlcygpLmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMudWlOb3RpZmljYXRpb24ud2FybmluZyh0aGlzLmFwcEVudmlyb25tZW50Lm1zZ05vQ2hhbmdlc1RvU2F2ZSk7XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFwcEVudmlyb25tZW50LmlzU2F2aW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5lbnRpdHlNYW5hZ2VyLnNhdmVDaGFuZ2VzKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFkZWxldGVPcGVyYXRpb24pIHtcclxuICAgICAgICAgIHRoaXMudWlOb3RpZmljYXRpb24uc3VjY2Vzcyh0aGlzLmFwcEVudmlyb25tZW50Lm1zZ1NhdmVTdWNjZXNzZnVsKTtcclxuICAgICAgICAgIHRoaXMuYXBwRW52aXJvbm1lbnQuc2F2ZUNvbXBsZXRlKHsgc3VjY2Vzc2Z1bDogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICB9KS5jYXRjaCgoZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHBFbnZpcm9ubWVudC5zYXZlQ29tcGxldGUoeyBzdWNjZXNzZnVsOiBmYWxzZSB9KTtcclxuICAgICAgICByZWplY3QoZSk7XHJcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXBwRW52aXJvbm1lbnQuaXNTYXZpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldmVydCA9ICgpOiB2b2lkID0+IHtcclxuICAgIHRoaXMudWlOb3RpZmljYXRpb24uY29uZmlybSgnQ29uZmlybSBBY3Rpb24nLCAnUmV2ZXJ0ICcgKyB0aGlzLmhhc0NoYW5nZXMoKS5sZW5ndGggKyAnIGNoYW5nZWQgcmVjb3JkKHMpPycpLnRoZW4oKGNvbmZpcm06IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKGNvbmZpcm0pIHtcclxuICAgICAgICB0aGlzLmVudGl0eU1hbmFnZXIucmVqZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuYXBwRW52aXJvbm1lbnQucmV2ZXJ0Q29tcGxldGUoeyBzdWNjZXNzZnVsOiB0cnVlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJldmVydFdpdGhvdXRQcm9tcHQgPSAoKTogdm9pZCA9PiB7XHJcbiAgICB0aGlzLnJldmVydCgpO1xyXG4gICAgdGhpcy5hcHBFbnZpcm9ubWVudC5yZXZlcnRDb21wbGV0ZSh7IHN1Y2Nlc3NmdWw6IHRydWUgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUgPSAoXHJcbiAgICBlbnRpdGllczogQXJyYXk8RW50aXR5PixcclxuICAgIGNvbmZpcm1Nc2c6IHN0cmluZyxcclxuICAgIG9uU3VjY2VzczogRnVuY3Rpb24gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpID0+IHtcclxuICAgIHZhciBuZXdFbnRpdGllczogQXJyYXk8RW50aXR5PiA9IFtdO1xyXG4gICAgdmFyIGV4aXN0aW5nRW50aXRpZXM6IEFycmF5PEVudGl0eT4gPSBbXTtcclxuICAgIGVudGl0aWVzLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcclxuICAgICAgaWYgKGUuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlLmlzQWRkZWQoKSlcclxuICAgICAgICBuZXdFbnRpdGllcy5wdXNoKGUpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgZXhpc3RpbmdFbnRpdGllcy5wdXNoKGUpO1xyXG4gICAgfSk7XHJcbiAgICBpZiAobmV3RW50aXRpZXMubGVuZ3RoICYmIGV4aXN0aW5nRW50aXRpZXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudWlOb3RpZmljYXRpb24ud2FybmluZyh0aGlzLmFwcEVudmlyb25tZW50Lm1zZ0Nhbm5vdERlbGV0ZU5ld0FuZEV4aXN0aW5nUmVjb3Jkcyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChleGlzdGluZ0VudGl0aWVzLmxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5oYXNDaGFuZ2VzKCkubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi53YXJuaW5nKHRoaXMuYXBwRW52aXJvbm1lbnQubXNnRGlydHlQcmV2ZW50c0RlbGV0ZUV4aXN0aW5nUmVjb3JkKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVpTm90aWZpY2F0aW9uLmNvbmZpcm0oJ0NvbmZpcm0gQWN0aW9uJywgY29uZmlybU1zZykudGhlbigoY29uZmlybTogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgIGlmIChuZXdFbnRpdGllcy5sZW5ndGgpIHtcclxuICAgICAgICAgIG5ld0VudGl0aWVzLmZvckVhY2goKGVudGl0eTogRW50aXR5KSA9PiB7XHJcbiAgICAgICAgICAgIGVudGl0eS5lbnRpdHlBc3BlY3QuY2xlYXJWYWxpZGF0aW9uRXJyb3JzKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMubWFya0ZvckRlbGV0ZShuZXdFbnRpdGllcyk7XHJcbiAgICAgICAgICBpZiAob25TdWNjZXNzKSBvblN1Y2Nlc3MoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIHRoaXMubWFya0ZvckRlbGV0ZShleGlzdGluZ0VudGl0aWVzKTtcclxuICAgICAgICB9IGNhdGNoIChleGNlcHRpb246IGFueSkge1xyXG4gICAgICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi5lcnJvcihleGNlcHRpb24ubWVzc2FnZSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2F2ZShudWxsLCB0cnVlKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHZhciBlbnRpdGllc0RlbGV0ZWQgPSB0aGlzLl9wZW5kaW5nRGVsZXRlRW50aXRpZXMuY29uY2F0KHRoaXMuX3BlbmRpbmdDYXNjYWRlRGVsZXRlRW50aXRpZXMpO1xyXG4gICAgICAgICAgdGhpcy5hcHBFbnZpcm9ubWVudC5kZWxldGVDb21wbGV0ZSh7IHN1Y2Nlc3NmdWw6IHRydWUsIGVudGl0aWVzOiBlbnRpdGllc0RlbGV0ZWQgfSk7XHJcbiAgICAgICAgICBpZiAoZW50aXRpZXNEZWxldGVkLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLl9wZW5kaW5nQ2FzY2FkZURlbGV0ZUVudGl0aWVzID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdEZWxldGVFbnRpdGllcyA9IFtdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy51aU5vdGlmaWNhdGlvbi5zdWNjZXNzKHRoaXMuYXBwRW52aXJvbm1lbnQubXNnRGVsZXRlU3VjY2Vzc2Z1bCk7XHJcbiAgICAgICAgICBpZiAob25TdWNjZXNzKSBvblN1Y2Nlc3ModHJ1ZSk7XHJcbiAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJldmVydCgpO1xyXG4gICAgICAgIH0pLmZpbmFsbHkoKCkgPT4geyB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1482,7 +1482,7 @@ class TruDataContext {
|
|
|
1482
1482
|
this._pendingDeleteEntities = [];
|
|
1483
1483
|
this._pendingCascadeDeleteEntities = [];
|
|
1484
1484
|
this.entityManagerChangeDetection = new Observable((observer) => {
|
|
1485
|
-
|
|
1485
|
+
this.entityManager.validationErrorsChanged.subscribe(entities => {
|
|
1486
1486
|
observer.next(entities);
|
|
1487
1487
|
});
|
|
1488
1488
|
});
|
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
4873
|
-
|
|
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.
|
|
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
|
-
|
|
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 = (
|
|
4921
|
-
|
|
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
|
}
|