@trudb/tru-common-lib 0.0.327 → 0.0.329
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/fesm2015/trudb-tru-common-lib.mjs +63 -16
- package/fesm2015/trudb-tru-common-lib.mjs.map +1 -1
- package/fesm2020/trudb-tru-common-lib.mjs +62 -16
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLXZhbGlkYXRvci90cnUtYnJlZXplLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLFNBQVMsRUFBYyxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDOzs7QUFVNUgsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUNVLEVBQWMsRUFDZCxXQUEyQixFQUMzQixnQkFBa0MsRUFDbEMsd0JBQWtEO1FBSGxELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRzVELGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBR2QsU0FBSSxHQUF3QixFQUFFLENBQUM7UUFFdkMsbUJBQWMsR0FBRyxDQUFDLGdCQUFxQixFQUFFLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLGdCQUFnQixFQUFFO2dCQUNwQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFNUMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUVoRyxJQUFJLGFBQWE7b0JBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxQyxJQUFJLGNBQWM7b0JBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUU1QyxJQUFJLEtBQXdCLEVBQUUsTUFBeUIsQ0FBQztnQkFFeEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLENBQUM7Z0JBRS9ELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3BDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3JELElBQUksY0FBbUIsQ0FBQztvQkFDeEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUU7NEJBQ25CLElBQUksa0JBQWtCLEdBQUcsR0FBRyxHQUFHLElBQWdDLENBQUM7NEJBQ2hFLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7eUJBQ2xEOzZCQUFNOzRCQUNMLElBQUksa0JBQWtCLEdBQUcsR0FBRyxHQUFHLElBQWdDLENBQUM7NEJBQ2hFLGNBQWMsR0FBRyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQzt5QkFDckQ7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRTt3QkFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztxQkFDeEQ7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3JEO2dCQUVELHNHQUFzRztnQkFDdEcsdUhBQXVIO2dCQUN2SCxvQ0FBb0M7YUFDckM7UUFDSCxDQUFDLENBQUE7SUE1Q0QsQ0FBQztJQThDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7K0dBaEVVLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7b01BRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcnVFZGl0Q29udHJvbEJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1iYXNlJztcclxuaW1wb3J0IHsgVHJ1RW50aXR5QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UtY2xhc3Nlcy90cnUtZW50aXR5LWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVWYWxpZGF0aW9uRGlhbG9nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy92YWxpZGF0aW9uLWRpYWxvZy90cnUtdmFsaWRhdGlvbi1kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcnVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1kYXRhLWNvbnRleHQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdHJ1LWJyZWV6ZS12YWxpZGF0b3JdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1QnJlZXplVmFsaWRhdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGVudGl0eSE6IGFueTtcclxuICBASW5wdXQoKSBwcm9wZXJ0eVBhdGghOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgZGF0YUNvbnRleHQ6IFRydURhdGFDb250ZXh0LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuXHJcbiAgY29uZmlnTW9kZWw6IGFueSA9IHt9O1xyXG4gIG1lcmdlRGF0YTogYW55O1xyXG5cclxuICBwcml2YXRlIHN1YnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuXHJcbiAgdmFsRXJyc0NoYW5nZWQgPSAoZW50aXR5VG9WYWxpZGF0ZTogYW55KSA9PiB7XHJcbiAgICBpZiAodGhpcy5lbnRpdHkgPT09IGVudGl0eVRvVmFsaWRhdGUpIHtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNldEN1c3RvbVZhbGlkaXR5KCcnKTtcclxuXHJcbiAgICAgIGxldCBwcmV2aW91c0VyckVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5leHRTaWJsaW5nKCcuaW52YWxpZCcpO1xyXG4gICAgICBsZXQgcHJldmlvdXNGbGFnRWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmV4dFNpYmxpbmcoJy5pbnZhbGlkJykubmV4dFNpYmxpbmcoJy5pbnZhbGlkLWZsYWcnKTtcclxuXHJcbiAgICAgIGlmIChwcmV2aW91c0VyckVsKSBwcmV2aW91c0VyckVsLnJlbW92ZSgpO1xyXG4gICAgICBpZiAocHJldmlvdXNGbGFnRWwpIHByZXZpb3VzRmxhZ0VsLnJlbW92ZSgpO1xyXG5cclxuICAgICAgbGV0IG1zZ0VsOiBIVE1MT2JqZWN0RWxlbWVudCwgZmxhZ0VsOiBIVE1MT2JqZWN0RWxlbWVudDtcclxuXHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVDbGFzcygnb3ZlcnJpZGUtZGlzYWJsZWQtaW52YWxpZCcpO1xyXG5cclxuICAgICAgaWYgKHRoaXMucHJvcGVydHlQYXRoPy5pbmNsdWRlcygnLycpKSB7XHJcbiAgICAgICAgbGV0IHByb3BlcnR5TmFtZVBhcnRzID0gdGhpcy5wcm9wZXJ0eVBhdGguc3BsaXQoJy8nKTtcclxuICAgICAgICBsZXQgdGFyZ2V0UHJvcGVydHk6IGFueTtcclxuICAgICAgICBwcm9wZXJ0eU5hbWVQYXJ0cy5mb3JFYWNoKChuYW1lKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRhcmdldFByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXRQcm9wZXJ0eU5hbWUgPSAnbycgKyBuYW1lIGFzIGtleW9mIHR5cGVvZiB0aGlzLmVudGl0eTtcclxuICAgICAgICAgICAgdGFyZ2V0UHJvcGVydHkgPSB0aGlzLmVudGl0eVt0YXJnZXRQcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHRhcmdldFByb3BlcnR5TmFtZSA9ICdvJyArIG5hbWUgYXMga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICAgICAgICB0YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFByb3BlcnR5W3RhcmdldFByb3BlcnR5TmFtZV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRhcmdldFByb3BlcnR5ICYmIHRhcmdldFByb3BlcnR5Lk1lcmdlX0RhdGEpIHtcclxuICAgICAgICAgIHRoaXMubWVyZ2VEYXRhID0gSlNPTi5wYXJzZSh0YXJnZXRQcm9wZXJ0eS5NZXJnZV9EYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tZXJnZURhdGEgPSBKU09OLnBhcnNlKHRoaXMuZW50aXR5Lk1lcmdlX0RhdGEpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL2NvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUcnVWYWxpZGF0aW9uRGlhbG9nKTtcclxuICAgICAgLy9jb25zdCBjb250YWluZXJSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PGFueT4oY29tcG9uZW50RmFjdG9yeSwgMCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yKTtcclxuICAgICAgLy90aGlzLmVsLmluc3RhbmNlLnZpZXcgPSB0aGlzLnZpZXc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vicy5wdXNoKHRoaXMuZGF0YUNvbnRleHQuZW50aXR5TWFuYWdlckNoYW5nZURldGVjdGlvbi5zdWJzY3JpYmUoZW50aXRpZXMgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhlbnRpdGllcyk7XHJcbiAgICAgIHRoaXMudmFsRXJyc0NoYW5nZWQoZW50aXRpZXMpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzID0+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.
|
|
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
|
}
|