imng-kendo-data-entry 6.27.7 → 6.32.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/data-entry-dialog.component.mjs +6 -6
- package/fesm2015/imng-kendo-data-entry.mjs +6 -5
- package/fesm2015/imng-kendo-data-entry.mjs.map +1 -1
- package/fesm2020/imng-kendo-data-entry.mjs +5 -5
- package/fesm2020/imng-kendo-data-entry.mjs.map +1 -1
- package/lib/data-entry-dialog.component.d.ts +3 -3
- package/package.json +1 -1
|
@@ -8,8 +8,6 @@ export class DataEntryDialogComponent {
|
|
|
8
8
|
constructor() {
|
|
9
9
|
this.width = 800; //NOSONAR
|
|
10
10
|
this.height = 600; //NOSONAR
|
|
11
|
-
this.saveButtonText = 'Save';
|
|
12
|
-
this.formId = 'imng-form';
|
|
13
11
|
this.submitted = false;
|
|
14
12
|
}
|
|
15
13
|
ngOnInit() {
|
|
@@ -19,8 +17,8 @@ export class DataEntryDialogComponent {
|
|
|
19
17
|
this.dialogTitle = this.parentComponent.dialogTitle;
|
|
20
18
|
this.loading$ = this.parentComponent.loading$;
|
|
21
19
|
this.addEditForm = this.parentComponent.addEditForm;
|
|
22
|
-
this.saveButtonText = this.parentComponent.saveButtonText;
|
|
23
|
-
this.formId = this.parentComponent.formId;
|
|
20
|
+
this.saveButtonText ?? (this.saveButtonText = this.parentComponent.saveButtonText ?? 'Save');
|
|
21
|
+
this.formId ?? (this.formId = this.parentComponent.formId ?? 'imng-form');
|
|
24
22
|
}
|
|
25
23
|
close() {
|
|
26
24
|
this.parentComponent?.closeForm();
|
|
@@ -39,7 +37,7 @@ export class DataEntryDialogComponent {
|
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
39
|
DataEntryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
40
|
+
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent", saveButtonText: "saveButtonText" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
43
41
|
[width]="width"
|
|
44
42
|
[minWidth]="minWidth ?? width"
|
|
45
43
|
[height]="height"
|
|
@@ -119,8 +117,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
119
117
|
type: Input
|
|
120
118
|
}], parentComponent: [{
|
|
121
119
|
type: Input
|
|
120
|
+
}], saveButtonText: [{
|
|
121
|
+
type: Input
|
|
122
122
|
}], dialogBtnsTemplate: [{
|
|
123
123
|
type: ContentChild,
|
|
124
124
|
args: [DialogButtonsDirective, { static: true, read: TemplateRef }]
|
|
125
125
|
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1lbnRyeS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLWRhdGEtZW50cnkvc3JjL2xpYi9kYXRhLWVudHJ5LWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFzQ3BFLE1BQU0sT0FBTyx3QkFBd0I7SUFwQ3JDO1FBc0NrQixVQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQUN0QixXQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsU0FBUztRQXNCaEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQStCMUI7SUExQlEsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxTQUFTLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUNoRTtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQyxjQUFjLEtBQW5CLElBQUksQ0FBQyxjQUFjLEdBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLElBQUksTUFBTSxFQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLEtBQVgsSUFBSSxDQUFDLE1BQU0sR0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxXQUFXLEVBQUM7SUFDN0QsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ00sTUFBTTtRQUNYLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksbUJBQW1CO1FBQ3JCLFNBQVM7UUFDVCxPQUFPO1lBQ0wsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1NBQ3hFLENBQUM7SUFDSixDQUFDOztxSEF2RFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsbVRBV3JCLHNCQUFzQiwyQkFBd0IsV0FBVywyQ0E3QzdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21CQStCTzsyRkFHTix3QkFBd0I7a0JBcENwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5Q0FBeUM7b0JBQ25ELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkErQk87b0JBQ2pCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFFaUIsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBSVUsa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUVVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFXQyxrQkFBa0I7c0JBVnhCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJhc2VEYXRhRW50cnlDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZGF0YS1lbnRyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1uZy1kYXRhLWVudHJ5LWRpYWxvZ1twYXJlbnRDb21wb25lbnRdJyxcbiAgdGVtcGxhdGU6IGA8a2VuZG8tZGlhbG9nXG4gICAgICBbd2lkdGhdPVwid2lkdGhcIlxuICAgICAgW21pbldpZHRoXT1cIm1pbldpZHRoID8/IHdpZHRoXCJcbiAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgICAgIChjbG9zZSk9XCJjbG9zZSgpXCJcbiAgICAgIFthdXRvRm9jdXNlZEVsZW1lbnRdPVwiYXV0b0ZvY3VzZWRFbGVtZW50IHx8ICcnXCI+XG4gICAgICA8a2VuZG8tZGlhbG9nLXRpdGxlYmFyIGNsYXNzPVwiYmctcHJpbWFyeVwiPnt7XG4gICAgICAgIGRpYWxvZ1RpdGxlXG4gICAgICB9fTwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGtlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGRpYWxvZ0J0bnNUZW1wbGF0ZSB8fCBkZWZhdWx0RGlhbG9nQWN0aW9uc1RwbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IGRpYWxvZ0FjdGlvbkJ0bnNDdHhcbiAgICAgICAgICBcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2tlbmRvLWRpYWxvZy1hY3Rpb25zPlxuICAgIDwva2VuZG8tZGlhbG9nPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERpYWxvZ0FjdGlvbnNUcGw+XG4gICAgICA8YnV0dG9uIGtlbmRvQnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCI+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFthdHRyLmZvcm1dPVwiZm9ybUlkXCJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIGtlbmRvQnV0dG9uXG4gICAgICAgIChjbGljayk9XCJzdWJtaXQoKVwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPlxuICAgICAgICB7eyBzYXZlQnV0dG9uVGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUVudHJ5RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIG1pbldpZHRoPzogbnVtYmVyOyAvL05PU09OQVJcbiAgQElucHV0KCkgcHVibGljIHdpZHRoID0gODAwOyAvL05PU09OQVJcbiAgQElucHV0KCkgcHVibGljIGhlaWdodCA9IDYwMDsgLy9OT1NPTkFSXG4gIC8qKlxuICAgKiBodHRwczovL3d3dy50ZWxlcmlrLmNvbS9rZW5kby1hbmd1bGFyLXVpL2NvbXBvbmVudHMvZGlhbG9ncy9kaWFsb2cvaW5pdGlhbC1mb2N1cy9cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvRm9jdXNlZEVsZW1lbnQ/OiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJlbnRDb21wb25lbnQ/OiBCYXNlRGF0YUVudHJ5Q29tcG9uZW50PGFueT47IC8vTk9TT05BUlxuICBASW5wdXQoKSBwdWJsaWMgc2F2ZUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIEBDb250ZW50Q2hpbGQoRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIC8qKlxuICAgKiBFeGFtcGxlIFVzYWdlOlxuICAgKiA8aW1uZy1kYXRhLWVudHJ5LWRpYWxvZz5cbiAgICogLi4uLi4uXG4gICAqICA8bmctdGVtcGxhdGUgW2ltbmdEaWFsb2dCdG5zXSBsZXQtY29yZUJ1dHRvbnM+XG4gICAqICAgIDxidXR0b24gaWQ9XCJidG5DdXN0b20xXCIgY2xhc3M9XCJrLWJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiPkNsb3NlPC9idXR0b24+XG4gICAqICA8L25nLXRlbXBsYXRlPlxuICAgKiA8L2ltbmctZGF0YS1lbnRyeS1kaWFsb2c+XG4gICAqL1xuICBwdWJsaWMgZGlhbG9nQnRuc1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIHB1YmxpYyBsb2FkaW5nJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBhZGRFZGl0Rm9ybT86IEZvcm1Hcm91cDtcbiAgcHVibGljIGZvcm1JZD86IHN0cmluZztcbiAgcHVibGljIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICBwdWJsaWMgZGlhbG9nVGl0bGU/OiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHB1YmxpYyBjb21wb25lbnQ/OiB7fTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBhcmVudENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIGlucHV0ICdwYXJlbnRDb21wb25lbnQnIGlzIHJlcXVpcmVkYCk7XG4gICAgfVxuICAgIHRoaXMuZGlhbG9nVGl0bGUgPSB0aGlzLnBhcmVudENvbXBvbmVudC5kaWFsb2dUaXRsZTtcbiAgICB0aGlzLmxvYWRpbmckID0gdGhpcy5wYXJlbnRDb21wb25lbnQubG9hZGluZyQ7XG4gICAgdGhpcy5hZGRFZGl0Rm9ybSA9IHRoaXMucGFyZW50Q29tcG9uZW50LmFkZEVkaXRGb3JtO1xuICAgIHRoaXMuc2F2ZUJ1dHRvblRleHQgPz89IHRoaXMucGFyZW50Q29tcG9uZW50LnNhdmVCdXR0b25UZXh0ID8/ICdTYXZlJztcbiAgICB0aGlzLmZvcm1JZCA/Pz0gdGhpcy5wYXJlbnRDb21wb25lbnQuZm9ybUlkID8/ICdpbW5nLWZvcm0nO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5jbG9zZUZvcm0oKTtcbiAgfVxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50Q29tcG9uZW50Py5vbkNhbmNlbCgpO1xuICB9XG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnRDb21wb25lbnQ/Lm9uU3VibWl0KCk7XG4gIH1cbiAgZ2V0IGRpYWxvZ0FjdGlvbkJ0bnNDdHgoKTogb2JqZWN0IHwgbnVsbCB7XG4gICAgLy9OT1NPTkFSXG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogeyBjYW5jZWw6ICgpID0+IHRoaXMuY2FuY2VsKCksIHN1Ym1pdDogKCkgPT4gdGhpcy5zdWJtaXQoKSB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -24,19 +24,18 @@ class DataEntryDialogComponent {
|
|
|
24
24
|
constructor() {
|
|
25
25
|
this.width = 800; //NOSONAR
|
|
26
26
|
this.height = 600; //NOSONAR
|
|
27
|
-
this.saveButtonText = 'Save';
|
|
28
|
-
this.formId = 'imng-form';
|
|
29
27
|
this.submitted = false;
|
|
30
28
|
}
|
|
31
29
|
ngOnInit() {
|
|
30
|
+
var _a, _b, _c, _d;
|
|
32
31
|
if (!this.parentComponent) {
|
|
33
32
|
throw new TypeError(`The input 'parentComponent' is required`);
|
|
34
33
|
}
|
|
35
34
|
this.dialogTitle = this.parentComponent.dialogTitle;
|
|
36
35
|
this.loading$ = this.parentComponent.loading$;
|
|
37
36
|
this.addEditForm = this.parentComponent.addEditForm;
|
|
38
|
-
this.saveButtonText = this.parentComponent.saveButtonText;
|
|
39
|
-
this.formId = this.parentComponent.formId;
|
|
37
|
+
(_a = this.saveButtonText) !== null && _a !== void 0 ? _a : (this.saveButtonText = (_b = this.parentComponent.saveButtonText) !== null && _b !== void 0 ? _b : 'Save');
|
|
38
|
+
(_c = this.formId) !== null && _c !== void 0 ? _c : (this.formId = (_d = this.parentComponent.formId) !== null && _d !== void 0 ? _d : 'imng-form');
|
|
40
39
|
}
|
|
41
40
|
close() {
|
|
42
41
|
var _a;
|
|
@@ -58,7 +57,7 @@ class DataEntryDialogComponent {
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
DataEntryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
60
|
+
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent", saveButtonText: "saveButtonText" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
62
61
|
[width]="width"
|
|
63
62
|
[minWidth]="minWidth ?? width"
|
|
64
63
|
[height]="height"
|
|
@@ -138,6 +137,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
138
137
|
type: Input
|
|
139
138
|
}], parentComponent: [{
|
|
140
139
|
type: Input
|
|
140
|
+
}], saveButtonText: [{
|
|
141
|
+
type: Input
|
|
141
142
|
}], dialogBtnsTemplate: [{
|
|
142
143
|
type: ContentChild,
|
|
143
144
|
args: [DialogButtonsDirective, { static: true, read: TemplateRef }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-kendo-data-entry.mjs","sources":["../../../../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/base-data-entry.component.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 { 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 kendoButton (click)=\"cancel()\" class=\"btn btn-secondary btn-sm\">\n Cancel\n </button>\n <button\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 public saveButtonText = 'Save';\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 = 'imng-form';\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;\n this.formId = this.parentComponent.formId;\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 {\n Component,\n Inject,\n InjectionToken,\n Input,\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 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 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 { 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';\n\nexport const formGroupPatcher =\n <TEntity>(addEditForm: FormGroup) =>\n (source: Observable<TEntity>) =>\n source.pipe(\n filter((t) => !!t),\n take(1),\n tap((t) => addEditForm.patchValue(t)),\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/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/base-data-entry.component.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 { 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 kendoButton (click)=\"cancel()\" class=\"btn btn-secondary btn-sm\">\n Cancel\n </button>\n <button\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 {\n Component,\n Inject,\n InjectionToken,\n Input,\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 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 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 { 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';\n\nexport const formGroupPatcher =\n <TEntity>(addEditForm: FormGroup) =>\n (source: Observable<TEntity>) =>\n source.pipe(\n filter((t) => !!t),\n take(1),\n tap((t) => addEditForm.patchValue(t)),\n );\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -133,8 +133,6 @@ class DataEntryDialogComponent {
|
|
|
133
133
|
constructor() {
|
|
134
134
|
this.width = 800; //NOSONAR
|
|
135
135
|
this.height = 600; //NOSONAR
|
|
136
|
-
this.saveButtonText = 'Save';
|
|
137
|
-
this.formId = 'imng-form';
|
|
138
136
|
this.submitted = false;
|
|
139
137
|
}
|
|
140
138
|
ngOnInit() {
|
|
@@ -144,8 +142,8 @@ class DataEntryDialogComponent {
|
|
|
144
142
|
this.dialogTitle = this.parentComponent.dialogTitle;
|
|
145
143
|
this.loading$ = this.parentComponent.loading$;
|
|
146
144
|
this.addEditForm = this.parentComponent.addEditForm;
|
|
147
|
-
this.saveButtonText = this.parentComponent.saveButtonText;
|
|
148
|
-
this.formId = this.parentComponent.formId;
|
|
145
|
+
this.saveButtonText ?? (this.saveButtonText = this.parentComponent.saveButtonText ?? 'Save');
|
|
146
|
+
this.formId ?? (this.formId = this.parentComponent.formId ?? 'imng-form');
|
|
149
147
|
}
|
|
150
148
|
close() {
|
|
151
149
|
this.parentComponent?.closeForm();
|
|
@@ -164,7 +162,7 @@ class DataEntryDialogComponent {
|
|
|
164
162
|
}
|
|
165
163
|
}
|
|
166
164
|
DataEntryDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DataEntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
-
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
165
|
+
DataEntryDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: DataEntryDialogComponent, selector: "imng-data-entry-dialog[parentComponent]", inputs: { minWidth: "minWidth", width: "width", height: "height", autoFocusedElement: "autoFocusedElement", parentComponent: "parentComponent", saveButtonText: "saveButtonText" }, queries: [{ propertyName: "dialogBtnsTemplate", first: true, predicate: DialogButtonsDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `<kendo-dialog
|
|
168
166
|
[width]="width"
|
|
169
167
|
[minWidth]="minWidth ?? width"
|
|
170
168
|
[height]="height"
|
|
@@ -244,6 +242,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
244
242
|
type: Input
|
|
245
243
|
}], parentComponent: [{
|
|
246
244
|
type: Input
|
|
245
|
+
}], saveButtonText: [{
|
|
246
|
+
type: Input
|
|
247
247
|
}], dialogBtnsTemplate: [{
|
|
248
248
|
type: ContentChild,
|
|
249
249
|
args: [DialogButtonsDirective, { static: true, read: TemplateRef }]
|
|
@@ -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 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 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 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 kendoButton (click)=\"cancel()\" class=\"btn btn-secondary btn-sm\">\n Cancel\n </button>\n <button\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 public saveButtonText = 'Save';\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 = 'imng-form';\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;\n this.formId = this.parentComponent.formId;\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';\n\nexport const formGroupPatcher =\n <TEntity>(addEditForm: FormGroup) =>\n (source: Observable<TEntity>) =>\n source.pipe(\n filter((t) => !!t),\n take(1),\n tap((t) => addEditForm.patchValue(t)),\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 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 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 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 kendoButton (click)=\"cancel()\" class=\"btn btn-secondary btn-sm\">\n Cancel\n </button>\n <button\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';\n\nexport const formGroupPatcher =\n <TEntity>(addEditForm: FormGroup) =>\n (source: Observable<TEntity>) =>\n source.pipe(\n filter((t) => !!t),\n take(1),\n tap((t) => addEditForm.patchValue(t)),\n );\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -12,11 +12,11 @@ export declare class DataEntryDialogComponent implements OnInit {
|
|
|
12
12
|
*/
|
|
13
13
|
autoFocusedElement?: string;
|
|
14
14
|
parentComponent?: BaseDataEntryComponent<any>;
|
|
15
|
-
saveButtonText
|
|
15
|
+
saveButtonText?: string;
|
|
16
16
|
dialogBtnsTemplate?: TemplateRef<unknown>;
|
|
17
17
|
loading$?: Observable<boolean>;
|
|
18
18
|
addEditForm?: FormGroup;
|
|
19
|
-
formId
|
|
19
|
+
formId?: string;
|
|
20
20
|
submitted: boolean;
|
|
21
21
|
dialogTitle?: string;
|
|
22
22
|
component?: {};
|
|
@@ -26,5 +26,5 @@ export declare class DataEntryDialogComponent implements OnInit {
|
|
|
26
26
|
submit(): void;
|
|
27
27
|
get dialogActionBtnsCtx(): object | null;
|
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataEntryDialogComponent, never>;
|
|
29
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DataEntryDialogComponent, "imng-data-entry-dialog[parentComponent]", never, { "minWidth": "minWidth"; "width": "width"; "height": "height"; "autoFocusedElement": "autoFocusedElement"; "parentComponent": "parentComponent"; }, {}, ["dialogBtnsTemplate"], ["*"], false>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataEntryDialogComponent, "imng-data-entry-dialog[parentComponent]", never, { "minWidth": "minWidth"; "width": "width"; "height": "height"; "autoFocusedElement": "autoFocusedElement"; "parentComponent": "parentComponent"; "saveButtonText": "saveButtonText"; }, {}, ["dialogBtnsTemplate"], ["*"], false>;
|
|
30
30
|
}
|
package/package.json
CHANGED