imng-kendo-data-entry 6.292.5 → 7.209.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/base-data-entry.component.mjs +8 -7
- package/esm2022/lib/data-entry-dialog.component.mjs +15 -10
- package/esm2022/lib/dialog-buttons.directive.mjs +4 -4
- package/esm2022/lib/imng-kendo-data-entry.module.mjs +4 -4
- package/esm2022/lib/reducer-collection-logic.mjs +1 -1
- package/esm2022/testing/data-delete-mock.facade.mjs +4 -6
- package/esm2022/testing/data-entry-mock.facade.mjs +1 -1
- package/fesm2022/imng-kendo-data-entry-testing.mjs +3 -5
- package/fesm2022/imng-kendo-data-entry-testing.mjs.map +1 -1
- package/fesm2022/imng-kendo-data-entry.mjs +29 -23
- package/fesm2022/imng-kendo-data-entry.mjs.map +1 -1
- package/lib/base-data-entry.component.d.ts +2 -1
- package/lib/data-entry-dialog.component.d.ts +3 -2
- package/lib/form-group-patcher.d.ts +1 -1
- package/package.json +1 -1
- package/testing/data-delete-mock.facade.d.ts +2 -5
- package/testing/data-entry-mock.facade.d.ts +0 -1
- package/testing/mock-data-entry-dialog.component.d.ts +0 -1
|
@@ -21,7 +21,8 @@ export class BaseDataEntryComponent {
|
|
|
21
21
|
this.width = 800; //NOSONAR
|
|
22
22
|
this.height = 600; //NOSONAR
|
|
23
23
|
this.formId = 'imng-form';
|
|
24
|
-
this.
|
|
24
|
+
this.cancelButtonText = 'Cancel';
|
|
25
|
+
this.submitButtonText = 'Submit';
|
|
25
26
|
this.MinLengthError = 'minlength';
|
|
26
27
|
this.RequiredError = 'required';
|
|
27
28
|
this.ENUM_DISPLAY_TEXT = 'displayText';
|
|
@@ -98,18 +99,18 @@ export class BaseDataEntryComponent {
|
|
|
98
99
|
}
|
|
99
100
|
return errors;
|
|
100
101
|
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: BaseDataEntryComponent, selector: "ng-component", inputs: { width: "width", height: "height" }, ngImport: i0, template: '', isInline: true }); }
|
|
103
104
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
|
|
105
106
|
type: Component,
|
|
106
107
|
args: [{ template: '' }]
|
|
107
|
-
}], ctorParameters:
|
|
108
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
108
109
|
type: Inject,
|
|
109
110
|
args: [FACADE]
|
|
110
|
-
}] }]
|
|
111
|
+
}] }], propDecorators: { width: [{
|
|
111
112
|
type: Input
|
|
112
113
|
}], height: [{
|
|
113
114
|
type: Input
|
|
114
115
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRbkQsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQy9CLHdCQUF3QixDQUN6QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQWdCLHNCQUFzQjtJQXNCMUMsWUFBNEMsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFsQjFDLFVBQUssR0FBb0IsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN2QyxXQUFNLEdBQW9CLEdBQUcsQ0FBQyxDQUFDLFNBQVM7UUFFakQsV0FBTSxHQUFHLFdBQVcsQ0FBQztRQUNyQixtQkFBYyxHQUFHLE1BQU0sQ0FBQztRQUNmLG1CQUFjLEdBQUcsV0FBVyxDQUFDO1FBQzdCLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUNsQyxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFLOUIsZUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FDeEUsS0FBZ0IsQ0FDakIsQ0FBQztRQUdBLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxF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QWlCO29CQUNmLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLFdBQVcsRUFBRTtvQkFDdkMsQ0FBQyxDQUFDLFdBQVcsQ0FDaEIsQ0FDRixDQUFDO2FBQ0g7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBckhtQixzQkFBc0Isa0JBc0J0QixNQUFNO2tHQXRCTixzQkFBc0Isa0dBRHJCLEVBQUU7OzJGQUNILHNCQUFzQjtrQkFEM0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OzBCQXVCWixNQUFNOzJCQUFDLE1BQU07NENBbEJWLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBGb3JtR3JvdXAsXG4gIEZvcm1BcnJheSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUJhc2VEYXRhRW50cnlGYWNhZGUgfSBmcm9tICcuL2RhdGEtZW50cnktZmFjYWRlJztcbmltcG9ydCB7IFN1YnNjcmliYWJsZSwgU3Vic2NyaXB0aW9ucyB9IGZyb20gJ2ltbmctbmdyeC11dGlscyc7XG5cbmNvbnN0IEZBQ0FERSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQmFzZURhdGFFbnRyeUZhY2FkZT4oXG4gICdpbW5nLWRhdGEtZW50cnktZmFjYWRlJyxcbik7XG5cbi8qKlxuICogVGhlIGV4dGVuZGluZyBjbGFzcyBoYXMgdG8gaW1wbGVtZW50IHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBvbiBuZ0luaXRcbiAqIGRpYWxvZ1RpdGxlOiBzdHJpbmcgLSBUaGlzIHdpbGwgYmUgdGhlIHRleHQgZGlzcGxheWVkIGF0IHRoZSB0b3Agb2YgdGhlIG1vZGFsIHRpdGxlIGJhclxuICogcHJvcHM6IGVudW0gLSBUaGlzIGlzIGEgaGVscGVyIHByb3BlcnR5IHRvIG1ha2UgdGhlIGh0bWwgbWFya3VwIHR5cGUgc2FmZVxuICpcbiAqIEFsb25nIHdpdGggdGhlIHJlcXVpcmVtZW50cyBhYm92ZSwgdGhlIGV4dGVuZGluZyBjbGFzcyBoYXMgdG8gc2V0IHZhbHVlcyB0byB0aGVcbiAqIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG9uIG5nSW5pdFxuICogYWN0aXZlJDogT2JzZXJ2YWJsZTxib29sZWFuPiAtIFRoaXMgdHlwaWNhbGx5IHdvdWxkIGJlIGFzc2lnbmVkIHRvIHRoZSBpc05ld0FjdGl2ZSQgb3IgaXNFZGl0QWN0aXZlIG9uIHRoZSBmYWNhZGVcbiAqIGFkZEVkaXRGb3JtOiBGb3JtR3JvdXAgLSBUaGlzIHdpbGwgYmUgY3JlYXRlZCBieSB5b3VyIGNvbXBvbmVudFxuICpcbiAqIEBjbGFzcyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PlxuICovXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURhdGFFbnRyeUNvbXBvbmVudDxcbiAgRkFDQURFIGV4dGVuZHMgSUJhc2VEYXRhRW50cnlGYWNhZGUsXG4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFN1YnNjcmliYWJsZVxue1xuICBASW5wdXQoKSBwdWJsaWMgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDgwMDsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciA9IDYwMDsgLy9OT1NPTkFSXG5cbiAgcHVibGljIGZvcm1JZCA9ICdpbW5nLWZvcm0nO1xuICBwdWJsaWMgc2F2ZUJ1dHRvblRleHQgPSAnU2F2ZSc7XG4gIHB1YmxpYyByZWFkb25seSBNaW5MZW5ndGhFcnJvciA9ICdtaW5sZW5ndGgnO1xuICBwdWJsaWMgcmVhZG9ubHkgUmVxdWlyZWRFcnJvciA9ICdyZXF1aXJlZCc7XG4gIHB1YmxpYyByZWFkb25seSBFTlVNX0RJU1BMQVlfVEVYVCA9ICdkaXNwbGF5VGV4dCc7XG4gIHB1YmxpYyByZWFkb25seSBFTlVNX05BTUUgPSAnbmFtZSc7XG4gIHB1YmxpYyBhbGxTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbnMoKTtcbiAgcHVibGljIGFic3RyYWN0IGRpYWxvZ1RpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCBwcm9wczogdW5rbm93bjtcbiAgcHVibGljIGFic3RyYWN0IGFkZEVkaXRGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIHJlYWRvbmx5IHN1Ym1pdHRlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgZmFsc2UgYXMgYm9vbGVhbixcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEZBQ0FERSkgcHVibGljIHJlYWRvbmx5IGZhY2FkZTogRkFDQURFKSB7XG4gICAgdGhpcy5sb2FkaW5nJCA9IHRoaXMuZmFjYWRlLmxvYWRpbmckO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsbFN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmVBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuZmFjYWRlLmNsZWFyQ3VycmVudEVudGl0eSgpO1xuICAgIHRoaXMuc3VibWl0dGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIG9uU3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuc3VibWl0dGVkJC5uZXh0KHRydWUpO1xuXG4gICAgLy8gc3RvcCBoZXJlIGlmIGZvcm0gaXMgaW52YWxpZFxuICAgIGlmICghdGhpcy5hZGRFZGl0Rm9ybS52YWxpZCkge1xuICAgICAgY29uc29sZS5lcnJvcignZm9ybSB2YWxpZGF0aW9uIGVycm9ycy4nKTsgLy9OT1NPTkFSXG4gICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0Rm9ybUVycm9ycygpKSk7IC8vTk9TT05BUlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnNhdmUoKTtcbiAgICB0aGlzLmNsb3NlRm9ybSgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzRGF0YUludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkRWRpdEZvcm0uaW52YWxpZDtcbiAgfVxuXG4gIC8vIGNvbnZlbmllbmNlIGdldHRlciBmb3IgZWFzeSBhY2Nlc3MgdG8gZm9ybSBmaWVsZHNcbiAgcHVibGljIGZvcm1Db250cm9sKFxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmcsXG4gICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gPSB0aGlzLmFkZEVkaXRGb3JtLmNvbnRyb2xzLFxuICApOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBjb250cm9sc1tjb250cm9sTmFtZV07XG4gIH1cblxuICBwdWJsaWMgZm9ybUNvbnRyb2xFcnJvcnMoXG4gICAgY29udHJvbDogc3RyaW5nIHwgQWJzdHJhY3RDb250cm9sLFxuICAgIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9IHwgQWJzdHJhY3RDb250cm9sW10gPSB0aGlzXG4gICAgICAuYWRkRWRpdEZvcm0uY29udHJvbHMsXG4gICk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCB0ZW1wQ29udHJvbCA9XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgdHlwZW9mIGNvbnRyb2wgPT09ICdzdHJpbmcnID8gKGNvbnRyb2xzIGFzIGFueSlbY29udHJvbF0gOiBjb250cm9sO1xuICAgIGlmICh0ZW1wQ29udHJvbD8udmFsaWQgJiYgIXRlbXBDb250cm9sPy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGVtcENvbnRyb2w/LmVycm9ycztcbiAgfVxuICBwdWJsaWMgZm9ybU1pbkxlbmd0aEVycm9yKFxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmcsXG4gICk6IHsgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjsgYWN0dWFsTGVuZ3RoOiBudW1iZXIgfSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sRXJyb3JzKGNvbnRyb2xOYW1lKT8uW3RoaXMuTWluTGVuZ3RoRXJyb3JdO1xuICB9XG4gIHB1YmxpYyBnZXRGb3JtRXJyb3JzKFxuICAgIGNvbnRyb2xzOiB7IFtrZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbCB9IHwgQWJzdHJhY3RDb250cm9sW10gPSB0aGlzXG4gICAgICAuYWRkRWRpdEZvcm0uY29udHJvbHMsXG4gICAgcGFyZW50Q29udHJvbE5hbWU/OiBzdHJpbmcsXG4gICk6IHsgY29udHJvbE5hbWU6IHN0cmluZzsgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfVtdIHtcbiAgICBjb25zdCBlcnJvcnM6IHsgY29udHJvbE5hbWU6IHN0cmluZzsgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgfVtdID0gW107XG4gICAgZm9yIChjb25zdCBjb250cm9sTmFtZSBvZiBPYmplY3Qua2V5cyhjb250cm9scykpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSAoY29udHJvbHMgYXMgbmV2ZXIpW2NvbnRyb2xOYW1lXTtcbiAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5mb3JtQ29udHJvbEVycm9ycyhjb250cm9sLCBjb250cm9scyk7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe1xuICAgICAgICAgIGNvbnRyb2xOYW1lOiBwYXJlbnRDb250cm9sTmFtZVxuICAgICAgICAgICAgPyBgJHtwYXJlbnRDb250cm9sTmFtZX0uJHtjb250cm9sTmFtZX1gXG4gICAgICAgICAgICA6IGNvbnRyb2xOYW1lLFxuICAgICAgICAgIGVycm9yLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICgoY29udHJvbCBhcyBGb3JtQXJyYXkpPy5jb250cm9scykge1xuICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAuLi50aGlzLmdldEZvcm1FcnJvcnMoXG4gICAgICAgICAgICAoY29udHJvbCBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzLFxuICAgICAgICAgICAgcGFyZW50Q29udHJvbE5hbWVcbiAgICAgICAgICAgICAgPyBgJHtwYXJlbnRDb250cm9sTmFtZX0uJHtjb250cm9sTmFtZX1gXG4gICAgICAgICAgICAgIDogY29udHJvbE5hbWUsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBpbml0Rm9ybSgpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3Qgc2F2ZSgpOiB2b2lkO1xufVxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3NyYy9saWIvYmFzZS1kYXRhLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRbkQsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQy9CLHdCQUF3QixDQUN6QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQWdCLHNCQUFzQjtJQXNCMUMsWUFBNEMsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFuQjFDLFVBQUssR0FBb0IsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN2QyxXQUFNLEdBQW9CLEdBQUcsQ0FBQyxDQUFDLFNBQVM7UUFFakQsV0FBTSxHQUFHLFdBQVcsQ0FBQztRQUNyQixxQkFBZ0IsR0FBRyxRQUFRLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsV0FBVyxDQUFDO1FBQzdCLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUNsQyxjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFLOUIsZUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FDeEUsS0FBZ0IsQ0FDakIsQ0FBQztRQUdBLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJ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QUFNLENBQUMsSUFBSSxDQUNULEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDbEIsT0FBcUIsQ0FBQyxRQUFRLEVBQy9CLGlCQUFpQjtvQkFDZixDQUFDLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxXQUFXLEVBQUU7b0JBQ3ZDLENBQUMsQ0FBQyxXQUFXLENBQ2hCLENBQ0YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FySG1CLHNCQUFzQixrQkFzQnRCLE1BQU07a0dBdEJOLHNCQUFzQixrR0FEckIsRUFBRTs7MkZBQ0gsc0JBQXNCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs7MEJBdUJaLE1BQU07MkJBQUMsTUFBTTt5Q0FuQlYsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIEZvcm1Hcm91cCxcbiAgRm9ybUFycmF5LFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJQmFzZURhdGFFbnRyeUZhY2FkZSB9IGZyb20gJy4vZGF0YS1lbnRyeS1mYWNhZGUnO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlLCBTdWJzY3JpcHRpb25zIH0gZnJvbSAnaW1uZy1uZ3J4LXV0aWxzJztcblxuY29uc3QgRkFDQURFID0gbmV3IEluamVjdGlvblRva2VuPElCYXNlRGF0YUVudHJ5RmFjYWRlPihcbiAgJ2ltbmctZGF0YS1lbnRyeS1mYWNhZGUnLFxuKTtcblxuLyoqXG4gKiBUaGUgZXh0ZW5kaW5nIGNsYXNzIGhhcyB0byBpbXBsZW1lbnQgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIG9uIG5nSW5pdFxuICogZGlhbG9nVGl0bGU6IHN0cmluZyAtIFRoaXMgd2lsbCBiZSB0aGUgdGV4dCBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbW9kYWwgdGl0bGUgYmFyXG4gKiBwcm9wczogZW51bSAtIFRoaXMgaXMgYSBoZWxwZXIgcHJvcGVydHkgdG8gbWFrZSB0aGUgaHRtbCBtYXJrdXAgdHlwZSBzYWZlXG4gKlxuICogQWxvbmcgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIGFib3ZlLCB0aGUgZXh0ZW5kaW5nIGNsYXNzIGhhcyB0byBzZXQgdmFsdWVzIHRvIHRoZVxuICogZm9sbG93aW5nIHByb3BlcnRpZXMgb24gbmdJbml0XG4gKiBhY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IC0gVGhpcyB0eXBpY2FsbHkgd291bGQgYmUgYXNzaWduZWQgdG8gdGhlIGlzTmV3QWN0aXZlJCBvciBpc0VkaXRBY3RpdmUgb24gdGhlIGZhY2FkZVxuICogYWRkRWRpdEZvcm06IEZvcm1Hcm91cCAtIFRoaXMgd2lsbCBiZSBjcmVhdGVkIGJ5IHlvdXIgY29tcG9uZW50XG4gKlxuICogQGNsYXNzIEJhc2VEYXRhRW50cnlDb21wb25lbnQ+XG4gKi9cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PFxuICBGQUNBREUgZXh0ZW5kcyBJQmFzZURhdGFFbnRyeUZhY2FkZSxcbj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgU3Vic2NyaWJhYmxlIHtcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSA4MDA7IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIgPSA2MDA7IC8vTk9TT05BUlxuXG4gIHB1YmxpYyBmb3JtSWQgPSAnaW1uZy1mb3JtJztcbiAgcHVibGljIGNhbmNlbEJ1dHRvblRleHQgPSAnQ2FuY2VsJztcbiAgcHVibGljIHN1Ym1pdEJ1dHRvblRleHQgPSAnU3VibWl0JztcbiAgcHVibGljIHJlYWRvbmx5IE1pbkxlbmd0aEVycm9yID0gJ21pbmxlbmd0aCc7XG4gIHB1YmxpYyByZWFkb25seSBSZXF1aXJlZEVycm9yID0gJ3JlcXVpcmVkJztcbiAgcHVibGljIHJlYWRvbmx5IEVOVU1fRElTUExBWV9URVhUID0gJ2Rpc3BsYXlUZXh0JztcbiAgcHVibGljIHJlYWRvbmx5IEVOVU1fTkFNRSA9ICduYW1lJztcbiAgcHVibGljIGFsbFN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9ucygpO1xuICBwdWJsaWMgYWJzdHJhY3QgZGlhbG9nVGl0bGU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHByb3BzOiB1bmtub3duO1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkRWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgcmVhZG9ubHkgc3VibWl0dGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICBmYWxzZSBhcyBib29sZWFuLFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRkFDQURFKSBwdWJsaWMgcmVhZG9ubHkgZmFjYWRlOiBGQUNBREUpIHtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5mYWNhZGUubG9hZGluZyQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWxsU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZUFsbCgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5mYWNhZGUuY2xlYXJDdXJyZW50RW50aXR5KCk7XG4gICAgdGhpcy5zdWJtaXR0ZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgb25TdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5zdWJtaXR0ZWQkLm5leHQodHJ1ZSk7XG5cbiAgICAvLyBzdG9wIGhlcmUgaWYgZm9ybSBpcyBpbnZhbGlkXG4gICAgaWYgKCF0aGlzLmFkZEVkaXRGb3JtLnZhbGlkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdmb3JtIHZhbGlkYXRpb24gZXJyb3JzLicpOyAvL05PU09OQVJcbiAgICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRGb3JtRXJyb3JzKCkpKTsgLy9OT1NPTkFSXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuc2F2ZSgpO1xuICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNEYXRhSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZGRFZGl0Rm9ybS5pbnZhbGlkO1xuICB9XG5cbiAgLy8gY29udmVuaWVuY2UgZ2V0dGVyIGZvciBlYXN5IGFjY2VzcyB0byBmb3JtIGZpZWxkc1xuICBwdWJsaWMgZm9ybUNvbnRyb2woXG4gICAgY29udHJvbE5hbWU6IHN0cmluZyxcbiAgICBjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBBYnN0cmFjdENvbnRyb2wgfSA9IHRoaXMuYWRkRWRpdEZvcm0uY29udHJvbHMsXG4gICk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIGNvbnRyb2xzW2NvbnRyb2xOYW1lXTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtQ29udHJvbEVycm9ycyhcbiAgICBjb250cm9sOiBzdHJpbmcgfCBBYnN0cmFjdENvbnRyb2wsXG4gICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gfCBBYnN0cmFjdENvbnRyb2xbXSA9IHRoaXNcbiAgICAgIC5hZGRFZGl0Rm9ybS5jb250cm9scyxcbiAgKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IHRlbXBDb250cm9sID1cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICB0eXBlb2YgY29udHJvbCA9PT0gJ3N0cmluZycgPyAoY29udHJvbHMgYXMgYW55KVtjb250cm9sXSA6IGNvbnRyb2w7XG4gICAgaWYgKHRlbXBDb250cm9sPy52YWxpZCAmJiAhdGVtcENvbnRyb2w/LmVycm9ycykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0ZW1wQ29udHJvbD8uZXJyb3JzO1xuICB9XG4gIHB1YmxpYyBmb3JtTWluTGVuZ3RoRXJyb3IoXG4gICAgY29udHJvbE5hbWU6IHN0cmluZyxcbiAgKTogeyByZXF1aXJlZExlbmd0aDogbnVtYmVyOyBhY3R1YWxMZW5ndGg6IG51bWJlciB9IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUNvbnRyb2xFcnJvcnMoY29udHJvbE5hbWUpPy5bdGhpcy5NaW5MZW5ndGhFcnJvcl07XG4gIH1cbiAgcHVibGljIGdldEZvcm1FcnJvcnMoXG4gICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gfCBBYnN0cmFjdENvbnRyb2xbXSA9IHRoaXNcbiAgICAgIC5hZGRFZGl0Rm9ybS5jb250cm9scyxcbiAgICBwYXJlbnRDb250cm9sTmFtZT86IHN0cmluZyxcbiAgKTogeyBjb250cm9sTmFtZTogc3RyaW5nOyBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB9W10ge1xuICAgIGNvbnN0IGVycm9yczogeyBjb250cm9sTmFtZTogc3RyaW5nOyBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB9W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGNvbnRyb2xOYW1lIG9mIE9iamVjdC5rZXlzKGNvbnRyb2xzKSkge1xuICAgICAgY29uc3QgY29udHJvbCA9IChjb250cm9scyBhcyBuZXZlcilbY29udHJvbE5hbWVdO1xuICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLmZvcm1Db250cm9sRXJyb3JzKGNvbnRyb2wsIGNvbnRyb2xzKTtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgY29udHJvbE5hbWU6IHBhcmVudENvbnRyb2xOYW1lXG4gICAgICAgICAgICA/IGAke3BhcmVudENvbnRyb2xOYW1lfS4ke2NvbnRyb2xOYW1lfWBcbiAgICAgICAgICAgIDogY29udHJvbE5hbWUsXG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKChjb250cm9sIGFzIEZvcm1BcnJheSk/LmNvbnRyb2xzKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMuZ2V0Rm9ybUVycm9ycyhcbiAgICAgICAgICAgIChjb250cm9sIGFzIEZvcm1BcnJheSkuY29udHJvbHMsXG4gICAgICAgICAgICBwYXJlbnRDb250cm9sTmFtZVxuICAgICAgICAgICAgICA/IGAke3BhcmVudENvbnRyb2xOYW1lfS4ke2NvbnRyb2xOYW1lfWBcbiAgICAgICAgICAgICAgOiBjb250cm9sTmFtZSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGluaXRGb3JtKCk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBzYXZlKCk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -8,6 +8,8 @@ export class DataEntryDialogComponent {
|
|
|
8
8
|
constructor() {
|
|
9
9
|
this.width = 800; //NOSONAR
|
|
10
10
|
this.height = 600; //NOSONAR
|
|
11
|
+
this.cancelButtonText = 'Cancel';
|
|
12
|
+
this.submitButtonText = 'Submit';
|
|
11
13
|
this.submitted = false;
|
|
12
14
|
}
|
|
13
15
|
ngOnInit() {
|
|
@@ -17,7 +19,8 @@ export class DataEntryDialogComponent {
|
|
|
17
19
|
this.dialogTitle = this.parentComponent.dialogTitle;
|
|
18
20
|
this.loading$ = this.parentComponent.loading$;
|
|
19
21
|
this.addEditForm = this.parentComponent.addEditForm;
|
|
20
|
-
this.
|
|
22
|
+
this.submitButtonText ??= this.parentComponent.submitButtonText ?? 'Submit';
|
|
23
|
+
this.cancelButtonText ??= this.parentComponent.cancelButtonText ?? 'Cancel';
|
|
21
24
|
this.formId ??= this.parentComponent.formId ?? 'imng-form';
|
|
22
25
|
}
|
|
23
26
|
close() {
|
|
@@ -35,8 +38,8 @@ export class DataEntryDialogComponent {
|
|
|
35
38
|
$implicit: { cancel: () => this.cancel(), submit: () => this.submit() },
|
|
36
39
|
};
|
|
37
40
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent", cancelButtonText: "cancelButtonText", submitButtonText: "submitButtonText" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
40
43
|
[width]="width"
|
|
41
44
|
[minWidth]="minWidth ?? width"
|
|
42
45
|
[height]="height"
|
|
@@ -61,7 +64,7 @@ export class DataEntryDialogComponent {
|
|
|
61
64
|
kendoButton
|
|
62
65
|
(click)="cancel()"
|
|
63
66
|
class="btn btn-secondary btn-sm">
|
|
64
|
-
|
|
67
|
+
{{ cancelButtonText }}
|
|
65
68
|
</button>
|
|
66
69
|
<button
|
|
67
70
|
name="imngSubmitDataEntry"
|
|
@@ -70,11 +73,11 @@ export class DataEntryDialogComponent {
|
|
|
70
73
|
kendoButton
|
|
71
74
|
(click)="submit()"
|
|
72
75
|
class="btn btn-primary btn-sm">
|
|
73
|
-
{{
|
|
76
|
+
{{ submitButtonText }}
|
|
74
77
|
</button>
|
|
75
78
|
</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", "themeColor"], 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 }); }
|
|
76
79
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
|
|
78
81
|
type: Component,
|
|
79
82
|
args: [{
|
|
80
83
|
selector: 'imng-data-entry-dialog[parentComponent]',
|
|
@@ -103,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
103
106
|
kendoButton
|
|
104
107
|
(click)="cancel()"
|
|
105
108
|
class="btn btn-secondary btn-sm">
|
|
106
|
-
|
|
109
|
+
{{ cancelButtonText }}
|
|
107
110
|
</button>
|
|
108
111
|
<button
|
|
109
112
|
name="imngSubmitDataEntry"
|
|
@@ -112,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
112
115
|
kendoButton
|
|
113
116
|
(click)="submit()"
|
|
114
117
|
class="btn btn-primary btn-sm">
|
|
115
|
-
{{
|
|
118
|
+
{{ submitButtonText }}
|
|
116
119
|
</button>
|
|
117
120
|
</ng-template>`,
|
|
118
121
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -127,10 +130,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
127
130
|
type: Input
|
|
128
131
|
}], parentComponent: [{
|
|
129
132
|
type: Input
|
|
130
|
-
}],
|
|
133
|
+
}], cancelButtonText: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], submitButtonText: [{
|
|
131
136
|
type: Input
|
|
132
137
|
}], dialogBtnsTemplate: [{
|
|
133
138
|
type: ContentChild,
|
|
134
139
|
args: [DialogButtonsDirective, { static: true, read: TemplateRef }]
|
|
135
140
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUEyQ3BFLE1BQU0sT0FBTyx3QkFBd0I7SUF6Q3JDO1FBMkNrQixVQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN0QixXQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQU92QixxQkFBZ0IsR0FBWSxRQUFRLENBQUM7UUFDckMscUJBQWdCLEdBQVksUUFBUSxDQUFDO1FBZTlDLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FnQzFCO0lBM0JRLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxTQUFTLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDO1FBQzVFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQztRQUM1RSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQztJQUM3RCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNNLE1BQU07UUFDWCxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUI7UUFDckIsU0FBUztRQUNULE9BQU87WUFDTCxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7U0FDeEUsQ0FBQztJQUNKLENBQUM7OEdBekRVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDZWQVlyQixzQkFBc0IsMkJBQXdCLFdBQVcsMkNBbkQ3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21CQW9DTzs7MkZBR04sd0JBQXdCO2tCQXpDcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUNBQXlDO29CQUNuRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkFvQ087b0JBQ2pCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFFaUIsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBSVUsa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUVVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFXQyxrQkFBa0I7c0JBVnhCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VEYXRhRW50cnlDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZGF0YS1lbnRyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1uZy1kYXRhLWVudHJ5LWRpYWxvZ1twYXJlbnRDb21wb25lbnRdJyxcbiAgdGVtcGxhdGU6IGA8a2VuZG8tZGlhbG9nXG4gICAgICBbd2lkdGhdPVwid2lkdGhcIlxuICAgICAgW21pbldpZHRoXT1cIm1pbldpZHRoID8/IHdpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgICAgIChjbG9zZSk9XCJjbG9zZSgpXCJcbiAgICAgIFthdXRvRm9jdXNlZEVsZW1lbnRdPVwiYXV0b0ZvY3VzZWRFbGVtZW50IHx8ICcnXCI+XG4gICAgICA8a2VuZG8tZGlhbG9nLXRpdGxlYmFyIGNsYXNzPVwiYmctcHJpbWFyeVwiPnt7XG4gICAgICAgIGRpYWxvZ1RpdGxlXG4gICAgICB9fTwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGtlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGRpYWxvZ0J0bnNUZW1wbGF0ZSB8fCBkZWZhdWx0RGlhbG9nQWN0aW9uc1RwbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IGRpYWxvZ0FjdGlvbkJ0bnNDdHhcbiAgICAgICAgICBcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2tlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgIDwva2VuZG8tZGlhbG9nPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERpYWxvZ0FjdGlvbnNUcGw+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG5hbWU9XCJpbW5nQ2FuY2VsRGF0YUVudHJ5XCJcbiAgICAgICAga2VuZG9CdXR0b25cbiAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIj5cbiAgICAgICAge3sgY2FuY2VsQnV0dG9uVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG5hbWU9XCJpbW5nU3VibWl0RGF0YUVudHJ5XCJcbiAgICAgICAgW2F0dHIuZm9ybV09XCJmb3JtSWRcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAga2VuZG9CdXR0b25cbiAgICAgICAgKGNsaWNrKT1cInN1Ym1pdCgpXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+XG4gICAgICAgIHt7IHN1Ym1pdEJ1dHRvblRleHQgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFFbnRyeURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5XaWR0aD86IG51bWJlcjsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyB3aWR0aCA9IDgwMDsgLy9OT1NPTkFSXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQgPSA2MDA7IC8vTk9TT05BUlxuICAvKipcbiAgICogaHR0cHM6Ly93d3cudGVsZXJpay5jb20va2VuZG8tYW5ndWxhci11aS9jb21wb25lbnRzL2RpYWxvZ3MvZGlhbG9nL2luaXRpYWwtZm9jdXMvXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgYXV0b0ZvY3VzZWRFbGVtZW50Pzogc3RyaW5nO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBASW5wdXQoKSBwdWJsaWMgcGFyZW50Q29tcG9uZW50PzogQmFzZURhdGFFbnRyeUNvbXBvbmVudDxhbnk+OyAvL05PU09OQVJcbiAgQElucHV0KCkgcHVibGljIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmcgPSAnQ2FuY2VsJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdEJ1dHRvblRleHQ/OiBzdHJpbmcgPSAnU3VibWl0JztcbiAgQENvbnRlbnRDaGlsZChEaWFsb2dCdXR0b25zRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgLyoqXG4gICAqIEV4YW1wbGUgVXNhZ2U6XG4gICAqIDxpbW5nLWRhdGEtZW50cnktZGlhbG9nPlxuICAgKiAuLi4uLi5cbiAgICogIDxuZy10ZW1wbGF0ZSBbaW1uZ0RpYWxvZ0J0bnNdIGxldC1jb3JlQnV0dG9ucz5cbiAgICogICAgPGJ1dHRvbiBpZD1cImJ0bkN1c3RvbTFcIiBjbGFzcz1cImstYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2xvc2U8L2J1dHRvbj5cbiAgICogIDwvbmctdGVtcGxhdGU+XG4gICAqIDwvaW1uZy1kYXRhLWVudHJ5LWRpYWxvZz5cbiAgICovXG4gIHB1YmxpYyBkaWFsb2dCdG5zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgcHVibGljIGxvYWRpbmckPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGFkZEVkaXRGb3JtPzogRm9ybUdyb3VwO1xuICBwdWJsaWMgZm9ybUlkPzogc3RyaW5nO1xuICBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIHB1YmxpYyBkaWFsb2dUaXRsZT86IHN0cmluZztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgcHVibGljIGNvbXBvbmVudD86IHt9O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGFyZW50Q29tcG9uZW50KSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBUaGUgaW5wdXQgJ3BhcmVudENvbXBvbmVudCcgaXMgcmVxdWlyZWRgKTtcbiAgICB9XG4gICAgdGhpcy5kaWFsb2dUaXRsZSA9IHRoaXMucGFyZW50Q29tcG9uZW50LmRpYWxvZ1RpdGxlO1xuICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLnBhcmVudENvbXBvbmVudC5sb2FkaW5nJDtcbiAgICB0aGlzLmFkZEVkaXRGb3JtID0gdGhpcy5wYXJlbnRDb21wb25lbnQuYWRkRWRpdEZvcm07XG4gICAgdGhpcy5zdWJtaXRCdXR0b25UZXh0ID8/PSB0aGlzLnBhcmVudENvbXBvbmVudC5zdWJtaXRCdXR0b25UZXh0ID8/ICdTdWJtaXQnO1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA/Pz0gdGhpcy5wYXJlbnRDb21wb25lbnQuY2FuY2VsQnV0dG9uVGV4dCA/PyAnQ2FuY2VsJztcbiAgICB0aGlzLmZvcm1JZCA/Pz0gdGhpcy5wYXJlbnRDb21wb25lbnQuZm9ybUlkID8/ICdpbW5nLWZvcm0nO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5jbG9zZUZvcm0oKTtcbiAgfVxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5vbkNhbmNlbCgpO1xuICB9XG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnRDb21wb25lbnQ/Lm9uU3VibWl0KCk7XG4gIH1cbiAgZ2V0IGRpYWxvZ0FjdGlvbkJ0bnNDdHgoKTogb2JqZWN0IHwgbnVsbCB7XG4gICAgLy9OT1NPTkFSXG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogeyBjYW5jZWw6ICgpID0+IHRoaXMuY2FuY2VsKCksIHN1Ym1pdDogKCkgPT4gdGhpcy5zdWJtaXQoKSB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,11 +4,11 @@ export class DialogButtonsDirective {
|
|
|
4
4
|
constructor(tpl) {
|
|
5
5
|
this.tpl = tpl;
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: DialogButtonsDirective, selector: "[imngDialogBtns]", ngImport: i0 }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DialogButtonsDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{ selector: '[imngDialogBtns]' }]
|
|
13
|
-
}], ctorParameters:
|
|
13
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
14
14
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBbUIsR0FBeUI7UUFBekIsUUFBRyxHQUFILEdBQUcsQ0FBc0I7SUFBSSxDQUFDOzhHQUR0QyxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2ltbmdEaWFsb2dCdG5zXScgfSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dCdXR0b25zRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRwbDogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHsgfVxufVxuIl19
|
|
@@ -5,11 +5,11 @@ import { DialogButtonsDirective } from './dialog-buttons.directive';
|
|
|
5
5
|
import { DialogModule } from '@progress/kendo-angular-dialog';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class ImngDataEntryDialogModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [CommonModule, DialogModule],
|
|
@@ -21,4 +21,4 @@ export function addStateCollectionItem(collection, item) {
|
|
|
21
21
|
items.unshift(item);
|
|
22
22
|
return items;
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlci1jb2xsZWN0aW9uLWxvZ2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9yZWR1Y2VyLWNvbGxlY3Rpb24tbG9naWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxVQUFvQixFQUNwQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNmLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsVUFBb0IsRUFDcEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDZixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsVUFBb0IsRUFDcEIsSUFBWTtJQUVaLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUM5QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlVHlwZSB9IGZyb20gJ2ltbmctbnJzcngtY2xpZW50LXV0aWxzJztcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTdGF0ZUNvbGxlY3Rpb25JdGVtPEVudGl0eSBleHRlbmRzIHsgaWQ/OiBWYWx1ZVR5cGU7IH0+KFxuICBjb2xsZWN0aW9uOiBFbnRpdHlbXSxcbiAgaXRlbTogRW50aXR5XG4pOiBFbnRpdHlbXSB7XG4gIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoKHZhbCkgPT4gdmFsLmlkID09PSBpdGVtLmlkKTtcbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xuICAgIHJldHVybiBpdGVtcztcbiAgfVxuICByZXR1cm4gY29sbGVjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN0YXRlQ29sbGVjdGlvbkl0ZW08RW50aXR5IGV4dGVuZHMgeyBpZD86IFZhbHVlVHlwZTsgfT4oXG4gIGNvbGxlY3Rpb246IEVudGl0eVtdLFxuICBpdGVtOiBFbnRpdHlcbik6IEVudGl0eVtdIHtcbiAgY29uc3QgaW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleCgodmFsKSA9PiB2YWwuaWQgPT09IGl0ZW0uaWQpO1xuICBpZiAoaW5kZXggPiAtMSkge1xuICAgIGNvbnN0IGl0ZW1zID0gWy4uLmNvbGxlY3Rpb25dO1xuICAgIGl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG4gIHJldHVybiBjb2xsZWN0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RhdGVDb2xsZWN0aW9uSXRlbTxFbnRpdHkgZXh0ZW5kcyB7IGlkPzogVmFsdWVUeXBlOyB9PihcbiAgY29sbGVjdGlvbjogRW50aXR5W10sXG4gIGl0ZW06IEVudGl0eVxuKTogRW50aXR5W10ge1xuICBjb25zdCBpdGVtcyA9IFsuLi5jb2xsZWN0aW9uXTtcbiAgaXRlbXMudW5zaGlmdChpdGVtKTtcbiAgcmV0dXJuIGl0ZW1zO1xufVxuIl19
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2
1
|
export class DataDeleteMockFacade {
|
|
3
2
|
constructor() {
|
|
4
3
|
this.deleteExistingEntity = jest.fn();
|
|
5
4
|
}
|
|
6
5
|
}
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/ban-types,@typescript-eslint/no-explicit-any
|
|
8
6
|
export function createDataDeleteMockFacade(mockFacade) {
|
|
9
|
-
const localFacade = new DataDeleteMockFacade();
|
|
10
7
|
if (!mockFacade) {
|
|
11
|
-
return
|
|
8
|
+
return new DataDeleteMockFacade();
|
|
12
9
|
}
|
|
13
10
|
mockFacade.deleteExistingEntity =
|
|
14
|
-
mockFacade
|
|
11
|
+
mockFacade
|
|
12
|
+
.deleteExistingEntity || jest.fn();
|
|
15
13
|
return mockFacade;
|
|
16
14
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1kZWxldGUtbW9jay5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tZGF0YS1lbnRyeS90ZXN0aW5nL3NyYy9kYXRhLWRlbGV0ZS1tb2NrLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sb0JBQW9CO0lBQWpDO1FBQ0UseUJBQW9CLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsVUFBYztJQUVkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksb0JBQW9CLEVBQW9DLENBQUM7SUFDdEUsQ0FBQztJQUVDLFVBQ0QsQ0FBQyxvQkFBb0I7UUFDbkIsVUFBOEQ7YUFDNUQsb0JBQW9CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3ZDLE9BQU8sVUFBNEMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBJRGF0YURlbGV0ZUZhY2FkZSB9IGZyb20gJ2ltbmcta2VuZG8tZGF0YS1lbnRyeSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhRGVsZXRlTW9ja0ZhY2FkZSBpbXBsZW1lbnRzIElEYXRhRGVsZXRlRmFjYWRlPHVua25vd24+IHtcbiAgZGVsZXRlRXhpc3RpbmdFbnRpdHkgPSBqZXN0LmZuKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEYXRhRGVsZXRlTW9ja0ZhY2FkZTxUID0gdW5rbm93bj4oXG4gIG1vY2tGYWNhZGU/OiBULFxuKTogVCAmIElEYXRhRGVsZXRlRmFjYWRlPHVua25vd24+IHtcbiAgaWYgKCFtb2NrRmFjYWRlKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhRGVsZXRlTW9ja0ZhY2FkZSgpIGFzIFQgJiBJRGF0YURlbGV0ZUZhY2FkZTx1bmtub3duPjtcbiAgfVxuICAoXG4gICAgbW9ja0ZhY2FkZSBhcyB1bmtub3duIGFzIHsgZGVsZXRlRXhpc3RpbmdFbnRpdHk6ICgpID0+IHZvaWQgfVxuICApLmRlbGV0ZUV4aXN0aW5nRW50aXR5ID1cbiAgICAobW9ja0ZhY2FkZSBhcyB1bmtub3duIGFzIHsgZGVsZXRlRXhpc3RpbmdFbnRpdHk6ICgpID0+IHZvaWQgfSlcbiAgICAgIC5kZWxldGVFeGlzdGluZ0VudGl0eSB8fCBqZXN0LmZuKCk7XG4gIHJldHVybiBtb2NrRmFjYWRlIGFzIFQgJiBJRGF0YURlbGV0ZUZhY2FkZTx1bmtub3duPjtcbn1cbiJdfQ==
|
|
@@ -33,4 +33,4 @@ mockFacade) {
|
|
|
33
33
|
mockFacade.updateExistingEntity || jest.fn();
|
|
34
34
|
return mockFacade;
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1tb2NrLmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1kYXRhLWVudHJ5L3Rlc3Rpbmcvc3JjL2RhdGEtZW50cnktbW9jay5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl0Qyx3REFBd0Q7QUFDeEQsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNTLGFBQVEsR0FBd0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELHdEQUF3RDtRQUNqRCxtQkFBYyxHQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0Msa0JBQWEsR0FBd0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQy9CLGtCQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzFCLHlCQUFvQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0NBQUE7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0FBQ3ZDLDhEQUE4RDtBQUM5RCxVQUE0QztJQUU1QyxNQUFNLFdBQVcsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFDOUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxVQUFVLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNsRSxVQUFVLENBQUMsY0FBYztRQUN2QixVQUFVLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFDMUQsVUFBVSxDQUFDLGFBQWE7UUFDdEIsVUFBVSxDQUFDLGFBQWEsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3hELFVBQVUsQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDO0lBQzlFLFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3ZFLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNFLFVBQVUsQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDakUsVUFBVSxDQUFDLG9CQUFvQjtRQUM3QixVQUFVLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQy9DLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBJRGF0YUVudHJ5RmFjYWRlIH0gZnJvbSAnaW1uZy1rZW5kby1kYXRhLWVudHJ5JztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbmV4cG9ydCBjbGFzcyBEYXRhRW50cnlNb2NrRmFjYWRlIGltcGxlbWVudHMgSURhdGFFbnRyeUZhY2FkZTx1bmtub3duPiB7XG4gIHB1YmxpYyBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKGZhbHNlKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgcHVibGljIGN1cnJlbnRFbnRpdHkkOiBPYnNlcnZhYmxlPHVua25vd24+ID0gb2YobnVsbCk7XG4gIHB1YmxpYyBpc0VkaXRBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgaXNOZXdBY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YoZmFsc2UpO1xuICBwdWJsaWMgc2V0Q3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIGNsZWFyQ3VycmVudEVudGl0eSA9IGplc3QuZm4oKTtcbiAgcHVibGljIHNhdmVOZXdFbnRpdHkgPSBqZXN0LmZuKCk7XG4gIHB1YmxpYyB1cGRhdGVFeGlzdGluZ0VudGl0eSA9IGplc3QuZm4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFFbnRyeU1vY2tGYWNhZGUoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIG1vY2tGYWNhZGU/OiBJRGF0YUVudHJ5RmFjYWRlPHVua25vd24+IHwgYW55LFxuKTogSURhdGFFbnRyeUZhY2FkZTx1bmtub3duPiB7XG4gIGNvbnN0IGxvY2FsRmFjYWRlID0gbmV3IERhdGFFbnRyeU1vY2tGYWNhZGUoKTtcbiAgaWYgKCFtb2NrRmFjYWRlKSB7XG4gICAgcmV0dXJuIGxvY2FsRmFjYWRlO1xuICB9XG4gIG1vY2tGYWNhZGUubG9hZGluZyQgPSBtb2NrRmFjYWRlLmxvYWRpbmckIHx8IGxvY2FsRmFjYWRlLmxvYWRpbmckO1xuICBtb2NrRmFjYWRlLmN1cnJlbnRFbnRpdHkkID1cbiAgICBtb2NrRmFjYWRlLmN1cnJlbnRFbnRpdHkkIHx8IGxvY2FsRmFjYWRlLmN1cnJlbnRFbnRpdHkkO1xuICBtb2NrRmFjYWRlLmlzRWRpdEFjdGl2ZSQgPVxuICAgIG1vY2tGYWNhZGUuaXNFZGl0QWN0aXZlJCB8fCBsb2NhbEZhY2FkZS5pc0VkaXRBY3RpdmUkO1xuICBtb2NrRmFjYWRlLmlzTmV3QWN0aXZlJCA9IG1vY2tGYWNhZGUuaXNOZXdBY3RpdmUkIHx8IGxvY2FsRmFjYWRlLmlzTmV3QWN0aXZlJDtcbiAgbW9ja0ZhY2FkZS5zZXRDdXJyZW50RW50aXR5ID0gbW9ja0ZhY2FkZS5zZXRDdXJyZW50RW50aXR5IHx8IGplc3QuZm4oKTtcbiAgbW9ja0ZhY2FkZS5jbGVhckN1cnJlbnRFbnRpdHkgPSBtb2NrRmFjYWRlLmNsZWFyQ3VycmVudEVudGl0eSB8fCBqZXN0LmZuKCk7XG4gIG1vY2tGYWNhZGUuc2F2ZU5ld0VudGl0eSA9IG1vY2tGYWNhZGUuc2F2ZU5ld0VudGl0eSB8fCBqZXN0LmZuKCk7XG4gIG1vY2tGYWNhZGUudXBkYXRlRXhpc3RpbmdFbnRpdHkgPVxuICAgIG1vY2tGYWNhZGUudXBkYXRlRXhpc3RpbmdFbnRpdHkgfHwgamVzdC5mbigpO1xuICByZXR1cm4gbW9ja0ZhY2FkZTtcbn1cbiJdfQ==
|
|
@@ -116,20 +116,18 @@ async function testDeleteCurrentEntity(facade, httpClient) {
|
|
|
116
116
|
expect(httpClient.delete).toBeCalledTimes(1);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
120
119
|
class DataDeleteMockFacade {
|
|
121
120
|
constructor() {
|
|
122
121
|
this.deleteExistingEntity = jest.fn();
|
|
123
122
|
}
|
|
124
123
|
}
|
|
125
|
-
// eslint-disable-next-line @typescript-eslint/ban-types,@typescript-eslint/no-explicit-any
|
|
126
124
|
function createDataDeleteMockFacade(mockFacade) {
|
|
127
|
-
const localFacade = new DataDeleteMockFacade();
|
|
128
125
|
if (!mockFacade) {
|
|
129
|
-
return
|
|
126
|
+
return new DataDeleteMockFacade();
|
|
130
127
|
}
|
|
131
128
|
mockFacade.deleteExistingEntity =
|
|
132
|
-
mockFacade
|
|
129
|
+
mockFacade
|
|
130
|
+
.deleteExistingEntity || jest.fn();
|
|
133
131
|
return mockFacade;
|
|
134
132
|
}
|
|
135
133
|
|
|
@@ -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 @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 @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(\n mockFacade?: IDataDeleteFacade<object> | { deleteExistingEntity: () => void },\n): IDataDeleteFacade<object> {\n const localFacade = new DataDeleteMockFacade();\n if (!mockFacade) {\n return localFacade;\n }\n mockFacade.deleteExistingEntity =\n 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","import { FormControl, FormGroup } from '@angular/forms';\n// eslint-disable-next-line @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 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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"}
|
|
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 @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 @nx/enforce-module-boundaries\nimport { IDataDeleteFacade } from 'imng-kendo-data-entry';\n\nexport class DataDeleteMockFacade implements IDataDeleteFacade<unknown> {\n deleteExistingEntity = jest.fn();\n}\n\nexport function createDataDeleteMockFacade<T = unknown>(\n mockFacade?: T,\n): T & IDataDeleteFacade<unknown> {\n if (!mockFacade) {\n return new DataDeleteMockFacade() as T & IDataDeleteFacade<unknown>;\n }\n (\n mockFacade as unknown as { deleteExistingEntity: () => void }\n ).deleteExistingEntity =\n (mockFacade as unknown as { deleteExistingEntity: () => void })\n .deleteExistingEntity || jest.fn();\n return mockFacade as T & IDataDeleteFacade<unknown>;\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","import { FormControl, FormGroup } from '@angular/forms';\n// eslint-disable-next-line @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 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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"}
|
|
@@ -27,7 +27,8 @@ class BaseDataEntryComponent {
|
|
|
27
27
|
this.width = 800; //NOSONAR
|
|
28
28
|
this.height = 600; //NOSONAR
|
|
29
29
|
this.formId = 'imng-form';
|
|
30
|
-
this.
|
|
30
|
+
this.cancelButtonText = 'Cancel';
|
|
31
|
+
this.submitButtonText = 'Submit';
|
|
31
32
|
this.MinLengthError = 'minlength';
|
|
32
33
|
this.RequiredError = 'required';
|
|
33
34
|
this.ENUM_DISPLAY_TEXT = 'displayText';
|
|
@@ -104,16 +105,16 @@ class BaseDataEntryComponent {
|
|
|
104
105
|
}
|
|
105
106
|
return errors;
|
|
106
107
|
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BaseDataEntryComponent, deps: [{ token: FACADE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: BaseDataEntryComponent, selector: "ng-component", inputs: { width: "width", height: "height" }, ngImport: i0, template: '', isInline: true }); }
|
|
109
110
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BaseDataEntryComponent, decorators: [{
|
|
111
112
|
type: Component,
|
|
112
113
|
args: [{ template: '' }]
|
|
113
|
-
}], ctorParameters:
|
|
114
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
114
115
|
type: Inject,
|
|
115
116
|
args: [FACADE]
|
|
116
|
-
}] }]
|
|
117
|
+
}] }], propDecorators: { width: [{
|
|
117
118
|
type: Input
|
|
118
119
|
}], height: [{
|
|
119
120
|
type: Input
|
|
@@ -123,18 +124,20 @@ class DialogButtonsDirective {
|
|
|
123
124
|
constructor(tpl) {
|
|
124
125
|
this.tpl = tpl;
|
|
125
126
|
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
127
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DialogButtonsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
128
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: DialogButtonsDirective, selector: "[imngDialogBtns]", ngImport: i0 }); }
|
|
128
129
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DialogButtonsDirective, decorators: [{
|
|
130
131
|
type: Directive,
|
|
131
132
|
args: [{ selector: '[imngDialogBtns]' }]
|
|
132
|
-
}], ctorParameters:
|
|
133
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
133
134
|
|
|
134
135
|
class DataEntryDialogComponent {
|
|
135
136
|
constructor() {
|
|
136
137
|
this.width = 800; //NOSONAR
|
|
137
138
|
this.height = 600; //NOSONAR
|
|
139
|
+
this.cancelButtonText = 'Cancel';
|
|
140
|
+
this.submitButtonText = 'Submit';
|
|
138
141
|
this.submitted = false;
|
|
139
142
|
}
|
|
140
143
|
ngOnInit() {
|
|
@@ -144,7 +147,8 @@ class DataEntryDialogComponent {
|
|
|
144
147
|
this.dialogTitle = this.parentComponent.dialogTitle;
|
|
145
148
|
this.loading$ = this.parentComponent.loading$;
|
|
146
149
|
this.addEditForm = this.parentComponent.addEditForm;
|
|
147
|
-
this.
|
|
150
|
+
this.submitButtonText ??= this.parentComponent.submitButtonText ?? 'Submit';
|
|
151
|
+
this.cancelButtonText ??= this.parentComponent.cancelButtonText ?? 'Cancel';
|
|
148
152
|
this.formId ??= this.parentComponent.formId ?? 'imng-form';
|
|
149
153
|
}
|
|
150
154
|
close() {
|
|
@@ -162,8 +166,8 @@ class DataEntryDialogComponent {
|
|
|
162
166
|
$implicit: { cancel: () => this.cancel(), submit: () => this.submit() },
|
|
163
167
|
};
|
|
164
168
|
}
|
|
165
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent", cancelButtonText: "cancelButtonText", submitButtonText: "submitButtonText" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
167
171
|
[width]="width"
|
|
168
172
|
[minWidth]="minWidth ?? width"
|
|
169
173
|
[height]="height"
|
|
@@ -188,7 +192,7 @@ class DataEntryDialogComponent {
|
|
|
188
192
|
kendoButton
|
|
189
193
|
(click)="cancel()"
|
|
190
194
|
class="btn btn-secondary btn-sm">
|
|
191
|
-
|
|
195
|
+
{{ cancelButtonText }}
|
|
192
196
|
</button>
|
|
193
197
|
<button
|
|
194
198
|
name="imngSubmitDataEntry"
|
|
@@ -197,11 +201,11 @@ class DataEntryDialogComponent {
|
|
|
197
201
|
kendoButton
|
|
198
202
|
(click)="submit()"
|
|
199
203
|
class="btn btn-primary btn-sm">
|
|
200
|
-
{{
|
|
204
|
+
{{ submitButtonText }}
|
|
201
205
|
</button>
|
|
202
206
|
</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", "themeColor"], 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 }); }
|
|
203
207
|
}
|
|
204
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DataEntryDialogComponent, decorators: [{
|
|
205
209
|
type: Component,
|
|
206
210
|
args: [{
|
|
207
211
|
selector: 'imng-data-entry-dialog[parentComponent]',
|
|
@@ -230,7 +234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
230
234
|
kendoButton
|
|
231
235
|
(click)="cancel()"
|
|
232
236
|
class="btn btn-secondary btn-sm">
|
|
233
|
-
|
|
237
|
+
{{ cancelButtonText }}
|
|
234
238
|
</button>
|
|
235
239
|
<button
|
|
236
240
|
name="imngSubmitDataEntry"
|
|
@@ -239,7 +243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
239
243
|
kendoButton
|
|
240
244
|
(click)="submit()"
|
|
241
245
|
class="btn btn-primary btn-sm">
|
|
242
|
-
{{
|
|
246
|
+
{{ submitButtonText }}
|
|
243
247
|
</button>
|
|
244
248
|
</ng-template>`,
|
|
245
249
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -254,7 +258,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
254
258
|
type: Input
|
|
255
259
|
}], parentComponent: [{
|
|
256
260
|
type: Input
|
|
257
|
-
}],
|
|
261
|
+
}], cancelButtonText: [{
|
|
262
|
+
type: Input
|
|
263
|
+
}], submitButtonText: [{
|
|
258
264
|
type: Input
|
|
259
265
|
}], dialogBtnsTemplate: [{
|
|
260
266
|
type: ContentChild,
|
|
@@ -262,11 +268,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
262
268
|
}] } });
|
|
263
269
|
|
|
264
270
|
class ImngDataEntryDialogModule {
|
|
265
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
266
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
267
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
271
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
272
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, declarations: [DataEntryDialogComponent, DialogButtonsDirective], imports: [CommonModule, DialogModule], exports: [DataEntryDialogComponent, DialogButtonsDirective] }); }
|
|
273
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, imports: [CommonModule, DialogModule] }); }
|
|
268
274
|
}
|
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ImngDataEntryDialogModule, decorators: [{
|
|
270
276
|
type: NgModule,
|
|
271
277
|
args: [{
|
|
272
278
|
imports: [CommonModule, DialogModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-kendo-data-entry.mjs","sources":["../../../../libs/imng-kendo-data-entry/src/lib/base-data-entry.component.ts","../../../../libs/imng-kendo-data-entry/src/lib/dialog-buttons.directive.ts","../../../../libs/imng-kendo-data-entry/src/lib/data-entry-dialog.component.ts","../../../../libs/imng-kendo-data-entry/src/lib/imng-kendo-data-entry.module.ts","../../../../libs/imng-kendo-data-entry/src/lib/reducer-collection-logic.ts","../../../../libs/imng-kendo-data-entry/src/lib/form-group-patcher.ts","../../../../libs/imng-kendo-data-entry/src/imng-kendo-data-entry.ts"],"sourcesContent":["import {\n Component,\n Inject,\n InjectionToken,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport {\n AbstractControl,\n ValidationErrors,\n FormGroup,\n FormArray,\n} from '@angular/forms';\nimport { IBaseDataEntryFacade } from './data-entry-facade';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\n\nconst FACADE = new InjectionToken<IBaseDataEntryFacade>(\n 'imng-data-entry-facade',\n);\n\n/**\n * The extending class has to implement the following properties on ngInit\n * dialogTitle: string - This will be the text displayed at the top of the modal title bar\n * props: enum - This is a helper property to make the html markup type safe\n *\n * Along with the requirements above, the extending class has to set values to the\n * following properties on ngInit\n * active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade\n * addEditForm: FormGroup - This will be created by your component\n *\n * @class BaseDataEntryComponent>\n */\n@Component({ template: '' })\nexport abstract class BaseDataEntryComponent<\n FACADE extends IBaseDataEntryFacade,\n> implements OnInit, OnDestroy, Subscribable\n{\n @Input() public width: string | number = 800; //NOSONAR\n @Input() public height: string | number = 600; //NOSONAR\n\n public formId = 'imng-form';\n public saveButtonText = 'Save';\n public readonly MinLengthError = 'minlength';\n public readonly RequiredError = 'required';\n public readonly ENUM_DISPLAY_TEXT = 'displayText';\n public readonly ENUM_NAME = 'name';\n public allSubscriptions = new Subscriptions();\n public abstract dialogTitle: string;\n public abstract props: unknown;\n public abstract addEditForm: FormGroup;\n public loading$: Observable<boolean>;\n public readonly submitted$: BehaviorSubject<boolean> = new BehaviorSubject(\n false as boolean,\n );\n\n constructor(@Inject(FACADE) public readonly facade: FACADE) {\n this.loading$ = this.facade.loading$;\n }\n\n public ngOnInit(): void {\n this.initForm();\n }\n\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n\n public closeForm(): void {\n this.initForm();\n this.facade.clearCurrentEntity();\n this.submitted$.next(false);\n }\n\n public onCancel(): void {\n this.closeForm();\n }\n\n public onSubmit(): boolean {\n this.submitted$.next(true);\n\n // stop here if form is invalid\n if (!this.addEditForm.valid) {\n console.error('form validation errors.'); //NOSONAR\n console.error(JSON.stringify(this.getFormErrors())); //NOSONAR\n return false;\n }\n this.save();\n this.closeForm();\n return true;\n }\n\n public isDataInvalid(): boolean {\n return this.addEditForm.invalid;\n }\n\n // convenience getter for easy access to form fields\n public formControl(\n controlName: string,\n controls: { [key: string]: AbstractControl } = this.addEditForm.controls,\n ): AbstractControl {\n return controls[controlName];\n }\n\n public formControlErrors(\n control: string | AbstractControl,\n controls: { [key: string]: AbstractControl } | AbstractControl[] = this\n .addEditForm.controls,\n ): ValidationErrors | null {\n const tempControl =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof control === 'string' ? (controls as any)[control] : control;\n if (tempControl?.valid && !tempControl?.errors) {\n return null;\n }\n return tempControl?.errors;\n }\n public formMinLengthError(\n controlName: string,\n ): { requiredLength: number; actualLength: number } | null {\n return this.formControlErrors(controlName)?.[this.MinLengthError];\n }\n public getFormErrors(\n controls: { [key: string]: AbstractControl } | AbstractControl[] = this\n .addEditForm.controls,\n parentControlName?: string,\n ): { controlName: string; error: ValidationErrors }[] {\n const errors: { controlName: string; error: ValidationErrors }[] = [];\n for (const controlName of Object.keys(controls)) {\n const control = (controls as never)[controlName];\n const error = this.formControlErrors(control, controls);\n if (error) {\n errors.push({\n controlName: parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName,\n error,\n });\n }\n if ((control as FormArray)?.controls) {\n errors.push(\n ...this.getFormErrors(\n (control as FormArray).controls,\n parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName,\n ),\n );\n }\n }\n return errors;\n }\n\n public abstract initForm(): void;\n public abstract save(): void;\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[imngDialogBtns]' })\nexport class DialogButtonsDirective {\n constructor(public tpl: TemplateRef<unknown>) { }\n}\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n TemplateRef,\n ContentChild,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { FormGroup } from '@angular/forms';\nimport { BaseDataEntryComponent } from './base-data-entry.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\n\n@Component({\n selector: 'imng-data-entry-dialog[parentComponent]',\n template: `<kendo-dialog\n [width]=\"width\"\n [minWidth]=\"minWidth ?? width\"\n [height]=\"height\"\n (close)=\"close()\"\n [autoFocusedElement]=\"autoFocusedElement || ''\">\n <kendo-dialog-titlebar class=\"bg-primary\">{{\n dialogTitle\n }}</kendo-dialog-titlebar>\n <ng-content></ng-content>\n <kendo-dialog-actions>\n <ng-container\n *ngTemplateOutlet=\"\n dialogBtnsTemplate || defaultDialogActionsTpl;\n context: dialogActionBtnsCtx\n \">\n </ng-container>\n </kendo-dialog-actions>\n </kendo-dialog>\n <ng-template #defaultDialogActionsTpl>\n <button\n name=\"imngCancelDataEntry\"\n kendoButton\n (click)=\"cancel()\"\n class=\"btn btn-secondary btn-sm\">\n Cancel\n </button>\n <button\n name=\"imngSubmitDataEntry\"\n [attr.form]=\"formId\"\n type=\"submit\"\n kendoButton\n (click)=\"submit()\"\n class=\"btn btn-primary btn-sm\">\n {{ saveButtonText }}\n </button>\n </ng-template>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataEntryDialogComponent implements OnInit {\n @Input() public minWidth?: number; //NOSONAR\n @Input() public width = 800; //NOSONAR\n @Input() public height = 600; //NOSONAR\n /**\n * https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/initial-focus/\n */\n @Input() public autoFocusedElement?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() public parentComponent?: BaseDataEntryComponent<any>; //NOSONAR\n @Input() public saveButtonText?: string;\n @ContentChild(DialogButtonsDirective, { static: true, read: TemplateRef })\n /**\n * Example Usage:\n * <imng-data-entry-dialog>\n * ......\n * <ng-template [imngDialogBtns] let-coreButtons>\n * <button id=\"btnCustom1\" class=\"k-button\" (click)=\"cancel()\">Close</button>\n * </ng-template>\n * </imng-data-entry-dialog>\n */\n public dialogBtnsTemplate?: TemplateRef<unknown>;\n public loading$?: Observable<boolean>;\n public addEditForm?: FormGroup;\n public formId?: string;\n public submitted = false;\n public dialogTitle?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n public component?: {};\n\n public ngOnInit(): void {\n if (!this.parentComponent) {\n throw new TypeError(`The input 'parentComponent' is required`);\n }\n this.dialogTitle = this.parentComponent.dialogTitle;\n this.loading$ = this.parentComponent.loading$;\n this.addEditForm = this.parentComponent.addEditForm;\n this.saveButtonText ??= this.parentComponent.saveButtonText ?? 'Save';\n this.formId ??= this.parentComponent.formId ?? 'imng-form';\n }\n\n public close(): void {\n this.parentComponent?.closeForm();\n }\n public cancel(): void {\n this.parentComponent?.onCancel();\n }\n public submit(): void {\n this.parentComponent?.onSubmit();\n }\n get dialogActionBtnsCtx(): object | null {\n //NOSONAR\n return {\n $implicit: { cancel: () => this.cancel(), submit: () => this.submit() },\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataEntryDialogComponent } from './data-entry-dialog.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\nimport { DialogModule } from '@progress/kendo-angular-dialog';\n\n@NgModule({\n imports: [CommonModule, DialogModule],\n declarations: [DataEntryDialogComponent, DialogButtonsDirective],\n exports: [DataEntryDialogComponent, DialogButtonsDirective],\n})\nexport class ImngDataEntryDialogModule {}\n","import { ValueType } from 'imng-nrsrx-client-utils';\nexport function updateStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1, item);\n return items;\n }\n return collection;\n}\n\nexport function removeStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1);\n return items;\n }\n return collection;\n}\n\nexport function addStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const items = [...collection];\n items.unshift(item);\n return items;\n}\n","import { FormGroup } from '@angular/forms';\nimport { take, tap, filter } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { IdType } from 'imng-nrsrx-client-utils';\n\nexport const formGroupPatcher =\n <TEntity extends { id?: IdType | null | undefined } | undefined>(\n addEditForm: FormGroup,\n ) =>\n (source: Observable<TEntity>) =>\n source.pipe(\n filter((t) => !!t),\n take(1),\n tap((t) => addEditForm.patchValue(t as never)),\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.mjs","sources":["../../../../libs/imng-kendo-data-entry/src/lib/base-data-entry.component.ts","../../../../libs/imng-kendo-data-entry/src/lib/dialog-buttons.directive.ts","../../../../libs/imng-kendo-data-entry/src/lib/data-entry-dialog.component.ts","../../../../libs/imng-kendo-data-entry/src/lib/imng-kendo-data-entry.module.ts","../../../../libs/imng-kendo-data-entry/src/lib/reducer-collection-logic.ts","../../../../libs/imng-kendo-data-entry/src/lib/form-group-patcher.ts","../../../../libs/imng-kendo-data-entry/src/imng-kendo-data-entry.ts"],"sourcesContent":["import {\n Component,\n Inject,\n InjectionToken,\n Input,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport {\n AbstractControl,\n ValidationErrors,\n FormGroup,\n FormArray,\n} from '@angular/forms';\nimport { IBaseDataEntryFacade } from './data-entry-facade';\nimport { Subscribable, Subscriptions } from 'imng-ngrx-utils';\n\nconst FACADE = new InjectionToken<IBaseDataEntryFacade>(\n 'imng-data-entry-facade',\n);\n\n/**\n * The extending class has to implement the following properties on ngInit\n * dialogTitle: string - This will be the text displayed at the top of the modal title bar\n * props: enum - This is a helper property to make the html markup type safe\n *\n * Along with the requirements above, the extending class has to set values to the\n * following properties on ngInit\n * active$: Observable<boolean> - This typically would be assigned to the isNewActive$ or isEditActive on the facade\n * addEditForm: FormGroup - This will be created by your component\n *\n * @class BaseDataEntryComponent>\n */\n@Component({ template: '' })\nexport abstract class BaseDataEntryComponent<\n FACADE extends IBaseDataEntryFacade,\n> implements OnInit, OnDestroy, Subscribable {\n @Input() public width: string | number = 800; //NOSONAR\n @Input() public height: string | number = 600; //NOSONAR\n\n public formId = 'imng-form';\n public cancelButtonText = 'Cancel';\n public submitButtonText = 'Submit';\n public readonly MinLengthError = 'minlength';\n public readonly RequiredError = 'required';\n public readonly ENUM_DISPLAY_TEXT = 'displayText';\n public readonly ENUM_NAME = 'name';\n public allSubscriptions = new Subscriptions();\n public abstract dialogTitle: string;\n public abstract props: unknown;\n public abstract addEditForm: FormGroup;\n public loading$: Observable<boolean>;\n public readonly submitted$: BehaviorSubject<boolean> = new BehaviorSubject(\n false as boolean,\n );\n\n constructor(@Inject(FACADE) public readonly facade: FACADE) {\n this.loading$ = this.facade.loading$;\n }\n\n public ngOnInit(): void {\n this.initForm();\n }\n\n public ngOnDestroy(): void {\n this.allSubscriptions.unsubscribeAll();\n }\n\n public closeForm(): void {\n this.initForm();\n this.facade.clearCurrentEntity();\n this.submitted$.next(false);\n }\n\n public onCancel(): void {\n this.closeForm();\n }\n\n public onSubmit(): boolean {\n this.submitted$.next(true);\n\n // stop here if form is invalid\n if (!this.addEditForm.valid) {\n console.error('form validation errors.'); //NOSONAR\n console.error(JSON.stringify(this.getFormErrors())); //NOSONAR\n return false;\n }\n this.save();\n this.closeForm();\n return true;\n }\n\n public isDataInvalid(): boolean {\n return this.addEditForm.invalid;\n }\n\n // convenience getter for easy access to form fields\n public formControl(\n controlName: string,\n controls: { [key: string]: AbstractControl } = this.addEditForm.controls,\n ): AbstractControl {\n return controls[controlName];\n }\n\n public formControlErrors(\n control: string | AbstractControl,\n controls: { [key: string]: AbstractControl } | AbstractControl[] = this\n .addEditForm.controls,\n ): ValidationErrors | null {\n const tempControl =\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof control === 'string' ? (controls as any)[control] : control;\n if (tempControl?.valid && !tempControl?.errors) {\n return null;\n }\n return tempControl?.errors;\n }\n public formMinLengthError(\n controlName: string,\n ): { requiredLength: number; actualLength: number } | null {\n return this.formControlErrors(controlName)?.[this.MinLengthError];\n }\n public getFormErrors(\n controls: { [key: string]: AbstractControl } | AbstractControl[] = this\n .addEditForm.controls,\n parentControlName?: string,\n ): { controlName: string; error: ValidationErrors }[] {\n const errors: { controlName: string; error: ValidationErrors }[] = [];\n for (const controlName of Object.keys(controls)) {\n const control = (controls as never)[controlName];\n const error = this.formControlErrors(control, controls);\n if (error) {\n errors.push({\n controlName: parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName,\n error,\n });\n }\n if ((control as FormArray)?.controls) {\n errors.push(\n ...this.getFormErrors(\n (control as FormArray).controls,\n parentControlName\n ? `${parentControlName}.${controlName}`\n : controlName,\n ),\n );\n }\n }\n return errors;\n }\n\n public abstract initForm(): void;\n public abstract save(): void;\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({ selector: '[imngDialogBtns]' })\nexport class DialogButtonsDirective {\n constructor(public tpl: TemplateRef<unknown>) { }\n}\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n TemplateRef,\n ContentChild,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { FormGroup } from '@angular/forms';\nimport { BaseDataEntryComponent } from './base-data-entry.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\n\n@Component({\n selector: 'imng-data-entry-dialog[parentComponent]',\n template: `<kendo-dialog\n [width]=\"width\"\n [minWidth]=\"minWidth ?? width\"\n [height]=\"height\"\n (close)=\"close()\"\n [autoFocusedElement]=\"autoFocusedElement || ''\">\n <kendo-dialog-titlebar class=\"bg-primary\">{{\n dialogTitle\n }}</kendo-dialog-titlebar>\n <ng-content></ng-content>\n <kendo-dialog-actions>\n <ng-container\n *ngTemplateOutlet=\"\n dialogBtnsTemplate || defaultDialogActionsTpl;\n context: dialogActionBtnsCtx\n \">\n </ng-container>\n </kendo-dialog-actions>\n </kendo-dialog>\n <ng-template #defaultDialogActionsTpl>\n <button\n name=\"imngCancelDataEntry\"\n kendoButton\n (click)=\"cancel()\"\n class=\"btn btn-secondary btn-sm\">\n {{ cancelButtonText }}\n </button>\n <button\n name=\"imngSubmitDataEntry\"\n [attr.form]=\"formId\"\n type=\"submit\"\n kendoButton\n (click)=\"submit()\"\n class=\"btn btn-primary btn-sm\">\n {{ submitButtonText }}\n </button>\n </ng-template>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataEntryDialogComponent implements OnInit {\n @Input() public minWidth?: number; //NOSONAR\n @Input() public width = 800; //NOSONAR\n @Input() public height = 600; //NOSONAR\n /**\n * https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/initial-focus/\n */\n @Input() public autoFocusedElement?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() public parentComponent?: BaseDataEntryComponent<any>; //NOSONAR\n @Input() public cancelButtonText?: string = 'Cancel';\n @Input() public submitButtonText?: string = 'Submit';\n @ContentChild(DialogButtonsDirective, { static: true, read: TemplateRef })\n /**\n * Example Usage:\n * <imng-data-entry-dialog>\n * ......\n * <ng-template [imngDialogBtns] let-coreButtons>\n * <button id=\"btnCustom1\" class=\"k-button\" (click)=\"cancel()\">Close</button>\n * </ng-template>\n * </imng-data-entry-dialog>\n */\n public dialogBtnsTemplate?: TemplateRef<unknown>;\n public loading$?: Observable<boolean>;\n public addEditForm?: FormGroup;\n public formId?: string;\n public submitted = false;\n public dialogTitle?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n public component?: {};\n\n public ngOnInit(): void {\n if (!this.parentComponent) {\n throw new TypeError(`The input 'parentComponent' is required`);\n }\n this.dialogTitle = this.parentComponent.dialogTitle;\n this.loading$ = this.parentComponent.loading$;\n this.addEditForm = this.parentComponent.addEditForm;\n this.submitButtonText ??= this.parentComponent.submitButtonText ?? 'Submit';\n this.cancelButtonText ??= this.parentComponent.cancelButtonText ?? 'Cancel';\n this.formId ??= this.parentComponent.formId ?? 'imng-form';\n }\n\n public close(): void {\n this.parentComponent?.closeForm();\n }\n public cancel(): void {\n this.parentComponent?.onCancel();\n }\n public submit(): void {\n this.parentComponent?.onSubmit();\n }\n get dialogActionBtnsCtx(): object | null {\n //NOSONAR\n return {\n $implicit: { cancel: () => this.cancel(), submit: () => this.submit() },\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataEntryDialogComponent } from './data-entry-dialog.component';\nimport { DialogButtonsDirective } from './dialog-buttons.directive';\nimport { DialogModule } from '@progress/kendo-angular-dialog';\n\n@NgModule({\n imports: [CommonModule, DialogModule],\n declarations: [DataEntryDialogComponent, DialogButtonsDirective],\n exports: [DataEntryDialogComponent, DialogButtonsDirective],\n})\nexport class ImngDataEntryDialogModule {}\n","import { ValueType } from 'imng-nrsrx-client-utils';\nexport function updateStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1, item);\n return items;\n }\n return collection;\n}\n\nexport function removeStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const index = collection.findIndex((val) => val.id === item.id);\n if (index > -1) {\n const items = [...collection];\n items.splice(index, 1);\n return items;\n }\n return collection;\n}\n\nexport function addStateCollectionItem<Entity extends { id?: ValueType; }>(\n collection: Entity[],\n item: Entity\n): Entity[] {\n const items = [...collection];\n items.unshift(item);\n return items;\n}\n","import { FormGroup } from '@angular/forms';\nimport { take, tap, filter } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { IdType } from 'imng-nrsrx-client-utils';\n\nexport const formGroupPatcher =\n <TEntity extends { id?: IdType | null | undefined } | undefined>(\n addEditForm: FormGroup,\n ) =>\n (source: Observable<TEntity>) =>\n source.pipe(\n filter((t) => !!t),\n take(1),\n tap((t) => addEditForm.patchValue(t as never)),\n );\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,8 @@ export declare abstract class BaseDataEntryComponent<FACADE extends IBaseDataEnt
|
|
|
21
21
|
width: string | number;
|
|
22
22
|
height: string | number;
|
|
23
23
|
formId: string;
|
|
24
|
-
|
|
24
|
+
cancelButtonText: string;
|
|
25
|
+
submitButtonText: string;
|
|
25
26
|
readonly MinLengthError = "minlength";
|
|
26
27
|
readonly RequiredError = "required";
|
|
27
28
|
readonly ENUM_DISPLAY_TEXT = "displayText";
|
|
@@ -12,7 +12,8 @@ export declare class DataEntryDialogComponent implements OnInit {
|
|
|
12
12
|
*/
|
|
13
13
|
autoFocusedElement?: string;
|
|
14
14
|
parentComponent?: BaseDataEntryComponent<any>;
|
|
15
|
-
|
|
15
|
+
cancelButtonText?: string;
|
|
16
|
+
submitButtonText?: string;
|
|
16
17
|
dialogBtnsTemplate?: TemplateRef<unknown>;
|
|
17
18
|
loading$?: Observable<boolean>;
|
|
18
19
|
addEditForm?: FormGroup;
|
|
@@ -26,5 +27,5 @@ export declare class DataEntryDialogComponent implements OnInit {
|
|
|
26
27
|
submit(): void;
|
|
27
28
|
get dialogActionBtnsCtx(): object | null;
|
|
28
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataEntryDialogComponent, never>;
|
|
29
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DataEntryDialogComponent, "imng-data-entry-dialog[parentComponent]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "autoFocusedElement": { "alias": "autoFocusedElement"; "required": false; }; "parentComponent": { "alias": "parentComponent"; "required": false; }; "
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataEntryDialogComponent, "imng-data-entry-dialog[parentComponent]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "autoFocusedElement": { "alias": "autoFocusedElement"; "required": false; }; "parentComponent": { "alias": "parentComponent"; "required": false; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; }; "submitButtonText": { "alias": "submitButtonText"; "required": false; }; }, {}, ["dialogBtnsTemplate"], ["*"], false, never>;
|
|
30
31
|
}
|
|
@@ -3,4 +3,4 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { IdType } from 'imng-nrsrx-client-utils';
|
|
4
4
|
export declare const formGroupPatcher: <TEntity extends {
|
|
5
5
|
id?: IdType | null | undefined;
|
|
6
|
-
} | undefined>(addEditForm: FormGroup) => (source: Observable<TEntity>) => Observable<TEntity>;
|
|
6
|
+
} | undefined>(addEditForm: FormGroup) => (source: Observable<TEntity>) => Observable<TEntity & {}>;
|
package/package.json
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
/// <reference types="jest" />
|
|
2
1
|
import { IDataDeleteFacade } from 'imng-kendo-data-entry';
|
|
3
|
-
export declare class DataDeleteMockFacade implements IDataDeleteFacade<
|
|
2
|
+
export declare class DataDeleteMockFacade implements IDataDeleteFacade<unknown> {
|
|
4
3
|
deleteExistingEntity: jest.Mock<any, any, any>;
|
|
5
4
|
}
|
|
6
|
-
export declare function createDataDeleteMockFacade(mockFacade?: IDataDeleteFacade<
|
|
7
|
-
deleteExistingEntity: () => void;
|
|
8
|
-
}): IDataDeleteFacade<object>;
|
|
5
|
+
export declare function createDataDeleteMockFacade<T = unknown>(mockFacade?: T): T & IDataDeleteFacade<unknown>;
|