ngx-iso-form 2.2.2 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -55
- package/esm2022/lib/Models/IsoForm.mjs +8 -3
- package/esm2022/lib/components/controls/iso-mat-checkbox.component.mjs +3 -3
- package/esm2022/lib/components/controls/iso-mat-currency.component.mjs +3 -3
- package/esm2022/lib/components/controls/iso-mat-date.component.mjs +3 -3
- package/esm2022/lib/components/controls/iso-mat-datetime.component.mjs +3 -3
- package/esm2022/lib/components/controls/iso-mat-input.component.mjs +3 -3
- package/esm2022/lib/components/controls/iso-mat-select.component.mjs +3 -3
- package/esm2022/lib/components/controls/iso-mat-textarea.component.mjs +3 -3
- package/esm2022/lib/ngx-iso-form.component.mjs +13 -5
- package/esm2022/lib/ngx-iso-form.module.mjs +1 -5
- package/esm2022/lib/ngx-iso-form.service.mjs +70 -64
- package/esm2022/lib/shared/pipe/error.pipe.mjs +2 -2
- package/fesm2022/ngx-iso-form.mjs +103 -88
- package/fesm2022/ngx-iso-form.mjs.map +1 -1
- package/lib/Models/IsoForm.d.ts +5 -1
- package/lib/ngx-iso-form.component.d.ts +4 -2
- package/lib/ngx-iso-form.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -85,7 +85,7 @@ class IsoErrorPipe {
|
|
|
85
85
|
let key = `iso.${value}`;
|
|
86
86
|
let tran = this.translateService.instant(key);
|
|
87
87
|
if (tran === key) {
|
|
88
|
-
key = `iso.${id
|
|
88
|
+
key = `iso.${id}`;
|
|
89
89
|
tran = this.translateService.instant(key);
|
|
90
90
|
if (tran === key) {
|
|
91
91
|
return defaultValue;
|
|
@@ -109,11 +109,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
109
109
|
|
|
110
110
|
class IsoMatDate extends IsoBaseControlComponent {
|
|
111
111
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatDate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatDate, selector: "iso-mat-date", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput [matDatepicker]=\"picker\" [formControl]=\"formControl\">\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatDate, selector: "iso-mat-date", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput [matDatepicker]=\"picker\" [formControl]=\"formControl\">\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }, { kind: "pipe", type: IsoErrorPipe, name: "error" }] }); }
|
|
113
113
|
}
|
|
114
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatDate, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
|
-
args: [{ selector: 'iso-mat-date', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput [matDatepicker]=\"picker\" [formControl]=\"formControl\">\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
116
|
+
args: [{ selector: 'iso-mat-date', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput [matDatepicker]=\"picker\" [formControl]=\"formControl\">\r\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>" }]
|
|
117
117
|
}] });
|
|
118
118
|
|
|
119
119
|
class IsoGeneralPipe {
|
|
@@ -148,56 +148,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
148
148
|
|
|
149
149
|
class IsoMatDateTime extends IsoBaseControlComponent {
|
|
150
150
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatDateTime, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
151
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatDateTime, selector: "iso-mat-datetime", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <mat-hint>{{ control.id | general: control.id : \"format\" : \"YYYY-MM-DDThh:mm:ss.sss+/-hh:mm\" }}</mat-hint>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
151
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatDateTime, selector: "iso-mat-datetime", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <mat-hint>{{ control.id | general: control.id : \"format\" : \"YYYY-MM-DDThh:mm:ss.sss+/-hh:mm\" }}</mat-hint>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n \r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }, { kind: "pipe", type: IsoErrorPipe, name: "error" }, { kind: "pipe", type: IsoGeneralPipe, name: "general" }] }); }
|
|
152
152
|
}
|
|
153
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatDateTime, decorators: [{
|
|
154
154
|
type: Component,
|
|
155
|
-
args: [{ selector: 'iso-mat-datetime', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <mat-hint>{{ control.id | general: control.id : \"format\" : \"YYYY-MM-DDThh:mm:ss.sss+/-hh:mm\" }}</mat-hint>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
155
|
+
args: [{ selector: 'iso-mat-datetime', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <mat-hint>{{ control.id | general: control.id : \"format\" : \"YYYY-MM-DDThh:mm:ss.sss+/-hh:mm\" }}</mat-hint>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n \r\n</mat-form-field>" }]
|
|
156
156
|
}] });
|
|
157
157
|
|
|
158
158
|
class IsoMatInput extends IsoBaseControlComponent {
|
|
159
159
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatInput, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
160
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatInput, selector: "iso-mat-input", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatInput, selector: "iso-mat-input", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\" appearance=\"fill\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }, { kind: "pipe", type: IsoErrorPipe, name: "error" }] }); }
|
|
161
161
|
}
|
|
162
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatInput, decorators: [{
|
|
163
163
|
type: Component,
|
|
164
|
-
args: [{ selector: 'iso-mat-input', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
164
|
+
args: [{ selector: 'iso-mat-input', template: "<mat-form-field class=\"form-control form-control-m\" appearance=\"fill\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.minlength]=\"control.minLength\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>" }]
|
|
165
165
|
}] });
|
|
166
166
|
|
|
167
167
|
class IsoMatCheckbox extends IsoBaseControlComponent {
|
|
168
168
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatCheckbox, selector: "iso-mat-checkbox", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-checkbox [formControl]=\"formControl\">{{ control.name | trans: control.id : control.name }}</mat-checkbox>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatCheckbox, selector: "iso-mat-checkbox", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-checkbox [formControl]=\"formControl\">{{ control.name | trans: control.id : control.name }}</mat-checkbox>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }, { kind: "pipe", type: IsoErrorPipe, name: "error" }] }); }
|
|
170
170
|
}
|
|
171
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatCheckbox, decorators: [{
|
|
172
172
|
type: Component,
|
|
173
|
-
args: [{ selector: 'iso-mat-checkbox', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-checkbox [formControl]=\"formControl\">{{ control.name | trans: control.id : control.name }}</mat-checkbox>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
173
|
+
args: [{ selector: 'iso-mat-checkbox', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-checkbox [formControl]=\"formControl\">{{ control.name | trans: control.id : control.name }}</mat-checkbox>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>" }]
|
|
174
174
|
}] });
|
|
175
175
|
|
|
176
176
|
class IsoMatTextarea extends IsoBaseControlComponent {
|
|
177
177
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatTextarea, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
178
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatTextarea, selector: "iso-mat-textarea", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-full\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <textarea matInput placeholder=\"{{control.name}}\" [formControl]=\"formControl\"></textarea>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
178
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatTextarea, selector: "iso-mat-textarea", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-full\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <textarea matInput placeholder=\"{{control.name}}\" [formControl]=\"formControl\"></textarea>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }, { kind: "pipe", type: IsoErrorPipe, name: "error" }] }); }
|
|
179
179
|
}
|
|
180
180
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatTextarea, decorators: [{
|
|
181
181
|
type: Component,
|
|
182
|
-
args: [{ selector: 'iso-mat-textarea', template: "<mat-form-field class=\"form-control form-control-full\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <textarea matInput placeholder=\"{{control.name}}\" [formControl]=\"formControl\"></textarea>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
182
|
+
args: [{ selector: 'iso-mat-textarea', template: "<mat-form-field class=\"form-control form-control-full\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <textarea matInput placeholder=\"{{control.name}}\" [formControl]=\"formControl\"></textarea>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>" }]
|
|
183
183
|
}] });
|
|
184
184
|
|
|
185
185
|
class IsoMatSelect extends IsoBaseControlComponent {
|
|
186
186
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatSelect, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
187
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatSelect, selector: "iso-mat-select", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <mat-select [formControl]=\"formControl\">\r\n <mat-option *ngFor=\"let item of control.values\" [value]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </mat-select>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatSelect, selector: "iso-mat-select", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <mat-select [formControl]=\"formControl\">\r\n <mat-option *ngFor=\"let item of control.values\" [value]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </mat-select>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n </mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }, { kind: "pipe", type: IsoErrorPipe, name: "error" }] }); }
|
|
188
188
|
}
|
|
189
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatSelect, decorators: [{
|
|
190
190
|
type: Component,
|
|
191
|
-
args: [{ selector: 'iso-mat-select', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <mat-select [formControl]=\"formControl\">\r\n <mat-option *ngFor=\"let item of control.values\" [value]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </mat-select>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
191
|
+
args: [{ selector: 'iso-mat-select', template: "<mat-form-field class=\"form-control form-control-m\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <mat-select [formControl]=\"formControl\">\r\n <mat-option *ngFor=\"let item of control.values\" [value]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </mat-select>\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item + \" validation failed\" }}\r\n </div>\r\n </ng-container>\r\n </mat-form-field>" }]
|
|
192
192
|
}] });
|
|
193
193
|
|
|
194
194
|
class IsoMatCurrency extends IsoBaseControlComponent {
|
|
195
195
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatCurrency, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatCurrency, selector: "iso-mat-currency", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-s\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: IsoMatCurrency, selector: "iso-mat-currency", usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-control form-control-s\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }, { kind: "pipe", type: IsoErrorPipe, name: "error" }] }); }
|
|
197
197
|
}
|
|
198
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: IsoMatCurrency, decorators: [{
|
|
199
199
|
type: Component,
|
|
200
|
-
args: [{ selector: 'iso-mat-currency', template: "<mat-form-field class=\"form-control form-control-s\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.
|
|
200
|
+
args: [{ selector: 'iso-mat-currency', template: "<mat-form-field class=\"form-control form-control-s\">\r\n <mat-label>{{ control.name | trans: control.id : control.name }}</mat-label>\r\n <input matInput placeholder=\"{{ control.name }}\" [formControl]=\"formControl\" [attr.maxlength]=\"control.maxLength\">\r\n <ng-container *ngFor=\"let item of getKeys(formControl.errors)\">\r\n <div *ngIf=\"formControl.errors?.[item] && formControl.dirty\" class=\"iso-mat-error\">\r\n {{ control.name | error: control.id : item : item }}\r\n </div>\r\n </ng-container>\r\n</mat-form-field>" }]
|
|
201
201
|
}] });
|
|
202
202
|
|
|
203
203
|
class ComponentModel {
|
|
@@ -393,6 +393,7 @@ class NgxIsoService {
|
|
|
393
393
|
this.fb = fb;
|
|
394
394
|
this.dateService = dateService;
|
|
395
395
|
this._formModel = [];
|
|
396
|
+
this.excludes = [];
|
|
396
397
|
this.sanitize = (obj) => {
|
|
397
398
|
if (obj === null || obj === '') {
|
|
398
399
|
return null;
|
|
@@ -531,82 +532,87 @@ class NgxIsoService {
|
|
|
531
532
|
let controls;
|
|
532
533
|
let value = {};
|
|
533
534
|
json.forEach((item) => {
|
|
534
|
-
item.
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
if (
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
controls.
|
|
535
|
+
if ((this.excludes.length > 0 && !this.excludes.includes(item.id)) ||
|
|
536
|
+
this.excludes.length == 0) {
|
|
537
|
+
item.hidden = choiceEle;
|
|
538
|
+
value = item.elements;
|
|
539
|
+
const id = item.id;
|
|
540
|
+
const element = { ...item, elements: [], id };
|
|
541
|
+
if (item.elements.length > 0) {
|
|
542
|
+
let choice = item.dataType === 'choice';
|
|
543
|
+
if (choice) {
|
|
544
|
+
element.choiceKey = '';
|
|
545
|
+
}
|
|
546
|
+
if (this.maxOccurs(item.maxOccurs)) {
|
|
547
|
+
element.uniqueId = `${element.id}_${index}`;
|
|
548
|
+
keys.push({
|
|
549
|
+
id: element.id,
|
|
550
|
+
multi: true,
|
|
551
|
+
xpath: element.xpath,
|
|
552
|
+
elements: [element],
|
|
553
|
+
});
|
|
554
|
+
const data = this.getFormGroupControls(item.elements, element.elements, index, choice);
|
|
555
|
+
controls = this.fb.array([]);
|
|
556
|
+
if (!choice) {
|
|
557
|
+
controls.push(data);
|
|
558
|
+
}
|
|
559
|
+
control[id] = controls;
|
|
560
|
+
}
|
|
561
|
+
else if (item.multi && !item.isFormControls) {
|
|
562
|
+
keys.push({
|
|
563
|
+
id: element.id,
|
|
564
|
+
multi: true,
|
|
565
|
+
xpath: element.xpath,
|
|
566
|
+
elements: element.elements,
|
|
567
|
+
});
|
|
568
|
+
const data = this.getFormGroupControls(item.elements[item.elements.length - 1].elements, element.elements, index, choice);
|
|
569
|
+
controls = this.fb.array([]);
|
|
570
|
+
if (!choice) {
|
|
571
|
+
controls.push(data);
|
|
572
|
+
}
|
|
573
|
+
control[id] = controls;
|
|
574
|
+
}
|
|
575
|
+
else if (item.multi && item.isFormControls) {
|
|
576
|
+
if (item.elements.length > 1) {
|
|
577
|
+
item.elements.splice(1, item.elements.length - 1);
|
|
578
|
+
}
|
|
579
|
+
keys.push(item);
|
|
580
|
+
control[id] = this.fb.array([
|
|
581
|
+
this.getFormControl(item.value || ''),
|
|
582
|
+
]);
|
|
583
|
+
}
|
|
584
|
+
else {
|
|
585
|
+
keys.push(element);
|
|
586
|
+
const data = this.getFormGroupControls(item.elements, element.elements, index, choice);
|
|
587
|
+
if (!choice) {
|
|
588
|
+
control[id] = data;
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
control[id] = this.fb.group({});
|
|
592
|
+
}
|
|
555
593
|
}
|
|
556
|
-
control[id] = controls;
|
|
557
594
|
}
|
|
558
|
-
else if (
|
|
595
|
+
else if (this.maxOccurs(item.maxOccurs)) {
|
|
559
596
|
keys.push({
|
|
560
597
|
id: element.id,
|
|
561
598
|
multi: true,
|
|
562
599
|
xpath: element.xpath,
|
|
563
|
-
elements: element
|
|
600
|
+
elements: [element],
|
|
601
|
+
isFormControls: true,
|
|
564
602
|
});
|
|
565
|
-
|
|
566
|
-
controls = this.fb.array([]);
|
|
567
|
-
if (!choice) {
|
|
568
|
-
controls.push(data);
|
|
569
|
-
}
|
|
570
|
-
control[id] = controls;
|
|
603
|
+
control[id] = this.fb.array([this.getFormControl(item.value)]);
|
|
571
604
|
}
|
|
572
|
-
else if (item.
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
control[id] = this.fb.array([this.getFormControl(item.value || '')]);
|
|
605
|
+
else if (item.isCurrency) {
|
|
606
|
+
const _amountCurrency = this.getAmountCurrency(item);
|
|
607
|
+
keys.push(element);
|
|
608
|
+
const data = this.getFormGroupControls(_amountCurrency, element.elements, 0, false);
|
|
609
|
+
control[item.id] = data;
|
|
578
610
|
}
|
|
579
611
|
else {
|
|
580
612
|
keys.push(element);
|
|
581
|
-
|
|
582
|
-
if (!choice) {
|
|
583
|
-
control[id] = data;
|
|
584
|
-
}
|
|
585
|
-
else {
|
|
586
|
-
control[id] = this.fb.group({});
|
|
587
|
-
}
|
|
613
|
+
control[id] = this.getFormControl(item.value || '');
|
|
588
614
|
}
|
|
589
615
|
}
|
|
590
|
-
else if (this.maxOccurs(item.maxOccurs)) {
|
|
591
|
-
keys.push({
|
|
592
|
-
id: element.id,
|
|
593
|
-
multi: true,
|
|
594
|
-
xpath: element.xpath,
|
|
595
|
-
elements: [element],
|
|
596
|
-
isFormControls: true,
|
|
597
|
-
});
|
|
598
|
-
control[id] = this.fb.array([this.getFormControl(item.value)]);
|
|
599
|
-
}
|
|
600
|
-
else if (item.isCurrency) {
|
|
601
|
-
const _amountCurrency = this.getAmountCurrency(item);
|
|
602
|
-
keys.push(element);
|
|
603
|
-
const data = this.getFormGroupControls(_amountCurrency, element.elements, 0, false);
|
|
604
|
-
control[item.id] = data;
|
|
605
|
-
}
|
|
606
|
-
else {
|
|
607
|
-
keys.push(element);
|
|
608
|
-
control[id] = this.getFormControl(item.value || '');
|
|
609
|
-
}
|
|
610
616
|
});
|
|
611
617
|
return new FormGroup(control);
|
|
612
618
|
}
|
|
@@ -656,14 +662,20 @@ class NgxIsoFormComponent {
|
|
|
656
662
|
if (changes['form'] && changes['form'].currentValue) {
|
|
657
663
|
this.initiateFormModel();
|
|
658
664
|
}
|
|
665
|
+
if (changes['excludes'] && changes['excludes'].currentValue) {
|
|
666
|
+
this.service.excludes = this.excludes;
|
|
667
|
+
}
|
|
659
668
|
}
|
|
660
|
-
get
|
|
669
|
+
get model() {
|
|
661
670
|
if (this._form)
|
|
662
671
|
return this.service.sanitize(this._form.value);
|
|
663
672
|
}
|
|
664
673
|
get getFormModel() {
|
|
665
674
|
return this.service._formModel;
|
|
666
675
|
}
|
|
676
|
+
get invalid() {
|
|
677
|
+
return this._form.invalid;
|
|
678
|
+
}
|
|
667
679
|
initiateForm() {
|
|
668
680
|
this.service._formModel = [this.structuredClone(this.schema)];
|
|
669
681
|
this.service._formModel[0].elements = [];
|
|
@@ -688,9 +700,9 @@ class NgxIsoFormComponent {
|
|
|
688
700
|
}
|
|
689
701
|
initiateFormModel() {
|
|
690
702
|
if (this._form) {
|
|
691
|
-
this._ngModel = this.form.
|
|
703
|
+
this._ngModel = this.form.isoFormModel;
|
|
692
704
|
this.form.getFormModel = () => {
|
|
693
|
-
return this.
|
|
705
|
+
return this.model;
|
|
694
706
|
};
|
|
695
707
|
this._isFormInitiate = true;
|
|
696
708
|
this.service.initFormModel(this._ngModel, this._form);
|
|
@@ -808,7 +820,7 @@ class NgxIsoFormComponent {
|
|
|
808
820
|
return formControl;
|
|
809
821
|
}
|
|
810
822
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgxIsoFormComponent, deps: [{ token: NgxIsoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
811
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: NgxIsoFormComponent, selector: "ngx-iso-form", inputs: { form: "form", schema: "schema" }, usesOnChanges: true, ngImport: i0, template: "<form *ngIf=\"_form && schema\" [formGroup]=\"_form\">\r\n <div class=\"form-group\">\r\n <ng-template #nodeTemplateRef let-node=\"node\" let-formElement=\"formElement\" let-index=\"index\"\r\n let-parentNode=\"parentNode\" let-parentFormElement=\"parentFormElement\">\r\n <ng-container *ngIf=\"node.multi then arr else obj\"></ng-container>\r\n <ng-template #arr>\r\n <ng-template *ngFor=\"let model of node.elements;let i = index\" [ngTemplateOutlet]=\"nodeTemplateRef\"\r\n [ngTemplateOutletContext]=\"{\r\n node: model,\r\n formElement: formElement,\r\n parentFormElement: parentFormElement,\r\n parentNode: node,\r\n index: i\r\n }\">\r\n </ng-template>\r\n </ng-template>\r\n <ng-template #obj>\r\n <ng-container *ngIf=\"node.elements.length\">\r\n <mat-accordion [formGroup]=\"formElement\" *ngIf=\"!node.hidden\">\r\n <mat-expansion-panel multi [expanded]=\"expand(node.minOccurs) || node.expanded\" #expan>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ node.name | trans: node.id : node.name }}\r\n </mat-panel-title>\r\n <mat-panel-description *ngIf=\"maxOccurs(node.maxOccurs)\">\r\n \r\n <button *ngIf=\"index < 1\" mat-icon-button (click)=\"addSection($event, node,parentNode, parentFormElement)\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n <button *ngIf=\"index > 0\" mat-icon-button (click)=\"removeSection($event,parentNode,parentFormElement,index)\">\r\n <mat-icon>remove</mat-icon>\r\n </button>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <ng-container *ngIf=\"expan.expanded\">\r\n <mat-form-field *ngIf=\"node.dataType === 'choice'\">\r\n <mat-label>{{ node.name | trans: node.id : node.name }}</mat-label>\r\n <mat-select (selectionChange)=\"onChoiceSelectionChange($event.value,formElement, node)\" [formControl]=\"getChoiceFormControl(node.choiceKey)\">\r\n <mat-option *ngFor=\"let item of node.elements\" [value]=\"item.id\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"!isEmpty(formElement)\">\r\n <ng-template *ngFor=\"let model of node.elements; let i = index\" [ngTemplateOutlet]=\"nodeTemplateRef\"\r\n [ngTemplateOutletContext]=\"{\r\n node: model,\r\n formElement: getElement(formElement,model),\r\n parentFormElement: formElement\r\n }\">\r\n </ng-template>\r\n </ng-container>\r\n <div *ngIf=\"node.elements.length === 0\">\r\n <ngx-iso-control *ngIf=\"!node.hidden\" [formControl]=\"formElement\" [control]=\"node\"></ngx-iso-control>\r\n </div>\r\n </ng-container>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </ng-container>\r\n <ng-container *ngIf=\"!node.elements.length && !node.hidden\">\r\n <div *ngIf=\"maxOccurs(node.maxOccurs)\" class=\"form-add-section\">\r\n \r\n <button *ngIf=\"index < 1\" mat-icon-button (click)=\"addNewControl($event, node,parentNode,parentFormElement)\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n <button *ngIf=\"index > 0\" mat-icon-button (click)=\"removeNewControl($event,parentNode,parentFormElement,index)\">\r\n <mat-icon>remove</mat-icon>\r\n </button>\r\n </div>\r\n <ngx-iso-control [formControl]=\"formElement\" [control]=\"node\"></ngx-iso-control>\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngFor=\"let model of getFormModel; let i = index\">\r\n <ng-container *ngIf=\"isArray(model);then formArray else formObject\">\r\n </ng-container>\r\n <ng-template #formArray>\r\n <ng-template *ngFor=\"let key of model;let i = index\" [ngTemplateOutlet]=\"nodeTemplateRef\"\r\n [ngTemplateOutletContext]=\"{\r\n node: key,\r\n formElement: getElement(_form,key),\r\n parentFormElement: _form,\r\n index:i\r\n }\">\r\n </ng-template>\r\n </ng-template>\r\n <ng-template #formObject>\r\n <ng-template [ngTemplateOutlet]=\"nodeTemplateRef\" [ngTemplateOutletContext]=\"{\r\n node: model,\r\n formElement: getElement(_form,model),\r\n parentFormElement: _form,\r\n index: i,\r\n }\">\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</form>", styles: [":host .mat-expansion-panel-header-description{justify-content:space-between;align-items:center}:host .mat-expansion-panel{width:100%;margin:5px 0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i4$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i4$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i4$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i4$2.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NgxIsoControlComponent, selector: "ngx-iso-control", inputs: ["formControl", "control"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
823
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: NgxIsoFormComponent, selector: "ngx-iso-form", inputs: { form: "form", schema: "schema", excludes: "excludes" }, usesOnChanges: true, ngImport: i0, template: "<form *ngIf=\"_form && schema\" [formGroup]=\"_form\">\r\n <div class=\"form-group\">\r\n <ng-template #nodeTemplateRef let-node=\"node\" let-formElement=\"formElement\" let-index=\"index\"\r\n let-parentNode=\"parentNode\" let-parentFormElement=\"parentFormElement\">\r\n <ng-container *ngIf=\"node.multi then arr else obj\"></ng-container>\r\n <ng-template #arr>\r\n <ng-template *ngFor=\"let model of node.elements;let i = index\" [ngTemplateOutlet]=\"nodeTemplateRef\"\r\n [ngTemplateOutletContext]=\"{\r\n node: model,\r\n formElement: formElement,\r\n parentFormElement: parentFormElement,\r\n parentNode: node,\r\n index: i\r\n }\">\r\n </ng-template>\r\n </ng-template>\r\n <ng-template #obj>\r\n <ng-container *ngIf=\"node.elements.length\">\r\n <mat-accordion [formGroup]=\"formElement\" *ngIf=\"!node.hidden\">\r\n <mat-expansion-panel multi [expanded]=\"expand(node.minOccurs) || node.expanded\" #expan>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{ node.name | trans: node.id : node.name }}\r\n </mat-panel-title>\r\n <mat-panel-description *ngIf=\"maxOccurs(node.maxOccurs)\">\r\n \r\n <button *ngIf=\"index < 1\" mat-icon-button (click)=\"addSection($event, node,parentNode, parentFormElement)\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n <button *ngIf=\"index > 0\" mat-icon-button (click)=\"removeSection($event,parentNode,parentFormElement,index)\">\r\n <mat-icon>remove</mat-icon>\r\n </button>\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <ng-container *ngIf=\"expan.expanded\">\r\n <mat-form-field *ngIf=\"node.dataType === 'choice'\">\r\n <mat-label>{{ node.name | trans: node.id : node.name }}</mat-label>\r\n <mat-select (selectionChange)=\"onChoiceSelectionChange($event.value,formElement, node)\" [formControl]=\"getChoiceFormControl(node.choiceKey)\">\r\n <mat-option *ngFor=\"let item of node.elements\" [value]=\"item.id\">\r\n {{item.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"!isEmpty(formElement)\">\r\n <ng-template *ngFor=\"let model of node.elements; let i = index\" [ngTemplateOutlet]=\"nodeTemplateRef\"\r\n [ngTemplateOutletContext]=\"{\r\n node: model,\r\n formElement: getElement(formElement,model),\r\n parentFormElement: formElement\r\n }\">\r\n </ng-template>\r\n </ng-container>\r\n <div *ngIf=\"node.elements.length === 0\">\r\n <ngx-iso-control *ngIf=\"!node.hidden\" [formControl]=\"formElement\" [control]=\"node\"></ngx-iso-control>\r\n </div>\r\n </ng-container>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </ng-container>\r\n <ng-container *ngIf=\"!node.elements.length && !node.hidden\">\r\n <div *ngIf=\"maxOccurs(node.maxOccurs)\" class=\"form-add-section\">\r\n \r\n <button *ngIf=\"index < 1\" mat-icon-button (click)=\"addNewControl($event, node,parentNode,parentFormElement)\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n <button *ngIf=\"index > 0\" mat-icon-button (click)=\"removeNewControl($event,parentNode,parentFormElement,index)\">\r\n <mat-icon>remove</mat-icon>\r\n </button>\r\n </div>\r\n <ngx-iso-control [formControl]=\"formElement\" [control]=\"node\"></ngx-iso-control>\r\n </ng-container>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngFor=\"let model of getFormModel; let i = index\">\r\n <ng-container *ngIf=\"isArray(model);then formArray else formObject\">\r\n </ng-container>\r\n <ng-template #formArray>\r\n <ng-template *ngFor=\"let key of model;let i = index\" [ngTemplateOutlet]=\"nodeTemplateRef\"\r\n [ngTemplateOutletContext]=\"{\r\n node: key,\r\n formElement: getElement(_form,key),\r\n parentFormElement: _form,\r\n index:i\r\n }\">\r\n </ng-template>\r\n </ng-template>\r\n <ng-template #formObject>\r\n <ng-template [ngTemplateOutlet]=\"nodeTemplateRef\" [ngTemplateOutletContext]=\"{\r\n node: model,\r\n formElement: getElement(_form,model),\r\n parentFormElement: _form,\r\n index: i,\r\n }\">\r\n </ng-template>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</form>", styles: [":host .mat-expansion-panel-header-description{justify-content:space-between;align-items:center}:host .mat-expansion-panel{width:100%;margin:5px 0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i4$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i4$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i4$2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i4$2.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NgxIsoControlComponent, selector: "ngx-iso-control", inputs: ["formControl", "control"] }, { kind: "pipe", type: IsoTranslatePipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
812
824
|
}
|
|
813
825
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgxIsoFormComponent, decorators: [{
|
|
814
826
|
type: Component,
|
|
@@ -819,12 +831,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
819
831
|
}], schema: [{
|
|
820
832
|
type: Input,
|
|
821
833
|
args: [{ required: true }]
|
|
834
|
+
}], excludes: [{
|
|
835
|
+
type: Input
|
|
822
836
|
}] } });
|
|
823
837
|
|
|
824
|
-
// // AoT requires an exported function for factories
|
|
825
|
-
// export function HttpLoaderFactory(http: HttpClient) {
|
|
826
|
-
// return new TranslateHttpLoader(http);
|
|
827
|
-
// }
|
|
828
838
|
class NgxIsoFormModule {
|
|
829
839
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgxIsoFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
830
840
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: NgxIsoFormModule, declarations: [NgxIsoFormComponent,
|
|
@@ -936,10 +946,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
936
946
|
|
|
937
947
|
class IsoForm {
|
|
938
948
|
constructor(model) {
|
|
939
|
-
|
|
940
|
-
|
|
949
|
+
/**
|
|
950
|
+
* @deprecated This method is deprecated use `#isoForm.getFormModel` instead
|
|
951
|
+
*/
|
|
952
|
+
this.getFormModel = () => { };
|
|
941
953
|
this._model = model;
|
|
942
954
|
}
|
|
955
|
+
get isoFormModel() {
|
|
956
|
+
return this._model;
|
|
957
|
+
}
|
|
943
958
|
}
|
|
944
959
|
|
|
945
960
|
/*
|