superlikers-dynamic-forms 0.2.1 → 0.2.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/fesm2022/{superlikers-dynamic-forms-select-field.component-DuEQPRWC.mjs → superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs} +6 -7
- package/fesm2022/superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs.map +1 -0
- package/fesm2022/superlikers-dynamic-forms.mjs +50 -50
- package/fesm2022/superlikers-dynamic-forms.mjs.map +1 -1
- package/lib/components/base-control/base-control.component.d.ts +4 -4
- package/lib/directives/validator-array-message/validator-array-message.directive.d.ts +1 -1
- package/lib/directives/validator-message/validator-message.directive.d.ts +1 -1
- package/package.json +1 -3
- package/esm2022/lib/components/base-control/base-control.component.mjs +0 -86
- package/esm2022/lib/components/checkbox-field/checkbox-field.component.mjs +0 -16
- package/esm2022/lib/components/checkbox-group-field/checkbox-group-field.component.mjs +0 -33
- package/esm2022/lib/components/errors/errors.component.mjs +0 -45
- package/esm2022/lib/components/group-field/group-field.component.mjs +0 -22
- package/esm2022/lib/components/help-text/help-text.component.mjs +0 -21
- package/esm2022/lib/components/input-field/input-field.component.mjs +0 -16
- package/esm2022/lib/components/radio-field/radio-field.component.mjs +0 -16
- package/esm2022/lib/components/select-field/select-field.component.mjs +0 -26
- package/esm2022/lib/directives/helpText/help-text.directive.mjs +0 -29
- package/esm2022/lib/directives/validator-array-message/validator-array-message.directive.mjs +0 -49
- package/esm2022/lib/directives/validator-message/validator-message.directive.mjs +0 -49
- package/esm2022/lib/models/forms.model.mjs +0 -10
- package/esm2022/lib/pipes/control-injector.pipe.mjs +0 -29
- package/esm2022/lib/services/control-resolver/control-resolver.service.mjs +0 -59
- package/esm2022/lib/utils/control-data.token.mjs +0 -3
- package/esm2022/lib/utils/validation-error-messages.token.mjs +0 -23
- package/esm2022/public-api.mjs +0 -20
- package/esm2022/superlikers-dynamic-forms.mjs +0 -5
- package/fesm2022/superlikers-dynamic-forms-select-field.component-DuEQPRWC.mjs.map +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component } from '@angular/core';
|
|
3
|
-
import { BaseControlComponent, ValidatorMessageDirective, HelpTextDirective,
|
|
3
|
+
import { BaseControlComponent, controlProvider, ValidatorMessageDirective, HelpTextDirective, sharedControlDeps } from './superlikers-dynamic-forms.mjs';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import * as i2 from '@angular/forms';
|
|
6
|
-
import 'rxjs';
|
|
7
6
|
|
|
8
7
|
class SelectFieldComponent extends BaseControlComponent {
|
|
9
8
|
ngOnInit() {
|
|
@@ -16,13 +15,13 @@ class SelectFieldComponent extends BaseControlComponent {
|
|
|
16
15
|
return;
|
|
17
16
|
this.formControl.setValue(selectedOption.value);
|
|
18
17
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: SelectFieldComponent, isStandalone: true, selector: "app-radio-field", usesInheritance: true, ngImport: i0, template: "<label for=\"\">{{ control.control.label }}</label>\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
|
|
21
20
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: SelectFieldComponent, decorators: [{
|
|
23
22
|
type: Component,
|
|
24
|
-
args: [{ selector: 'app-radio-field',
|
|
23
|
+
args: [{ selector: 'app-radio-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label for=\"\">{{ control.control.label }}</label>\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n" }]
|
|
25
24
|
}] });
|
|
26
25
|
|
|
27
26
|
export { SelectFieldComponent };
|
|
28
|
-
//# sourceMappingURL=superlikers-dynamic-forms-select-field.component-
|
|
27
|
+
//# sourceMappingURL=superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs","sources":["../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.ts","../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './select-field.component.html',\n standalone: true\n})\nexport class SelectFieldComponent extends BaseControlComponent implements OnInit {\n override ngOnInit() {\n this.initialize()\n\n this.setSelectedOption()\n }\n\n setSelectedOption() {\n const selectedOption = this.control.control.options?.find(option => option.selected)\n if (!selectedOption) return\n\n this.formControl.setValue(selectedOption.value)\n }\n}\n","<label for=\"\">{{ control.control.label }}</label>\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective"],"mappings":";;;;;;AAUM,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;IACnD,QAAQ,GAAA;QACf,IAAI,CAAC,UAAU,EAAE;QAEjB,IAAI,CAAC,iBAAiB,EAAE;;IAG1B,iBAAiB,GAAA;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC;AACpF,QAAA,IAAI,CAAC,cAAc;YAAE;QAErB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;;8GAXtC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECVjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,igBAmBA,EDbiB,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAC,eAAe,CAAC,EAAA,CAAA,CAAA;;2FAIrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,GAAG,iBAAiB,CAAC,iBAChB,CAAC,eAAe,CAAC,EAAA,UAAA,EAEpB,IAAI,EAAA,QAAA,EAAA,igBAAA,EAAA;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injector, Pipe, Injectable,
|
|
2
|
+
import { InjectionToken, inject, Injector, Pipe, Injectable, HostBinding, Input, ChangeDetectionStrategy, Component, ElementRef, ViewContainerRef, Directive } from '@angular/core';
|
|
3
3
|
import { of, from, tap, distinctUntilChanged, map, merge, fromEvent, iif, EMPTY, startWith } from 'rxjs';
|
|
4
4
|
import * as i2 from '@angular/forms';
|
|
5
5
|
import { NgControl, ControlContainer, ReactiveFormsModule, FormControl, Validators, FormArray, FormGroup } from '@angular/forms';
|
|
@@ -23,10 +23,10 @@ class ControlInjector {
|
|
|
23
23
|
]
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ControlInjector, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
27
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.0", ngImport: i0, type: ControlInjector, isStandalone: true, name: "controlInjector" }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ControlInjector, decorators: [{
|
|
30
30
|
type: Pipe,
|
|
31
31
|
args: [{
|
|
32
32
|
name: 'controlInjector',
|
|
@@ -52,7 +52,7 @@ class ControlResolver {
|
|
|
52
52
|
radio: () => Promise.resolve().then(function () { return radioField_component; }).then(c => c.RadioFieldComponent),
|
|
53
53
|
checkbox: () => Promise.resolve().then(function () { return checkboxField_component; }).then(c => c.CheckboxFieldComponent),
|
|
54
54
|
'checkbox-group': () => Promise.resolve().then(function () { return checkboxGroupField_component; }).then(c => c.CheckboxGroupFieldComponent),
|
|
55
|
-
select: () => import('./superlikers-dynamic-forms-select-field.component-
|
|
55
|
+
select: () => import('./superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs').then(c => c.SelectFieldComponent)
|
|
56
56
|
};
|
|
57
57
|
this.loadedControlComponents = new Map();
|
|
58
58
|
}
|
|
@@ -90,10 +90,10 @@ class ControlResolver {
|
|
|
90
90
|
});
|
|
91
91
|
}));
|
|
92
92
|
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
94
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ControlResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
94
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ControlResolver, providedIn: 'root' }); }
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ControlResolver, decorators: [{
|
|
97
97
|
type: Injectable,
|
|
98
98
|
args: [{
|
|
99
99
|
providedIn: 'root'
|
|
@@ -136,25 +136,25 @@ class ErrorsComponent {
|
|
|
136
136
|
}
|
|
137
137
|
return this.errorsMap[error.key](error.value);
|
|
138
138
|
}
|
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: ErrorsComponent, isStandalone: true, selector: "app-errors", inputs: { errors: "errors" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: `
|
|
141
141
|
@for (error of errors | keyvalue; track error.key) {
|
|
142
142
|
<div class="error-text">{{ getError(error) }}</div>
|
|
143
143
|
}
|
|
144
144
|
`, isInline: true, dependencies: [{ kind: "pipe", type: KeyValuePipe, name: "keyvalue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
145
145
|
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ErrorsComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
148
148
|
args: [{
|
|
149
149
|
selector: 'app-errors',
|
|
150
|
-
standalone: true,
|
|
151
150
|
imports: [KeyValuePipe],
|
|
152
151
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
153
152
|
template: `
|
|
154
153
|
@for (error of errors | keyvalue; track error.key) {
|
|
155
154
|
<div class="error-text">{{ getError(error) }}</div>
|
|
156
155
|
}
|
|
157
|
-
|
|
156
|
+
`,
|
|
157
|
+
standalone: true
|
|
158
158
|
}]
|
|
159
159
|
}], propDecorators: { errors: [{
|
|
160
160
|
type: Input
|
|
@@ -196,10 +196,10 @@ class ValidatorMessageDirective {
|
|
|
196
196
|
ngOnDestroy() {
|
|
197
197
|
this.controlSubscription.unsubscribe();
|
|
198
198
|
}
|
|
199
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
200
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ValidatorMessageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
200
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.0", type: ValidatorMessageDirective, isStandalone: true, selector: "[appValidatorMessage]", ngImport: i0 }); }
|
|
201
201
|
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ValidatorMessageDirective, decorators: [{
|
|
203
203
|
type: Directive,
|
|
204
204
|
args: [{
|
|
205
205
|
selector: '[appValidatorMessage]',
|
|
@@ -211,16 +211,16 @@ class HelpTextComponent {
|
|
|
211
211
|
constructor() {
|
|
212
212
|
this.message = '';
|
|
213
213
|
}
|
|
214
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
215
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: HelpTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.0", type: HelpTextComponent, isStandalone: true, selector: "app-help-text", inputs: { message: "message" }, ngImport: i0, template: '<p class="help-text">{{ message }}</p>', isInline: true }); }
|
|
216
216
|
}
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: HelpTextComponent, decorators: [{
|
|
218
218
|
type: Component,
|
|
219
219
|
args: [{
|
|
220
220
|
selector: 'app-help-text',
|
|
221
|
-
standalone: true,
|
|
222
221
|
imports: [],
|
|
223
|
-
template: '<p class="help-text">{{ message }}</p>'
|
|
222
|
+
template: '<p class="help-text">{{ message }}</p>',
|
|
223
|
+
standalone: true
|
|
224
224
|
}]
|
|
225
225
|
}], propDecorators: { message: [{
|
|
226
226
|
type: Input
|
|
@@ -239,10 +239,10 @@ class HelpTextDirective {
|
|
|
239
239
|
this.componentRef = this.vcr.createComponent(HelpTextComponent);
|
|
240
240
|
this.componentRef.setInput('message', this.message);
|
|
241
241
|
}
|
|
242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
243
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: HelpTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
243
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.0", type: HelpTextDirective, isStandalone: true, selector: "[appHelpText]", inputs: { message: "message" }, ngImport: i0 }); }
|
|
244
244
|
}
|
|
245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
245
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: HelpTextDirective, decorators: [{
|
|
246
246
|
type: Directive,
|
|
247
247
|
args: [{
|
|
248
248
|
selector: '[appHelpText]',
|
|
@@ -285,10 +285,10 @@ class ValidatorArrayMessageDirective {
|
|
|
285
285
|
ngOnDestroy() {
|
|
286
286
|
this.controlSubscription?.unsubscribe();
|
|
287
287
|
}
|
|
288
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
289
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
288
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ValidatorArrayMessageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
289
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.0", type: ValidatorArrayMessageDirective, isStandalone: true, selector: "[appValidatorArrayMessage]", ngImport: i0 }); }
|
|
290
290
|
}
|
|
291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ValidatorArrayMessageDirective, decorators: [{
|
|
292
292
|
type: Directive,
|
|
293
293
|
args: [{
|
|
294
294
|
selector: '[appValidatorArrayMessage]',
|
|
@@ -363,10 +363,10 @@ class BaseControlComponent {
|
|
|
363
363
|
return of([]);
|
|
364
364
|
return this.control.control.asyncOptions(this.parentFormGroup);
|
|
365
365
|
}
|
|
366
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
367
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
366
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: BaseControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
367
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.0", type: BaseControlComponent, isStandalone: true, host: { properties: { "class": "this.hostClass" } }, ngImport: i0 }); }
|
|
368
368
|
}
|
|
369
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
369
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: BaseControlComponent, decorators: [{
|
|
370
370
|
type: Directive
|
|
371
371
|
}], propDecorators: { hostClass: [{
|
|
372
372
|
type: HostBinding,
|
|
@@ -374,12 +374,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
374
374
|
}] } });
|
|
375
375
|
|
|
376
376
|
class CheckboxFieldComponent extends BaseControlComponent {
|
|
377
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
378
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
377
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
378
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.0", type: CheckboxFieldComponent, isStandalone: true, selector: "app-checkbox-field", usesInheritance: true, ngImport: i0, template: "<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
|
|
379
379
|
}
|
|
380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
|
|
381
381
|
type: Component,
|
|
382
|
-
args: [{ selector: 'app-checkbox-field',
|
|
382
|
+
args: [{ selector: 'app-checkbox-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n" }]
|
|
383
383
|
}] });
|
|
384
384
|
|
|
385
385
|
var checkboxField_component = /*#__PURE__*/Object.freeze({
|
|
@@ -404,12 +404,12 @@ class CheckboxGroupFieldComponent extends BaseControlComponent {
|
|
|
404
404
|
this.formControl.removeAt(index);
|
|
405
405
|
}
|
|
406
406
|
}
|
|
407
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
408
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
407
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxGroupFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
408
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: CheckboxGroupFieldComponent, isStandalone: true, selector: "app-checkbox-group-field", usesInheritance: true, ngImport: i0, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }, { kind: "directive", type: ValidatorArrayMessageDirective, selector: "[appValidatorArrayMessage]" }], viewProviders: [controlProvider] }); }
|
|
409
409
|
}
|
|
410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
410
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxGroupFieldComponent, decorators: [{
|
|
411
411
|
type: Component,
|
|
412
|
-
args: [{ selector: 'app-checkbox-group-field',
|
|
412
|
+
args: [{ selector: 'app-checkbox-group-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n" }]
|
|
413
413
|
}] });
|
|
414
414
|
|
|
415
415
|
var checkboxGroupField_component = /*#__PURE__*/Object.freeze({
|
|
@@ -423,12 +423,12 @@ class GroupFieldComponent extends BaseControlComponent {
|
|
|
423
423
|
this.controlResolver = inject(ControlResolver);
|
|
424
424
|
this.formControl = new FormGroup({});
|
|
425
425
|
}
|
|
426
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
427
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
426
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: GroupFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
427
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: GroupFieldComponent, isStandalone: true, selector: "app-group-field", usesInheritance: true, ngImport: i0, template: "<div [formGroupName]=\"control.control.name\">\n @for (control of control.control.controls; track control.name) {\n <ng-container\n [ngComponentOutlet]=\"controlResolver.resolve(control, parentFormGroup) | async\"\n [ngComponentOutletInjector]=\"control.name | controlInjector: control\">\n </ng-container>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "pipe", type: ControlInjector, name: "controlInjector" }], viewProviders: [controlProvider] }); }
|
|
428
428
|
}
|
|
429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
429
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: GroupFieldComponent, decorators: [{
|
|
430
430
|
type: Component,
|
|
431
|
-
args: [{ selector: 'app-group-field',
|
|
431
|
+
args: [{ selector: 'app-group-field', imports: [...sharedControlDeps, ControlInjector], viewProviders: [controlProvider], standalone: true, template: "<div [formGroupName]=\"control.control.name\">\n @for (control of control.control.controls; track control.name) {\n <ng-container\n [ngComponentOutlet]=\"controlResolver.resolve(control, parentFormGroup) | async\"\n [ngComponentOutletInjector]=\"control.name | controlInjector: control\">\n </ng-container>\n }\n</div>\n" }]
|
|
432
432
|
}] });
|
|
433
433
|
|
|
434
434
|
var groupField_component = /*#__PURE__*/Object.freeze({
|
|
@@ -437,12 +437,12 @@ var groupField_component = /*#__PURE__*/Object.freeze({
|
|
|
437
437
|
});
|
|
438
438
|
|
|
439
439
|
class InputFieldComponent extends BaseControlComponent {
|
|
440
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
441
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
440
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: InputFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
441
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.0", type: InputFieldComponent, isStandalone: true, selector: "app-input-field", usesInheritance: true, ngImport: i0, template: "<label [for]=\"id\">\n {{ control.control.label }}\n</label>\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { 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.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
|
|
442
442
|
}
|
|
443
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
443
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: InputFieldComponent, decorators: [{
|
|
444
444
|
type: Component,
|
|
445
|
-
args: [{ selector: 'app-input-field',
|
|
445
|
+
args: [{ selector: 'app-input-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label [for]=\"id\">\n {{ control.control.label }}\n</label>\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n" }]
|
|
446
446
|
}] });
|
|
447
447
|
|
|
448
448
|
var inputField_component = /*#__PURE__*/Object.freeze({
|
|
@@ -451,12 +451,12 @@ var inputField_component = /*#__PURE__*/Object.freeze({
|
|
|
451
451
|
});
|
|
452
452
|
|
|
453
453
|
class RadioFieldComponent extends BaseControlComponent {
|
|
454
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
455
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
454
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: RadioFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
455
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: RadioFieldComponent, isStandalone: true, selector: "app-radio-field", usesInheritance: true, ngImport: i0, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { 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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
|
|
456
456
|
}
|
|
457
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: RadioFieldComponent, decorators: [{
|
|
458
458
|
type: Component,
|
|
459
|
-
args: [{ selector: 'app-radio-field',
|
|
459
|
+
args: [{ selector: 'app-radio-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n" }]
|
|
460
460
|
}] });
|
|
461
461
|
|
|
462
462
|
var radioField_component = /*#__PURE__*/Object.freeze({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"superlikers-dynamic-forms.mjs","sources":["../../../projects/dynamic-forms/src/lib/utils/control-data.token.ts","../../../projects/dynamic-forms/src/lib/pipes/control-injector.pipe.ts","../../../projects/dynamic-forms/src/lib/models/forms.model.ts","../../../projects/dynamic-forms/src/lib/services/control-resolver/control-resolver.service.ts","../../../projects/dynamic-forms/src/lib/utils/validation-error-messages.token.ts","../../../projects/dynamic-forms/src/lib/components/errors/errors.component.ts","../../../projects/dynamic-forms/src/lib/directives/validator-message/validator-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/help-text/help-text.component.ts","../../../projects/dynamic-forms/src/lib/directives/helpText/help-text.directive.ts","../../../projects/dynamic-forms/src/lib/directives/validator-array-message/validator-array-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/base-control/base-control.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.html","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.html","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.html","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.ts","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.html","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.ts","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.html","../../../projects/dynamic-forms/src/public-api.ts","../../../projects/dynamic-forms/src/superlikers-dynamic-forms.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\nexport interface ControlData {\n control: Control\n formGroup?: FormGroup\n index?: number\n}\n\nexport const CONTROL_DATA = new InjectionToken<ControlData>('Control Data')\n","import { Injector, Pipe, PipeTransform, inject } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { CONTROL_DATA } from '../utils/control-data.token'\nimport { FormGroup } from '@angular/forms'\n\n@Pipe({\n name: 'controlInjector',\n standalone: true\n})\nexport class ControlInjector implements PipeTransform {\n injector = inject(Injector)\n\n transform(name: string, control: Control, formGroup?: FormGroup, index?: number): Injector {\n return Injector.create({\n parent: this.injector,\n providers: [\n {\n provide: CONTROL_DATA,\n useValue: { key: name, control, formGroup, index }\n }\n ]\n })\n }\n}\n","import { Type } from '@angular/core'\nimport { FormGroup, Validators } from '@angular/forms'\nimport { Observable } from 'rxjs'\n\nexport type ControlType = 'input' | 'group' | 'checkbox' | 'checkbox-group' | 'radio' | 'select'\n\nexport enum ControlTypeValues {\n INPUT = 'input',\n GROUP = 'group',\n CHECKBOX = 'checkbox',\n CHECKBOX_GROUP = 'checkbox-group',\n RADIO = 'radio',\n SELECT = 'select'\n}\n\nexport interface Option {\n label: string\n value: unknown\n selected?: boolean\n disabled?: boolean\n}\n\ntype CustomValidators = object\ntype ValidatorsKeys = keyof Omit<typeof Validators & CustomValidators, 'prototype' | 'compose' | 'composeAsync'>\n\nexport interface Control {\n id: number\n label: string\n name: string\n controlType: ControlType\n helpText?: string\n type?: string\n value?: unknown\n placeholder?: string\n disabled?: (form: FormGroup) => boolean\n asyncOptions?: (form: FormGroup) => Observable<Option[]>\n options?: Option[]\n controls?: Control[]\n visible?: (form: FormGroup) => boolean\n validators?: {\n [key in ValidatorsKeys]?: unknown\n }\n}\n\nexport type ControlMap = {\n [T in Control['controlType']]: () => Promise<Type<unknown>>\n}\n","import { Injectable, Type } from '@angular/core'\nimport { distinctUntilChanged, from, map, of, tap } from 'rxjs'\n\nimport { Control, ControlMap } from '../../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ControlResolver {\n private lazyControlComponents: ControlMap = {\n input: () => import('../../components/input-field/input-field.component').then(c => c.InputFieldComponent),\n group: () => import('../../components/group-field/group-field.component').then(c => c.GroupFieldComponent),\n radio: () => import('../../components/radio-field/radio-field.component').then(c => c.RadioFieldComponent),\n checkbox: () => import('../../components/checkbox-field/checkbox-field.component').then(c => c.CheckboxFieldComponent),\n 'checkbox-group': () => import('../../components/checkbox-group-field/checkbox-group-field.component').then(c => c.CheckboxGroupFieldComponent),\n select: () => import('../../components/select-field/select-field.component').then(c => c.SelectFieldComponent)\n }\n\n private loadedControlComponents = new Map<string, Type<unknown>>()\n\n resolve(control: Control, form: FormGroup) {\n const controlType = control.controlType\n\n const isVisible = this.checkVisible(control, form)\n\n if (!isVisible) return\n\n const loadedComponent = this.loadedControlComponents.get(controlType)\n\n if (loadedComponent) return of(loadedComponent)\n\n return from(this.lazyControlComponents[controlType]()).pipe(\n tap(component => {\n this.loadedControlComponents.set(controlType, component)\n })\n )\n }\n\n checkVisible(control: Control, form: FormGroup) {\n if (!control.visible) return true\n return control.visible(form)\n }\n\n toggleControlDisability(controls: Control[], form: FormGroup) {\n return form.valueChanges.pipe(\n distinctUntilChanged((prev, current) => {\n return JSON.stringify(prev) === JSON.stringify(current)\n }),\n map(() => {\n controls.forEach(control => {\n if (control.disabled) {\n const disabled = control.disabled(form)\n if (disabled) {\n form.get(control.name)?.disable()\n } else {\n form.get(control.name)?.enable()\n }\n }\n })\n })\n )\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InjectionToken } from '@angular/core'\n\nexport const ERROR_MESSAGES: { [key: string]: (args?: any) => string } = {\n required: () => `This field is required`,\n requiredTrue: () => `This field is required`,\n pattern: () => `Does not match the pattern`,\n email: () => `Must be a valid email`,\n minlength: ({ requiredLength }) => `Length must be at least ${requiredLength} characters`,\n customError: error => error\n}\n\nexport const ERROR_MESSAGES_ES: { [key: string]: (args?: any) => string } = {\n required: () => `Este campo es obligatorio`,\n requiredTrue: () => `Este campo es obligatorio`,\n pattern: () => `No coincide con el patrón`,\n email: () => `Debe ser un correo electrónico válido`,\n minlength: ({ requiredLength }) => `La longitud debe ser al menos de ${requiredLength} caracteres`,\n customError: error => error\n}\n\nexport const VALIDATION_ERROR_MESSAGES = new InjectionToken(`Validation Messages`, {\n providedIn: 'root',\n factory: () => ERROR_MESSAGES\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { KeyValue, KeyValuePipe } from '@angular/common'\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, inject } from '@angular/core'\nimport { ValidationErrors } from '@angular/forms'\n\nimport { VALIDATION_ERROR_MESSAGES } from '../../utils/validation-error-messages.token'\n\n@Component({\n selector: 'app-errors',\n standalone: true,\n imports: [KeyValuePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @for (error of errors | keyvalue; track error.key) {\n <div class=\"error-text\">{{ getError(error) }}</div>\n }\n `\n})\nexport class ErrorsComponent {\n @Input() errors: ValidationErrors | null | undefined = null\n\n @HostBinding('class') hostClass = ''\n\n protected errorsMap = inject(VALIDATION_ERROR_MESSAGES)\n\n getError(error: KeyValue<string, any>) {\n if (!this.errorsMap[error.key]) {\n console.warn(`missing message for ${error.key}`)\n return\n }\n\n return this.errorsMap[error.key](error.value)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { NgControl, NgForm, FormGroupDirective, ControlContainer } from '@angular/forms'\nimport { Subscription, merge, fromEvent, iif, EMPTY, startWith } from 'rxjs'\n\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorMessage]',\n standalone: true\n})\nexport class ValidatorMessageDirective implements OnInit, OnDestroy {\n ngControl = inject(NgControl, { self: true })\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n private parentContainer = inject(ControlContainer, { optional: true })\n private vcr = inject(ViewContainerRef)\n\n controlSubscription!: Subscription\n\n ngOnInit() {\n if (!this.ngControl.control) return\n\n this.controlSubscription = merge(\n this.ngControl.control.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(this.ngControl.control.status))\n .subscribe(() => {\n if (this.ngControl.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', this.ngControl.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription.unsubscribe()\n }\n}\n","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'app-help-text',\n standalone: true,\n imports: [],\n template: '<p class=\"help-text\">{{ message }}</p>'\n})\nexport class HelpTextComponent {\n @Input() message = ''\n}\n","import { ComponentRef, Directive, ElementRef, Input, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { HelpTextComponent } from '../../components/help-text/help-text.component'\n\n@Directive({\n selector: '[appHelpText]',\n standalone: true\n})\nexport class HelpTextDirective implements OnInit {\n @Input() message = ''\n\n elementRef = inject(ElementRef)\n private vcr = inject(ViewContainerRef)\n private componentRef: ComponentRef<HelpTextComponent> | null = null\n\n ngOnInit() {\n if (!this.message) return\n\n this.componentRef = this.vcr.createComponent(HelpTextComponent)\n this.componentRef.setInput('message', this.message)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { ControlContainer, FormGroupDirective, NgForm } from '@angular/forms'\nimport { EMPTY, Subscription, fromEvent, iif, merge, startWith } from 'rxjs'\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorArrayMessage]',\n standalone: true\n})\nexport class ValidatorArrayMessageDirective implements OnInit, OnDestroy {\n private controlSubscription!: Subscription\n\n private parentContainer = inject(ControlContainer)\n private vcr = inject(ViewContainerRef)\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n ngOnInit() {\n const formArray = this.parentContainer.control\n\n if (!formArray) return\n\n this.controlSubscription = merge(\n formArray.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(formArray.status))\n .subscribe(() => {\n if (formArray.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', formArray.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription?.unsubscribe()\n }\n}\n","import { Directive, HostBinding, OnDestroy, OnInit, StaticProvider, inject } from '@angular/core'\nimport { AbstractControl, ControlContainer, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'\nimport { AsyncPipe, CommonModule } from '@angular/common'\nimport { of } from 'rxjs'\n\nimport { CONTROL_DATA } from '../../utils/control-data.token'\nimport { Control } from '../../models/forms.model'\n\nimport { ValidatorMessageDirective } from '../../directives/validator-message/validator-message.directive'\nimport { HelpTextDirective } from '../../directives/helpText/help-text.directive'\nimport { ValidatorArrayMessageDirective } from '../../directives/validator-array-message/validator-array-message.directive'\n\nexport const sharedControlDeps = [CommonModule, ReactiveFormsModule, ValidatorMessageDirective, HelpTextDirective, ValidatorArrayMessageDirective, AsyncPipe]\n\nexport const controlProvider: StaticProvider = {\n provide: ControlContainer,\n useFactory: () => inject(ControlContainer, { skipSelf: true })\n}\n\n@Directive()\nexport class BaseControlComponent implements OnInit, OnDestroy {\n @HostBinding('class') hostClass = ''\n\n control = inject(CONTROL_DATA)\n\n formControl: AbstractControl = new FormControl(this.control.control.value, this.resolveValidators(this.control.control))\n id = this.control.control.name + this.control.control.id + (this.control.index ?? '')\n\n private parentGroupDir = inject(ControlContainer)\n\n get parentFormGroup() {\n return this.parentGroupDir.control as FormGroup\n }\n\n ngOnInit() {\n this.initialize()\n }\n\n ngOnDestroy() {\n this.destroy()\n }\n\n initialize() {\n if (this.control.formGroup) {\n this.control.formGroup.addControl(this.control.control.name, this.formControl)\n } else {\n this.parentFormGroup.addControl(this.control.control.name, this.formControl)\n }\n\n this.hostClass = `field wrapper-${this.control.control.name}`\n }\n\n destroy() {\n if (this.control.formGroup) return\n else this.parentFormGroup.removeControl(this.control.control.name)\n }\n\n resolveValidators({ validators = {} }: Control) {\n const validatorsKeys = Object.keys(validators) as Array<keyof typeof validators>\n\n return validatorsKeys.map(key => {\n const value = validators[key]\n\n if (key === 'required') {\n return Validators.required\n }\n\n if (key === 'email') {\n return Validators.email\n }\n\n if (key === 'requiredTrue') {\n return Validators.requiredTrue\n }\n\n if (key === 'minLength' && typeof value === 'number') {\n return Validators.minLength(value)\n }\n\n if (key === 'pattern' && typeof value === 'string') {\n return Validators.pattern(value)\n }\n\n return Validators.nullValidator\n })\n }\n\n getOptions() {\n if (this.control.control.options) {\n return of(this.control.control.options)\n }\n\n if (!this.control.control.asyncOptions) return of([])\n\n return this.control.control.asyncOptions(this.parentFormGroup)\n }\n}\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-checkbox-field',\n standalone: true,\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-field.component.html'\n})\nexport class CheckboxFieldComponent extends BaseControlComponent {}\n","<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormArray, FormControl } from '@angular/forms'\n\n@Component({\n selector: 'app-checkbox-group-field',\n standalone: true,\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-group-field.component.html'\n})\nexport class CheckboxGroupFieldComponent extends BaseControlComponent {\n override formControl = new FormArray<FormControl>([], this.resolveValidators(this.control.control))\n\n change(event: Event) {\n const element = event.target as HTMLInputElement\n const value = element.value as never\n\n const index = this.formControl.value.indexOf(value)\n if (index === -1) {\n const fc = new FormControl(value)\n this.formControl.push(fc)\n } else {\n this.formControl.removeAt(index)\n }\n }\n}\n","<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n","import { Component, OnInit, inject } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormGroup } from '@angular/forms'\nimport { ControlResolver } from '../../services/control-resolver/control-resolver.service'\nimport { ControlInjector } from '../../pipes/control-injector.pipe'\n\n@Component({\n selector: 'app-group-field',\n standalone: true,\n imports: [...sharedControlDeps, ControlInjector],\n viewProviders: [controlProvider],\n templateUrl: './group-field.component.html'\n})\nexport class GroupFieldComponent extends BaseControlComponent implements OnInit {\n controlResolver = inject(ControlResolver)\n\n override formControl = new FormGroup({})\n}\n","<div [formGroupName]=\"control.control.name\">\n @for (control of control.control.controls; track control.name) {\n <ng-container\n [ngComponentOutlet]=\"controlResolver.resolve(control, parentFormGroup) | async\"\n [ngComponentOutletInjector]=\"control.name | controlInjector: control\">\n </ng-container>\n }\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-input-field',\n standalone: true,\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './input-field.component.html'\n})\nexport class InputFieldComponent extends BaseControlComponent {}\n","<label [for]=\"id\">\n {{ control.control.label }}\n</label>\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n standalone: true,\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './radio-field.component.html'\n})\nexport class RadioFieldComponent extends BaseControlComponent {}\n","<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n","/*\n * Public API Surface of ngx-dynamic-forms\n */\n\nexport * from './lib/pipes/control-injector.pipe'\nexport * from './lib/models/forms.model'\nexport * from './lib/services/control-resolver/control-resolver.service'\n\nexport * from './lib/components/base-control/base-control.component'\nexport * from './lib/components/checkbox-field/checkbox-field.component'\nexport * from './lib/components/checkbox-group-field/checkbox-group-field.component'\nexport * from './lib/components/errors/errors.component'\nexport * from './lib/components/group-field/group-field.component'\nexport * from './lib/components/help-text/help-text.component'\nexport * from './lib/components/input-field/input-field.component'\nexport * from './lib/components/radio-field/radio-field.component'\n\nexport * from './lib/directives/helpText/help-text.directive'\nexport * from './lib/directives/validator-array-message/validator-array-message.directive'\nexport * from './lib/directives/validator-message/validator-message.directive'\n\nexport * from './lib/utils/control-data.token'\nexport * from './lib/utils/validation-error-messages.token'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective","i3.HelpTextDirective","i4.ValidatorArrayMessageDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"superlikers-dynamic-forms.mjs","sources":["../../../projects/dynamic-forms/src/lib/utils/control-data.token.ts","../../../projects/dynamic-forms/src/lib/pipes/control-injector.pipe.ts","../../../projects/dynamic-forms/src/lib/models/forms.model.ts","../../../projects/dynamic-forms/src/lib/services/control-resolver/control-resolver.service.ts","../../../projects/dynamic-forms/src/lib/utils/validation-error-messages.token.ts","../../../projects/dynamic-forms/src/lib/components/errors/errors.component.ts","../../../projects/dynamic-forms/src/lib/directives/validator-message/validator-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/help-text/help-text.component.ts","../../../projects/dynamic-forms/src/lib/directives/helpText/help-text.directive.ts","../../../projects/dynamic-forms/src/lib/directives/validator-array-message/validator-array-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/base-control/base-control.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.html","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.html","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.html","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.ts","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.html","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.ts","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.html","../../../projects/dynamic-forms/src/public-api.ts","../../../projects/dynamic-forms/src/superlikers-dynamic-forms.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\nexport interface ControlData {\n control: Control\n formGroup?: FormGroup\n index?: number\n}\n\nexport const CONTROL_DATA = new InjectionToken<ControlData>('Control Data')\n","import { Injector, Pipe, PipeTransform, inject } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { CONTROL_DATA } from '../utils/control-data.token'\nimport { FormGroup } from '@angular/forms'\n\n@Pipe({\n name: 'controlInjector',\n standalone: true\n})\nexport class ControlInjector implements PipeTransform {\n injector = inject(Injector)\n\n transform(name: string, control: Control, formGroup?: FormGroup, index?: number): Injector {\n return Injector.create({\n parent: this.injector,\n providers: [\n {\n provide: CONTROL_DATA,\n useValue: { key: name, control, formGroup, index }\n }\n ]\n })\n }\n}\n","import { Type } from '@angular/core'\nimport { FormGroup, Validators } from '@angular/forms'\nimport { Observable } from 'rxjs'\n\nexport type ControlType = 'input' | 'group' | 'checkbox' | 'checkbox-group' | 'radio' | 'select'\n\nexport enum ControlTypeValues {\n INPUT = 'input',\n GROUP = 'group',\n CHECKBOX = 'checkbox',\n CHECKBOX_GROUP = 'checkbox-group',\n RADIO = 'radio',\n SELECT = 'select'\n}\n\nexport interface Option {\n label: string\n value: unknown\n selected?: boolean\n disabled?: boolean\n}\n\ntype CustomValidators = object\ntype ValidatorsKeys = keyof Omit<typeof Validators & CustomValidators, 'prototype' | 'compose' | 'composeAsync'>\n\nexport interface Control {\n id: number\n label: string\n name: string\n controlType: ControlType\n helpText?: string\n type?: string\n value?: unknown\n placeholder?: string\n disabled?: (form: FormGroup) => boolean\n asyncOptions?: (form: FormGroup) => Observable<Option[]>\n options?: Option[]\n controls?: Control[]\n visible?: (form: FormGroup) => boolean\n validators?: {\n [key in ValidatorsKeys]?: unknown\n }\n}\n\nexport type ControlMap = {\n [T in Control['controlType']]: () => Promise<Type<unknown>>\n}\n","import { Injectable, Type } from '@angular/core'\nimport { distinctUntilChanged, from, map, of, tap } from 'rxjs'\n\nimport { Control, ControlMap } from '../../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ControlResolver {\n private lazyControlComponents: ControlMap = {\n input: () => import('../../components/input-field/input-field.component').then(c => c.InputFieldComponent),\n group: () => import('../../components/group-field/group-field.component').then(c => c.GroupFieldComponent),\n radio: () => import('../../components/radio-field/radio-field.component').then(c => c.RadioFieldComponent),\n checkbox: () => import('../../components/checkbox-field/checkbox-field.component').then(c => c.CheckboxFieldComponent),\n 'checkbox-group': () => import('../../components/checkbox-group-field/checkbox-group-field.component').then(c => c.CheckboxGroupFieldComponent),\n select: () => import('../../components/select-field/select-field.component').then(c => c.SelectFieldComponent)\n }\n\n private loadedControlComponents = new Map<string, Type<unknown>>()\n\n resolve(control: Control, form: FormGroup) {\n const controlType = control.controlType\n\n const isVisible = this.checkVisible(control, form)\n\n if (!isVisible) return\n\n const loadedComponent = this.loadedControlComponents.get(controlType)\n\n if (loadedComponent) return of(loadedComponent)\n\n return from(this.lazyControlComponents[controlType]()).pipe(\n tap(component => {\n this.loadedControlComponents.set(controlType, component)\n })\n )\n }\n\n checkVisible(control: Control, form: FormGroup) {\n if (!control.visible) return true\n return control.visible(form)\n }\n\n toggleControlDisability(controls: Control[], form: FormGroup) {\n return form.valueChanges.pipe(\n distinctUntilChanged((prev, current) => {\n return JSON.stringify(prev) === JSON.stringify(current)\n }),\n map(() => {\n controls.forEach(control => {\n if (control.disabled) {\n const disabled = control.disabled(form)\n if (disabled) {\n form.get(control.name)?.disable()\n } else {\n form.get(control.name)?.enable()\n }\n }\n })\n })\n )\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InjectionToken } from '@angular/core'\n\nexport const ERROR_MESSAGES: { [key: string]: (args?: any) => string } = {\n required: () => `This field is required`,\n requiredTrue: () => `This field is required`,\n pattern: () => `Does not match the pattern`,\n email: () => `Must be a valid email`,\n minlength: ({ requiredLength }) => `Length must be at least ${requiredLength} characters`,\n customError: error => error\n}\n\nexport const ERROR_MESSAGES_ES: { [key: string]: (args?: any) => string } = {\n required: () => `Este campo es obligatorio`,\n requiredTrue: () => `Este campo es obligatorio`,\n pattern: () => `No coincide con el patrón`,\n email: () => `Debe ser un correo electrónico válido`,\n minlength: ({ requiredLength }) => `La longitud debe ser al menos de ${requiredLength} caracteres`,\n customError: error => error\n}\n\nexport const VALIDATION_ERROR_MESSAGES = new InjectionToken(`Validation Messages`, {\n providedIn: 'root',\n factory: () => ERROR_MESSAGES\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { KeyValue, KeyValuePipe } from '@angular/common'\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, inject } from '@angular/core'\nimport { ValidationErrors } from '@angular/forms'\n\nimport { VALIDATION_ERROR_MESSAGES } from '../../utils/validation-error-messages.token'\n\n@Component({\n selector: 'app-errors',\n imports: [KeyValuePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @for (error of errors | keyvalue; track error.key) {\n <div class=\"error-text\">{{ getError(error) }}</div>\n }\n `,\n standalone: true\n})\nexport class ErrorsComponent {\n @Input() errors: ValidationErrors | null | undefined = null\n\n @HostBinding('class') hostClass = ''\n\n protected errorsMap = inject(VALIDATION_ERROR_MESSAGES)\n\n getError(error: KeyValue<string, any>) {\n if (!this.errorsMap[error.key]) {\n console.warn(`missing message for ${error.key}`)\n return\n }\n\n return this.errorsMap[error.key](error.value)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { NgControl, NgForm, FormGroupDirective, ControlContainer } from '@angular/forms'\nimport { Subscription, merge, fromEvent, iif, EMPTY, startWith } from 'rxjs'\n\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorMessage]',\n standalone: true\n})\nexport class ValidatorMessageDirective implements OnInit, OnDestroy {\n ngControl = inject(NgControl, { self: true })\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n private parentContainer = inject(ControlContainer, { optional: true })\n private vcr = inject(ViewContainerRef)\n\n controlSubscription!: Subscription\n\n ngOnInit() {\n if (!this.ngControl.control) return\n\n this.controlSubscription = merge(\n this.ngControl.control.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(this.ngControl.control.status))\n .subscribe(() => {\n if (this.ngControl.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', this.ngControl.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription.unsubscribe()\n }\n}\n","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'app-help-text',\n imports: [],\n template: '<p class=\"help-text\">{{ message }}</p>',\n standalone: true\n})\nexport class HelpTextComponent {\n @Input() message = ''\n}\n","import { ComponentRef, Directive, ElementRef, Input, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { HelpTextComponent } from '../../components/help-text/help-text.component'\n\n@Directive({\n selector: '[appHelpText]',\n standalone: true\n})\nexport class HelpTextDirective implements OnInit {\n @Input() message = ''\n\n elementRef = inject(ElementRef)\n private vcr = inject(ViewContainerRef)\n private componentRef: ComponentRef<HelpTextComponent> | null = null\n\n ngOnInit() {\n if (!this.message) return\n\n this.componentRef = this.vcr.createComponent(HelpTextComponent)\n this.componentRef.setInput('message', this.message)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { ControlContainer, FormGroupDirective, NgForm } from '@angular/forms'\nimport { EMPTY, Subscription, fromEvent, iif, merge, startWith } from 'rxjs'\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorArrayMessage]',\n standalone: true\n})\nexport class ValidatorArrayMessageDirective implements OnInit, OnDestroy {\n private controlSubscription!: Subscription\n\n private parentContainer = inject(ControlContainer)\n private vcr = inject(ViewContainerRef)\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n ngOnInit() {\n const formArray = this.parentContainer.control\n\n if (!formArray) return\n\n this.controlSubscription = merge(\n formArray.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(formArray.status))\n .subscribe(() => {\n if (formArray.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', formArray.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription?.unsubscribe()\n }\n}\n","import { Directive, HostBinding, OnDestroy, OnInit, StaticProvider, inject } from '@angular/core'\nimport { AbstractControl, ControlContainer, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'\nimport { AsyncPipe, CommonModule } from '@angular/common'\nimport { of } from 'rxjs'\n\nimport { CONTROL_DATA } from '../../utils/control-data.token'\nimport { Control } from '../../models/forms.model'\n\nimport { ValidatorMessageDirective } from '../../directives/validator-message/validator-message.directive'\nimport { HelpTextDirective } from '../../directives/helpText/help-text.directive'\nimport { ValidatorArrayMessageDirective } from '../../directives/validator-array-message/validator-array-message.directive'\n\nexport const sharedControlDeps = [CommonModule, ReactiveFormsModule, ValidatorMessageDirective, HelpTextDirective, ValidatorArrayMessageDirective, AsyncPipe]\n\nexport const controlProvider: StaticProvider = {\n provide: ControlContainer,\n useFactory: () => inject(ControlContainer, { skipSelf: true })\n}\n\n@Directive()\nexport class BaseControlComponent implements OnInit, OnDestroy {\n @HostBinding('class') hostClass = ''\n\n control = inject(CONTROL_DATA)\n\n formControl: AbstractControl = new FormControl(this.control.control.value, this.resolveValidators(this.control.control))\n id = this.control.control.name + this.control.control.id + (this.control.index ?? '')\n\n private parentGroupDir = inject(ControlContainer)\n\n get parentFormGroup() {\n return this.parentGroupDir.control as FormGroup\n }\n\n ngOnInit() {\n this.initialize()\n }\n\n ngOnDestroy() {\n this.destroy()\n }\n\n initialize() {\n if (this.control.formGroup) {\n this.control.formGroup.addControl(this.control.control.name, this.formControl)\n } else {\n this.parentFormGroup.addControl(this.control.control.name, this.formControl)\n }\n\n this.hostClass = `field wrapper-${this.control.control.name}`\n }\n\n destroy() {\n if (this.control.formGroup) return\n else this.parentFormGroup.removeControl(this.control.control.name)\n }\n\n resolveValidators({ validators = {} }: Control) {\n const validatorsKeys = Object.keys(validators) as Array<keyof typeof validators>\n\n return validatorsKeys.map(key => {\n const value = validators[key]\n\n if (key === 'required') {\n return Validators.required\n }\n\n if (key === 'email') {\n return Validators.email\n }\n\n if (key === 'requiredTrue') {\n return Validators.requiredTrue\n }\n\n if (key === 'minLength' && typeof value === 'number') {\n return Validators.minLength(value)\n }\n\n if (key === 'pattern' && typeof value === 'string') {\n return Validators.pattern(value)\n }\n\n return Validators.nullValidator\n })\n }\n\n getOptions() {\n if (this.control.control.options) {\n return of(this.control.control.options)\n }\n\n if (!this.control.control.asyncOptions) return of([])\n\n return this.control.control.asyncOptions(this.parentFormGroup)\n }\n}\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-checkbox-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-field.component.html',\n standalone: true\n})\nexport class CheckboxFieldComponent extends BaseControlComponent {}\n","<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormArray, FormControl } from '@angular/forms'\n\n@Component({\n selector: 'app-checkbox-group-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-group-field.component.html',\n standalone: true\n})\nexport class CheckboxGroupFieldComponent extends BaseControlComponent {\n override formControl = new FormArray<FormControl>([], this.resolveValidators(this.control.control))\n\n change(event: Event) {\n const element = event.target as HTMLInputElement\n const value = element.value as never\n\n const index = this.formControl.value.indexOf(value)\n if (index === -1) {\n const fc = new FormControl(value)\n this.formControl.push(fc)\n } else {\n this.formControl.removeAt(index)\n }\n }\n}\n","<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n","import { Component, OnInit, inject } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormGroup } from '@angular/forms'\nimport { ControlResolver } from '../../services/control-resolver/control-resolver.service'\nimport { ControlInjector } from '../../pipes/control-injector.pipe'\n\n@Component({\n selector: 'app-group-field',\n imports: [...sharedControlDeps, ControlInjector],\n viewProviders: [controlProvider],\n templateUrl: './group-field.component.html',\n standalone: true\n})\nexport class GroupFieldComponent extends BaseControlComponent implements OnInit {\n controlResolver = inject(ControlResolver)\n\n override formControl = new FormGroup({})\n}\n","<div [formGroupName]=\"control.control.name\">\n @for (control of control.control.controls; track control.name) {\n <ng-container\n [ngComponentOutlet]=\"controlResolver.resolve(control, parentFormGroup) | async\"\n [ngComponentOutletInjector]=\"control.name | controlInjector: control\">\n </ng-container>\n }\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-input-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './input-field.component.html',\n standalone: true\n})\nexport class InputFieldComponent extends BaseControlComponent {}\n","<label [for]=\"id\">\n {{ control.control.label }}\n</label>\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './radio-field.component.html',\n standalone: true\n})\nexport class RadioFieldComponent extends BaseControlComponent {}\n","<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n","/*\n * Public API Surface of ngx-dynamic-forms\n */\n\nexport * from './lib/pipes/control-injector.pipe'\nexport * from './lib/models/forms.model'\nexport * from './lib/services/control-resolver/control-resolver.service'\n\nexport * from './lib/components/base-control/base-control.component'\nexport * from './lib/components/checkbox-field/checkbox-field.component'\nexport * from './lib/components/checkbox-group-field/checkbox-group-field.component'\nexport * from './lib/components/errors/errors.component'\nexport * from './lib/components/group-field/group-field.component'\nexport * from './lib/components/help-text/help-text.component'\nexport * from './lib/components/input-field/input-field.component'\nexport * from './lib/components/radio-field/radio-field.component'\n\nexport * from './lib/directives/helpText/help-text.directive'\nexport * from './lib/directives/validator-array-message/validator-array-message.directive'\nexport * from './lib/directives/validator-message/validator-message.directive'\n\nexport * from './lib/utils/control-data.token'\nexport * from './lib/utils/validation-error-messages.token'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective","i3.HelpTextDirective","i4.ValidatorArrayMessageDirective"],"mappings":"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"}
|
|
@@ -10,17 +10,17 @@ export declare const sharedControlDeps: (typeof AsyncPipe | typeof ValidatorMess
|
|
|
10
10
|
export declare const controlProvider: StaticProvider;
|
|
11
11
|
export declare class BaseControlComponent implements OnInit, OnDestroy {
|
|
12
12
|
hostClass: string;
|
|
13
|
-
control: import("
|
|
13
|
+
control: import("superlikers-dynamic-forms").ControlData;
|
|
14
14
|
formControl: AbstractControl;
|
|
15
15
|
id: string;
|
|
16
16
|
private parentGroupDir;
|
|
17
|
-
get parentFormGroup(): FormGroup
|
|
17
|
+
get parentFormGroup(): FormGroup;
|
|
18
18
|
ngOnInit(): void;
|
|
19
19
|
ngOnDestroy(): void;
|
|
20
20
|
initialize(): void;
|
|
21
21
|
destroy(): void;
|
|
22
22
|
resolveValidators({ validators }: Control): import("@angular/forms").ValidatorFn[];
|
|
23
|
-
getOptions(): import("rxjs").Observable<import("
|
|
23
|
+
getOptions(): import("rxjs").Observable<import("superlikers-dynamic-forms").Option[]>;
|
|
24
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseControlComponent, never>;
|
|
25
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseControlComponent, never, never, {}, {}, never, never,
|
|
25
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseControlComponent, never, never, {}, {}, never, never, true, never>;
|
|
26
26
|
}
|