imng-kendo-data-entry 4.61.11 → 4.102.10
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/README.md +1 -1
- package/{esm2015/imng-kendo-data-entry.js → esm2020/imng-kendo-data-entry.mjs} +0 -0
- package/{esm2015/index.js → esm2020/index.mjs} +2 -2
- package/esm2020/lib/base-data-entry.component.mjs +75 -0
- package/{esm2015/lib/data-delete-facade.js → esm2020/lib/data-delete-facade.mjs} +0 -0
- package/esm2020/lib/data-entry-dialog.component.mjs +112 -0
- package/{esm2015/lib/data-entry-facade.js → esm2020/lib/data-entry-facade.mjs} +0 -0
- package/{esm2015/lib/dialog-buttons.directive.js → esm2020/lib/dialog-buttons.directive.mjs} +4 -4
- package/{esm2015/lib/form-group-patcher.js → esm2020/lib/form-group-patcher.mjs} +0 -0
- package/esm2020/lib/imng-kendo-data-entry.module.mjs +20 -0
- package/esm2020/lib/reducer-collection-logic.mjs +18 -0
- package/esm2020/testing/data-delete-facade-http-tests.mjs +13 -0
- package/{esm2015/testing/data-delete-mock.facade.js → esm2020/testing/data-delete-mock.facade.mjs} +0 -0
- package/esm2020/testing/data-entry-facade-http-tests.mjs +24 -0
- package/esm2020/testing/data-entry-facade-tests.mjs +43 -0
- package/esm2020/testing/data-entry-mock.facade.mjs +36 -0
- package/{esm2015/testing/imng-kendo-data-entry-testing.js → esm2020/testing/imng-kendo-data-entry-testing.mjs} +2 -2
- package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
- package/{esm2015/testing/mock-data-entry-dialog.component.js → esm2020/testing/mock-data-entry-dialog.component.mjs} +0 -0
- package/{esm2015/testing/test-trigger-event-helpers.js → esm2020/testing/test-trigger-event-helpers.mjs} +0 -0
- package/fesm2015/{imng-kendo-data-entry-testing.js → imng-kendo-data-entry-testing.mjs} +10 -6
- package/fesm2015/imng-kendo-data-entry-testing.mjs.map +1 -0
- package/fesm2015/imng-kendo-data-entry.mjs +247 -0
- package/fesm2015/imng-kendo-data-entry.mjs.map +1 -0
- package/fesm2020/imng-kendo-data-entry-testing.mjs +159 -0
- package/fesm2020/imng-kendo-data-entry-testing.mjs.map +1 -0
- package/{fesm2015/imng-kendo-data-entry.js → fesm2020/imng-kendo-data-entry.mjs} +66 -31
- package/fesm2020/imng-kendo-data-entry.mjs.map +1 -0
- package/imng-kendo-data-entry.d.ts +0 -1
- package/index.d.ts +1 -2
- package/lib/base-data-entry.component.d.ts +4 -5
- package/lib/data-delete-facade.d.ts +0 -1
- package/lib/data-entry-dialog.component.d.ts +8 -9
- package/lib/data-entry-facade.d.ts +0 -1
- package/lib/dialog-buttons.directive.d.ts +0 -1
- package/lib/form-group-patcher.d.ts +0 -1
- package/lib/{data-entry.module.d.ts → imng-kendo-data-entry.module.d.ts} +0 -1
- package/lib/reducer-collection-logic.d.ts +0 -1
- package/package.json +44 -19
- package/testing/README.md +3 -0
- package/testing/data-delete-facade-http-tests.d.ts +0 -1
- package/testing/data-delete-mock.facade.d.ts +1 -2
- package/testing/data-entry-facade-http-tests.d.ts +0 -1
- package/testing/data-entry-facade-tests.d.ts +2 -3
- package/testing/data-entry-mock.facade.d.ts +4 -5
- package/testing/imng-kendo-data-entry-testing.d.ts +1 -2
- package/testing/index.d.ts +0 -1
- package/testing/mock-data-entry-dialog.component.d.ts +1 -2
- package/testing/package.json +5 -5
- package/testing/test-trigger-event-helpers.d.ts +0 -1
- package/bundles/imng-kendo-data-entry-testing.umd.js +0 -561
- package/bundles/imng-kendo-data-entry-testing.umd.js.map +0 -1
- package/bundles/imng-kendo-data-entry.umd.js +0 -544
- package/bundles/imng-kendo-data-entry.umd.js.map +0 -1
- package/esm2015/lib/base-data-entry.component.js +0 -73
- package/esm2015/lib/data-entry-dialog.component.js +0 -79
- package/esm2015/lib/data-entry.module.js +0 -20
- package/esm2015/lib/reducer-collection-logic.js +0 -18
- package/esm2015/testing/data-delete-facade-http-tests.js +0 -16
- package/esm2015/testing/data-entry-facade-http-tests.js +0 -29
- package/esm2015/testing/data-entry-facade-tests.js +0 -52
- package/esm2015/testing/data-entry-mock.facade.js +0 -32
- package/esm2015/testing/public_api.js +0 -2
- package/fesm2015/imng-kendo-data-entry-testing.js.map +0 -1
- package/fesm2015/imng-kendo-data-entry.js.map +0 -1
- package/imng-kendo-data-entry.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/lib/base-data-entry.component.d.ts.map +0 -1
- package/lib/data-delete-facade.d.ts.map +0 -1
- package/lib/data-entry-dialog.component.d.ts.map +0 -1
- package/lib/data-entry-facade.d.ts.map +0 -1
- package/lib/data-entry.module.d.ts.map +0 -1
- package/lib/dialog-buttons.directive.d.ts.map +0 -1
- package/lib/form-group-patcher.d.ts.map +0 -1
- package/lib/reducer-collection-logic.d.ts.map +0 -1
- package/testing/data-delete-facade-http-tests.d.ts.map +0 -1
- package/testing/data-delete-mock.facade.d.ts.map +0 -1
- package/testing/data-entry-facade-http-tests.d.ts.map +0 -1
- package/testing/data-entry-facade-tests.d.ts.map +0 -1
- package/testing/data-entry-mock.facade.d.ts.map +0 -1
- package/testing/imng-kendo-data-entry-testing.d.ts.map +0 -1
- package/testing/index.d.ts.map +0 -1
- package/testing/mock-data-entry-dialog.component.d.ts.map +0 -1
- package/testing/public_api.d.ts +0 -2
- package/testing/public_api.d.ts.map +0 -1
- package/testing/test-trigger-event-helpers.d.ts.map +0 -1
package/README.md
CHANGED
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './lib/data-entry.module';
|
|
1
|
+
export * from './lib/imng-kendo-data-entry.module';
|
|
2
2
|
export * from './lib/data-entry-dialog.component';
|
|
3
3
|
export * from './lib/base-data-entry.component';
|
|
4
4
|
export * from './lib/data-entry-facade';
|
|
@@ -6,4 +6,4 @@ export * from './lib/data-delete-facade';
|
|
|
6
6
|
export * from './lib/reducer-collection-logic';
|
|
7
7
|
export * from './lib/form-group-patcher';
|
|
8
8
|
export * from './lib/dialog-buttons.directive';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWVudHJ5LWZhY2FkZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWRlbGV0ZS1mYWNhZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVkdWNlci1jb2xsZWN0aW9uLWxvZ2ljJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tZ3JvdXAtcGF0Y2hlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Directive, Inject, InjectionToken, Input, } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { Subscriptions } from 'imng-ngrx-utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const FACADE = new InjectionToken('imng-data-entry-facade');
|
|
6
|
+
/**
|
|
7
|
+
* The extending class has to implement the following properties on ngInit
|
|
8
|
+
* dialogTitle: string - This will be the text displayed at the top of the modal title bar
|
|
9
|
+
* props: enum - This is a helper property to make the html markup type safe
|
|
10
|
+
*
|
|
11
|
+
* Along with the requirements above, the extending class has to set values to the
|
|
12
|
+
* following properties on ngInit
|
|
13
|
+
* active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade
|
|
14
|
+
* addEditForm: FormGroup - This will be created by your component
|
|
15
|
+
*
|
|
16
|
+
* @class BaseDataEntryComponent>
|
|
17
|
+
*/
|
|
18
|
+
export class BaseDataEntryComponent {
|
|
19
|
+
constructor(facade) {
|
|
20
|
+
this.facade = facade;
|
|
21
|
+
this.width = 800; //NOSONAR
|
|
22
|
+
this.height = 600; //NOSONAR
|
|
23
|
+
this.allSubscriptions = new Subscriptions();
|
|
24
|
+
this._submitted$ = new BehaviorSubject(false);
|
|
25
|
+
this.loading$ = this.facade.loading$;
|
|
26
|
+
this.initForm();
|
|
27
|
+
}
|
|
28
|
+
get submitted$() {
|
|
29
|
+
return this._submitted$.asObservable();
|
|
30
|
+
}
|
|
31
|
+
// convenience getter for easy access to form fields
|
|
32
|
+
formControl(controlName) {
|
|
33
|
+
return this.addEditForm?.controls[controlName];
|
|
34
|
+
}
|
|
35
|
+
formControlErrors(controlName) {
|
|
36
|
+
return this.addEditForm?.controls[controlName].errors || undefined;
|
|
37
|
+
}
|
|
38
|
+
ngOnDestroy() {
|
|
39
|
+
this.allSubscriptions.unsubscribeAll();
|
|
40
|
+
}
|
|
41
|
+
closeForm() {
|
|
42
|
+
this.initForm();
|
|
43
|
+
this.facade.clearCurrentEntity();
|
|
44
|
+
this._submitted$.next(false);
|
|
45
|
+
}
|
|
46
|
+
onCancel() {
|
|
47
|
+
this.closeForm();
|
|
48
|
+
}
|
|
49
|
+
onSubmit() {
|
|
50
|
+
this._submitted$.next(true);
|
|
51
|
+
// stop here if form is invalid
|
|
52
|
+
if (this.isDataInvalid()) {
|
|
53
|
+
console.error('form validation errors.'); //NOSONAR
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.save();
|
|
57
|
+
this.closeForm();
|
|
58
|
+
}
|
|
59
|
+
isDataInvalid() {
|
|
60
|
+
return this.addEditForm?.invalid;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
BaseDataEntryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
+
BaseDataEntryComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: BaseDataEntryComponent, inputs: { width: "width", height: "height" }, ngImport: i0 });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
|
|
66
|
+
type: Directive
|
|
67
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: [FACADE]
|
|
70
|
+
}] }]; }, propDecorators: { width: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], height: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}] } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbkQsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQy9CLHdCQUF3QixDQUN6QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQWdCLHNCQUFzQjtJQTBCMUMsWUFBNEMsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUF2QjFDLFVBQUssR0FBb0IsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN2QyxXQUFNLEdBQW9CLEdBQUcsQ0FBQyxDQUFDLFNBQVM7UUFFakQscUJBQWdCLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQU03QixnQkFBVyxHQUE2QixJQUFJLGVBQWUsQ0FDMUUsS0FBZ0IsQ0FDakIsQ0FBQztRQWFBLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFiRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxvREFBb0Q7SUFDN0MsV0FBVyxDQUFDLFdBQW1CO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNNLGlCQUFpQixDQUFDLFdBQW1CO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBTU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsK0JBQStCO1FBQy9CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDbkQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7SUFDbkMsQ0FBQzs7bUhBM0RtQixzQkFBc0Isa0JBMEJ0QixNQUFNO3VHQTFCTixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEM0MsU0FBUzs7MEJBMkJLLE1BQU07MkJBQUMsTUFBTTs0Q0F2QlYsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQmFzZURhdGFFbnRyeUZhY2FkZSB9IGZyb20gJy4vZGF0YS1lbnRyeS1mYWNhZGUnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlLCBTdWJzY3JpcHRpb25zIH0gZnJvbSAnaW1uZy1uZ3J4LXV0aWxzJztcblxuY29uc3QgRkFDQURFID0gbmV3IEluamVjdGlvblRva2VuPElCYXNlRGF0YUVudHJ5RmFjYWRlPihcbiAgJ2ltbmctZGF0YS1lbnRyeS1mYWNhZGUnXG4pO1xuXG4vKipcbiAqIFRoZSBleHRlbmRpbmcgY2xhc3MgaGFzIHRvIGltcGxlbWVudCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgb24gbmdJbml0XG4gKiBkaWFsb2dUaXRsZTogc3RyaW5nIC0gVGhpcyB3aWxsIGJlIHRoZSB0ZXh0IGRpc3BsYXllZCBhdCB0aGUgdG9wIG9mIHRoZSBtb2RhbCB0aXRsZSBiYXJcbiAqIHByb3BzOiBlbnVtIC0gVGhpcyBpcyBhIGhlbHBlciBwcm9wZXJ0eSB0byBtYWtlIHRoZSBodG1sIG1hcmt1cCB0eXBlIHNhZmVcbiAqXG4gKiBBbG9uZyB3aXRoIHRoZSByZXF1aXJlbWVudHMgYWJvdmUsIHRoZSBleHRlbmRpbmcgY2xhc3MgaGFzIHRvIHNldCB2YWx1ZXMgdG8gdGhlXG4gKiBmb2xsb3dpbmcgcHJvcGVydGllcyBvbiBuZ0luaXRcbiAqIGFjdGl2ZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gLSBUaGlzIHR5cGljYWxseSB3b3VsZCBiZSBhc3NpZ25lZCB0byB0aGUgaXNOZXdBY3RpdmUkIG9yIGlzRWRpdEFjdGl2ZSBvbiB0aGUgZmFjYWRlXG4gKiBhZGRFZGl0Rm9ybTogRm9ybUdyb3VwIC0gVGhpcyB3aWxsIGJlIGNyZWF0ZWQgYnkgeW91ciBjb21wb25lbnRcbiAqXG4gKiBAY2xhc3MgQmFzZURhdGFFbnRyeUNvbXBvbmVudD5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURhdGFFbnRyeUNvbXBvbmVudDxcbiAgRkFDQURFIGV4dGVuZHMgSUJhc2VEYXRhRW50cnlGYWNhZGVcbiAgPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgU3Vic2NyaWJhYmxlIHtcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSA4MDA7IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIgPSA2MDA7IC8vTk9TT05BUlxuXG4gIHB1YmxpYyBhbGxTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbnMoKTtcbiAgcHVibGljIGFic3RyYWN0IGRpYWxvZ1RpdGxlOiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBhYnN0cmFjdCBwcm9wczogYW55O1xuICBwdWJsaWMgYWRkRWRpdEZvcm0/OiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3VibWl0dGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICBmYWxzZSBhcyBib29sZWFuXG4gICk7XG5cbiAgcHVibGljIGdldCBzdWJtaXR0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9zdWJtaXR0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIC8vIGNvbnZlbmllbmNlIGdldHRlciBmb3IgZWFzeSBhY2Nlc3MgdG8gZm9ybSBmaWVsZHNcbiAgcHVibGljIGZvcm1Db250cm9sKGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmFkZEVkaXRGb3JtPy5jb250cm9sc1tjb250cm9sTmFtZV07XG4gIH1cbiAgcHVibGljIGZvcm1Db250cm9sRXJyb3JzKGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBWYWxpZGF0aW9uRXJyb3JzIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFZGl0Rm9ybT8uY29udHJvbHNbY29udHJvbE5hbWVdLmVycm9ycyB8fCB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3RydWN0b3IoQEluamVjdChGQUNBREUpIHB1YmxpYyByZWFkb25seSBmYWNhZGU6IEZBQ0FERSkge1xuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLmZhY2FkZS5sb2FkaW5nJDtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hbGxTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlQWxsKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLmZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkoKTtcbiAgICB0aGlzLl9zdWJtaXR0ZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgb25TdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3VibWl0dGVkJC5uZXh0KHRydWUpO1xuXG4gICAgLy8gc3RvcCBoZXJlIGlmIGZvcm0gaXMgaW52YWxpZFxuICAgIGlmICh0aGlzLmlzRGF0YUludmFsaWQoKSkge1xuICAgICAgY29uc29sZS5lcnJvcignZm9ybSB2YWxpZGF0aW9uIGVycm9ycy4nKTsgLy9OT1NPTkFSXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2F2ZSgpO1xuICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgaXNEYXRhSW52YWxpZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFZGl0Rm9ybT8uaW52YWxpZDtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBpbml0Rm9ybSgpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3Qgc2F2ZSgpOiB2b2lkO1xufVxuIl19
|
|
File without changes
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy, TemplateRef, ContentChild, } from '@angular/core';
|
|
2
|
+
import { BaseDataEntryComponent } from './base-data-entry.component';
|
|
3
|
+
import { DialogButtonsDirective } from './dialog-buttons.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@progress/kendo-angular-dialog";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
export class DataEntryDialogComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.width = 800; //NOSONAR
|
|
10
|
+
this.height = 600; //NOSONAR
|
|
11
|
+
this.saveButtonText = 'Save';
|
|
12
|
+
this.submitted = false;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
if (!this.parentComponent) {
|
|
16
|
+
throw new TypeError(`The input 'parentComponent' is required`);
|
|
17
|
+
}
|
|
18
|
+
this.dialogTitle = this.parentComponent.dialogTitle;
|
|
19
|
+
this.loading$ = this.parentComponent.loading$;
|
|
20
|
+
this.addEditForm = this.parentComponent.addEditForm;
|
|
21
|
+
}
|
|
22
|
+
close() {
|
|
23
|
+
this.parentComponent?.closeForm();
|
|
24
|
+
}
|
|
25
|
+
cancel() {
|
|
26
|
+
this.parentComponent?.onCancel();
|
|
27
|
+
}
|
|
28
|
+
submit() {
|
|
29
|
+
this.parentComponent?.onSubmit();
|
|
30
|
+
}
|
|
31
|
+
get dialogActionBtnsCtx() {
|
|
32
|
+
return {
|
|
33
|
+
$implicit: { cancel: () => this.cancel(), submit: () => this.submit() },
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
DataEntryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { 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
|
+
[width]="width"
|
|
40
|
+
[height]="height"
|
|
41
|
+
(close)="close()"
|
|
42
|
+
[autoFocusedElement]="autoFocusedElement || ''"
|
|
43
|
+
>
|
|
44
|
+
<kendo-dialog-titlebar class="bg-primary">{{
|
|
45
|
+
dialogTitle
|
|
46
|
+
}}</kendo-dialog-titlebar>
|
|
47
|
+
<ng-content></ng-content>
|
|
48
|
+
<kendo-dialog-actions>
|
|
49
|
+
<ng-container
|
|
50
|
+
*ngTemplateOutlet="
|
|
51
|
+
dialogBtnsTemplate || defaultDialogActionsTpl;
|
|
52
|
+
context: dialogActionBtnsCtx
|
|
53
|
+
"
|
|
54
|
+
>
|
|
55
|
+
</ng-container>
|
|
56
|
+
</kendo-dialog-actions>
|
|
57
|
+
</kendo-dialog>
|
|
58
|
+
|
|
59
|
+
<ng-template #defaultDialogActionsTpl>
|
|
60
|
+
<button id="btnCancel" class="k-button" (click)="cancel()">Cancel</button>
|
|
61
|
+
<button id="btnSave" class="k-button k-primary" (click)="submit()">
|
|
62
|
+
{{ saveButtonText }}
|
|
63
|
+
</button>
|
|
64
|
+
</ng-template>`, isInline: true, components: [{ type: i1.DialogComponent, selector: "kendo-dialog", inputs: ["actionsLayout", "actions", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: i1.DialogTitleBarComponent, selector: "kendo-dialog-titlebar", inputs: ["id", "closeTitle"], outputs: ["close"] }, { type: i1.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["layout", "actions"], outputs: ["action"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{
|
|
68
|
+
selector: 'imng-data-entry-dialog[parentComponent]',
|
|
69
|
+
template: `<kendo-dialog
|
|
70
|
+
[width]="width"
|
|
71
|
+
[height]="height"
|
|
72
|
+
(close)="close()"
|
|
73
|
+
[autoFocusedElement]="autoFocusedElement || ''"
|
|
74
|
+
>
|
|
75
|
+
<kendo-dialog-titlebar class="bg-primary">{{
|
|
76
|
+
dialogTitle
|
|
77
|
+
}}</kendo-dialog-titlebar>
|
|
78
|
+
<ng-content></ng-content>
|
|
79
|
+
<kendo-dialog-actions>
|
|
80
|
+
<ng-container
|
|
81
|
+
*ngTemplateOutlet="
|
|
82
|
+
dialogBtnsTemplate || defaultDialogActionsTpl;
|
|
83
|
+
context: dialogActionBtnsCtx
|
|
84
|
+
"
|
|
85
|
+
>
|
|
86
|
+
</ng-container>
|
|
87
|
+
</kendo-dialog-actions>
|
|
88
|
+
</kendo-dialog>
|
|
89
|
+
|
|
90
|
+
<ng-template #defaultDialogActionsTpl>
|
|
91
|
+
<button id="btnCancel" class="k-button" (click)="cancel()">Cancel</button>
|
|
92
|
+
<button id="btnSave" class="k-button k-primary" (click)="submit()">
|
|
93
|
+
{{ saveButtonText }}
|
|
94
|
+
</button>
|
|
95
|
+
</ng-template>`,
|
|
96
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
97
|
+
}]
|
|
98
|
+
}], propDecorators: { width: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], height: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], autoFocusedElement: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], parentComponent: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], saveButtonText: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], dialogBtnsTemplate: [{
|
|
109
|
+
type: ContentChild,
|
|
110
|
+
args: [DialogButtonsDirective, { static: true, read: TemplateRef }]
|
|
111
|
+
}] } });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFpQ3BFLE1BQU0sT0FBTyx3QkFBd0I7SUEvQnJDO1FBZ0NrQixVQUFLLEdBQW9CLEdBQUcsQ0FBQyxDQUFDLFNBQVM7UUFDdkMsV0FBTSxHQUFvQixHQUFHLENBQUMsQ0FBQyxTQUFTO1FBT3hDLG1CQUFjLEdBQUcsTUFBTSxDQUFDO1FBY2pDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0E0QjFCO0lBdkJRLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixNQUFNLElBQUksU0FBUyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDaEU7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNNLE1BQU07UUFDWCxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUI7UUFDckIsT0FBTztZQUNMLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtTQUN4RSxDQUFDO0lBQ0osQ0FBQzs7cUhBbERVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDZSQVVyQixzQkFBc0IsMkJBQXdCLFdBQVcsMkNBdkM3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBMEJPOzJGQUdOLHdCQUF3QjtrQkEvQnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztvQkFDbkQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkEwQk87b0JBQ2pCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFFaUIsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUlVLGtCQUFrQjtzQkFBakMsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBV0Msa0JBQWtCO3NCQVZ4QixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWRhdGEtZW50cnkuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0J1dHRvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpYWxvZy1idXR0b25zLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltbmctZGF0YS1lbnRyeS1kaWFsb2dbcGFyZW50Q29tcG9uZW50XScsXG4gIHRlbXBsYXRlOiBgPGtlbmRvLWRpYWxvZ1xuICAgICAgW3dpZHRoXT1cIndpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgICAgIChjbG9zZSk9XCJjbG9zZSgpXCJcbiAgICAgIFthdXRvRm9jdXNlZEVsZW1lbnRdPVwiYXV0b0ZvY3VzZWRFbGVtZW50IHx8ICcnXCJcbiAgICA+XG4gICAgICA8a2VuZG8tZGlhbG9nLXRpdGxlYmFyIGNsYXNzPVwiYmctcHJpbWFyeVwiPnt7XG4gICAgICAgIGRpYWxvZ1RpdGxlXG4gICAgICB9fTwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGtlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGRpYWxvZ0J0bnNUZW1wbGF0ZSB8fCBkZWZhdWx0RGlhbG9nQWN0aW9uc1RwbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IGRpYWxvZ0FjdGlvbkJ0bnNDdHhcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9rZW5kby1kaWFsb2ctYWN0aW9ucz5cbiAgICA8L2tlbmRvLWRpYWxvZz5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERpYWxvZ0FjdGlvbnNUcGw+XG4gICAgICA8YnV0dG9uIGlkPVwiYnRuQ2FuY2VsXCIgY2xhc3M9XCJrLWJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBpZD1cImJ0blNhdmVcIiBjbGFzcz1cImstYnV0dG9uIGstcHJpbWFyeVwiIChjbGljayk9XCJzdWJtaXQoKVwiPlxuICAgICAgICB7eyBzYXZlQnV0dG9uVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUVudHJ5RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSA4MDA7IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIgPSA2MDA7IC8vTk9TT05BUlxuICAvKipcbiAgICogaHR0cHM6Ly93d3cudGVsZXJpay5jb20va2VuZG8tYW5ndWxhci11aS9jb21wb25lbnRzL2RpYWxvZ3MvZGlhbG9nL2luaXRpYWwtZm9jdXMvXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYXV0b0ZvY3VzZWRFbGVtZW50Pzogc3RyaW5nO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBASW5wdXQoKSBwdWJsaWMgcGFyZW50Q29tcG9uZW50PzogQmFzZURhdGFFbnRyeUNvbXBvbmVudDxhbnk+OyAvL05PU09OQVJcbiAgQElucHV0KCkgcHVibGljIHNhdmVCdXR0b25UZXh0ID0gJ1NhdmUnO1xuICBAQ29udGVudENoaWxkKERpYWxvZ0J1dHRvbnNEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAvKipcbiAgICogRXhhbXBsZSBVc2FnZTpcbiAgICogPGltbmctZGF0YS1lbnRyeS1kaWFsb2c+XG4gICAqIC4uLi4uLlxuICAgKiAgPG5nLXRlbXBsYXRlIFtpbW5nRGlhbG9nQnRuc10gbGV0LWNvcmVCdXR0b25zPlxuICAgKiAgICA8YnV0dG9uIGlkPVwiYnRuQ3VzdG9tMVwiIGNsYXNzPVwiay1idXR0b25cIiAoY2xpY2spPVwiY2FuY2VsKClcIj5DbG9zZTwvYnV0dG9uPlxuICAgKiAgPC9uZy10ZW1wbGF0ZT5cbiAgICogPC9pbW5nLWRhdGEtZW50cnktZGlhbG9nPlxuICAgKi9cbiAgcHVibGljIGRpYWxvZ0J0bnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICBwdWJsaWMgbG9hZGluZyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgYWRkRWRpdEZvcm0/OiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBzdWJtaXR0ZWQgPSBmYWxzZTtcbiAgcHVibGljIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICBwdWJsaWMgY29tcG9uZW50Pzoge307XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYXJlbnRDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBpbnB1dCAncGFyZW50Q29tcG9uZW50JyBpcyByZXF1aXJlZGApO1xuICAgIH1cbiAgICB0aGlzLmRpYWxvZ1RpdGxlID0gdGhpcy5wYXJlbnRDb21wb25lbnQuZGlhbG9nVGl0bGU7XG4gICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMucGFyZW50Q29tcG9uZW50LmxvYWRpbmckO1xuICAgIHRoaXMuYWRkRWRpdEZvcm0gPSB0aGlzLnBhcmVudENvbXBvbmVudC5hZGRFZGl0Rm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudENvbXBvbmVudD8uY2xvc2VGb3JtKCk7XG4gIH1cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudENvbXBvbmVudD8ub25DYW5jZWwoKTtcbiAgfVxuICBwdWJsaWMgc3VibWl0KCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5vblN1Ym1pdCgpO1xuICB9XG4gIGdldCBkaWFsb2dBY3Rpb25CdG5zQ3R4KCk6IG9iamVjdCB8IG51bGwgeyAvL05PU09OQVJcbiAgICByZXR1cm4ge1xuICAgICAgJGltcGxpY2l0OiB7IGNhbmNlbDogKCkgPT4gdGhpcy5jYW5jZWwoKSwgc3VibWl0OiAoKSA9PiB0aGlzLnN1Ym1pdCgpIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
File without changes
|
package/{esm2015/lib/dialog-buttons.directive.js → esm2020/lib/dialog-buttons.directive.mjs}
RENAMED
|
@@ -5,10 +5,10 @@ export class DialogButtonsDirective {
|
|
|
5
5
|
this.tpl = tpl;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
DialogButtonsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
DialogButtonsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
DialogButtonsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
DialogButtonsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DialogButtonsDirective, selector: "[imngDialogBtns]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DialogButtonsDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{ selector: '[imngDialogBtns]' }]
|
|
13
13
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBbUIsR0FBeUI7UUFBekIsUUFBRyxHQUFILEdBQUcsQ0FBc0I7SUFBSSxDQUFDOzttSEFEdEMsc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2ltbmdEaWFsb2dCdG5zXScgfSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dCdXR0b25zRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRwbDogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHsgfVxufVxuIl19
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DataEntryDialogComponent } from './data-entry-dialog.component';
|
|
4
|
+
import { DialogButtonsDirective } from './dialog-buttons.directive';
|
|
5
|
+
import { DialogModule } from '@progress/kendo-angular-dialog';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class ImngDataEntryDialogModule {
|
|
8
|
+
}
|
|
9
|
+
ImngDataEntryDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
ImngDataEntryDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] });
|
|
11
|
+
ImngDataEntryDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngDataEntryDialogModule, imports: [[CommonModule, DialogModule]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [CommonModule, DialogModule],
|
|
16
|
+
declarations: [DataEntryDialogComponent, DialogButtonsDirective],
|
|
17
|
+
exports: [DataEntryDialogComponent, DialogButtonsDirective],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvaW1uZy1rZW5kby1kYXRhLWVudHJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBTzlELE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QixpQkFIckIsd0JBQXdCLEVBQUUsc0JBQXNCLGFBRHJELFlBQVksRUFBRSxZQUFZLGFBRTFCLHdCQUF3QixFQUFFLHNCQUFzQjt1SEFFL0MseUJBQXlCLFlBSjNCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQzsyRkFJMUIseUJBQXlCO2tCQUxyQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7b0JBQ3JDLFlBQVksRUFBRSxDQUFDLHdCQUF3QixFQUFFLHNCQUFzQixDQUFDO29CQUNoRSxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQztpQkFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGFFbnRyeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1lbnRyeS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0J1dHRvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpYWxvZy1idXR0b25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kaWFsb2cnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEaWFsb2dNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtEYXRhRW50cnlEaWFsb2dDb21wb25lbnQsIERpYWxvZ0J1dHRvbnNEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbRGF0YUVudHJ5RGlhbG9nQ29tcG9uZW50LCBEaWFsb2dCdXR0b25zRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1uZ0RhdGFFbnRyeURpYWxvZ01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function updateStateCollectionItem(collection, item) {
|
|
2
|
+
const items = [...collection];
|
|
3
|
+
const index = collection.findIndex((val) => val.id === item.id);
|
|
4
|
+
items.splice(index, 1, item);
|
|
5
|
+
return items;
|
|
6
|
+
}
|
|
7
|
+
export function removeStateCollectionItem(collection, item) {
|
|
8
|
+
const items = [...collection];
|
|
9
|
+
const index = collection.findIndex((val) => val.id === item.id);
|
|
10
|
+
items.splice(index, 1);
|
|
11
|
+
return items;
|
|
12
|
+
}
|
|
13
|
+
export function addStateCollectionItem(collection, item) {
|
|
14
|
+
const items = [...collection];
|
|
15
|
+
items.unshift(item);
|
|
16
|
+
return items;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci1jb2xsZWN0aW9uLWxvZ2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9yZWR1Y2VyLWNvbGxlY3Rpb24tbG9naWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFvQixFQUNwQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLFVBQW9CLEVBQ3BCLElBQVk7SUFFWixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDOUIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxVQUFvQixFQUNwQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsdWVUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVN0YXRlQ29sbGVjdGlvbkl0ZW08RW50aXR5IGV4dGVuZHMgeyBpZD86IFZhbHVlVHlwZSB9PihcbiAgY29sbGVjdGlvbjogRW50aXR5W10sXG4gIGl0ZW06IEVudGl0eVxuKTogRW50aXR5W10ge1xuICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgY29uc3QgaW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleCgodmFsKSA9PiB2YWwuaWQgPT09IGl0ZW0uaWQpO1xuICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xuICByZXR1cm4gaXRlbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVTdGF0ZUNvbGxlY3Rpb25JdGVtPEVudGl0eSBleHRlbmRzIHsgaWQ/OiBWYWx1ZVR5cGUgfT4oXG4gIGNvbGxlY3Rpb246IEVudGl0eVtdLFxuICBpdGVtOiBFbnRpdHlcbik6IEVudGl0eVtdIHtcbiAgY29uc3QgaXRlbXMgPSBbLi4uY29sbGVjdGlvbl07XG4gIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoKHZhbCkgPT4gdmFsLmlkID09PSBpdGVtLmlkKTtcbiAgaXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgcmV0dXJuIGl0ZW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RhdGVDb2xsZWN0aW9uSXRlbTxFbnRpdHkgZXh0ZW5kcyB7IGlkPzogVmFsdWVUeXBlIH0+KFxuICBjb2xsZWN0aW9uOiBFbnRpdHlbXSxcbiAgaXRlbTogRW50aXR5XG4pOiBFbnRpdHlbXSB7XG4gIGNvbnN0IGl0ZW1zID0gWy4uLmNvbGxlY3Rpb25dO1xuICBpdGVtcy51bnNoaWZ0KGl0ZW0pO1xuICByZXR1cm4gaXRlbXM7XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
export async function testDeleteCurrentEntity(facade, httpClient) {
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
|
+
const entity = { id: '💃', name: '🧓👴👵' };
|
|
5
|
+
httpClient.post = jest.fn();
|
|
6
|
+
httpClient.put = jest.fn();
|
|
7
|
+
httpClient.delete = jest.fn(() => of(entity));
|
|
8
|
+
facade.deleteExistingEntity(entity);
|
|
9
|
+
expect(httpClient.put).toBeCalledTimes(0);
|
|
10
|
+
expect(httpClient.post).toBeCalledTimes(0);
|
|
11
|
+
expect(httpClient.delete).toBeCalledTimes(1);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZWxldGUtZmFjYWRlLWh0dHAtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWRlbGV0ZS1mYWNhZGUtaHR0cC10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFCLE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzNDLE1BQWUsRUFDZixVQUFzQjtJQUV0Qiw4REFBOEQ7SUFDOUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUVqRCxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzQixVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRS9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3REZWxldGVDdXJyZW50RW50aXR5PFRGYWNhZGUgZXh0ZW5kcyB7IGRlbGV0ZUV4aXN0aW5nRW50aXR5KGVudGl0eTogdW5rbm93bik6IHZvaWQ7IH0+KFxuICBmYWNhZGU6IFRGYWNhZGUsXG4gIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgY29uc3QgZW50aXR5OiBhbnkgPSB7IGlkOiAn8J+SgycsIG5hbWU6ICfwn6eT8J+RtPCfkbUnIH07XG5cbiAgaHR0cENsaWVudC5wb3N0ID0gamVzdC5mbigpO1xuICBodHRwQ2xpZW50LnB1dCA9IGplc3QuZm4oKTtcbiAgaHR0cENsaWVudC5kZWxldGUgPSBqZXN0LmZuKCgpID0+IG9mKGVudGl0eSkpO1xuXG4gIGZhY2FkZS5kZWxldGVFeGlzdGluZ0VudGl0eShlbnRpdHkpO1xuICBleHBlY3QoaHR0cENsaWVudC5wdXQpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgZXhwZWN0KGh0dHBDbGllbnQucG9zdCkudG9CZUNhbGxlZFRpbWVzKDApO1xuICBleHBlY3QoaHR0cENsaWVudC5kZWxldGUpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxufVxuIl19
|
package/{esm2015/testing/data-delete-mock.facade.js → esm2020/testing/data-delete-mock.facade.mjs}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
export async function testSaveCurrentEntity(facade, httpClient) {
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
|
+
const entity = { name: '🆕' };
|
|
5
|
+
httpClient.post = jest.fn(() => of(entity));
|
|
6
|
+
httpClient.put = jest.fn(() => of(entity));
|
|
7
|
+
httpClient.delete = jest.fn(() => of(entity));
|
|
8
|
+
facade.saveNewEntity(entity);
|
|
9
|
+
expect(httpClient.post).toBeCalledTimes(1);
|
|
10
|
+
expect(httpClient.put).toBeCalledTimes(0);
|
|
11
|
+
expect(httpClient.delete).toBeCalledTimes(0);
|
|
12
|
+
}
|
|
13
|
+
export async function testUpdateCurrentEntity(facade, httpClient) {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
+
const entity = { id: '💃', name: '🧓👴👵' };
|
|
16
|
+
httpClient.post = jest.fn(() => of(entity));
|
|
17
|
+
httpClient.put = jest.fn(() => of(entity));
|
|
18
|
+
httpClient.delete = jest.fn(() => of(entity));
|
|
19
|
+
facade.updateExistingEntity(entity);
|
|
20
|
+
expect(httpClient.put).toBeCalledTimes(1);
|
|
21
|
+
expect(httpClient.post).toBeCalledTimes(0);
|
|
22
|
+
expect(httpClient.delete).toBeCalledTimes(0);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1mYWNhZGUtaHR0cC10ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3Rlc3Rpbmcvc3JjL2RhdGEtZW50cnktZmFjYWRlLWh0dHAtdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxNQUFlLEVBQ2YsVUFBc0I7SUFFdEIsOERBQThEO0lBQzlELE1BQU0sTUFBTSxHQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ25DLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1QyxVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0MsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzNDLE1BQWUsRUFDZixVQUFzQjtJQUV0Qiw4REFBOEQ7SUFDOUQsTUFBTSxNQUFNLEdBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUVqRCxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUU5QyxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFNhdmVDdXJyZW50RW50aXR5PFRGYWNhZGUgZXh0ZW5kcyB7IHNhdmVOZXdFbnRpdHkoZW50aXR5OiB1bmtub3duKTogdm9pZDsgfT4oXG4gIGZhY2FkZTogVEZhY2FkZSxcbiAgaHR0cENsaWVudDogSHR0cENsaWVudCxcbik6IFByb21pc2U8dm9pZD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBlbnRpdHk6IGFueSA9IHsgbmFtZTogJ/CfhpUnIH07XG4gIGh0dHBDbGllbnQucG9zdCA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG4gIGh0dHBDbGllbnQucHV0ID0gamVzdC5mbigoKSA9PiBvZihlbnRpdHkpKTtcbiAgaHR0cENsaWVudC5kZWxldGUgPSBqZXN0LmZuKCgpID0+IG9mKGVudGl0eSkpO1xuXG4gIGZhY2FkZS5zYXZlTmV3RW50aXR5KGVudGl0eSk7XG4gIGV4cGVjdChodHRwQ2xpZW50LnBvc3QpLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgZXhwZWN0KGh0dHBDbGllbnQucHV0KS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gIGV4cGVjdChodHRwQ2xpZW50LmRlbGV0ZSkudG9CZUNhbGxlZFRpbWVzKDApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFVwZGF0ZUN1cnJlbnRFbnRpdHk8VEZhY2FkZSBleHRlbmRzIHsgdXBkYXRlRXhpc3RpbmdFbnRpdHkoZW50aXR5OiB1bmtub3duKTogdm9pZDsgfT4oXG4gIGZhY2FkZTogVEZhY2FkZSxcbiAgaHR0cENsaWVudDogSHR0cENsaWVudCxcbik6IFByb21pc2U8dm9pZD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBlbnRpdHk6IGFueSA9IHsgaWQ6ICfwn5KDJywgbmFtZTogJ/Cfp5Pwn5G08J+RtScgfTtcblxuICBodHRwQ2xpZW50LnBvc3QgPSBqZXN0LmZuKCgpID0+IG9mKGVudGl0eSkpO1xuICBodHRwQ2xpZW50LnB1dCA9IGplc3QuZm4oKCkgPT4gb2YoZW50aXR5KSk7XG4gIGh0dHBDbGllbnQuZGVsZXRlID0gamVzdC5mbigoKSA9PiBvZihlbnRpdHkpKTtcblxuICBmYWNhZGUudXBkYXRlRXhpc3RpbmdFbnRpdHkoZW50aXR5KTtcbiAgZXhwZWN0KGh0dHBDbGllbnQucHV0KS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gIGV4cGVjdChodHRwQ2xpZW50LnBvc3QpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgZXhwZWN0KGh0dHBDbGllbnQuZGVsZXRlKS50b0JlQ2FsbGVkVGltZXMoMCk7XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { readFirst } from 'imng-ngrx-utils/testing';
|
|
2
|
+
export async function testAddSetAndClearCurrentEntity(facade) {
|
|
3
|
+
const entity = { name: '🆕' };
|
|
4
|
+
await validateInitialState(facade);
|
|
5
|
+
facade.setCurrentEntity(entity, { name: 'parentEntity' });
|
|
6
|
+
let status = await getEntityStatus(facade);
|
|
7
|
+
expect(status.currentEntity).toStrictEqual(entity);
|
|
8
|
+
expect(status.isEditActive).toBeFalsy();
|
|
9
|
+
expect(status.isNewActive).toBeTruthy();
|
|
10
|
+
facade.clearCurrentEntity();
|
|
11
|
+
status = await getEntityStatus(facade);
|
|
12
|
+
expect(status.currentEntity).toBeFalsy();
|
|
13
|
+
expect(status.isEditActive).toBeFalsy();
|
|
14
|
+
expect(status.isNewActive).toBeFalsy();
|
|
15
|
+
}
|
|
16
|
+
export async function testEditSetAndClearCurrentEntity(facade) {
|
|
17
|
+
const entity = { id: '💃', name: '🧓👴👵' };
|
|
18
|
+
await validateInitialState(facade);
|
|
19
|
+
facade.setCurrentEntity(entity, { name: 'parentEntity' });
|
|
20
|
+
let status = await getEntityStatus(facade);
|
|
21
|
+
expect(status.currentEntity).toStrictEqual(entity);
|
|
22
|
+
expect(status.isEditActive).toBeTruthy();
|
|
23
|
+
expect(status.isNewActive).toBeFalsy();
|
|
24
|
+
facade.clearCurrentEntity();
|
|
25
|
+
status = await getEntityStatus(facade);
|
|
26
|
+
expect(status.currentEntity).toBeFalsy();
|
|
27
|
+
expect(status.isEditActive).toBeFalsy();
|
|
28
|
+
expect(status.isNewActive).toBeFalsy();
|
|
29
|
+
}
|
|
30
|
+
async function validateInitialState(facade) {
|
|
31
|
+
const status = await getEntityStatus(facade);
|
|
32
|
+
expect(status.currentEntity).toBeFalsy();
|
|
33
|
+
expect(status.isEditActive).toBeFalsy();
|
|
34
|
+
expect(status.isNewActive).toBeFalsy();
|
|
35
|
+
}
|
|
36
|
+
async function getEntityStatus(facade) {
|
|
37
|
+
return {
|
|
38
|
+
currentEntity: await readFirst(facade.currentEntity$),
|
|
39
|
+
isEditActive: await readFirst(facade.isEditActive$),
|
|
40
|
+
isNewActive: await readFirst(facade.isNewActive$),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1mYWNhZGUtdGVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWVudHJ5LWZhY2FkZS10ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHcEQsTUFBTSxDQUFDLEtBQUssVUFBVSwrQkFBK0IsQ0FFbkQsTUFBZTtJQUNmLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzlCLE1BQU0sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzFELElBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUV4QyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0NBQWdDLENBRXBELE1BQWU7SUFDZixNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQzVDLE1BQU0sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzFELElBQUksTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUV2QyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDekMsQ0FBQztBQUNELEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxNQUFzQjtJQUN4RCxNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQsS0FBSyxVQUFVLGVBQWUsQ0FDNUIsTUFBZTtJQU1mLE9BQU87UUFDTCxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUNyRCxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUNuRCxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztLQUNsRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaXJzdCB9IGZyb20gJ2ltbmctbmdyeC11dGlscy90ZXN0aW5nJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RBZGRTZXRBbmRDbGVhckN1cnJlbnRFbnRpdHk8XG4gIFRGYWNhZGUgZXh0ZW5kcyBUZXN0YWJsZUZhY2FkZVxuPihmYWNhZGU6IFRGYWNhZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZW50aXR5ID0geyBuYW1lOiAn8J+GlScgfTtcbiAgYXdhaXQgdmFsaWRhdGVJbml0aWFsU3RhdGUoZmFjYWRlKTtcblxuICBmYWNhZGUuc2V0Q3VycmVudEVudGl0eShlbnRpdHksIHsgbmFtZTogJ3BhcmVudEVudGl0eScgfSk7XG4gIGxldCBzdGF0dXMgPSBhd2FpdCBnZXRFbnRpdHlTdGF0dXMoZmFjYWRlKTtcbiAgZXhwZWN0KHN0YXR1cy5jdXJyZW50RW50aXR5KS50b1N0cmljdEVxdWFsKGVudGl0eSk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc05ld0FjdGl2ZSkudG9CZVRydXRoeSgpO1xuXG4gIGZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkoKTtcbiAgc3RhdHVzID0gYXdhaXQgZ2V0RW50aXR5U3RhdHVzKGZhY2FkZSk7XG4gIGV4cGVjdChzdGF0dXMuY3VycmVudEVudGl0eSkudG9CZUZhbHN5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNFZGl0QWN0aXZlKS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc05ld0FjdGl2ZSkudG9CZUZhbHN5KCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0RWRpdFNldEFuZENsZWFyQ3VycmVudEVudGl0eTxcbiAgVEZhY2FkZSBleHRlbmRzIFRlc3RhYmxlRmFjYWRlXG4+KGZhY2FkZTogVEZhY2FkZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBlbnRpdHkgPSB7IGlkOiAn8J+SgycsIG5hbWU6ICfwn6eT8J+RtPCfkbUnIH07XG4gIGF3YWl0IHZhbGlkYXRlSW5pdGlhbFN0YXRlKGZhY2FkZSk7XG5cbiAgZmFjYWRlLnNldEN1cnJlbnRFbnRpdHkoZW50aXR5LCB7IG5hbWU6ICdwYXJlbnRFbnRpdHknIH0pO1xuICBsZXQgc3RhdHVzID0gYXdhaXQgZ2V0RW50aXR5U3RhdHVzKGZhY2FkZSk7XG4gIGV4cGVjdChzdGF0dXMuY3VycmVudEVudGl0eSkudG9TdHJpY3RFcXVhbChlbnRpdHkpO1xuICBleHBlY3Qoc3RhdHVzLmlzRWRpdEFjdGl2ZSkudG9CZVRydXRoeSgpO1xuICBleHBlY3Qoc3RhdHVzLmlzTmV3QWN0aXZlKS50b0JlRmFsc3koKTtcblxuICBmYWNhZGUuY2xlYXJDdXJyZW50RW50aXR5KCk7XG4gIHN0YXR1cyA9IGF3YWl0IGdldEVudGl0eVN0YXR1cyhmYWNhZGUpO1xuICBleHBlY3Qoc3RhdHVzLmN1cnJlbnRFbnRpdHkpLnRvQmVGYWxzeSgpO1xuICBleHBlY3Qoc3RhdHVzLmlzRWRpdEFjdGl2ZSkudG9CZUZhbHN5KCk7XG4gIGV4cGVjdChzdGF0dXMuaXNOZXdBY3RpdmUpLnRvQmVGYWxzeSgpO1xufVxuYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVJbml0aWFsU3RhdGUoZmFjYWRlOiBUZXN0YWJsZUZhY2FkZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzdGF0dXMgPSBhd2FpdCBnZXRFbnRpdHlTdGF0dXMoZmFjYWRlKTtcbiAgZXhwZWN0KHN0YXR1cy5jdXJyZW50RW50aXR5KS50b0JlRmFsc3koKTtcbiAgZXhwZWN0KHN0YXR1cy5pc0VkaXRBY3RpdmUpLnRvQmVGYWxzeSgpO1xuICBleHBlY3Qoc3RhdHVzLmlzTmV3QWN0aXZlKS50b0JlRmFsc3koKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RW50aXR5U3RhdHVzPFRGYWNhZGUgZXh0ZW5kcyBUZXN0YWJsZUZhY2FkZT4oXG4gIGZhY2FkZTogVEZhY2FkZVxuKTogUHJvbWlzZTx7XG4gIGN1cnJlbnRFbnRpdHk6IHVua25vd247XG4gIGlzRWRpdEFjdGl2ZTogdW5rbm93bjtcbiAgaXNOZXdBY3RpdmU6IHVua25vd247XG59PiB7XG4gIHJldHVybiB7XG4gICAgY3VycmVudEVudGl0eTogYXdhaXQgcmVhZEZpcnN0KGZhY2FkZS5jdXJyZW50RW50aXR5JCksXG4gICAgaXNFZGl0QWN0aXZlOiBhd2FpdCByZWFkRmlyc3QoZmFjYWRlLmlzRWRpdEFjdGl2ZSQpLFxuICAgIGlzTmV3QWN0aXZlOiBhd2FpdCByZWFkRmlyc3QoZmFjYWRlLmlzTmV3QWN0aXZlJCksXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVzdGFibGVGYWNhZGUge1xuICBjdXJyZW50RW50aXR5JDogT2JzZXJ2YWJsZTx1bmtub3duPjtcbiAgaXNFZGl0QWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47XG4gIGlzTmV3QWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47XG4gIHNldEN1cnJlbnRFbnRpdHkoZW50aXR5OiB1bmtub3duLCBwYXJlbnRFbnRpdHk/OiB1bmtub3duKTogdm9pZDtcbiAgY2xlYXJDdXJyZW50RW50aXR5KCk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
3
|
+
export class DataEntryMockFacade {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.loading$ = of(false);
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
7
|
+
this.currentEntity$ = of(null);
|
|
8
|
+
this.isEditActive$ = of(false);
|
|
9
|
+
this.isNewActive$ = of(false);
|
|
10
|
+
this.setCurrentEntity = jest.fn();
|
|
11
|
+
this.clearCurrentEntity = jest.fn();
|
|
12
|
+
this.saveNewEntity = jest.fn();
|
|
13
|
+
this.updateExistingEntity = jest.fn();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function createDataEntryMockFacade(
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
+
mockFacade) {
|
|
19
|
+
const localFacade = new DataEntryMockFacade();
|
|
20
|
+
if (!mockFacade) {
|
|
21
|
+
return localFacade;
|
|
22
|
+
}
|
|
23
|
+
mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$;
|
|
24
|
+
mockFacade.currentEntity$ =
|
|
25
|
+
mockFacade.currentEntity$ || localFacade.currentEntity$;
|
|
26
|
+
mockFacade.isEditActive$ =
|
|
27
|
+
mockFacade.isEditActive$ || localFacade.isEditActive$;
|
|
28
|
+
mockFacade.isNewActive$ = mockFacade.isNewActive$ || localFacade.isNewActive$;
|
|
29
|
+
mockFacade.setCurrentEntity = mockFacade.setCurrentEntity || jest.fn();
|
|
30
|
+
mockFacade.clearCurrentEntity = mockFacade.clearCurrentEntity || jest.fn();
|
|
31
|
+
mockFacade.saveNewEntity = mockFacade.saveNewEntity || jest.fn();
|
|
32
|
+
mockFacade.updateExistingEntity =
|
|
33
|
+
mockFacade.updateExistingEntity || jest.fn();
|
|
34
|
+
return mockFacade;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1tb2NrLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3Rlc3Rpbmcvc3JjL2RhdGEtZW50cnktbW9jay5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0Qyx3REFBd0Q7QUFDeEQsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNTLGFBQVEsR0FBd0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELHdEQUF3RDtRQUNqRCxtQkFBYyxHQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0Msa0JBQWEsR0FBd0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzFCLHlCQUFvQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0NBQUE7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0FBQ3ZDLDhEQUE4RDtBQUM5RCxVQUE0QztJQUU1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFDOUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLE9BQU8sV0FBVyxDQUFDO0tBQ3BCO0lBQ0QsVUFBVSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDbEUsVUFBVSxDQUFDLGNBQWM7UUFDdkIsVUFBVSxDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDO0lBQzFELFVBQVUsQ0FBQyxhQUFhO1FBQ3RCLFVBQVUsQ0FBQyxhQUFhLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4RCxVQUFVLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLFlBQVksQ0FBQztJQUM5RSxVQUFVLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN2RSxVQUFVLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzRSxVQUFVLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLFVBQVUsQ0FBQyxvQkFBb0I7UUFDN0IsVUFBVSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMvQyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBJRGF0YUVudHJ5RmFjYWRlIH0gZnJvbSAnaW1uZy1rZW5kby1kYXRhLWVudHJ5JztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbmV4cG9ydCBjbGFzcyBEYXRhRW50cnlNb2NrRmFjYWRlIGltcGxlbWVudHMgSURhdGFFbnRyeUZhY2FkZTx1bmtub3duPiB7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgcHVibGljIGN1cnJlbnRFbnRpdHkkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gb2YobnVsbCk7XG4gIHB1YmxpYyBpc0VkaXRBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgaXNOZXdBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgc2V0Q3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIGNsZWFyQ3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIHNhdmVOZXdFbnRpdHkgPSBqZXN0LmZuKCk7XG4gIHB1YmxpYyB1cGRhdGVFeGlzdGluZ0VudGl0eSA9IGplc3QuZm4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFFbnRyeU1vY2tGYWNhZGUoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIG1vY2tGYWNhZGU/OiBJRGF0YUVudHJ5RmFjYWRlPHVua25vd24+IHwgYW55XG4pOiBJRGF0YUVudHJ5RmFjYWRlPHVua25vd24+IHtcbiAgY29uc3QgbG9jYWxGYWNhZGUgPSBuZXcgRGF0YUVudHJ5TW9ja0ZhY2FkZSgpO1xuICBpZiAoIW1vY2tGYWNhZGUpIHtcbiAgICByZXR1cm4gbG9jYWxGYWNhZGU7XG4gIH1cbiAgbW9ja0ZhY2FkZS5sb2FkaW5nJCA9IG1vY2tGYWNhZGUubG9hZGluZyQgfHwgbG9jYWxGYWNhZGUubG9hZGluZyQ7XG4gIG1vY2tGYWNhZGUuY3VycmVudEVudGl0eSQgPVxuICAgIG1vY2tGYWNhZGUuY3VycmVudEVudGl0eSQgfHwgbG9jYWxGYWNhZGUuY3VycmVudEVudGl0eSQ7XG4gIG1vY2tGYWNhZGUuaXNFZGl0QWN0aXZlJCA9XG4gICAgbW9ja0ZhY2FkZS5pc0VkaXRBY3RpdmUkIHx8IGxvY2FsRmFjYWRlLmlzRWRpdEFjdGl2ZSQ7XG4gIG1vY2tGYWNhZGUuaXNOZXdBY3RpdmUkID0gbW9ja0ZhY2FkZS5pc05ld0FjdGl2ZSQgfHwgbG9jYWxGYWNhZGUuaXNOZXdBY3RpdmUkO1xuICBtb2NrRmFjYWRlLnNldEN1cnJlbnRFbnRpdHkgPSBtb2NrRmFjYWRlLnNldEN1cnJlbnRFbnRpdHkgfHwgamVzdC5mbigpO1xuICBtb2NrRmFjYWRlLmNsZWFyQ3VycmVudEVudGl0eSA9IG1vY2tGYWNhZGUuY2xlYXJDdXJyZW50RW50aXR5IHx8IGplc3QuZm4oKTtcbiAgbW9ja0ZhY2FkZS5zYXZlTmV3RW50aXR5ID0gbW9ja0ZhY2FkZS5zYXZlTmV3RW50aXR5IHx8IGplc3QuZm4oKTtcbiAgbW9ja0ZhY2FkZS51cGRhdGVFeGlzdGluZ0VudGl0eSA9XG4gICAgbW9ja0ZhY2FkZS51cGRhdGVFeGlzdGluZ0VudGl0eSB8fCBqZXN0LmZuKCk7XG4gIHJldHVybiBtb2NrRmFjYWRlO1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
|
-
export * from './
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1kYXRhLWVudHJ5LXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9pbW5nLWtlbmRvLWRhdGEtZW50cnktdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -18,20 +18,24 @@ class DataEntryMockFacade {
|
|
|
18
18
|
this.updateExistingEntity = jest.fn();
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
function createDataEntryMockFacade(
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
+
mockFacade) {
|
|
23
24
|
const localFacade = new DataEntryMockFacade();
|
|
24
25
|
if (!mockFacade) {
|
|
25
26
|
return localFacade;
|
|
26
27
|
}
|
|
27
28
|
mockFacade.loading$ = mockFacade.loading$ || localFacade.loading$;
|
|
28
|
-
mockFacade.currentEntity$ =
|
|
29
|
-
|
|
29
|
+
mockFacade.currentEntity$ =
|
|
30
|
+
mockFacade.currentEntity$ || localFacade.currentEntity$;
|
|
31
|
+
mockFacade.isEditActive$ =
|
|
32
|
+
mockFacade.isEditActive$ || localFacade.isEditActive$;
|
|
30
33
|
mockFacade.isNewActive$ = mockFacade.isNewActive$ || localFacade.isNewActive$;
|
|
31
34
|
mockFacade.setCurrentEntity = mockFacade.setCurrentEntity || jest.fn();
|
|
32
35
|
mockFacade.clearCurrentEntity = mockFacade.clearCurrentEntity || jest.fn();
|
|
33
36
|
mockFacade.saveNewEntity = mockFacade.saveNewEntity || jest.fn();
|
|
34
|
-
mockFacade.updateExistingEntity =
|
|
37
|
+
mockFacade.updateExistingEntity =
|
|
38
|
+
mockFacade.updateExistingEntity || jest.fn();
|
|
35
39
|
return mockFacade;
|
|
36
40
|
}
|
|
37
41
|
|
|
@@ -167,4 +171,4 @@ class MockDataEntryComponent extends BaseDataEntryComponent {
|
|
|
167
171
|
*/
|
|
168
172
|
|
|
169
173
|
export { DataDeleteMockFacade, DataEntryMockFacade, MockDataEntryComponent, createDataDeleteMockFacade, createDataEntryMockFacade, testAddSetAndClearCurrentEntity, testDeleteCurrentEntity, testEditSetAndClearCurrentEntity, testSaveCurrentEntity, testUpdateCurrentEntity, triggerCancelClickEvent, triggerSaveClickEvent };
|
|
170
|
-
//# sourceMappingURL=imng-kendo-data-entry-testing.
|
|
174
|
+
//# sourceMappingURL=imng-kendo-data-entry-testing.mjs.map
|
|
@@ -0,0 +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":";;;;;;AAIA;MACa,mBAAmB,CAAA;AAAhC,IAAA,WAAA,GAAA;AACS,QAAA,IAAA,CAAA,QAAQ,GAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;;AAE1C,QAAA,IAAA,CAAA,cAAc,GAAwB,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,aAAa,GAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,YAAY,GAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7B,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC1B,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;KACzC;AAAA,CAAA;SAEe,yBAAyB;AACvC;AACA,UAA4C,EAAA;AAE5C,IAAA,MAAM,WAAW,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,OAAO,WAAW,CAAC;AACpB,KAAA;IACD,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC;AAClE,IAAA,UAAU,CAAC,cAAc;AACvB,QAAA,UAAU,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,CAAC;AAC1D,IAAA,UAAU,CAAC,aAAa;AACtB,QAAA,UAAU,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC;IACxD,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC;IAC9E,UAAU,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IACvE,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3E,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;AACjE,IAAA,UAAU,CAAC,oBAAoB;AAC7B,QAAA,UAAU,CAAC,oBAAoB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;AAC/C,IAAA,OAAO,UAAU,CAAC;AACpB;;AClCM,SAAgB,+BAA+B,CAEnD,MAAe,EAAA;;AACf,QAAA,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9B,QAAA,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAC1D,QAAA,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;QAExC,MAAM,CAAC,kBAAkB,EAAE,CAAC;AAC5B,QAAA,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;KACxC,CAAA,CAAA;AAAA,CAAA;AAEK,SAAgB,gCAAgC,CAEpD,MAAe,EAAA;;QACf,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5C,QAAA,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAC1D,QAAA,IAAI,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;QAEvC,MAAM,CAAC,kBAAkB,EAAE,CAAC;AAC5B,QAAA,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;KACxC,CAAA,CAAA;AAAA,CAAA;AACD,SAAe,oBAAoB,CAAC,MAAsB,EAAA;;AACxD,QAAA,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;KACxC,CAAA,CAAA;AAAA,CAAA;AAED,SAAe,eAAe,CAC5B,MAAe,EAAA;;QAMf,OAAO;AACL,YAAA,aAAa,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;AACrD,YAAA,YAAY,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;AACnD,YAAA,WAAW,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;SAClD,CAAC;KACH,CAAA,CAAA;AAAA;;ACxDqB,SAAA,qBAAqB,CACzC,MAAe,EACf,UAAsB,EAAA;;;AAGtB,QAAA,MAAM,MAAM,GAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnC,QAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,QAAA,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,QAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9C,QAAA,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;KAC9C,CAAA,CAAA;AAAA,CAAA;AAEqB,SAAA,uBAAuB,CAC3C,MAAe,EACf,UAAsB,EAAA;;;QAGtB,MAAM,MAAM,GAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAEjD,QAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,QAAA,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,QAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9C,QAAA,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;KAE9C,CAAA,CAAA;AAAA;;AChCqB,SAAA,uBAAuB,CAC3C,MAAe,EACf,UAAsB,EAAA;;;QAGtB,MAAM,MAAM,GAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAEjD,QAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC5B,QAAA,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC3B,QAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9C,QAAA,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;KAE9C,CAAA,CAAA;AAAA;;AChBD;MACa,oBAAoB,CAAA;AAAjC,IAAA,WAAA,GAAA;AACE,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;KAClC;AAAA,CAAA;AAED;AACM,SAAU,0BAA0B,CAAC,UAA4C,EAAA;AACrF,IAAA,MAAM,WAAW,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,OAAO,WAAW,CAAC;AACpB,KAAA;IACD,UAAU,CAAC,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;AAC/E,IAAA,OAAO,UAAU,CAAC;AACpB;;ACbM,SAAU,qBAAqB,CAAa,OAAqC,EAAA;AACrF,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACjE,IAAA,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AACK,SAAU,uBAAuB,CAAa,OAAqC,EAAA;AACvF,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;AACnE,IAAA,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7C;;ACVA;AAIM,MAAO,sBAAuB,SAAQ,sBAA2C,CAAA;AAAvF,IAAA,WAAA,GAAA;;AACS,QAAA,IAAW,CAAA,WAAA,GAAG,wBAAwB,CAAC;AACvC,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,IAAI,CAAA,IAAA,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC;KAC/B;AAAA;;ACTD;;AAEG;;;;"}
|