@trudb/tru-common-lib 0.1.19 → 0.1.21
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/esm2022/public-api.mjs +1 -7
- package/fesm2022/trudb-tru-common-lib.mjs +1 -251
- package/fesm2022/trudb-tru-common-lib.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -6
- package/esm2022/lib/components/grid-validation-dialog/tru-grid-validation-dialog-config.mjs +0 -25
- package/esm2022/lib/components/grid-validation-dialog/tru-grid-validation-dialog-module.mjs +0 -19
- package/esm2022/lib/components/grid-validation-dialog/tru-grid-validation-dialog.mjs +0 -80
- package/esm2022/lib/directives/breeze-grid-validator/tru-breeze-grid-validator-module.mjs +0 -19
- package/esm2022/lib/directives/breeze-grid-validator/tru-breeze-grid-validator.mjs +0 -151
- package/lib/components/grid-validation-dialog/tru-grid-validation-dialog-config.d.ts +0 -13
- package/lib/components/grid-validation-dialog/tru-grid-validation-dialog-module.d.ts +0 -9
- package/lib/components/grid-validation-dialog/tru-grid-validation-dialog.d.ts +0 -24
- package/lib/directives/breeze-grid-validator/tru-breeze-grid-validator-module.d.ts +0 -9
- package/lib/directives/breeze-grid-validator/tru-breeze-grid-validator.d.ts +0 -35
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -59,8 +59,6 @@ export * from './lib/components/desktop/services/tru-window-event-args';
|
|
|
59
59
|
export * from './lib/components/desktop/services/tru-window-event-handler';
|
|
60
60
|
export * from './lib/components/export-dialog/tru-export-dialog';
|
|
61
61
|
export * from './lib/components/export-dialog/tru-export-dialog-module';
|
|
62
|
-
export * from './lib/components/grid-validation-dialog/tru-grid-validation-dialog';
|
|
63
|
-
export * from './lib/components/grid-validation-dialog/tru-grid-validation-dialog-module';
|
|
64
62
|
export * from './lib/components/layout/column/tru-column';
|
|
65
63
|
export * from './lib/components/layout/column/tru-column-module';
|
|
66
64
|
export * from './lib/components/layout/form/tru-form';
|
|
@@ -95,10 +93,6 @@ export * from './lib/components/validation-dialog/tru-validation-dialog';
|
|
|
95
93
|
export * from './lib/components/validation-dialog/tru-validation-dialog-config';
|
|
96
94
|
export * from './lib/components/validation-dialog/tru-validation-dialog-context';
|
|
97
95
|
export * from './lib/components/validation-dialog/tru-validation-dialog-module';
|
|
98
|
-
export * from './lib/components/grid-validation-dialog/tru-grid-validation-dialog';
|
|
99
|
-
export * from './lib/components/grid-validation-dialog/tru-grid-validation-dialog-module';
|
|
100
|
-
export * from './lib/directives/breeze-grid-validator/tru-breeze-grid-validator';
|
|
101
|
-
export * from './lib/directives/breeze-grid-validator/tru-breeze-grid-validator-module';
|
|
102
96
|
export * from './lib/directives/breeze-validator/tru-breeze-validator';
|
|
103
97
|
export * from './lib/directives/breeze-validator/tru-breeze-validator-module';
|
|
104
98
|
export * from './lib/directives/search-panel-position-manager/tru-search-panel-position-manager';
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export class TruGridValidationDialogConfig {
|
|
2
|
-
_entity;
|
|
3
|
-
_propertyName;
|
|
4
|
-
_errorMsg;
|
|
5
|
-
_mergeData;
|
|
6
|
-
get entity() {
|
|
7
|
-
return this._entity;
|
|
8
|
-
}
|
|
9
|
-
get propertyName() {
|
|
10
|
-
return this._propertyName;
|
|
11
|
-
}
|
|
12
|
-
get errorMsg() {
|
|
13
|
-
return this._errorMsg;
|
|
14
|
-
}
|
|
15
|
-
get mergeData() {
|
|
16
|
-
return this._mergeData;
|
|
17
|
-
}
|
|
18
|
-
constructor(entity, propertyName, errorMsg, mergeData = null) {
|
|
19
|
-
this._entity = entity;
|
|
20
|
-
this._propertyName = propertyName;
|
|
21
|
-
this._errorMsg = errorMsg;
|
|
22
|
-
this._mergeData = mergeData;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2ctY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2dyaWQtdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2ctY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyw2QkFBNkI7SUFDaEMsT0FBTyxDQUFnQjtJQUN2QixhQUFhLENBQVM7SUFDdEIsU0FBUyxDQUFTO0lBQ2xCLFVBQVUsQ0FBeUI7SUFFM0MsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUNFLE1BQXFCLEVBQ3JCLFlBQW9CLEVBQ3BCLFFBQWdCLEVBQ2hCLFlBQW9DLElBQUk7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUE7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJ1RW50aXR5QmFzZSB9IGZyb20gXCIuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlXCI7XHJcbmltcG9ydCB7IFRydU1lcmdlRGF0YVNldCB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhLXNldFwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVHcmlkVmFsaWRhdGlvbkRpYWxvZ0NvbmZpZyB7XHJcbiAgcHJpdmF0ZSBfZW50aXR5OiBUcnVFbnRpdHlCYXNlO1xyXG4gIHByaXZhdGUgX3Byb3BlcnR5TmFtZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2Vycm9yTXNnOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfbWVyZ2VEYXRhOiBUcnVNZXJnZURhdGFTZXQgfCBudWxsO1xyXG4gIFxyXG4gIHB1YmxpYyBnZXQgZW50aXR5KCk6IFRydUVudGl0eUJhc2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VudGl0eTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgcHJvcGVydHlOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJvcGVydHlOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBlcnJvck1zZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yTXNnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBtZXJnZURhdGEoKTogVHJ1TWVyZ2VEYXRhU2V0IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWVyZ2VEYXRhO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBlbnRpdHk6IFRydUVudGl0eUJhc2UsXHJcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcclxuICAgIGVycm9yTXNnOiBzdHJpbmcsXHJcbiAgICBtZXJnZURhdGE6IFRydU1lcmdlRGF0YVNldCB8IG51bGwgPSBudWxsKSB7XHJcbiAgICB0aGlzLl9lbnRpdHkgPSBlbnRpdHk7XHJcbiAgICB0aGlzLl9wcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVcclxuICAgIHRoaXMuX2Vycm9yTXNnID0gZXJyb3JNc2c7XHJcbiAgICB0aGlzLl9tZXJnZURhdGEgPSBtZXJnZURhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { CommonModule } from "@angular/common";
|
|
3
|
-
import { FormsModule } from "@angular/forms";
|
|
4
|
-
import { TruGridValidationDialog } from "./tru-grid-validation-dialog";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class TruGridValidationDialogModule {
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruGridValidationDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: TruGridValidationDialogModule, declarations: [TruGridValidationDialog], imports: [CommonModule, FormsModule], exports: [TruGridValidationDialog] });
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruGridValidationDialogModule, imports: [CommonModule, FormsModule] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruGridValidationDialogModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [TruGridValidationDialog],
|
|
15
|
-
imports: [CommonModule, FormsModule],
|
|
16
|
-
exports: [TruGridValidationDialog]
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2ctbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2dyaWQtdmFsaWRhdGlvbi1kaWFsb2cvdHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2ctbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFPdkUsTUFBTSxPQUFPLDZCQUE2Qjt1R0FBN0IsNkJBQTZCO3dHQUE3Qiw2QkFBNkIsaUJBSnpCLHVCQUF1QixhQUM1QixZQUFZLEVBQUUsV0FBVyxhQUN6Qix1QkFBdUI7d0dBRXRCLDZCQUE2QixZQUg5QixZQUFZLEVBQUUsV0FBVzs7MkZBR3hCLDZCQUE2QjtrQkFMekMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBUcnVHcmlkVmFsaWRhdGlvbkRpYWxvZyB9IGZyb20gXCIuL3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RydUdyaWRWYWxpZGF0aW9uRGlhbG9nXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgZXhwb3J0czogW1RydUdyaWRWYWxpZGF0aW9uRGlhbG9nXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1R3JpZFZhbGlkYXRpb25EaWFsb2dNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/tru-util";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class TruGridValidationDialog {
|
|
6
|
-
renderer;
|
|
7
|
-
elementRef;
|
|
8
|
-
util;
|
|
9
|
-
config;
|
|
10
|
-
close = new EventEmitter();
|
|
11
|
-
errorMsg = '';
|
|
12
|
-
rowElement;
|
|
13
|
-
cellElement;
|
|
14
|
-
listeners = [];
|
|
15
|
-
constructor(renderer, elementRef, util) {
|
|
16
|
-
this.renderer = renderer;
|
|
17
|
-
this.elementRef = elementRef;
|
|
18
|
-
this.util = util;
|
|
19
|
-
}
|
|
20
|
-
onAcceptAll = () => {
|
|
21
|
-
let entity = this.config.entity;
|
|
22
|
-
let originalValues = entity.entityAspect.originalValues;
|
|
23
|
-
for (const key in this.config.mergeData?.getAll()) {
|
|
24
|
-
entity[key] = this.config.mergeData?.get(key).value;
|
|
25
|
-
if (originalValues.hasOwnProperty(key))
|
|
26
|
-
delete originalValues[key];
|
|
27
|
-
}
|
|
28
|
-
;
|
|
29
|
-
if (Object.keys(originalValues).length === 0 && originalValues.constructor === Object)
|
|
30
|
-
entity.entityAspect.setUnchanged();
|
|
31
|
-
entity.Merge_Data_Set.clearAll();
|
|
32
|
-
entity.entityAspect.validateEntity();
|
|
33
|
-
this.close.emit();
|
|
34
|
-
};
|
|
35
|
-
onAccept = () => {
|
|
36
|
-
let entity = this.config.entity;
|
|
37
|
-
let originalValues = entity.entityAspect.originalValues;
|
|
38
|
-
let propertyName = this.config.propertyName;
|
|
39
|
-
entity[propertyName] = this.config.mergeData?.get(propertyName).value;
|
|
40
|
-
this.config.mergeData?.clear(propertyName);
|
|
41
|
-
if (originalValues.hasOwnProperty(propertyName) && (Object.keys(originalValues).length === 0 && originalValues.constructor === Object))
|
|
42
|
-
delete originalValues[propertyName];
|
|
43
|
-
if (this.config.mergeData?.isEmpty())
|
|
44
|
-
entity.entityAspect.setUnchanged();
|
|
45
|
-
entity.entityAspect.validateEntity();
|
|
46
|
-
this.close.emit();
|
|
47
|
-
};
|
|
48
|
-
onDecline = () => {
|
|
49
|
-
let entity = this.config.entity;
|
|
50
|
-
this.config.mergeData?.clearAll();
|
|
51
|
-
entity.entityAspect.validateEntity();
|
|
52
|
-
this.close.emit();
|
|
53
|
-
};
|
|
54
|
-
ngOnInit() { }
|
|
55
|
-
ngAfterViewInit() {
|
|
56
|
-
this.rowElement = this.util.findClosestAncestorByClass(this.elementRef.nativeElement, '.ag-row');
|
|
57
|
-
this.cellElement = this.util.findClosestAncestorByClass(this.elementRef.nativeElement, '.ag-cell-value');
|
|
58
|
-
this.rowElement.style.zIndex = '10000000000';
|
|
59
|
-
this.cellElement.classList.add('show');
|
|
60
|
-
this.errorMsg = this.config.errorMsg;
|
|
61
|
-
}
|
|
62
|
-
ngOnDestroy() {
|
|
63
|
-
this.rowElement = this.util.findClosestAncestorByClass(this.elementRef.nativeElement, '.ag-row');
|
|
64
|
-
this.cellElement = this.util.findClosestAncestorByClass(this.elementRef.nativeElement, '.ag-cell-value');
|
|
65
|
-
this.rowElement.style.zIndex = 'auto';
|
|
66
|
-
this.cellElement.classList.remove('show');
|
|
67
|
-
this.listeners.forEach(l => l());
|
|
68
|
-
}
|
|
69
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruGridValidationDialog, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.TruUtil }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: TruGridValidationDialog, selector: "tru-grid-validation-dialog", inputs: { config: "config" }, outputs: { close: "close" }, ngImport: i0, template: "<i class=\"icon-warning-sign icon-white\"></i>{{config.errorMsg}}\r\n<div *ngIf=\"config.mergeData\">\r\n <button class=\"md-primary md-button ng-scope md-ink-ripple merge-button\" (click)=\"onAcceptAll()\">Accept All</button>\r\n <button class=\"md-primary md-button ng-scope md-ink-ripple merge-button\" (click)=\"onAccept()\">Accept</button>\r\n <button class=\"md-primary md-button ng-scope md-ink-ripple merge-button\" (click)=\"onDecline()\">Decline</button>\r\n</div>\r\n", styles: ["::ng-deep .ag-row .ag-cell-value .invalid{position:absolute;left:0;top:22px;-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;font-size:12px}::ng-deep .ag-row .ag-cell-value.hide .invalid{display:none!important}::ng-deep .ag-row .ag-cell-value.show .invalid{display:inline-block!important}::ng-deep .ag-row .ag-cell-value.invalid.show{overflow:visible!important}.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}::ng-deep .ag-row .ag-cell-value .invalid{background-color:#bd362f;margin:2px 0 0;padding:4px 10px;border-radius:3px!important;background-position:15px center;background-repeat:no-repeat;-ms-box-shadow:0 0 12px #999999;box-shadow:0 0 12px #999;color:#fff;-ms-opacity:.9;opacity:.9;z-index:1000}.merge-button{margin:5px;background-color:#fff}::ng-deep .mat-mdc-form-field.invalid .mdc-line-ripple:before{border-bottom-color:red!important}::ng-deep .mat-mdc-form-field.invalid .mdc-line-ripple:after{border-bottom-color:red!important}.invalid{font-family:Calibri,Helvetica,Arial,sans-serif!important}i{line-height:24px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruGridValidationDialog, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{ selector: 'tru-grid-validation-dialog', template: "<i class=\"icon-warning-sign icon-white\"></i>{{config.errorMsg}}\r\n<div *ngIf=\"config.mergeData\">\r\n <button class=\"md-primary md-button ng-scope md-ink-ripple merge-button\" (click)=\"onAcceptAll()\">Accept All</button>\r\n <button class=\"md-primary md-button ng-scope md-ink-ripple merge-button\" (click)=\"onAccept()\">Accept</button>\r\n <button class=\"md-primary md-button ng-scope md-ink-ripple merge-button\" (click)=\"onDecline()\">Decline</button>\r\n</div>\r\n", styles: ["::ng-deep .ag-row .ag-cell-value .invalid{position:absolute;left:0;top:22px;-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;font-size:12px}::ng-deep .ag-row .ag-cell-value.hide .invalid{display:none!important}::ng-deep .ag-row .ag-cell-value.show .invalid{display:inline-block!important}::ng-deep .ag-row .ag-cell-value.invalid.show{overflow:visible!important}.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}::ng-deep .ag-row .ag-cell-value .invalid{background-color:#bd362f;margin:2px 0 0;padding:4px 10px;border-radius:3px!important;background-position:15px center;background-repeat:no-repeat;-ms-box-shadow:0 0 12px #999999;box-shadow:0 0 12px #999;color:#fff;-ms-opacity:.9;opacity:.9;z-index:1000}.merge-button{margin:5px;background-color:#fff}::ng-deep .mat-mdc-form-field.invalid .mdc-line-ripple:before{border-bottom-color:red!important}::ng-deep .mat-mdc-form-field.invalid .mdc-line-ripple:after{border-bottom-color:red!important}.invalid{font-family:Calibri,Helvetica,Arial,sans-serif!important}i{line-height:24px!important}\n"] }]
|
|
75
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.TruUtil }], propDecorators: { config: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], close: [{
|
|
78
|
-
type: Output
|
|
79
|
-
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZ3JpZC12YWxpZGF0aW9uLWRpYWxvZy90cnUtZ3JpZC12YWxpZGF0aW9uLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9ncmlkLXZhbGlkYXRpb24tZGlhbG9nL3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7QUFTakgsTUFBTSxPQUFPLHVCQUF1QjtJQVd4QjtJQUNBO0lBQ0E7SUFaRCxNQUFNLENBQWlDO0lBQ3RDLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXJDLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFFZCxVQUFVLENBQWU7SUFDekIsV0FBVyxDQUFlO0lBQzFCLFNBQVMsR0FBc0IsRUFBRSxDQUFDO0lBRTFDLFlBQ1UsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsSUFBYTtRQUZiLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFTO0lBQUksQ0FBQztJQUU1QixXQUFXLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBYSxDQUFDO1FBQ3ZDLElBQUksY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO1FBRXhELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFB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QztJQUN2QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQzt1R0EzRVUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsNkhDVHBDLG1lQU1BOzsyRkRHYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UsNEJBQTRCOzZIQUs3QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJ1VXRpbCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS11dGlsJztcclxuaW1wb3J0IHsgVHJ1R3JpZFZhbGlkYXRpb25EaWFsb2dDb25maWcgfSBmcm9tICcuL3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nLWNvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2cuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJ1LWdyaWQtdmFsaWRhdGlvbi1kaWFsb2cuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUdyaWRWYWxpZGF0aW9uRGlhbG9nIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IFRydUdyaWRWYWxpZGF0aW9uRGlhbG9nQ29uZmlnO1xyXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgZXJyb3JNc2c6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcml2YXRlIHJvd0VsZW1lbnQhOiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGNlbGxFbGVtZW50ITogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBsaXN0ZW5lcnM6IEFycmF5PCgpID0+IHZvaWQ+ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBcclxuICAgIHByaXZhdGUgdXRpbDogVHJ1VXRpbCkgeyB9XHJcblxyXG4gIG9uQWNjZXB0QWxsID0gKCkgPT4ge1xyXG4gICAgbGV0IGVudGl0eSA9IHRoaXMuY29uZmlnLmVudGl0eSBhcyBhbnk7XHJcbiAgICBsZXQgb3JpZ2luYWxWYWx1ZXMgPSBlbnRpdHkuZW50aXR5QXNwZWN0Lm9yaWdpbmFsVmFsdWVzO1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY29uZmlnLm1lcmdlRGF0YT8uZ2V0QWxsKCkpIHtcclxuICAgICAgZW50aXR5W2tleV0gPSB0aGlzLmNvbmZpZy5tZXJnZURhdGE/LmdldChrZXkpIS52YWx1ZTtcclxuICAgICAgaWYgKG9yaWdpbmFsVmFsdWVzLmhhc093blByb3BlcnR5KGtleSkpXHJcbiAgICAgICAgZGVsZXRlIG9yaWdpbmFsVmFsdWVzW2tleV07XHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChPYmplY3Qua2V5cyhvcmlnaW5hbFZhbHVlcykubGVuZ3RoID09PSAwICYmIG9yaWdpbmFsVmFsdWVzLmNvbnN0cnVjdG9yID09PSBPYmplY3QpXHJcbiAgICAgIGVudGl0eS5lbnRpdHlBc3BlY3Quc2V0VW5jaGFuZ2VkKCk7XHJcblxyXG4gICAgZW50aXR5Lk1lcmdlX0RhdGFfU2V0LmNsZWFyQWxsKCk7XHJcblxyXG4gICAgZW50aXR5LmVudGl0eUFzcGVjdC52YWxpZGF0ZUVudGl0eSgpO1xyXG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkFjY2VwdCA9ICgpID0+IHtcclxuICAgIGxldCBlbnRpdHkgPSB0aGlzLmNvbmZpZy5lbnRpdHkgYXMgYW55O1xyXG4gICAgbGV0IG9yaWdpbmFsVmFsdWVzID0gZW50aXR5LmVudGl0eUFzcGVjdC5vcmlnaW5hbFZhbHVlcztcclxuICAgIGxldCBwcm9wZXJ0eU5hbWUgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0eU5hbWU7XHJcblxyXG4gICAgZW50aXR5W3Byb3BlcnR5TmFtZV0gPSB0aGlzLmNvbmZpZy5tZXJnZURhdGE/LmdldChwcm9wZXJ0eU5hbWUpIS52YWx1ZTtcclxuICAgIHRoaXMuY29uZmlnLm1lcmdlRGF0YT8uY2xlYXIocHJvcGVydHlOYW1lKTtcclxuXHJcbiAgICBpZiAob3JpZ2luYWxWYWx1ZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSAmJiAoT2JqZWN0LmtleXMob3JpZ2luYWxWYWx1ZXMpLmxlbmd0aCA9PT0gMCAmJiBvcmlnaW5hbFZhbHVlcy5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSlcclxuICAgICAgZGVsZXRlIG9yaWdpbmFsVmFsdWVzW3Byb3BlcnR5TmFtZV07XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLm1lcmdlRGF0YT8uaXNFbXB0eSgpKVxyXG4gICAgICBlbnRpdHkuZW50aXR5QXNwZWN0LnNldFVuY2hhbmdlZCgpO1xyXG5cclxuICAgIGVudGl0eS5lbnRpdHlBc3BlY3QudmFsaWRhdGVFbnRpdHkoKTtcclxuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25EZWNsaW5lID0gKCkgPT4ge1xyXG4gICAgbGV0IGVudGl0eSA9IHRoaXMuY29uZmlnLmVudGl0eSBhcyBhbnk7XHJcbiAgICB0aGlzLmNvbmZpZy5tZXJnZURhdGE/LmNsZWFyQWxsKCk7XHJcbiAgICBlbnRpdHkuZW50aXR5QXNwZWN0LnZhbGlkYXRlRW50aXR5KCk7XHJcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3dFbGVtZW50ID0gdGhpcy51dGlsLmZpbmRDbG9zZXN0QW5jZXN0b3JCeUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnLmFnLXJvdycpO1xyXG4gICAgdGhpcy5jZWxsRWxlbWVudCA9IHRoaXMudXRpbC5maW5kQ2xvc2VzdEFuY2VzdG9yQnlDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJy5hZy1jZWxsLXZhbHVlJyk7XHJcbiAgICB0aGlzLnJvd0VsZW1lbnQuc3R5bGUuekluZGV4ID0gJzEwMDAwMDAwMDAwJztcclxuICAgIHRoaXMuY2VsbEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xyXG4gICAgdGhpcy5lcnJvck1zZyA9IHRoaXMuY29uZmlnLmVycm9yTXNnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvd0VsZW1lbnQgPSB0aGlzLnV0aWwuZmluZENsb3Nlc3RBbmNlc3RvckJ5Q2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICcuYWctcm93Jyk7XHJcbiAgICB0aGlzLmNlbGxFbGVtZW50ID0gdGhpcy51dGlsLmZpbmRDbG9zZXN0QW5jZXN0b3JCeUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnLmFnLWNlbGwtdmFsdWUnKTtcclxuICAgIHRoaXMucm93RWxlbWVudC5zdHlsZS56SW5kZXggPSAnYXV0byc7XHJcbiAgICB0aGlzLmNlbGxFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2gobCA9PiBsKCkpO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPGkgY2xhc3M9XCJpY29uLXdhcm5pbmctc2lnbiBpY29uLXdoaXRlXCI+PC9pPnt7Y29uZmlnLmVycm9yTXNnfX1cclxuPGRpdiAqbmdJZj1cImNvbmZpZy5tZXJnZURhdGFcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwibWQtcHJpbWFyeSBtZC1idXR0b24gbmctc2NvcGUgbWQtaW5rLXJpcHBsZSBtZXJnZS1idXR0b25cIiAoY2xpY2spPVwib25BY2NlcHRBbGwoKVwiPkFjY2VwdCBBbGw8L2J1dHRvbj5cclxuICA8YnV0dG9uIGNsYXNzPVwibWQtcHJpbWFyeSBtZC1idXR0b24gbmctc2NvcGUgbWQtaW5rLXJpcHBsZSBtZXJnZS1idXR0b25cIiAoY2xpY2spPVwib25BY2NlcHQoKVwiPkFjY2VwdDwvYnV0dG9uPlxyXG4gIDxidXR0b24gY2xhc3M9XCJtZC1wcmltYXJ5IG1kLWJ1dHRvbiBuZy1zY29wZSBtZC1pbmstcmlwcGxlIG1lcmdlLWJ1dHRvblwiIChjbGljayk9XCJvbkRlY2xpbmUoKVwiPkRlY2xpbmU8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { TruBreezeGridValidator } from './tru-breeze-grid-validator';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class TruBreezeGridValidatorModule {
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeGridValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeGridValidatorModule, declarations: [TruBreezeGridValidator], imports: [CommonModule, FormsModule], exports: [TruBreezeGridValidator] });
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeGridValidatorModule, imports: [CommonModule, FormsModule] });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeGridValidatorModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [TruBreezeGridValidator],
|
|
15
|
-
imports: [CommonModule, FormsModule],
|
|
16
|
-
exports: [TruBreezeGridValidator]
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS1ncmlkLXZhbGlkYXRvci1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvYnJlZXplLWdyaWQtdmFsaWRhdG9yL3RydS1icmVlemUtZ3JpZC12YWxpZGF0b3ItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFPckUsTUFBTSxPQUFPLDRCQUE0Qjt1R0FBNUIsNEJBQTRCO3dHQUE1Qiw0QkFBNEIsaUJBSnhCLHNCQUFzQixhQUMzQixZQUFZLEVBQUUsV0FBVyxhQUN6QixzQkFBc0I7d0dBRXJCLDRCQUE0QixZQUg3QixZQUFZLEVBQUUsV0FBVzs7MkZBR3hCLDRCQUE0QjtrQkFMeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRydUJyZWV6ZUdyaWRWYWxpZGF0b3IgfSBmcm9tICcuL3RydS1icmVlemUtZ3JpZC12YWxpZGF0b3InO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUcnVCcmVlemVHcmlkVmFsaWRhdG9yXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgZXhwb3J0czogW1RydUJyZWV6ZUdyaWRWYWxpZGF0b3JdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVCcmVlemVHcmlkVmFsaWRhdG9yTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { TruGridValidationDialog } from '../../components/grid-validation-dialog/tru-grid-validation-dialog';
|
|
3
|
-
import { TruValidationDialog } from '../../components/validation-dialog/tru-validation-dialog';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../services/tru-data-context";
|
|
6
|
-
export class TruBreezeGridValidator {
|
|
7
|
-
el;
|
|
8
|
-
dataContext;
|
|
9
|
-
viewContainerRef;
|
|
10
|
-
componentFactoryResolver;
|
|
11
|
-
entity;
|
|
12
|
-
config;
|
|
13
|
-
gridApi;
|
|
14
|
-
isSubProperty = false;
|
|
15
|
-
constructor(el, dataContext, viewContainerRef, componentFactoryResolver) {
|
|
16
|
-
this.el = el;
|
|
17
|
-
this.dataContext = dataContext;
|
|
18
|
-
this.viewContainerRef = viewContainerRef;
|
|
19
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
20
|
-
}
|
|
21
|
-
configModel = {};
|
|
22
|
-
mergeData;
|
|
23
|
-
dialogRef = null;
|
|
24
|
-
subs = [];
|
|
25
|
-
currentDialog = null;
|
|
26
|
-
getMergeData = () => {
|
|
27
|
-
if (this.config.propertyPath?.includes('/')) {
|
|
28
|
-
let propertyNameParts = this.config.propertyPath.split('/');
|
|
29
|
-
propertyNameParts.pop();
|
|
30
|
-
let targetProperty;
|
|
31
|
-
propertyNameParts.forEach((name) => {
|
|
32
|
-
if (!targetProperty) {
|
|
33
|
-
let targetPropertyName = 'o' + name;
|
|
34
|
-
targetProperty = this.entity[targetPropertyName];
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
let targetPropertyName = 'o' + name;
|
|
38
|
-
targetProperty = targetProperty[targetPropertyName];
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
if (targetProperty && targetProperty.Merge_Data) {
|
|
42
|
-
return targetProperty.Merge_Data_Set;
|
|
43
|
-
}
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
return this.entity.Merge_Data_Set?.get(this.config.propertyName) ? this.entity.Merge_Data_Set : undefined;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
parseErrorMessages = (validationErrors) => {
|
|
51
|
-
let errorMsg = '';
|
|
52
|
-
validationErrors.forEach((error) => {
|
|
53
|
-
errorMsg += error.errorMessage + '; ';
|
|
54
|
-
});
|
|
55
|
-
return errorMsg;
|
|
56
|
-
};
|
|
57
|
-
addValidationDialog = (config) => {
|
|
58
|
-
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruGridValidationDialog);
|
|
59
|
-
let component = this.viewContainerRef.createComponent(componentFactory, 0, this.viewContainerRef.injector);
|
|
60
|
-
component.instance.config = config;
|
|
61
|
-
this.currentDialog = component;
|
|
62
|
-
this.dialogRef = component;
|
|
63
|
-
};
|
|
64
|
-
addSubPropertyValidationDialog = (config) => {
|
|
65
|
-
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(TruValidationDialog);
|
|
66
|
-
let component = this.viewContainerRef.createComponent(componentFactory, 0, this.viewContainerRef.injector);
|
|
67
|
-
component.instance.config = config;
|
|
68
|
-
this.currentDialog = component;
|
|
69
|
-
this.dialogRef = component;
|
|
70
|
-
};
|
|
71
|
-
removeValidationDialog = () => {
|
|
72
|
-
if (this.currentDialog) {
|
|
73
|
-
this.currentDialog.destroy();
|
|
74
|
-
this.currentDialog = null;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
valErrsChanged = (validationObject) => {
|
|
78
|
-
let validationObjectEntity = validationObject.entity;
|
|
79
|
-
let validationTableName = validationObjectEntity.constructor.name;
|
|
80
|
-
const entityPkeyName = validationTableName + 'Ref';
|
|
81
|
-
const validationObjectEntitypkeyName = validationTableName + 'Ref';
|
|
82
|
-
let properties = [];
|
|
83
|
-
properties.push(this.config.propertyName?.split('.').join(""));
|
|
84
|
-
let subProperties = this.config.subProperties;
|
|
85
|
-
properties = properties.concat(subProperties);
|
|
86
|
-
let addedPropertyValdations = validationObject.added.filter((v) => {
|
|
87
|
-
return properties.includes(v.propertyName);
|
|
88
|
-
});
|
|
89
|
-
let removedPropertyValdations = validationObject.removed.filter((v) => {
|
|
90
|
-
return properties.includes(v.propertyName);
|
|
91
|
-
});
|
|
92
|
-
this.mergeData = this.getMergeData();
|
|
93
|
-
//if (
|
|
94
|
-
// this.config.rootTable === validationTableName &&
|
|
95
|
-
// this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName] &&
|
|
96
|
-
// (addedPropertyValdations.length || this.mergeData)) {
|
|
97
|
-
// this.removeValidationDialog();
|
|
98
|
-
// if (this.isSubProperty) {
|
|
99
|
-
// this.addSubPropertyValidationDialog(new TruValidationDialogConfig(
|
|
100
|
-
// this.entity,
|
|
101
|
-
// this.config.propertyName as string,
|
|
102
|
-
// this.parseErrorMessages(addedPropertyValdations),
|
|
103
|
-
// this.mergeData
|
|
104
|
-
// ));
|
|
105
|
-
// } else {
|
|
106
|
-
// this.addValidationDialog(new TruGridValidationDialogConfig(
|
|
107
|
-
// this.entity,
|
|
108
|
-
// this.config.propertyName as string,
|
|
109
|
-
// this.parseErrorMessages(addedPropertyValdations),
|
|
110
|
-
// this.mergeData
|
|
111
|
-
// ));
|
|
112
|
-
// }
|
|
113
|
-
//}
|
|
114
|
-
if (this.config.rootTable === validationTableName &&
|
|
115
|
-
this.entity[entityPkeyName] === validationObjectEntity[validationObjectEntitypkeyName] &&
|
|
116
|
-
(removedPropertyValdations.length)) {
|
|
117
|
-
this.removeValidationDialog();
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
ngOnInit() { }
|
|
121
|
-
ngAfterViewInit() {
|
|
122
|
-
this.subs.push(this.dataContext.validationChangeDetection.subscribe(entities => {
|
|
123
|
-
this.valErrsChanged(entities);
|
|
124
|
-
}));
|
|
125
|
-
this.entity.entityAspect.validateEntity();
|
|
126
|
-
}
|
|
127
|
-
ngOnChanges(changes) {
|
|
128
|
-
this.entity.entityAspect.validateEntity();
|
|
129
|
-
}
|
|
130
|
-
ngOnDestroy() {
|
|
131
|
-
this.subs.forEach(s => s.unsubscribe());
|
|
132
|
-
}
|
|
133
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeGridValidator, deps: [{ token: i0.ElementRef }, { token: i1.TruDataContext }, { token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
|
|
134
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: TruBreezeGridValidator, selector: "[truBreezeGridValidator]", inputs: { entity: ["truBreezeGridValidator", "entity"], config: "config", gridApi: "gridApi", isSubProperty: "isSubProperty" }, usesOnChanges: true, ngImport: i0 });
|
|
135
|
-
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TruBreezeGridValidator, decorators: [{
|
|
137
|
-
type: Directive,
|
|
138
|
-
args: [{
|
|
139
|
-
selector: '[truBreezeGridValidator]'
|
|
140
|
-
}]
|
|
141
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.TruDataContext }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }], propDecorators: { entity: [{
|
|
142
|
-
type: Input,
|
|
143
|
-
args: ['truBreezeGridValidator']
|
|
144
|
-
}], config: [{
|
|
145
|
-
type: Input
|
|
146
|
-
}], gridApi: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}], isSubProperty: [{
|
|
149
|
-
type: Input
|
|
150
|
-
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJyZWV6ZS1ncmlkLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvZGlyZWN0aXZlcy9icmVlemUtZ3JpZC12YWxpZGF0b3IvdHJ1LWJyZWV6ZS1ncmlkLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBDLFNBQVMsRUFBYyxLQUFLLEVBQXNELE1BQU0sZUFBZSxDQUFDO0FBVXpKLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7QUFPL0YsTUFBTSxPQUFPLHNCQUFzQjtJQU92QjtJQUNBO0lBQ0E7SUFDQTtJQVR1QixNQUFNLENBQWlCO0lBQy9DLE1BQU0sQ0FBaUU7SUFDdkUsT0FBTyxDQUF1QjtJQUM5QixhQUFhLEdBQVksS0FBSyxDQUFDO0lBRXhDLFlBQ1UsRUFBYyxFQUNkLFdBQTJCLEVBQzNCLGdCQUFrQyxFQUNsQyx3QkFBa0Q7UUFIbEQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFDNUQsQ0FBQztJQUVELFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDdEIsU0FBUyxDQUFNO0lBRVAsU0FBUyxHQUE2QixJQUFJLENBQUM7SUFDM0MsSUFBSSxHQUF3QixFQUFFLENBQUM7SUFDL0IsYUFBYSxHQUFxRixJQUFJLENBQUE7SUFFdEcsWUFBWSxHQUFHLEdBQWdDLEVBQUU7UUFDdkQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxpQkFBaUIsR0FBRyxJ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QUVrQyxNQUFNO3NCQUF0QyxLQUFLO3VCQUFDLHdCQUF3QjtnQkFDdEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdyaWRBcGkgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2JyZWV6ZS1jbGllbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZm9yRWFjaCB9IGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5pbXBvcnQgeyBUcnVFZGl0Q29udHJvbENvbmZpZ0Jhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVkaXQtY29udHJvbC1jb25maWctYmFzZSc7XHJcbmltcG9ydCB7IFRydUVudGl0eUJhc2UgfSBmcm9tICcuLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlJztcclxuaW1wb3J0IHsgVHJ1TGlzdENvbnRyb2xDb25maWdCYXNlIH0gZnJvbSAnLi4vLi4vYmFzZS1jbGFzc2VzL3RydS1saXN0LWNvbnRyb2wtY29uZmlnLWJhc2UnO1xyXG5pbXBvcnQgeyBUcnVNZXJnZURhdGEgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RydS1tZXJnZS1kYXRhJztcclxuaW1wb3J0IHsgVHJ1TWVyZ2VEYXRhU2V0IH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90cnUtbWVyZ2UtZGF0YS1zZXQnO1xyXG5pbXBvcnQgeyBUcnVHcmlkVmFsaWRhdGlvbkRpYWxvZyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZ3JpZC12YWxpZGF0aW9uLWRpYWxvZy90cnUtZ3JpZC12YWxpZGF0aW9uLWRpYWxvZyc7XHJcbmltcG9ydCB7IFRydUdyaWRWYWxpZGF0aW9uRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9ncmlkLXZhbGlkYXRpb24tZGlhbG9nL3RydS1ncmlkLXZhbGlkYXRpb24tZGlhbG9nLWNvbmZpZyc7XHJcbmltcG9ydCB7IFRydVZhbGlkYXRpb25EaWFsb2cgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZyc7XHJcbmltcG9ydCB7IFRydVZhbGlkYXRpb25EaWFsb2dDb25maWcgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZGlhbG9nL3RydS12YWxpZGF0aW9uLWRpYWxvZy1jb25maWcnO1xyXG5pbXBvcnQgeyBUcnVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RydS1kYXRhLWNvbnRleHQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdHJ1QnJlZXplR3JpZFZhbGlkYXRvcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVCcmVlemVHcmlkVmFsaWRhdG9yIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgndHJ1QnJlZXplR3JpZFZhbGlkYXRvcicpIGVudGl0eSE6IFRydUVudGl0eUJhc2U7XHJcbiAgQElucHV0KCkgY29uZmlnITogVHJ1RWRpdENvbnRyb2xDb25maWdCYXNlPGFueT4gfCBUcnVMaXN0Q29udHJvbENvbmZpZ0Jhc2U8YW55PjtcclxuICBASW5wdXQoKSBncmlkQXBpITogR3JpZEFwaSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBpc1N1YlByb3BlcnR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgZGF0YUNvbnRleHQ6IFRydURhdGFDb250ZXh0LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuXHJcbiAgY29uZmlnTW9kZWw6IGFueSA9IHt9O1xyXG4gIG1lcmdlRGF0YTogYW55O1xyXG5cclxuICBwcml2YXRlIGRpYWxvZ1JlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHN1YnM6IEFycmF5PFN1YnNjcmlwdGlvbj4gPSBbXTtcclxuICBwcml2YXRlIGN1cnJlbnREaWFsb2c6IENvbXBvbmVudFJlZjxUcnVHcmlkVmFsaWRhdGlvbkRpYWxvZz4gfCBDb21wb25lbnRSZWY8VHJ1VmFsaWRhdGlvbkRpYWxvZz4gfCBudWxsID0gbnVsbFxyXG5cclxuICBwcml2YXRlIGdldE1lcmdlRGF0YSA9ICgpOiBUcnVNZXJnZURhdGFTZXQgfCB1bmRlZmluZWQgPT4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnByb3BlcnR5UGF0aD8uaW5jbHVkZXMoJy8nKSkge1xyXG4gICAgICBsZXQgcHJvcGVydHlOYW1lUGFydHMgPSB0aGlzLmNvbmZpZy5wcm9wZXJ0eVBhdGguc3BsaXQoJy8nKTtcclxuICAgICAgcHJvcGVydHlOYW1lUGFydHMucG9wKCk7XHJcbiAgICAgIGxldCB0YXJnZXRQcm9wZXJ0eTogYW55O1xyXG4gICAgICBwcm9wZXJ0eU5hbWVQYXJ0cy5mb3JFYWNoKChuYW1lKSA9PiB7XHJcbiAgICAgICAgaWYgKCF0YXJnZXRQcm9wZXJ0eSkge1xyXG4gICAgICAgICAgbGV0IHRhcmdldFByb3BlcnR5TmFtZSA9ICdvJyArIG5hbWUgYXMga2V5b2YgdHlwZW9mIHRoaXMuZW50aXR5O1xyXG4gICAgICAgICAgdGFyZ2V0UHJvcGVydHkgPSB0aGlzLmVudGl0eVt0YXJnZXRQcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgdGFyZ2V0UHJvcGVydHlOYW1lID0gJ28nICsgbmFtZSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5lbnRpdHk7XHJcbiAgICAgICAgICB0YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFByb3BlcnR5W3RhcmdldFByb3BlcnR5TmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRhcmdldFByb3BlcnR5ICYmIHRhcmdldFByb3BlcnR5Lk1lcmdlX0RhdGEpIHtcclxuICAgICAgICByZXR1cm4gdGFyZ2V0UHJvcGVydHkuTWVyZ2VfRGF0YV9TZXQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmVudGl0eS5NZXJnZV9EYXRhX1NldD8uZ2V0KHRoaXMuY29uZmlnLnByb3BlcnR5TmFtZSBhcyBzdHJpbmcpID8gdGhpcy5lbnRpdHkuTWVyZ2VfRGF0YV9TZXQgOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlRXJyb3JNZXNzYWdlcyA9ICh2YWxpZGF0aW9uRXJyb3JzOiBBcnJheTxWYWxpZGF0aW9uRXJyb3I+KTogc3RyaW5nID0+IHtcclxuICAgIGxldCBlcnJvck1zZzogc3RyaW5nID0gJyc7XHJcbiAgICB2YWxpZGF0aW9uRXJyb3JzLmZvckVhY2goKGVycm9yKSA9PiB7XHJcbiAgICAgIGVycm9yTXNnICs9IGVycm9yLmVycm9yTWVzc2FnZSArICc7ICc7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBlcnJvck1zZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkVmFsaWRhdGlvbkRpYWxvZyA9IChjb25maWc6IFRydUdyaWRWYWxpZGF0aW9uRGlhbG9nQ29uZmlnKSA9PiB7XHJcbiAgICBsZXQgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRydUdyaWRWYWxpZGF0aW9uRGlhbG9nKTtcclxuICAgIGxldCBjb21wb25lbnQgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PFRydUdyaWRWYWxpZGF0aW9uRGlhbG9nPihjb21wb25lbnRGYWN0b3J5LCAwLCB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpO1xyXG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmNvbmZpZyA9IGNvbmZpZztcclxuICAgIHRoaXMuY3VycmVudERpYWxvZyA9IGNvbXBvbmVudDtcclxuICAgIHRoaXMuZGlhbG9nUmVmID0gY29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRTdWJQcm9wZXJ0eVZhbGlkYXRpb25EaWFsb2cgPSAoY29uZmlnOiBUcnVWYWxpZGF0aW9uRGlhbG9nQ29uZmlnKSA9PiB7XHJcbiAgICBsZXQgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRydVZhbGlkYXRpb25EaWFsb2cpO1xyXG4gICAgbGV0IGNvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQ8VHJ1VmFsaWRhdGlvbkRpYWxvZz4oY29tcG9uZW50RmFjdG9yeSwgMCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yKTtcclxuICAgIGNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSBjb25maWc7XHJcbiAgICB0aGlzLmN1cnJlbnREaWFsb2cgPSBjb21wb25lbnQ7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZiA9IGNvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlVmFsaWRhdGlvbkRpYWxvZyA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnREaWFsb2cpIHtcclxuICAgICAgdGhpcy5jdXJyZW50RGlhbG9nLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jdXJyZW50RGlhbG9nID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbEVycnNDaGFuZ2VkID0gKHZhbGlkYXRpb25PYmplY3Q6IGFueSkgPT4ge1xyXG4gICAgbGV0IHZhbGlkYXRpb25PYmplY3RFbnRpdHkgPSB2YWxpZGF0aW9uT2JqZWN0LmVudGl0eVxyXG4gICAgbGV0IHZhbGlkYXRpb25UYWJsZU5hbWUgPSB2YWxpZGF0aW9uT2JqZWN0RW50aXR5LmNvbnN0cnVjdG9yLm5hbWU7XHJcblxyXG4gICAgdHlwZSBFbnRpdHlPYmplY3RLZXkgPSBrZXlvZiB0eXBlb2YgdGhpcy5lbnRpdHk7XHJcbiAgICBjb25zdCBlbnRpdHlQa2V5TmFtZSA9IHZhbGlkYXRpb25UYWJsZU5hbWUgKyAnUmVmJyBhcyBFbnRpdHlPYmplY3RLZXk7XHJcblxyXG4gICAgdHlwZSBWYWxpZGF0aW9uT2JqZWN0RW50aXR5T2JqZWN0S2V5ID0ga2V5b2YgdHlwZW9mIHZhbGlkYXRpb25PYmplY3RFbnRpdHk7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uT2JqZWN0RW50aXR5cGtleU5hbWUgPSB2YWxpZGF0aW9uVGFibGVOYW1lICsgJ1JlZicgYXMgVmFsaWRhdGlvbk9iamVjdEVudGl0eU9iamVjdEtleTtcclxuXHJcbiAgICBsZXQgcHJvcGVydGllczogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gICAgcHJvcGVydGllcy5wdXNoKHRoaXMuY29uZmlnLnByb3BlcnR5TmFtZT8uc3BsaXQoJy4nKS5qb2luKFwiXCIpIGFzIHN0cmluZyk7XHJcbiAgICBsZXQgc3ViUHJvcGVydGllcyA9IHRoaXMuY29uZmlnLnN1YlByb3BlcnRpZXM7XHJcbiAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcy5jb25jYXQoc3ViUHJvcGVydGllcyk7XHJcbiAgICBsZXQgYWRkZWRQcm9wZXJ0eVZhbGRhdGlvbnMgPSB2YWxpZGF0aW9uT2JqZWN0LmFkZGVkLmZpbHRlcigodjogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzLmluY2x1ZGVzKHYucHJvcGVydHlOYW1lKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGxldCByZW1vdmVkUHJvcGVydHlWYWxkYXRpb25zID0gdmFsaWRhdGlvbk9iamVjdC5yZW1vdmVkLmZpbHRlcigodjogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiBwcm9wZXJ0aWVzLmluY2x1ZGVzKHYucHJvcGVydHlOYW1lKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubWVyZ2VEYXRhID0gdGhpcy5nZXRNZXJnZURhdGEoKTtcclxuXHJcbiAgICAvL2lmIChcclxuICAgIC8vICB0aGlzLmNvbmZpZy5yb290VGFibGUgPT09IHZhbGlkYXRpb25UYWJsZU5hbWUgJiZcclxuICAgIC8vICB0aGlzLmVudGl0eVtlbnRpdHlQa2V5TmFtZV0gPT09IHZhbGlkYXRpb25PYmplY3RFbnRpdHlbdmFsaWRhdGlvbk9iamVjdEVudGl0eXBrZXlOYW1lXSAmJlxyXG4gICAgLy8gIChhZGRlZFByb3BlcnR5VmFsZGF0aW9ucy5sZW5ndGggfHwgdGhpcy5tZXJnZURhdGEpKSB7XHJcbiAgICAvLyAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uRGlhbG9nKCk7XHJcbiAgICAvLyAgaWYgKHRoaXMuaXNTdWJQcm9wZXJ0eSkge1xyXG4gICAgLy8gICAgdGhpcy5hZGRTdWJQcm9wZXJ0eVZhbGlkYXRpb25EaWFsb2cobmV3IFRydVZhbGlkYXRpb25EaWFsb2dDb25maWcoXHJcbiAgICAvLyAgICAgIHRoaXMuZW50aXR5LFxyXG4gICAgLy8gICAgICB0aGlzLmNvbmZpZy5wcm9wZXJ0eU5hbWUgYXMgc3RyaW5nLFxyXG4gICAgLy8gICAgICB0aGlzLnBhcnNlRXJyb3JNZXNzYWdlcyhhZGRlZFByb3BlcnR5VmFsZGF0aW9ucyksXHJcbiAgICAvLyAgICAgIHRoaXMubWVyZ2VEYXRhXHJcbiAgICAvLyAgICApKTtcclxuICAgIC8vICB9IGVsc2Uge1xyXG4gICAgLy8gICAgdGhpcy5hZGRWYWxpZGF0aW9uRGlhbG9nKG5ldyBUcnVHcmlkVmFsaWRhdGlvbkRpYWxvZ0NvbmZpZyhcclxuICAgIC8vICAgICAgdGhpcy5lbnRpdHksXHJcbiAgICAvLyAgICAgIHRoaXMuY29uZmlnLnByb3BlcnR5TmFtZSBhcyBzdHJpbmcsXHJcbiAgICAvLyAgICAgIHRoaXMucGFyc2VFcnJvck1lc3NhZ2VzKGFkZGVkUHJvcGVydHlWYWxkYXRpb25zKSxcclxuICAgIC8vICAgICAgdGhpcy5tZXJnZURhdGFcclxuICAgIC8vICAgICkpO1xyXG4gICAgLy8gIH1cclxuICAgIC8vfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jb25maWcucm9vdFRhYmxlID09PSB2YWxpZGF0aW9uVGFibGVOYW1lICYmXHJcbiAgICAgIHRoaXMuZW50aXR5W2VudGl0eVBrZXlOYW1lXSA9PT0gdmFsaWRhdGlvbk9iamVjdEVudGl0eVt2YWxpZGF0aW9uT2JqZWN0RW50aXR5cGtleU5hbWVdICYmXHJcbiAgICAgIChyZW1vdmVkUHJvcGVydHlWYWxkYXRpb25zLmxlbmd0aCkpIHtcclxuICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMucHVzaCh0aGlzLmRhdGFDb250ZXh0LnZhbGlkYXRpb25DaGFuZ2VEZXRlY3Rpb24uc3Vic2NyaWJlKGVudGl0aWVzID0+IHtcclxuICAgICAgdGhpcy52YWxFcnJzQ2hhbmdlZChlbnRpdGllcyk7XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmVudGl0eS5lbnRpdHlBc3BlY3QudmFsaWRhdGVFbnRpdHkoKTsgICAgXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmVudGl0eS5lbnRpdHlBc3BlY3QudmFsaWRhdGVFbnRpdHkoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { TruEntityBase } from "../../base-classes/tru-entity-base";
|
|
2
|
-
import { TruMergeDataSet } from "../../classes/tru-merge-data-set";
|
|
3
|
-
export declare class TruGridValidationDialogConfig {
|
|
4
|
-
private _entity;
|
|
5
|
-
private _propertyName;
|
|
6
|
-
private _errorMsg;
|
|
7
|
-
private _mergeData;
|
|
8
|
-
get entity(): TruEntityBase;
|
|
9
|
-
get propertyName(): string;
|
|
10
|
-
get errorMsg(): string;
|
|
11
|
-
get mergeData(): TruMergeDataSet | null;
|
|
12
|
-
constructor(entity: TruEntityBase, propertyName: string, errorMsg: string, mergeData?: TruMergeDataSet | null);
|
|
13
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./tru-grid-validation-dialog";
|
|
3
|
-
import * as i2 from "@angular/common";
|
|
4
|
-
import * as i3 from "@angular/forms";
|
|
5
|
-
export declare class TruGridValidationDialogModule {
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TruGridValidationDialogModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TruGridValidationDialogModule, [typeof i1.TruGridValidationDialog], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof i1.TruGridValidationDialog]>;
|
|
8
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<TruGridValidationDialogModule>;
|
|
9
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
|
|
2
|
-
import { TruUtil } from '../../services/tru-util';
|
|
3
|
-
import { TruGridValidationDialogConfig } from './tru-grid-validation-dialog-config';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TruGridValidationDialog implements OnInit, OnDestroy {
|
|
6
|
-
private renderer;
|
|
7
|
-
private elementRef;
|
|
8
|
-
private util;
|
|
9
|
-
config: TruGridValidationDialogConfig;
|
|
10
|
-
close: EventEmitter<any>;
|
|
11
|
-
errorMsg: string;
|
|
12
|
-
private rowElement;
|
|
13
|
-
private cellElement;
|
|
14
|
-
private listeners;
|
|
15
|
-
constructor(renderer: Renderer2, elementRef: ElementRef, util: TruUtil);
|
|
16
|
-
onAcceptAll: () => void;
|
|
17
|
-
onAccept: () => void;
|
|
18
|
-
onDecline: () => void;
|
|
19
|
-
ngOnInit(): void;
|
|
20
|
-
ngAfterViewInit(): void;
|
|
21
|
-
ngOnDestroy(): void;
|
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TruGridValidationDialog, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TruGridValidationDialog, "tru-grid-validation-dialog", never, { "config": { "alias": "config"; "required": false; }; }, { "close": "close"; }, never, never, false, never>;
|
|
24
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./tru-breeze-grid-validator";
|
|
3
|
-
import * as i2 from "@angular/common";
|
|
4
|
-
import * as i3 from "@angular/forms";
|
|
5
|
-
export declare class TruBreezeGridValidatorModule {
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TruBreezeGridValidatorModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TruBreezeGridValidatorModule, [typeof i1.TruBreezeGridValidator], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof i1.TruBreezeGridValidator]>;
|
|
8
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<TruBreezeGridValidatorModule>;
|
|
9
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ComponentFactoryResolver, ElementRef, OnDestroy, OnInit, SimpleChanges, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { GridApi } from 'ag-grid-community';
|
|
3
|
-
import { TruEditControlConfigBase } from '../../base-classes/tru-edit-control-config-base';
|
|
4
|
-
import { TruEntityBase } from '../../base-classes/tru-entity-base';
|
|
5
|
-
import { TruListControlConfigBase } from '../../base-classes/tru-list-control-config-base';
|
|
6
|
-
import { TruDataContext } from '../../services/tru-data-context';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class TruBreezeGridValidator implements OnInit, OnDestroy {
|
|
9
|
-
private el;
|
|
10
|
-
private dataContext;
|
|
11
|
-
private viewContainerRef;
|
|
12
|
-
private componentFactoryResolver;
|
|
13
|
-
entity: TruEntityBase;
|
|
14
|
-
config: TruEditControlConfigBase<any> | TruListControlConfigBase<any>;
|
|
15
|
-
gridApi: GridApi | undefined;
|
|
16
|
-
isSubProperty: boolean;
|
|
17
|
-
constructor(el: ElementRef, dataContext: TruDataContext, viewContainerRef: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver);
|
|
18
|
-
configModel: any;
|
|
19
|
-
mergeData: any;
|
|
20
|
-
private dialogRef;
|
|
21
|
-
private subs;
|
|
22
|
-
private currentDialog;
|
|
23
|
-
private getMergeData;
|
|
24
|
-
private parseErrorMessages;
|
|
25
|
-
private addValidationDialog;
|
|
26
|
-
private addSubPropertyValidationDialog;
|
|
27
|
-
private removeValidationDialog;
|
|
28
|
-
valErrsChanged: (validationObject: any) => void;
|
|
29
|
-
ngOnInit(): void;
|
|
30
|
-
ngAfterViewInit(): void;
|
|
31
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
32
|
-
ngOnDestroy(): void;
|
|
33
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TruBreezeGridValidator, never>;
|
|
34
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TruBreezeGridValidator, "[truBreezeGridValidator]", never, { "entity": { "alias": "truBreezeGridValidator"; "required": false; }; "config": { "alias": "config"; "required": false; }; "gridApi": { "alias": "gridApi"; "required": false; }; "isSubProperty": { "alias": "isSubProperty"; "required": false; }; }, {}, never, never, false, never>;
|
|
35
|
-
}
|