imng-kendo-data-entry 4.200.4 → 5.224.5
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/base-data-entry.component.mjs +23 -15
- package/esm2020/lib/data-entry-dialog.component.mjs +15 -14
- package/esm2020/lib/dialog-buttons.directive.mjs +3 -3
- package/esm2020/lib/form-group-patcher.mjs +2 -2
- package/esm2020/lib/imng-kendo-data-entry.module.mjs +4 -4
- package/esm2020/lib/reducer-collection-logic.mjs +13 -7
- package/esm2020/testing/mock-data-entry-dialog.component.mjs +5 -1
- package/fesm2015/imng-kendo-data-entry-testing.mjs +4 -0
- package/fesm2015/imng-kendo-data-entry-testing.mjs.map +1 -1
- package/fesm2015/imng-kendo-data-entry.mjs +56 -42
- package/fesm2015/imng-kendo-data-entry.mjs.map +1 -1
- package/fesm2020/imng-kendo-data-entry-testing.mjs +4 -0
- package/fesm2020/imng-kendo-data-entry-testing.mjs.map +1 -1
- package/fesm2020/imng-kendo-data-entry.mjs +56 -41
- package/fesm2020/imng-kendo-data-entry.mjs.map +1 -1
- package/lib/base-data-entry.component.d.ts +13 -7
- package/lib/data-entry-dialog.component.d.ts +2 -2
- package/lib/form-group-patcher.d.ts +2 -2
- package/package.json +1 -1
- package/testing/mock-data-entry-dialog.component.d.ts +4 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Directive, Inject, InjectionToken, Input, } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
4
3
|
import { Subscriptions } from 'imng-ngrx-utils';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
const FACADE = new InjectionToken('imng-data-entry-facade');
|
|
@@ -26,7 +25,6 @@ export class BaseDataEntryComponent {
|
|
|
26
25
|
this.ENUM_DISPLAY_TEXT = 'displayText';
|
|
27
26
|
this.ENUM_NAME = 'name';
|
|
28
27
|
this.allSubscriptions = new Subscriptions();
|
|
29
|
-
this.addEditForm = new UntypedFormGroup({});
|
|
30
28
|
this._submitted$ = new BehaviorSubject(false);
|
|
31
29
|
this.loading$ = this.facade.loading$;
|
|
32
30
|
this.initForm();
|
|
@@ -51,38 +49,48 @@ export class BaseDataEntryComponent {
|
|
|
51
49
|
if (!this.addEditForm.valid) {
|
|
52
50
|
console.error('form validation errors.'); //NOSONAR
|
|
53
51
|
console.error(JSON.stringify(this.getFormErrors())); //NOSONAR
|
|
54
|
-
return;
|
|
52
|
+
return false;
|
|
55
53
|
}
|
|
56
54
|
this.save();
|
|
57
55
|
this.closeForm();
|
|
56
|
+
return true;
|
|
58
57
|
}
|
|
59
58
|
isDataInvalid() {
|
|
60
59
|
return this.addEditForm.invalid;
|
|
61
60
|
}
|
|
62
61
|
// convenience getter for easy access to form fields
|
|
63
|
-
formControl(controlName) {
|
|
64
|
-
return
|
|
62
|
+
formControl(controlName, controls = this.addEditForm.controls) {
|
|
63
|
+
return controls[controlName];
|
|
65
64
|
}
|
|
66
|
-
formControlErrors(
|
|
67
|
-
|
|
65
|
+
formControlErrors(control, controls = this.addEditForm.controls) {
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
+
const tempControl = typeof control === 'string' ? controls[control] : control;
|
|
68
|
+
if (tempControl?.valid && !tempControl?.errors) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return tempControl?.errors;
|
|
68
72
|
}
|
|
69
73
|
formMinLengthError(controlName) {
|
|
70
74
|
return this.formControlErrors(controlName)?.[this.MinLengthError];
|
|
71
75
|
}
|
|
72
|
-
getFormErrors() {
|
|
76
|
+
getFormErrors(controls = this.addEditForm.controls, parentControlName) {
|
|
73
77
|
const errors = [];
|
|
74
|
-
for (const
|
|
75
|
-
const
|
|
78
|
+
for (const controlName of Object.keys(controls)) {
|
|
79
|
+
const control = controls[controlName];
|
|
80
|
+
const error = this.formControlErrors(control, controls);
|
|
76
81
|
if (error) {
|
|
77
|
-
errors.push({
|
|
82
|
+
errors.push({ controlName: parentControlName ? `${parentControlName}.${controlName}` : controlName, error });
|
|
83
|
+
}
|
|
84
|
+
if (control?.controls) {
|
|
85
|
+
errors.push(...this.getFormErrors(control.controls, parentControlName ? `${parentControlName}.${controlName}` : controlName));
|
|
78
86
|
}
|
|
79
87
|
}
|
|
80
88
|
return errors;
|
|
81
89
|
}
|
|
82
90
|
}
|
|
83
|
-
BaseDataEntryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
84
|
-
BaseDataEntryComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
91
|
+
BaseDataEntryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Directive });
|
|
92
|
+
BaseDataEntryComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BaseDataEntryComponent, inputs: { width: "width", height: "height" }, ngImport: i0 });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
|
|
86
94
|
type: Directive
|
|
87
95
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
88
96
|
type: Inject,
|
|
@@ -92,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
92
100
|
}], height: [{
|
|
93
101
|
type: Input
|
|
94
102
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFxQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJGLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTlELE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUMvQix3QkFBd0IsQ0FDekIsQ0FBQztBQUVGOzs7Ozs7Ozs7OztHQVdHO0FBRUgsTUFBTSxPQUFnQixzQkFBc0I7SUFzQjFDLFlBQTRDLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBbEIxQyxVQUFLLEdBQW9CLEdBQUcsQ0FBQyxDQUFDLFNBQVM7UUFDdkMsV0FBTSxHQUFvQixHQUFHLENBQUMsQ0FBQyxTQUFTO1FBQ3hDLG1CQUFjLEdBQUcsV0FBVyxDQUFDO1FBQzdCLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUNsQyxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsZ0JBQVcsR0FBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQyxnQkFBVyxHQUE2QixJQUFJLGVBQWUsQ0FDMUUsS0FBZ0IsQ0FDakIsQ0FBQztRQU1BLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFORCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFNTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzlELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxvREFBb0Q7SUFDN0MsV0FBVyxDQUFDLFdBQW1CO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNNLGlCQUFpQixDQUFDLFdBQW1CO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDL0MsQ0FBQztJQUNNLGtCQUFrQixDQUN2QixXQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBQ00sYUFBYTtRQUNsQixNQUFNLE1BQU0sR0FBbUQsRUFBRSxDQUFDO1FBQ2xFLEtBQUssTUFBTSxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDakM7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O21IQS9FbUIsc0JBQXNCLGtCQXNCdEIsTUFBTTt1R0F0Qk4sc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVM7OzBCQXVCSyxNQUFNOzJCQUFDLE1BQU07NENBbEJWLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElCYXNlRGF0YUVudHJ5RmFjYWRlIH0gZnJvbSAnLi9kYXRhLWVudHJ5LWZhY2FkZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmFibGUsIFN1YnNjcmlwdGlvbnMgfSBmcm9tICdpbW5nLW5ncngtdXRpbHMnO1xuXG5jb25zdCBGQUNBREUgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUJhc2VEYXRhRW50cnlGYWNhZGU+KFxuICAnaW1uZy1kYXRhLWVudHJ5LWZhY2FkZScsXG4pO1xuXG4vKipcbiAqIFRoZSBleHRlbmRpbmcgY2xhc3MgaGFzIHRvIGltcGxlbWVudCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgb24gbmdJbml0XG4gKiBkaWFsb2dUaXRsZTogc3RyaW5nIC0gVGhpcyB3aWxsIGJlIHRoZSB0ZXh0IGRpc3BsYXllZCBhdCB0aGUgdG9wIG9mIHRoZSBtb2RhbCB0aXRsZSBiYXJcbiAqIHByb3BzOiBlbnVtIC0gVGhpcyBpcyBhIGhlbHBlciBwcm9wZXJ0eSB0byBtYWtlIHRoZSBodG1sIG1hcmt1cCB0eXBlIHNhZmVcbiAqXG4gKiBBbG9uZyB3aXRoIHRoZSByZXF1aXJlbWVudHMgYWJvdmUsIHRoZSBleHRlbmRpbmcgY2xhc3MgaGFzIHRvIHNldCB2YWx1ZXMgdG8gdGhlXG4gKiBmb2xsb3dpbmcgcHJvcGVydGllcyBvbiBuZ0luaXRcbiAqIGFjdGl2ZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gLSBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSBhc3NpZ25lZCB0byB0aGUgaXNOZXdBY3RpdmUkIG9yIGlzRWRpdEFjdGl2ZSBvbiB0aGUgZmFjYWRlXG4gKiBhZGRFZGl0Rm9ybTogRm9ybUdyb3VwIC0gVGhpcyB3aWxsIGJlIGNyZWF0ZWQgYnkgeW91ciBjb21wb25lbnRcbiAqXG4gKiBAY2xhc3MgQmFzZURhdGFFbnRyeUNvbXBvbmVudD5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURhdGFFbnRyeUNvbXBvbmVudDxcbiAgRkFDQURFIGV4dGVuZHMgSUJhc2VEYXRhRW50cnlGYWNhZGUsXG4+IGltcGxlbWVudHMgT25EZXN0cm95LCBTdWJzY3JpYmFibGVcbntcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSA4MDA7IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIgPSA2MDA7IC8vTk9TT05BUlxuICBwdWJsaWMgcmVhZG9ubHkgTWluTGVuZ3RoRXJyb3IgPSAnbWlubGVuZ3RoJztcbiAgcHVibGljIHJlYWRvbmx5IFJlcXVpcmVkRXJyb3IgPSAncmVxdWlyZWQnO1xuICBwdWJsaWMgcmVhZG9ubHkgRU5VTV9ESVNQTEFZX1RFWFQgPSAnZGlzcGxheVRleHQnO1xuICBwdWJsaWMgcmVhZG9ubHkgRU5VTV9OQU1FID0gJ25hbWUnO1xuICBwdWJsaWMgYWxsU3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb25zKCk7XG4gIHB1YmxpYyBhYnN0cmFjdCBkaWFsb2dUaXRsZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcHJvcHM6IHVua25vd247XG4gIHB1YmxpYyBhZGRFZGl0Rm9ybTogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgcHVibGljIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJtaXR0ZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIGZhbHNlIGFzIGJvb2xlYW4sXG4gICk7XG5cbiAgcHVibGljIGdldCBzdWJtaXR0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9zdWJtaXR0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRkFDQURFKSBwdWJsaWMgcmVhZG9ubHkgZmFjYWRlOiBGQUNBREUpIHtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5mYWNhZGUubG9hZGluZyQ7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWxsU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZUFsbCgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5mYWNhZGUuY2xlYXJDdXJyZW50RW50aXR5KCk7XG4gICAgdGhpcy5fc3VibWl0dGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIG9uU3VibWl0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1Ym1pdHRlZCQubmV4dCh0cnVlKTtcblxuICAgIC8vIHN0b3AgaGVyZSBpZiBmb3JtIGlzIGludmFsaWRcbiAgICBpZiAoIXRoaXMuYWRkRWRpdEZvcm0udmFsaWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2Zvcm0gdmFsaWRhdGlvbiBlcnJvcnMuJyk7IC8vTk9TT05BUlxuICAgICAgY29uc29sZS5lcnJvcihKU09OLnN0cmluZ2lmeSh0aGlzLmdldEZvcm1FcnJvcnMoKSkpOyAvL05PU09OQVJcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zYXZlKCk7XG4gICAgdGhpcy5jbG9zZUZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0RhdGFJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFkZEVkaXRGb3JtLmludmFsaWQ7XG4gIH1cblxuICAvLyBjb252ZW5pZW5jZSBnZXR0ZXIgZm9yIGVhc3kgYWNjZXNzIHRvIGZvcm0gZmllbGRzXG4gIHB1YmxpYyBmb3JtQ29udHJvbChjb250cm9sTmFtZTogc3RyaW5nKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFZGl0Rm9ybS5jb250cm9sc1tjb250cm9sTmFtZV07XG4gIH1cbiAgcHVibGljIGZvcm1Db250cm9sRXJyb3JzKGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUNvbnRyb2woY29udHJvbE5hbWUpPy5lcnJvcnM7XG4gIH1cbiAgcHVibGljIGZvcm1NaW5MZW5ndGhFcnJvcihcbiAgICBjb250cm9sTmFtZTogc3RyaW5nLFxuICApOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH0gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbEVycm9ycyhjb250cm9sTmFtZSk/Llt0aGlzLk1pbkxlbmd0aEVycm9yXTtcbiAgfVxuICBwdWJsaWMgZ2V0Rm9ybUVycm9ycygpOiB7IGNvbnRyb2w6IHN0cmluZzsgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfVtdIHtcbiAgICBjb25zdCBlcnJvcnM6IHsgY29udHJvbDogc3RyaW5nOyBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB9W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGNvbnRyb2wgb2YgT2JqZWN0LmtleXModGhpcy5hZGRFZGl0Rm9ybS5jb250cm9scykpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5mb3JtQ29udHJvbEVycm9ycyhjb250cm9sKTtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBlcnJvcnMucHVzaCh7IGNvbnRyb2wsIGVycm9yIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGluaXRGb3JtKCk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBzYXZlKCk6IHZvaWQ7XG59XG4iXX0=
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbkQsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQy9CLHdCQUF3QixDQUN6QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQWdCLHNCQUFzQjtJQXFCMUMsWUFBNEMsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFsQjFDLFVBQUssR0FBb0IsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN2QyxXQUFNLEdBQW9CLEdBQUcsQ0FBQyxDQUFDLFNBQVM7UUFDeEMsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxVQUFVLENBQUM7UUFDM0Isc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxNQUFNLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUs3QixnQkFBVyxHQUE2QixJQUFJLGVBQWUsQ0FDMUUsS0FBZ0IsQ0FDakIsQ0FBQztRQU1BLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFORCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFNTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzlELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxvREFBb0Q7SUFDN0MsV0FBVyxDQUFDLFdBQW1CLEVBQUUsV0FBZ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO1FBQy9HLE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxPQUFpQyxFQUFFLFdBQW9FLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTtRQUN2Siw4REFBOEQ7UUFDOUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBRSxRQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdkYsSUFBSSxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtZQUM5QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFDTSxrQkFBa0IsQ0FDdkIsV0FBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNNLGFBQWEsQ0FBQyxXQUFvRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxpQkFBMEI7UUFDNUksTUFBTSxNQUFNLEdBQXdELEVBQUUsQ0FBQztRQUN2RSxLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0MsTUFBTSxPQUFPLEdBQUksUUFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3hELElBQUksS0FBSyxFQUFFO2dCQUNULE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQzlHO1lBQ0QsSUFBSyxPQUFxQixFQUFFLFFBQVEsRUFBRTtnQkFFcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUUsT0FBcUIsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7YUFDOUk7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O21IQTFGbUIsc0JBQXNCLGtCQXFCdEIsTUFBTTt1R0FyQk4sc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVM7OzBCQXNCSyxNQUFNOzJCQUFDLE1BQU07NENBbEJWLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgRm9ybUdyb3VwLCBGb3JtQXJyYXkgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQmFzZURhdGFFbnRyeUZhY2FkZSB9IGZyb20gJy4vZGF0YS1lbnRyeS1mYWNhZGUnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlLCBTdWJzY3JpcHRpb25zIH0gZnJvbSAnaW1uZy1uZ3J4LXV0aWxzJztcblxuY29uc3QgRkFDQURFID0gbmV3IEluamVjdGlvblRva2VuPElCYXNlRGF0YUVudHJ5RmFjYWRlPihcbiAgJ2ltbmctZGF0YS1lbnRyeS1mYWNhZGUnLFxuKTtcblxuLyoqXG4gKiBUaGUgZXh0ZW5kaW5nIGNsYXNzIGhhcyB0byBpbXBsZW1lbnQgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG9uIG5nSW5pdFxuICogZGlhbG9nVGl0bGU6IHN0cmluZyAtIFRoaXMgd2lsbCBiZSB0aGUgdGV4dCBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbW9kYWwgdGl0bGUgYmFyXG4gKiBwcm9wczogZW51bSAtIFRoaXMgaXMgYSBoZWxwZXIgcHJvcGVydHkgdG8gbWFrZSB0aGUgaHRtbCBtYXJrdXAgdHlwZSBzYWZlXG4gKlxuICogQWxvbmcgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIGFib3ZlLCB0aGUgZXh0ZW5kaW5nIGNsYXNzIGhhcyB0byBzZXQgdmFsdWVzIHRvIHRoZVxuICogZm9sbG93aW5nIHByb3BlcnRpZXMgb24gbmdJbml0XG4gKiBhY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IC0gVGhpcyB0eXBpY2FsbHkgd291bGQgYmUgYXNzaWduZWQgdG8gdGhlIGlzTmV3QWN0aXZlJCBvciBpc0VkaXRBY3RpdmUgb24gdGhlIGZhY2FkZVxuICogYWRkRWRpdEZvcm06IEZvcm1Hcm91cCAtIFRoaXMgd2lsbCBiZSBjcmVhdGVkIGJ5IHlvdXIgY29tcG9uZW50XG4gKlxuICogQGNsYXNzIEJhc2VEYXRhRW50cnlDb21wb25lbnQ+XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VEYXRhRW50cnlDb21wb25lbnQ8XG4gIEZBQ0FERSBleHRlbmRzIElCYXNlRGF0YUVudHJ5RmFjYWRlLFxuICA+IGltcGxlbWVudHMgT25EZXN0cm95LCBTdWJzY3JpYmFibGUge1xuICBASW5wdXQoKSBwdWJsaWMgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDgwMDsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciA9IDYwMDsgLy9OT1NPTkFSXG4gIHB1YmxpYyByZWFkb25seSBNaW5MZW5ndGhFcnJvciA9ICdtaW5sZW5ndGgnO1xuICBwdWJsaWMgcmVhZG9ubHkgUmVxdWlyZWRFcnJvciA9ICdyZXF1aXJlZCc7XG4gIHB1YmxpYyByZWFkb25seSBFTlVNX0RJU1BMQVlfVEVYVCA9ICdkaXNwbGF5VGV4dCc7XG4gIHB1YmxpYyByZWFkb25seSBFTlVNX05BTUUgPSAnbmFtZSc7XG4gIHB1YmxpYyBhbGxTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbnMoKTtcbiAgcHVibGljIGFic3RyYWN0IGRpYWxvZ1RpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCBwcm9wczogdW5rbm93bjtcbiAgcHVibGljIGFic3RyYWN0IGFkZEVkaXRGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3VibWl0dGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICBmYWxzZSBhcyBib29sZWFuLFxuICApO1xuXG4gIHB1YmxpYyBnZXQgc3VibWl0dGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fc3VibWl0dGVkJC5hc09ic2VydmFibGUoKTtcbiAgfVxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEZBQ0FERSkgcHVibGljIHJlYWRvbmx5IGZhY2FkZTogRkFDQURFKSB7XG4gICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMuZmFjYWRlLmxvYWRpbmckO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbFN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmVBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuZmFjYWRlLmNsZWFyQ3VycmVudEVudGl0eSgpO1xuICAgIHRoaXMuX3N1Ym1pdHRlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICB0aGlzLl9zdWJtaXR0ZWQkLm5leHQodHJ1ZSk7XG5cbiAgICAvLyBzdG9wIGhlcmUgaWYgZm9ybSBpcyBpbnZhbGlkXG4gICAgaWYgKCF0aGlzLmFkZEVkaXRGb3JtLnZhbGlkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdmb3JtIHZhbGlkYXRpb24gZXJyb3JzLicpOyAvL05PU09OQVJcbiAgICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRGb3JtRXJyb3JzKCkpKTsgLy9OT1NPTkFSXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuc2F2ZSgpO1xuICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNEYXRhSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFZGl0Rm9ybS5pbnZhbGlkO1xuICB9XG5cbiAgLy8gY29udmVuaWVuY2UgZ2V0dGVyIGZvciBlYXN5IGFjY2VzcyB0byBmb3JtIGZpZWxkc1xuICBwdWJsaWMgZm9ybUNvbnRyb2woY29udHJvbE5hbWU6IHN0cmluZywgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sOyB9ID0gdGhpcy5hZGRFZGl0Rm9ybS5jb250cm9scyk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIGNvbnRyb2xzW2NvbnRyb2xOYW1lXTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtQ29udHJvbEVycm9ycyhjb250cm9sOiBzdHJpbmcgfCBBYnN0cmFjdENvbnRyb2wsIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbDsgfSB8IEFic3RyYWN0Q29udHJvbFtdID0gdGhpcy5hZGRFZGl0Rm9ybS5jb250cm9scyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGNvbnN0IHRlbXBDb250cm9sID0gdHlwZW9mIGNvbnRyb2wgPT09ICdzdHJpbmcnID8gKGNvbnRyb2xzIGFzIGFueSlbY29udHJvbF0gOiBjb250cm9sO1xuICAgIGlmICh0ZW1wQ29udHJvbD8udmFsaWQgJiYgIXRlbXBDb250cm9sPy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGVtcENvbnRyb2w/LmVycm9ycztcbiAgfVxuICBwdWJsaWMgZm9ybU1pbkxlbmd0aEVycm9yKFxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmcsXG4gICk6IHsgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjsgYWN0dWFsTGVuZ3RoOiBudW1iZXI7IH0gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbEVycm9ycyhjb250cm9sTmFtZSk/Llt0aGlzLk1pbkxlbmd0aEVycm9yXTtcbiAgfVxuICBwdWJsaWMgZ2V0Rm9ybUVycm9ycyhjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2w7IH0gfCBBYnN0cmFjdENvbnRyb2xbXSA9IHRoaXMuYWRkRWRpdEZvcm0uY29udHJvbHMsIHBhcmVudENvbnRyb2xOYW1lPzogc3RyaW5nKTogeyBjb250cm9sTmFtZTogc3RyaW5nOyBlcnJvcjogVmFsaWRhdGlvbkVycm9yczsgfVtdIHtcbiAgICBjb25zdCBlcnJvcnM6IHsgY29udHJvbE5hbWU6IHN0cmluZzsgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnM7IH1bXSA9IFtdO1xuICAgIGZvciAoY29uc3QgY29udHJvbE5hbWUgb2YgT2JqZWN0LmtleXMoY29udHJvbHMpKSB7XG4gICAgICBjb25zdCBjb250cm9sID0gKGNvbnRyb2xzIGFzIG5ldmVyKVtjb250cm9sTmFtZV07XG4gICAgICBjb25zdCBlcnJvciA9IHRoaXMuZm9ybUNvbnRyb2xFcnJvcnMoY29udHJvbCwgY29udHJvbHMpO1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHsgY29udHJvbE5hbWU6IHBhcmVudENvbnRyb2xOYW1lID8gYCR7cGFyZW50Q29udHJvbE5hbWV9LiR7Y29udHJvbE5hbWV9YCA6IGNvbnRyb2xOYW1lLCBlcnJvciB9KTtcbiAgICAgIH1cbiAgICAgIGlmICgoY29udHJvbCBhcyBGb3JtQXJyYXkpPy5jb250cm9scykge1xuXG4gICAgICAgIGVycm9ycy5wdXNoKC4uLnRoaXMuZ2V0Rm9ybUVycm9ycygoY29udHJvbCBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzLCBwYXJlbnRDb250cm9sTmFtZSA/IGAke3BhcmVudENvbnRyb2xOYW1lfS4ke2NvbnRyb2xOYW1lfWAgOiBjb250cm9sTmFtZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGluaXRGb3JtKCk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBzYXZlKCk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -29,19 +29,19 @@ export class DataEntryDialogComponent {
|
|
|
29
29
|
this.parentComponent?.onSubmit();
|
|
30
30
|
}
|
|
31
31
|
get dialogActionBtnsCtx() {
|
|
32
|
+
//NOSONAR
|
|
32
33
|
return {
|
|
33
34
|
$implicit: { cancel: () => this.cancel(), submit: () => this.submit() },
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
|
-
DataEntryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
38
|
-
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
38
|
+
DataEntryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent", saveButtonText: "saveButtonText" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
39
40
|
[width]="width"
|
|
40
41
|
[minWidth]="minWidth ?? width"
|
|
41
42
|
[height]="height"
|
|
42
43
|
(close)="close()"
|
|
43
|
-
[autoFocusedElement]="autoFocusedElement || ''"
|
|
44
|
-
>
|
|
44
|
+
[autoFocusedElement]="autoFocusedElement || ''">
|
|
45
45
|
<kendo-dialog-titlebar class="bg-primary">{{
|
|
46
46
|
dialogTitle
|
|
47
47
|
}}</kendo-dialog-titlebar>
|
|
@@ -51,19 +51,20 @@ DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
|
51
51
|
*ngTemplateOutlet="
|
|
52
52
|
dialogBtnsTemplate || defaultDialogActionsTpl;
|
|
53
53
|
context: dialogActionBtnsCtx
|
|
54
|
-
"
|
|
55
|
-
>
|
|
54
|
+
">
|
|
56
55
|
</ng-container>
|
|
57
56
|
</kendo-dialog-actions>
|
|
58
57
|
</kendo-dialog>
|
|
59
58
|
|
|
60
59
|
<ng-template #defaultDialogActionsTpl>
|
|
61
|
-
<button kendoButton (click)="cancel()" class="btn btn-secondary btn-sm">
|
|
60
|
+
<button kendoButton (click)="cancel()" class="btn btn-secondary btn-sm">
|
|
61
|
+
Cancel
|
|
62
|
+
</button>
|
|
62
63
|
<button kendoButton (click)="submit()" class="btn btn-primary btn-sm">
|
|
63
64
|
{{ saveButtonText }}
|
|
64
65
|
</button>
|
|
65
66
|
</ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: i2.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { kind: "component", type: i2.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
|
|
67
68
|
type: Component,
|
|
68
69
|
args: [{
|
|
69
70
|
selector: 'imng-data-entry-dialog[parentComponent]',
|
|
@@ -72,8 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
72
73
|
[minWidth]="minWidth ?? width"
|
|
73
74
|
[height]="height"
|
|
74
75
|
(close)="close()"
|
|
75
|
-
[autoFocusedElement]="autoFocusedElement || ''"
|
|
76
|
-
>
|
|
76
|
+
[autoFocusedElement]="autoFocusedElement || ''">
|
|
77
77
|
<kendo-dialog-titlebar class="bg-primary">{{
|
|
78
78
|
dialogTitle
|
|
79
79
|
}}</kendo-dialog-titlebar>
|
|
@@ -83,14 +83,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
83
83
|
*ngTemplateOutlet="
|
|
84
84
|
dialogBtnsTemplate || defaultDialogActionsTpl;
|
|
85
85
|
context: dialogActionBtnsCtx
|
|
86
|
-
"
|
|
87
|
-
>
|
|
86
|
+
">
|
|
88
87
|
</ng-container>
|
|
89
88
|
</kendo-dialog-actions>
|
|
90
89
|
</kendo-dialog>
|
|
91
90
|
|
|
92
91
|
<ng-template #defaultDialogActionsTpl>
|
|
93
|
-
<button kendoButton (click)="cancel()" class="btn btn-secondary btn-sm">
|
|
92
|
+
<button kendoButton (click)="cancel()" class="btn btn-secondary btn-sm">
|
|
93
|
+
Cancel
|
|
94
|
+
</button>
|
|
94
95
|
<button kendoButton (click)="submit()" class="btn btn-primary btn-sm">
|
|
95
96
|
{{ saveButtonText }}
|
|
96
97
|
</button>
|
|
@@ -113,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
113
114
|
type: ContentChild,
|
|
114
115
|
args: [DialogButtonsDirective, { static: true, read: TemplateRef }]
|
|
115
116
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFrQ3BFLE1BQU0sT0FBTyx3QkFBd0I7SUFoQ3JDO1FBa0NrQixVQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN0QixXQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQU92QixtQkFBYyxHQUFHLE1BQU0sQ0FBQztRQWNqQyxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBNkIxQjtJQXhCUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsTUFBTSxJQUFJLFNBQVMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ00sTUFBTTtRQUNYLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksbUJBQW1CO1FBQ3JCLFNBQVM7UUFDVCxPQUFPO1lBQ0wsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1NBQ3hFLENBQUM7SUFDSixDQUFDOztxSEFwRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsbVRBV3JCLHNCQUFzQiwyQkFBd0IsV0FBVywyQ0F6QzdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBMkJPOzJGQUdOLHdCQUF3QjtrQkFoQ3BDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztvQkFDbkQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBMkJPO29CQUNqQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBRWlCLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUlVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBV0Msa0JBQWtCO3NCQVZ4QixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWRhdGEtZW50cnkuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0J1dHRvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpYWxvZy1idXR0b25zLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltbmctZGF0YS1lbnRyeS1kaWFsb2dbcGFyZW50Q29tcG9uZW50XScsXG4gIHRlbXBsYXRlOiBgPGtlbmRvLWRpYWxvZ1xuICAgICAgW3dpZHRoXT1cIndpZHRoXCJcbiAgICAgIFttaW5XaWR0aF09XCJtaW5XaWR0aCA/PyB3aWR0aFwiXG4gICAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgICAoY2xvc2UpPVwiY2xvc2UoKVwiXG4gICAgICBbYXV0b0ZvY3VzZWRFbGVtZW50XT1cImF1dG9Gb2N1c2VkRWxlbWVudCB8fCAnJ1wiPlxuICAgICAgPGtlbmRvLWRpYWxvZy10aXRsZWJhciBjbGFzcz1cImJnLXByaW1hcnlcIj57e1xuICAgICAgICBkaWFsb2dUaXRsZVxuICAgICAgfX08L2tlbmRvLWRpYWxvZy10aXRsZWJhcj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDxrZW5kby1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkaWFsb2dCdG5zVGVtcGxhdGUgfHwgZGVmYXVsdERpYWxvZ0FjdGlvbnNUcGw7XG4gICAgICAgICAgICBjb250ZXh0OiBkaWFsb2dBY3Rpb25CdG5zQ3R4XG4gICAgICAgICAgXCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9rZW5kby1kaWFsb2ctYWN0aW9ucz5cbiAgICA8L2tlbmRvLWRpYWxvZz5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERpYWxvZ0FjdGlvbnNUcGw+XG4gICAgICA8YnV0dG9uIGtlbmRvQnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCI+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGtlbmRvQnV0dG9uIChjbGljayk9XCJzdWJtaXQoKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPlxuICAgICAgICB7eyBzYXZlQnV0dG9uVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUVudHJ5RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIG1pbldpZHRoPzogbnVtYmVyOyAvL05PU09OQVJcbiAgQElucHV0KCkgcHVibGljIHdpZHRoID0gODAwOyAvL05PU09OQVJcbiAgQElucHV0KCkgcHVibGljIGhlaWdodCA9IDYwMDsgLy9OT1NPTkFSXG4gIC8qKlxuICAgKiBodHRwczovL3d3dy50ZWxlcmlrLmNvbS9rZW5kby1hbmd1bGFyLXVpL2NvbXBvbmVudHMvZGlhbG9ncy9kaWFsb2cvaW5pdGlhbC1mb2N1cy9cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvRm9jdXNlZEVsZW1lbnQ/OiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJlbnRDb21wb25lbnQ/OiBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PGFueT47IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgc2F2ZUJ1dHRvblRleHQgPSAnU2F2ZSc7XG4gIEBDb250ZW50Q2hpbGQoRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIC8qKlxuICAgKiBFeGFtcGxlIFVzYWdlOlxuICAgKiA8aW1uZy1kYXRhLWVudHJ5LWRpYWxvZz5cbiAgICogLi4uLi4uXG4gICAqICA8bmctdGVtcGxhdGUgW2ltbmdEaWFsb2dCdG5zXSBsZXQtY29yZUJ1dHRvbnM+XG4gICAqICAgIDxidXR0b24gaWQ9XCJidG5DdXN0b20xXCIgY2xhc3M9XCJrLWJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiPkNsb3NlPC9idXR0b24+XG4gICAqICA8L25nLXRlbXBsYXRlPlxuICAgKiA8L2ltbmctZGF0YS1lbnRyeS1kaWFsb2c+XG4gICAqL1xuICBwdWJsaWMgZGlhbG9nQnRuc1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIHB1YmxpYyBsb2FkaW5nJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBhZGRFZGl0Rm9ybT86IEZvcm1Hcm91cDtcbiAgcHVibGljIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICBwdWJsaWMgZGlhbG9nVGl0bGU/OiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHB1YmxpYyBjb21wb25lbnQ/OiB7fTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBhcmVudENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIGlucHV0ICdwYXJlbnRDb21wb25lbnQnIGlzIHJlcXVpcmVkYCk7XG4gICAgfVxuICAgIHRoaXMuZGlhbG9nVGl0bGUgPSB0aGlzLnBhcmVudENvbXBvbmVudC5kaWFsb2dUaXRsZTtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5wYXJlbnRDb21wb25lbnQubG9hZGluZyQ7XG4gICAgdGhpcy5hZGRFZGl0Rm9ybSA9IHRoaXMucGFyZW50Q29tcG9uZW50LmFkZEVkaXRGb3JtO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5jbG9zZUZvcm0oKTtcbiAgfVxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5vbkNhbmNlbCgpO1xuICB9XG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnRDb21wb25lbnQ/Lm9uU3VibWl0KCk7XG4gIH1cbiAgZ2V0IGRpYWxvZ0FjdGlvbkJ0bnNDdHgoKTogb2JqZWN0IHwgbnVsbCB7XG4gICAgLy9OT1NPTkFSXG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogeyBjYW5jZWw6ICgpID0+IHRoaXMuY2FuY2VsKCksIHN1Ym1pdDogKCkgPT4gdGhpcy5zdWJtaXQoKSB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,9 +5,9 @@ export class DialogButtonsDirective {
|
|
|
5
5
|
this.tpl = tpl;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
DialogButtonsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
9
|
-
DialogButtonsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
8
|
+
DialogButtonsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
DialogButtonsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: DialogButtonsDirective, selector: "[imngDialogBtns]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DialogButtonsDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{ selector: '[imngDialogBtns]' }]
|
|
13
13
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { take, tap, filter } from 'rxjs/operators';
|
|
2
|
-
export const formGroupPatcher = (addEditForm) => (source) => source.pipe(filter(t => !!t), take(1), tap(t => addEditForm.patchValue(t)));
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const formGroupPatcher = (addEditForm) => (source) => source.pipe(filter((t) => !!t), take(1), tap((t) => addEditForm.patchValue(t)));
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1wYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9mb3JtLWdyb3VwLXBhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQzNCLENBQVUsV0FBc0IsRUFBRSxFQUFFLENBQ3BDLENBQUMsTUFBMkIsRUFBRSxFQUFFLENBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2UsIHRhcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgZm9ybUdyb3VwUGF0Y2hlciA9XG4gIDxURW50aXR5PihhZGRFZGl0Rm9ybTogRm9ybUdyb3VwKSA9PlxuICAoc291cmNlOiBPYnNlcnZhYmxlPFRFbnRpdHk+KSA9PlxuICAgIHNvdXJjZS5waXBlKFxuICAgICAgZmlsdGVyKCh0KSA9PiAhIXQpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHRhcCgodCkgPT4gYWRkRWRpdEZvcm0ucGF0Y2hWYWx1ZSh0KSksXG4gICAgKTtcbiJdfQ==
|
|
@@ -6,10 +6,10 @@ import { DialogModule } from '@progress/kendo-angular-dialog';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class ImngDataEntryDialogModule {
|
|
8
8
|
}
|
|
9
|
-
ImngDataEntryDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
10
|
-
ImngDataEntryDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
11
|
-
ImngDataEntryDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
9
|
+
ImngDataEntryDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
ImngDataEntryDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] });
|
|
11
|
+
ImngDataEntryDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [CommonModule, DialogModule],
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
export function updateStateCollectionItem(collection, item) {
|
|
2
|
-
const items = [...collection];
|
|
3
2
|
const index = collection.findIndex((val) => val.id === item.id);
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
if (index > -1) {
|
|
4
|
+
const items = [...collection];
|
|
5
|
+
items.splice(index, 1, item);
|
|
6
|
+
return items;
|
|
7
|
+
}
|
|
8
|
+
return collection;
|
|
6
9
|
}
|
|
7
10
|
export function removeStateCollectionItem(collection, item) {
|
|
8
|
-
const items = [...collection];
|
|
9
11
|
const index = collection.findIndex((val) => val.id === item.id);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
if (index > -1) {
|
|
13
|
+
const items = [...collection];
|
|
14
|
+
items.splice(index, 1);
|
|
15
|
+
return items;
|
|
16
|
+
}
|
|
17
|
+
return collection;
|
|
12
18
|
}
|
|
13
19
|
export function addStateCollectionItem(collection, item) {
|
|
14
20
|
const items = [...collection];
|
|
15
21
|
items.unshift(item);
|
|
16
22
|
return items;
|
|
17
23
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci1jb2xsZWN0aW9uLWxvZ2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9yZWR1Y2VyLWNvbGxlY3Rpb24tbG9naWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFvQixFQUNwQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDZCxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFvQixFQUNwQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDZCxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLFVBQW9CLEVBQ3BCLElBQVk7SUFFWixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWx1ZVR5cGUgfSBmcm9tICdpbW5nLW5yc3J4LWNsaWVudC11dGlscyc7XG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlU3RhdGVDb2xsZWN0aW9uSXRlbTxFbnRpdHkgZXh0ZW5kcyB7IGlkPzogVmFsdWVUeXBlOyB9PihcbiAgY29sbGVjdGlvbjogRW50aXR5W10sXG4gIGl0ZW06IEVudGl0eVxuKTogRW50aXR5W10ge1xuICBjb25zdCBpbmRleCA9IGNvbGxlY3Rpb24uZmluZEluZGV4KCh2YWwpID0+IHZhbC5pZCA9PT0gaXRlbS5pZCk7XG4gIGlmIChpbmRleCA+IC0xKSB7XG4gICAgY29uc3QgaXRlbXMgPSBbLi4uY29sbGVjdGlvbl07XG4gICAgaXRlbXMuc3BsaWNlKGluZGV4LCAxLCBpdGVtKTtcbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cbiAgcmV0dXJuIGNvbGxlY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVTdGF0ZUNvbGxlY3Rpb25JdGVtPEVudGl0eSBleHRlbmRzIHsgaWQ/OiBWYWx1ZVR5cGU7IH0+KFxuICBjb2xsZWN0aW9uOiBFbnRpdHlbXSxcbiAgaXRlbTogRW50aXR5XG4pOiBFbnRpdHlbXSB7XG4gIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoKHZhbCkgPT4gdmFsLmlkID09PSBpdGVtLmlkKTtcbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHJldHVybiBpdGVtcztcbiAgfVxuICByZXR1cm4gY29sbGVjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFN0YXRlQ29sbGVjdGlvbkl0ZW08RW50aXR5IGV4dGVuZHMgeyBpZD86IFZhbHVlVHlwZTsgfT4oXG4gIGNvbGxlY3Rpb246IEVudGl0eVtdLFxuICBpdGVtOiBFbnRpdHlcbik6IEVudGl0eVtdIHtcbiAgY29uc3QgaXRlbXMgPSBbLi4uY29sbGVjdGlvbl07XG4gIGl0ZW1zLnVuc2hpZnQoaXRlbSk7XG4gIHJldHVybiBpdGVtcztcbn1cbiJdfQ==
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
2
3
|
import { BaseDataEntryComponent } from 'imng-kendo-data-entry';
|
|
3
4
|
export class MockDataEntryComponent extends BaseDataEntryComponent {
|
|
4
5
|
constructor() {
|
|
5
6
|
super(...arguments);
|
|
6
7
|
this.dialogTitle = 'MockDataEntryComponent';
|
|
8
|
+
this.addEditForm = new FormGroup({
|
|
9
|
+
id: new FormControl(''),
|
|
10
|
+
});
|
|
7
11
|
this.props = {};
|
|
8
12
|
this.initForm = jest.fn();
|
|
9
13
|
this.save = () => jest.fn();
|
|
10
14
|
}
|
|
11
15
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9tb2NrLWRhdGEtZW50cnktZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQTJDO0lBQXZGOztRQUNTLGdCQUFXLEdBQUcsd0JBQXdCLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUMxQyxFQUFFLEVBQUUsSUFBSSxXQUFXLENBQVMsRUFBRSxDQUFDO1NBQ2hDLENBQUMsQ0FBQztRQUNJLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3JCLFNBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50IH0gZnJvbSAnaW1uZy1rZW5kby1kYXRhLWVudHJ5JztcbmltcG9ydCB7IERhdGFFbnRyeU1vY2tGYWNhZGUgfSBmcm9tICcuL2RhdGEtZW50cnktbW9jay5mYWNhZGUnO1xuXG5leHBvcnQgY2xhc3MgTW9ja0RhdGFFbnRyeUNvbXBvbmVudCBleHRlbmRzIEJhc2VEYXRhRW50cnlDb21wb25lbnQ8RGF0YUVudHJ5TW9ja0ZhY2FkZT4ge1xuICBwdWJsaWMgZGlhbG9nVGl0bGUgPSAnTW9ja0RhdGFFbnRyeUNvbXBvbmVudCc7XG4gIHB1YmxpYyBvdmVycmlkZSBhZGRFZGl0Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIGlkOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyksXG4gIH0pO1xuICBwdWJsaWMgcHJvcHMgPSB7fTtcbiAgcHVibGljIGluaXRGb3JtID0gamVzdC5mbigpO1xuICBwdWJsaWMgc2F2ZSA9ICgpID0+IGplc3QuZm4oKTtcbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { of } from 'rxjs';
|
|
|
2
2
|
import { __awaiter } from 'tslib';
|
|
3
3
|
import { readFirst } from 'imng-ngrx-utils/testing';
|
|
4
4
|
import { By } from '@angular/platform-browser';
|
|
5
|
+
import { FormGroup, FormControl } from '@angular/forms';
|
|
5
6
|
import { BaseDataEntryComponent } from 'imng-kendo-data-entry';
|
|
6
7
|
|
|
7
8
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
@@ -160,6 +161,9 @@ class MockDataEntryComponent extends BaseDataEntryComponent {
|
|
|
160
161
|
constructor() {
|
|
161
162
|
super(...arguments);
|
|
162
163
|
this.dialogTitle = 'MockDataEntryComponent';
|
|
164
|
+
this.addEditForm = new FormGroup({
|
|
165
|
+
id: new FormControl(''),
|
|
166
|
+
});
|
|
163
167
|
this.props = {};
|
|
164
168
|
this.initForm = jest.fn();
|
|
165
169
|
this.save = () => jest.fn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-kendo-data-entry-testing.mjs","sources":["../../../../libs/imng-kendo-data-entry/testing/src/data-entry-mock.facade.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-entry-facade-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-entry-facade-http-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-delete-facade-http-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-delete-mock.facade.ts","../../../../libs/imng-kendo-data-entry/testing/src/test-trigger-event-helpers.ts","../../../../libs/imng-kendo-data-entry/testing/src/mock-data-entry-dialog.component.ts","../../../../libs/imng-kendo-data-entry/testing/src/imng-kendo-data-entry-testing.ts"],"sourcesContent":["import { Observable, of } from 'rxjs';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { IDataEntryFacade } from 'imng-kendo-data-entry';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport class DataEntryMockFacade implements IDataEntryFacade<unknown> {\n public loading$: Observable<boolean> = of(false);\n // eslint-disable-next-line @typescript-eslint/ban-types\n public currentEntity$: Observable<unknown> = of(null);\n public isEditActive$: Observable<boolean> = of(false);\n public isNewActive$: Observable<boolean> = of(false);\n public setCurrentEntity = jest.fn();\n public clearCurrentEntity = jest.fn();\n public saveNewEntity = jest.fn();\n public updateExistingEntity = jest.fn();\n}\n\nexport function createDataEntryMockFacade(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mockFacade?: IDataEntryFacade<unknown> | any\n): IDataEntryFacade<unknown> {\n const localFacade = new DataEntryMockFacade();\n if (!mockFacade) {\n return localFacade;\n }\n mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$;\n mockFacade.currentEntity$ =\n mockFacade.currentEntity$ || localFacade.currentEntity$;\n mockFacade.isEditActive$ =\n mockFacade.isEditActive$ || localFacade.isEditActive$;\n mockFacade.isNewActive$ = mockFacade.isNewActive$ || localFacade.isNewActive$;\n mockFacade.setCurrentEntity = mockFacade.setCurrentEntity || jest.fn();\n mockFacade.clearCurrentEntity = mockFacade.clearCurrentEntity || jest.fn();\n mockFacade.saveNewEntity = mockFacade.saveNewEntity || jest.fn();\n mockFacade.updateExistingEntity =\n mockFacade.updateExistingEntity || jest.fn();\n return mockFacade;\n}\n","import { readFirst } from 'imng-ngrx-utils/testing';\nimport { Observable } from 'rxjs';\n\nexport async function testAddSetAndClearCurrentEntity<\n TFacade extends TestableFacade\n>(facade: TFacade): Promise<void> {\n const entity = { name: '🆕' };\n await validateInitialState(facade);\n\n facade.setCurrentEntity(entity, { name: 'parentEntity' });\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeTruthy();\n\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\n\nexport async function testEditSetAndClearCurrentEntity<\n TFacade extends TestableFacade\n>(facade: TFacade): Promise<void> {\n const entity = { id: '💃', name: '🧓👴👵' };\n await validateInitialState(facade);\n\n facade.setCurrentEntity(entity, { name: 'parentEntity' });\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeTruthy();\n expect(status.isNewActive).toBeFalsy();\n\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\nasync function validateInitialState(facade: TestableFacade): Promise<void> {\n const status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\n\nasync function getEntityStatus<TFacade extends TestableFacade>(\n facade: TFacade\n): Promise<{\n currentEntity: unknown;\n isEditActive: unknown;\n isNewActive: unknown;\n}> {\n return {\n currentEntity: await readFirst(facade.currentEntity$),\n isEditActive: await readFirst(facade.isEditActive$),\n isNewActive: await readFirst(facade.isNewActive$),\n };\n}\n\nexport interface TestableFacade {\n currentEntity$: Observable<unknown>;\n isEditActive$: Observable<boolean | null>;\n isNewActive$: Observable<boolean | null>;\n setCurrentEntity(entity: unknown, parentEntity?: unknown): void;\n clearCurrentEntity(): void;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { of } from 'rxjs';\n\nexport async function testSaveCurrentEntity<TFacade extends { saveNewEntity(entity: unknown): void; }>(\n facade: TFacade,\n httpClient: HttpClient,\n): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { name: '🆕' };\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.saveNewEntity(entity);\n expect(httpClient.post).toBeCalledTimes(1);\n expect(httpClient.put).toBeCalledTimes(0);\n expect(httpClient.delete).toBeCalledTimes(0);\n}\n\nexport async function testUpdateCurrentEntity<TFacade extends { updateExistingEntity(entity: unknown): void; }>(\n facade: TFacade,\n httpClient: HttpClient,\n): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { id: '💃', name: '🧓👴👵' };\n\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.updateExistingEntity(entity);\n expect(httpClient.put).toBeCalledTimes(1);\n expect(httpClient.post).toBeCalledTimes(0);\n expect(httpClient.delete).toBeCalledTimes(0);\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { of } from 'rxjs';\n\nexport async function testDeleteCurrentEntity<TFacade extends { deleteExistingEntity(entity: unknown): void; }>(\n facade: TFacade,\n httpClient: HttpClient,\n): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { id: '💃', name: '🧓👴👵' };\n\n httpClient.post = jest.fn();\n httpClient.put = jest.fn();\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.deleteExistingEntity(entity);\n expect(httpClient.put).toBeCalledTimes(0);\n expect(httpClient.post).toBeCalledTimes(0);\n expect(httpClient.delete).toBeCalledTimes(1);\n\n}\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { IDataDeleteFacade } from 'imng-kendo-data-entry';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DataDeleteMockFacade implements IDataDeleteFacade<any> {\n deleteExistingEntity = jest.fn();\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types,@typescript-eslint/no-explicit-any\nexport function createDataDeleteMockFacade(mockFacade?: IDataDeleteFacade<object> | any): IDataDeleteFacade<object> {\n const localFacade = new DataDeleteMockFacade();\n if (!mockFacade) {\n return localFacade;\n }\n mockFacade.deleteExistingEntity = mockFacade.deleteExistingEntity || jest.fn();\n return mockFacade;\n}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\n\nexport function triggerSaveClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void {\n const typeAhead = fixture.debugElement.query(By.css('#btnSave'));\n typeAhead.triggerEventHandler('click', {});\n}\nexport function triggerCancelClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void {\n const typeAhead = fixture.debugElement.query(By.css('#btnCancel'));\n typeAhead.triggerEventHandler('click', {});\n}\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { BaseDataEntryComponent } from 'imng-kendo-data-entry';\nimport { DataEntryMockFacade } from './data-entry-mock.facade';\n\nexport class MockDataEntryComponent extends BaseDataEntryComponent<DataEntryMockFacade> {\n public dialogTitle = 'MockDataEntryComponent';\n public props = {};\n public initForm = jest.fn();\n public save = () => jest.fn();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imng-kendo-data-entry-testing.mjs","sources":["../../../../libs/imng-kendo-data-entry/testing/src/data-entry-mock.facade.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-entry-facade-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-entry-facade-http-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-delete-facade-http-tests.ts","../../../../libs/imng-kendo-data-entry/testing/src/data-delete-mock.facade.ts","../../../../libs/imng-kendo-data-entry/testing/src/test-trigger-event-helpers.ts","../../../../libs/imng-kendo-data-entry/testing/src/mock-data-entry-dialog.component.ts","../../../../libs/imng-kendo-data-entry/testing/src/imng-kendo-data-entry-testing.ts"],"sourcesContent":["import { Observable, of } from 'rxjs';\n// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { IDataEntryFacade } from 'imng-kendo-data-entry';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport class DataEntryMockFacade implements IDataEntryFacade<unknown> {\n public loading$: Observable<boolean> = of(false);\n // eslint-disable-next-line @typescript-eslint/ban-types\n public currentEntity$: Observable<unknown> = of(null);\n public isEditActive$: Observable<boolean> = of(false);\n public isNewActive$: Observable<boolean> = of(false);\n public setCurrentEntity = jest.fn();\n public clearCurrentEntity = jest.fn();\n public saveNewEntity = jest.fn();\n public updateExistingEntity = jest.fn();\n}\n\nexport function createDataEntryMockFacade(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mockFacade?: IDataEntryFacade<unknown> | any\n): IDataEntryFacade<unknown> {\n const localFacade = new DataEntryMockFacade();\n if (!mockFacade) {\n return localFacade;\n }\n mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$;\n mockFacade.currentEntity$ =\n mockFacade.currentEntity$ || localFacade.currentEntity$;\n mockFacade.isEditActive$ =\n mockFacade.isEditActive$ || localFacade.isEditActive$;\n mockFacade.isNewActive$ = mockFacade.isNewActive$ || localFacade.isNewActive$;\n mockFacade.setCurrentEntity = mockFacade.setCurrentEntity || jest.fn();\n mockFacade.clearCurrentEntity = mockFacade.clearCurrentEntity || jest.fn();\n mockFacade.saveNewEntity = mockFacade.saveNewEntity || jest.fn();\n mockFacade.updateExistingEntity =\n mockFacade.updateExistingEntity || jest.fn();\n return mockFacade;\n}\n","import { readFirst } from 'imng-ngrx-utils/testing';\nimport { Observable } from 'rxjs';\n\nexport async function testAddSetAndClearCurrentEntity<\n TFacade extends TestableFacade\n>(facade: TFacade): Promise<void> {\n const entity = { name: '🆕' };\n await validateInitialState(facade);\n\n facade.setCurrentEntity(entity, { name: 'parentEntity' });\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeTruthy();\n\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\n\nexport async function testEditSetAndClearCurrentEntity<\n TFacade extends TestableFacade\n>(facade: TFacade): Promise<void> {\n const entity = { id: '💃', name: '🧓👴👵' };\n await validateInitialState(facade);\n\n facade.setCurrentEntity(entity, { name: 'parentEntity' });\n let status = await getEntityStatus(facade);\n expect(status.currentEntity).toStrictEqual(entity);\n expect(status.isEditActive).toBeTruthy();\n expect(status.isNewActive).toBeFalsy();\n\n facade.clearCurrentEntity();\n status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\nasync function validateInitialState(facade: TestableFacade): Promise<void> {\n const status = await getEntityStatus(facade);\n expect(status.currentEntity).toBeFalsy();\n expect(status.isEditActive).toBeFalsy();\n expect(status.isNewActive).toBeFalsy();\n}\n\nasync function getEntityStatus<TFacade extends TestableFacade>(\n facade: TFacade\n): Promise<{\n currentEntity: unknown;\n isEditActive: unknown;\n isNewActive: unknown;\n}> {\n return {\n currentEntity: await readFirst(facade.currentEntity$),\n isEditActive: await readFirst(facade.isEditActive$),\n isNewActive: await readFirst(facade.isNewActive$),\n };\n}\n\nexport interface TestableFacade {\n currentEntity$: Observable<unknown>;\n isEditActive$: Observable<boolean | null>;\n isNewActive$: Observable<boolean | null>;\n setCurrentEntity(entity: unknown, parentEntity?: unknown): void;\n clearCurrentEntity(): void;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { of } from 'rxjs';\n\nexport async function testSaveCurrentEntity<TFacade extends { saveNewEntity(entity: unknown): void; }>(\n facade: TFacade,\n httpClient: HttpClient,\n): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { name: '🆕' };\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.saveNewEntity(entity);\n expect(httpClient.post).toBeCalledTimes(1);\n expect(httpClient.put).toBeCalledTimes(0);\n expect(httpClient.delete).toBeCalledTimes(0);\n}\n\nexport async function testUpdateCurrentEntity<TFacade extends { updateExistingEntity(entity: unknown): void; }>(\n facade: TFacade,\n httpClient: HttpClient,\n): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { id: '💃', name: '🧓👴👵' };\n\n httpClient.post = jest.fn(() => of(entity));\n httpClient.put = jest.fn(() => of(entity));\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.updateExistingEntity(entity);\n expect(httpClient.put).toBeCalledTimes(1);\n expect(httpClient.post).toBeCalledTimes(0);\n expect(httpClient.delete).toBeCalledTimes(0);\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { of } from 'rxjs';\n\nexport async function testDeleteCurrentEntity<TFacade extends { deleteExistingEntity(entity: unknown): void; }>(\n facade: TFacade,\n httpClient: HttpClient,\n): Promise<void> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const entity: any = { id: '💃', name: '🧓👴👵' };\n\n httpClient.post = jest.fn();\n httpClient.put = jest.fn();\n httpClient.delete = jest.fn(() => of(entity));\n\n facade.deleteExistingEntity(entity);\n expect(httpClient.put).toBeCalledTimes(0);\n expect(httpClient.post).toBeCalledTimes(0);\n expect(httpClient.delete).toBeCalledTimes(1);\n\n}\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { IDataDeleteFacade } from 'imng-kendo-data-entry';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DataDeleteMockFacade implements IDataDeleteFacade<any> {\n deleteExistingEntity = jest.fn();\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types,@typescript-eslint/no-explicit-any\nexport function createDataDeleteMockFacade(mockFacade?: IDataDeleteFacade<object> | any): IDataDeleteFacade<object> {\n const localFacade = new DataDeleteMockFacade();\n if (!mockFacade) {\n return localFacade;\n }\n mockFacade.deleteExistingEntity = mockFacade.deleteExistingEntity || jest.fn();\n return mockFacade;\n}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\n\nexport function triggerSaveClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void {\n const typeAhead = fixture.debugElement.query(By.css('#btnSave'));\n typeAhead.triggerEventHandler('click', {});\n}\nexport function triggerCancelClickEvent<TComponent>(fixture: ComponentFixture<TComponent>): void {\n const typeAhead = fixture.debugElement.query(By.css('#btnCancel'));\n typeAhead.triggerEventHandler('click', {});\n}\n","// eslint-disable-next-line @nrwl/nx/enforce-module-boundaries\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { BaseDataEntryComponent } from 'imng-kendo-data-entry';\nimport { DataEntryMockFacade } from './data-entry-mock.facade';\n\nexport class MockDataEntryComponent extends BaseDataEntryComponent<DataEntryMockFacade> {\n public dialogTitle = 'MockDataEntryComponent';\n public override addEditForm = new FormGroup({\n id: new FormControl<string>(''),\n });\n public props = {};\n public initForm = jest.fn();\n public save = () => jest.fn();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|