@stemy/ngx-dynamic-form 19.9.7 → 19.9.9
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/stemy-ngx-dynamic-form.mjs +69 -31
- package/fesm2022/stemy-ngx-dynamic-form.mjs.map +1 -1
- package/ngx-dynamic-form/common-types.d.ts +3 -1
- package/ngx-dynamic-form/components/dynamic-form-password/dynamic-form-password.component.d.ts +11 -0
- package/ngx-dynamic-form/ngx-dynamic-form.module.d.ts +18 -17
- package/ngx-dynamic-form/services/dynamic-form-builder.service.d.ts +2 -1
- package/ngx-dynamic-form/utils/validation.d.ts +4 -4
- package/package.json +1 -1
- package/public_api.d.ts +2 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, Inject, Injectable, untracked, input, Renderer2, ElementRef, computed, signal, effect, HostBinding, Directive, Input, Pipe, Type, Component, output, Injector, ChangeDetectionStrategy, ViewEncapsulation, viewChild, makeEnvironmentProviders, NgModule } from '@angular/core';
|
|
1
3
|
import * as i2 from '@stemy/ngx-utils';
|
|
2
4
|
import { cachedFactory, ReflectUtils, ObjectUtils, LANGUAGE_SERVICE, ForbiddenZone, ArrayUtils, API_SERVICE, StringUtils, AsyncMethodBase, EventsService, NgxUtilsModule } from '@stemy/ngx-utils';
|
|
3
5
|
import { of, merge, Observable, firstValueFrom, BehaviorSubject, combineLatestWith, switchMap, distinctUntilChanged, first, Subject, filter } from 'rxjs';
|
|
4
6
|
import { debounceTime } from 'rxjs/operators';
|
|
5
7
|
import { __decorate } from 'tslib';
|
|
6
|
-
import * as i0 from '@angular/core';
|
|
7
|
-
import { inject, Inject, Injectable, untracked, input, Renderer2, ElementRef, computed, signal, effect, HostBinding, Directive, Input, Pipe, Type, Component, output, Injector, ChangeDetectionStrategy, ViewEncapsulation, makeEnvironmentProviders, NgModule } from '@angular/core';
|
|
8
8
|
import * as i1 from '@angular/forms';
|
|
9
9
|
import { FormGroup as FormGroup$1, FormArray as FormArray$1, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
10
10
|
import { outputToObservable, toSignal, rxResource, outputFromObservable } from '@angular/core/rxjs-interop';
|
|
@@ -17,6 +17,8 @@ import { FormlySelectModule } from '@ngx-formly/core/select';
|
|
|
17
17
|
|
|
18
18
|
// --- Basic frm constants ---
|
|
19
19
|
const FORM_ROOT_ID = "__root";
|
|
20
|
+
// --- Module Configuration ---
|
|
21
|
+
const DEFAULT_NUMERIC_STEP = new InjectionToken("DEFAULT_NUMERIC_STEP");
|
|
20
22
|
|
|
21
23
|
function customizeFormField(...providers) {
|
|
22
24
|
const factory = cachedFactory(providers);
|
|
@@ -319,10 +321,10 @@ function withName(fn, name) {
|
|
|
319
321
|
mainFn.validatorName = name;
|
|
320
322
|
return mainFn;
|
|
321
323
|
}
|
|
322
|
-
function validateEach(
|
|
324
|
+
function validateEach(cb, name) {
|
|
323
325
|
return withName((control, field) => {
|
|
324
326
|
const value = control.value;
|
|
325
|
-
return
|
|
327
|
+
return field.type === "array" ? Array.isArray(value) && value.every(v => cb(v, field)) : cb(value, field);
|
|
326
328
|
}, name);
|
|
327
329
|
}
|
|
328
330
|
function addFieldValidators(field, validators) {
|
|
@@ -414,14 +416,14 @@ function arrayLengthValidation(min = 1, max = Number.MAX_SAFE_INTEGER) {
|
|
|
414
416
|
return !Array.isArray(value) || (min <= value.length && value.length <= max);
|
|
415
417
|
}, "arrayLength");
|
|
416
418
|
}
|
|
417
|
-
function minLengthValidation(minLength
|
|
418
|
-
return validateEach(
|
|
419
|
+
function minLengthValidation(minLength) {
|
|
420
|
+
return validateEach(v => typeof v == "string" && v.length >= minLength, "minLength");
|
|
419
421
|
}
|
|
420
|
-
function maxLengthValidation(maxLength
|
|
421
|
-
return validateEach(
|
|
422
|
+
function maxLengthValidation(maxLength) {
|
|
423
|
+
return validateEach(v => typeof v == "string" && v.length <= maxLength, "maxLength");
|
|
422
424
|
}
|
|
423
|
-
function minValueValidation(
|
|
424
|
-
return validateEach(
|
|
425
|
+
function minValueValidation() {
|
|
426
|
+
return validateEach((v, f) => {
|
|
425
427
|
const type = f.props.type || "number";
|
|
426
428
|
const min = type.includes("date")
|
|
427
429
|
? convertToDate(f.props.min, type) : Number(f.props.min ?? 0);
|
|
@@ -432,8 +434,8 @@ function minValueValidation(each) {
|
|
|
432
434
|
return v == null || v >= min;
|
|
433
435
|
}, "minValue");
|
|
434
436
|
}
|
|
435
|
-
function maxValueValidation(
|
|
436
|
-
return validateEach(
|
|
437
|
+
function maxValueValidation() {
|
|
438
|
+
return validateEach((v, f) => {
|
|
437
439
|
const type = f.props.type || "number";
|
|
438
440
|
const max = type.includes("date")
|
|
439
441
|
? convertToDate(f.props.max, type) : Number(f.props.max ?? 0);
|
|
@@ -448,7 +450,7 @@ function setFieldMinDate(field, min) {
|
|
|
448
450
|
setFieldDefault(field, min);
|
|
449
451
|
setFieldProp(field, "min", min);
|
|
450
452
|
setFieldValue(field, min);
|
|
451
|
-
addFieldValidators(field, [minValueValidation(
|
|
453
|
+
addFieldValidators(field, [minValueValidation()]);
|
|
452
454
|
}
|
|
453
455
|
|
|
454
456
|
class ModelUtils {
|
|
@@ -619,17 +621,20 @@ function getFormValidationErrors(controls, parentPath = "") {
|
|
|
619
621
|
return errors;
|
|
620
622
|
}
|
|
621
623
|
|
|
624
|
+
const customInputTypes = ["checkbox", "textarea", "wysiwyg", "password"];
|
|
622
625
|
class DynamicFormBuilderService {
|
|
623
626
|
injector;
|
|
624
627
|
events;
|
|
625
628
|
api;
|
|
626
629
|
languages;
|
|
630
|
+
defaultNumericStep;
|
|
627
631
|
language;
|
|
628
|
-
constructor(injector, events, api, languages) {
|
|
632
|
+
constructor(injector, events, api, languages, defaultNumericStep) {
|
|
629
633
|
this.injector = injector;
|
|
630
634
|
this.events = events;
|
|
631
635
|
this.api = api;
|
|
632
636
|
this.languages = languages;
|
|
637
|
+
this.defaultNumericStep = defaultNumericStep;
|
|
633
638
|
const lang = new BehaviorSubject(this.languages.currentLanguage);
|
|
634
639
|
this.events.languageChanged.subscribe(value => lang.next(value));
|
|
635
640
|
this.language = lang;
|
|
@@ -727,7 +732,7 @@ class DynamicFormBuilderService {
|
|
|
727
732
|
type,
|
|
728
733
|
autocomplete,
|
|
729
734
|
pattern: ObjectUtils.isString(data.pattern) ? data.pattern : "",
|
|
730
|
-
step: data.step,
|
|
735
|
+
step: convertToNumber(data.step, this.defaultNumericStep),
|
|
731
736
|
cols: data.cols || null,
|
|
732
737
|
rows: data.rows || 10,
|
|
733
738
|
placeholder: data.placeholder || "",
|
|
@@ -755,7 +760,7 @@ class DynamicFormBuilderService {
|
|
|
755
760
|
props.maxLength = isNaN(data.maxLength) ? MAX_INPUT_NUM : data.maxLength;
|
|
756
761
|
break;
|
|
757
762
|
}
|
|
758
|
-
return this.createFormField(key, type
|
|
763
|
+
return this.createFormField(key, customInputTypes.includes(type) ? type : "input", data, props, parent, options);
|
|
759
764
|
}
|
|
760
765
|
createFormSelect(key, data, parent, options) {
|
|
761
766
|
data = data || {};
|
|
@@ -1078,7 +1083,7 @@ class DynamicFormBuilderService {
|
|
|
1078
1083
|
});
|
|
1079
1084
|
return field;
|
|
1080
1085
|
}
|
|
1081
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormBuilderService, deps: [{ token: i0.Injector }, { token: i2.EventsService }, { token: API_SERVICE }, { token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1086
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormBuilderService, deps: [{ token: i0.Injector }, { token: i2.EventsService }, { token: API_SERVICE }, { token: LANGUAGE_SERVICE }, { token: DEFAULT_NUMERIC_STEP }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1082
1087
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormBuilderService });
|
|
1083
1088
|
}
|
|
1084
1089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormBuilderService, decorators: [{
|
|
@@ -1089,6 +1094,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
|
|
|
1089
1094
|
}] }, { type: undefined, decorators: [{
|
|
1090
1095
|
type: Inject,
|
|
1091
1096
|
args: [LANGUAGE_SERVICE]
|
|
1097
|
+
}] }, { type: undefined, decorators: [{
|
|
1098
|
+
type: Inject,
|
|
1099
|
+
args: [DEFAULT_NUMERIC_STEP]
|
|
1092
1100
|
}] }] });
|
|
1093
1101
|
|
|
1094
1102
|
class DynamicFormSchemaService {
|
|
@@ -1248,8 +1256,8 @@ class DynamicFormSchemaService {
|
|
|
1248
1256
|
autocomplete: property.autocomplete,
|
|
1249
1257
|
pattern: property.pattern,
|
|
1250
1258
|
step: isNaN(sub.step) ? property.step : sub.step,
|
|
1251
|
-
min: sub.minimum,
|
|
1252
|
-
max: sub.maximum,
|
|
1259
|
+
min: sub.minimum ?? sub.min,
|
|
1260
|
+
max: sub.maximum ?? sub.max,
|
|
1253
1261
|
minLength: sub.minLength,
|
|
1254
1262
|
maxLength: sub.maxLength,
|
|
1255
1263
|
placeholder: property.placeholder,
|
|
@@ -1293,8 +1301,8 @@ class DynamicFormSchemaService {
|
|
|
1293
1301
|
return this.builder.createFormInput(property.id, {
|
|
1294
1302
|
...this.getFormFieldData(property, options),
|
|
1295
1303
|
type,
|
|
1296
|
-
min: convertToDateFormat(property.min, property.format),
|
|
1297
|
-
max: convertToDateFormat(property.max, property.format),
|
|
1304
|
+
min: convertToDateFormat(property.minimum ?? property.min, property.format),
|
|
1305
|
+
max: convertToDateFormat(property.maximum ?? property.max, property.format),
|
|
1298
1306
|
}, parent, options);
|
|
1299
1307
|
}
|
|
1300
1308
|
getFormSelectConfig($enum, property, options, parent) {
|
|
@@ -1432,10 +1440,10 @@ class DynamicFormSchemaService {
|
|
|
1432
1440
|
validators.maxLength = maxLengthValidation(property.maxLength);
|
|
1433
1441
|
}
|
|
1434
1442
|
if (!isNaN(property.minimum)) {
|
|
1435
|
-
validators.min = minValueValidation(
|
|
1443
|
+
validators.min = minValueValidation();
|
|
1436
1444
|
}
|
|
1437
1445
|
if (!isNaN(property.maximum)) {
|
|
1438
|
-
validators.max = maxValueValidation(
|
|
1446
|
+
validators.max = maxValueValidation();
|
|
1439
1447
|
}
|
|
1440
1448
|
// if (isString(property.pattern) && property.pattern.length) {
|
|
1441
1449
|
// validators.pattern = property.pattern;
|
|
@@ -1450,16 +1458,16 @@ class DynamicFormSchemaService {
|
|
|
1450
1458
|
if (!items)
|
|
1451
1459
|
return;
|
|
1452
1460
|
if (!isNaN(items.minLength)) {
|
|
1453
|
-
validators.itemsMinLength = minLengthValidation(items.minLength
|
|
1461
|
+
validators.itemsMinLength = minLengthValidation(items.minLength);
|
|
1454
1462
|
}
|
|
1455
1463
|
if (!isNaN(items.maxLength)) {
|
|
1456
|
-
validators.itemsMaxLength = maxLengthValidation(items.maxLength
|
|
1464
|
+
validators.itemsMaxLength = maxLengthValidation(items.maxLength);
|
|
1457
1465
|
}
|
|
1458
1466
|
if (!isNaN(items.minimum)) {
|
|
1459
|
-
validators.itemsMinValue = minValueValidation(
|
|
1467
|
+
validators.itemsMinValue = minValueValidation();
|
|
1460
1468
|
}
|
|
1461
1469
|
if (!isNaN(items.maximum)) {
|
|
1462
|
-
validators.itemsMaxValue = maxValueValidation(
|
|
1470
|
+
validators.itemsMaxValue = maxValueValidation();
|
|
1463
1471
|
}
|
|
1464
1472
|
}
|
|
1465
1473
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormSchemaService, deps: [{ token: i2.OpenApiService }, { token: i0.Injector }, { token: DynamicFormBuilderService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -2123,6 +2131,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
|
|
|
2123
2131
|
args: [{ standalone: false, selector: "dynamic-form-chips", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<chips [formControl]=\"formControl\"\n [type]=\"props.type\"\n [step]=\"props.step\"\n [minLength]=\"props.minLength\"\n [maxLength]=\"props.maxLength\"\n [min]=\"props.min\"\n [max]=\"props.max\"\n [multiple]=\"props.multiple\"\n [strict]=\"props.strict\"\n [options]=\"props.options | formlySelectOptions | async\"\n [testId]=\"field.testId\"\n [formlyAttributes]=\"field\">\n</chips>\n" }]
|
|
2124
2132
|
}] });
|
|
2125
2133
|
|
|
2134
|
+
class DynamicFormPasswordComponent extends DynamicFieldType {
|
|
2135
|
+
type = signal("password");
|
|
2136
|
+
icon = computed(() => {
|
|
2137
|
+
return this.type() === "password" ? "eye" : "eye-slash";
|
|
2138
|
+
});
|
|
2139
|
+
input = viewChild.required("input");
|
|
2140
|
+
switchType() {
|
|
2141
|
+
const el = this.input().nativeElement;
|
|
2142
|
+
const start = el.selectionStart;
|
|
2143
|
+
const end = el.selectionEnd;
|
|
2144
|
+
this.type.update(value => value === "password" ? "text" : "password");
|
|
2145
|
+
requestAnimationFrame(() => {
|
|
2146
|
+
el.focus();
|
|
2147
|
+
el.setSelectionRange(start, end);
|
|
2148
|
+
});
|
|
2149
|
+
}
|
|
2150
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormPasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2151
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.19", type: DynamicFormPasswordComponent, isStandalone: false, selector: "dynamic-form-password", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"form-password-group\">\n <input #input\n class=\"form-control\"\n [attr.type]=\"type()\"\n [attr.data-testid]=\"field.testId\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\" />\n <btn type=\"transparent\"\n [icon]=\"icon()\"\n [attr.data-testid]=\"field.testId + '-toggle'\"\n (mousedown)=\"switchType()\"></btn>\n</div>\n", styles: [".form-password-group{position:relative}.form-password-group btn{display:block;position:absolute;aspect-ratio:1;top:0;bottom:0;right:0}\n"], dependencies: [{ kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "type", "size"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2152
|
+
}
|
|
2153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormPasswordComponent, decorators: [{
|
|
2154
|
+
type: Component,
|
|
2155
|
+
args: [{ standalone: false, selector: "dynamic-form-password", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-password-group\">\n <input #input\n class=\"form-control\"\n [attr.type]=\"type()\"\n [attr.data-testid]=\"field.testId\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\" />\n <btn type=\"transparent\"\n [icon]=\"icon()\"\n [attr.data-testid]=\"field.testId + '-toggle'\"\n (mousedown)=\"switchType()\"></btn>\n</div>\n", styles: [".form-password-group{position:relative}.form-password-group btn{display:block;position:absolute;aspect-ratio:1;top:0;bottom:0;right:0}\n"] }]
|
|
2156
|
+
}] });
|
|
2157
|
+
|
|
2126
2158
|
class DynamicFormStaticComponent extends DynamicFieldType {
|
|
2127
2159
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DynamicFormStaticComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2128
2160
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: DynamicFormStaticComponent, isStandalone: false, selector: "dynamic-form-chips", usesInheritance: true, ngImport: i0, template: "<unordered-list [listStyle]=\"props.style\" [ngClass]=\"{disabled: props.disabled}\"\n [data]=\"!props.properties ? {value: value} : props.properties | remap: value\">\n <ng-template [type]=\"!props.properties ? 'key' : null\" selector=\"level == 0\" let-item=\"item\"></ng-template>\n <ng-template type=\"value\" selector=\"valueType == 'date'\" let-item=\"item\">\n {{ item.value | date }}\n </ng-template>\n</unordered-list>\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.UnorderedListTemplateDirective, selector: "ng-template[type][selector]", inputs: ["type", "selector"] }, { kind: "component", type: i2.UnorderedListComponent, selector: "unordered-list", inputs: ["data", "keyPrefix", "listStyle", "path", "level", "templates"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "pipe", type: i2.RemapPipe, name: "remap" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
@@ -2235,6 +2267,7 @@ const components = [
|
|
|
2235
2267
|
DynamicFormComponent,
|
|
2236
2268
|
DynamicFormArrayComponent,
|
|
2237
2269
|
DynamicFormChipsComponent,
|
|
2270
|
+
DynamicFormPasswordComponent,
|
|
2238
2271
|
DynamicFormStaticComponent,
|
|
2239
2272
|
DynamicFormTranslationComponent,
|
|
2240
2273
|
DynamicFormUploadComponent,
|
|
@@ -2262,6 +2295,7 @@ class NgxDynamicFormModule {
|
|
|
2262
2295
|
types: [
|
|
2263
2296
|
{ name: "array", component: DynamicFormArrayComponent },
|
|
2264
2297
|
{ name: "chips", component: DynamicFormChipsComponent },
|
|
2298
|
+
{ name: "password", component: DynamicFormPasswordComponent },
|
|
2265
2299
|
{ name: "static", component: DynamicFormStaticComponent },
|
|
2266
2300
|
{ name: "translation", component: DynamicFormTranslationComponent },
|
|
2267
2301
|
{ name: "upload", component: DynamicFormUploadComponent },
|
|
@@ -2281,7 +2315,11 @@ class NgxDynamicFormModule {
|
|
|
2281
2315
|
...formlyConfigs,
|
|
2282
2316
|
DynamicFormService,
|
|
2283
2317
|
DynamicFormBuilderService,
|
|
2284
|
-
DynamicFormSchemaService
|
|
2318
|
+
DynamicFormSchemaService,
|
|
2319
|
+
{
|
|
2320
|
+
provide: DEFAULT_NUMERIC_STEP,
|
|
2321
|
+
useValue: (config?.defaultNumericStep ?? 1)
|
|
2322
|
+
}
|
|
2285
2323
|
];
|
|
2286
2324
|
}
|
|
2287
2325
|
static forRoot(config) {
|
|
@@ -2294,12 +2332,12 @@ class NgxDynamicFormModule {
|
|
|
2294
2332
|
return makeEnvironmentProviders(NgxDynamicFormModule.getProviders(config));
|
|
2295
2333
|
}
|
|
2296
2334
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NgxDynamicFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2297
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: NgxDynamicFormModule, declarations: [DynamicFieldType, DynamicFormComponent, DynamicFormArrayComponent, DynamicFormChipsComponent, DynamicFormStaticComponent, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, DynamicFormAlertComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, AsyncSubmitDirective, DynamicFormTemplateDirective, DynamicFormTemplatePipe], imports: [CommonModule,
|
|
2335
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: NgxDynamicFormModule, declarations: [DynamicFieldType, DynamicFormComponent, DynamicFormArrayComponent, DynamicFormChipsComponent, DynamicFormPasswordComponent, DynamicFormStaticComponent, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, DynamicFormAlertComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, AsyncSubmitDirective, DynamicFormTemplateDirective, DynamicFormTemplatePipe], imports: [CommonModule,
|
|
2298
2336
|
FormsModule,
|
|
2299
2337
|
ReactiveFormsModule,
|
|
2300
2338
|
NgxUtilsModule,
|
|
2301
2339
|
FormlyModule,
|
|
2302
|
-
FormlySelectModule], exports: [DynamicFieldType, DynamicFormComponent, DynamicFormArrayComponent, DynamicFormChipsComponent, DynamicFormStaticComponent, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, DynamicFormAlertComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, AsyncSubmitDirective, DynamicFormTemplateDirective, DynamicFormTemplatePipe, FormsModule,
|
|
2340
|
+
FormlySelectModule], exports: [DynamicFieldType, DynamicFormComponent, DynamicFormArrayComponent, DynamicFormChipsComponent, DynamicFormPasswordComponent, DynamicFormStaticComponent, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, DynamicFormAlertComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, AsyncSubmitDirective, DynamicFormTemplateDirective, DynamicFormTemplatePipe, FormsModule,
|
|
2303
2341
|
ReactiveFormsModule,
|
|
2304
2342
|
NgxUtilsModule,
|
|
2305
2343
|
FormlyModule,
|
|
@@ -2353,5 +2391,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
|
|
|
2353
2391
|
* Generated bundle index. Do not edit.
|
|
2354
2392
|
*/
|
|
2355
2393
|
|
|
2356
|
-
export { AsyncSubmitDirective, DynamicFieldType, DynamicFormAlertComponent, DynamicFormArrayComponent, DynamicFormBuilderService, DynamicFormChipsComponent, DynamicFormComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, DynamicFormSchemaService, DynamicFormService, DynamicFormStaticComponent, DynamicFormTemplateDirective, DynamicFormTemplatePipe, DynamicFormTemplateService, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, EDITOR_FORMATS, FORM_ROOT_ID, FormArray, FormFieldSet, FormGroup, FormInput, FormSelect, FormSerializable, FormStatic, FormUpload, MAX_INPUT_NUM, MIN_INPUT_NUM, NgxDynamicFormModule, RichTranslationModel, TranslationModel, addFieldValidators, arrayLengthValidation, clearFieldArray, controlStatus, controlValues, convertToDate, convertToDateFormat, convertToNumber, customizeFormField, emailValidation, getFieldByPath, getFieldsByKey, getFieldsByPredicate, getSelectOptions, insertToFieldArray, isFieldHidden, isFieldVisible, jsonValidation, maxLengthValidation, maxValueValidation, minLengthValidation, minValueValidation, phoneValidation, removeFieldValidators, removeFromFieldArray, replaceFieldArray, replaceSpecialChars, requiredValidation, setFieldDefault, setFieldDisabled, setFieldHidden, setFieldHooks, setFieldMinDate, setFieldProp, setFieldProps, setFieldSerialize, setFieldValue, translationValidation };
|
|
2394
|
+
export { AsyncSubmitDirective, DEFAULT_NUMERIC_STEP, DynamicFieldType, DynamicFormAlertComponent, DynamicFormArrayComponent, DynamicFormBuilderService, DynamicFormChipsComponent, DynamicFormComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, DynamicFormPasswordComponent, DynamicFormSchemaService, DynamicFormService, DynamicFormStaticComponent, DynamicFormTemplateDirective, DynamicFormTemplatePipe, DynamicFormTemplateService, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, EDITOR_FORMATS, FORM_ROOT_ID, FormArray, FormFieldSet, FormGroup, FormInput, FormSelect, FormSerializable, FormStatic, FormUpload, MAX_INPUT_NUM, MIN_INPUT_NUM, NgxDynamicFormModule, RichTranslationModel, TranslationModel, addFieldValidators, arrayLengthValidation, clearFieldArray, controlStatus, controlValues, convertToDate, convertToDateFormat, convertToNumber, customizeFormField, emailValidation, getFieldByPath, getFieldsByKey, getFieldsByPredicate, getSelectOptions, insertToFieldArray, isFieldHidden, isFieldVisible, jsonValidation, maxLengthValidation, maxValueValidation, minLengthValidation, minValueValidation, phoneValidation, removeFieldValidators, removeFromFieldArray, replaceFieldArray, replaceSpecialChars, requiredValidation, setFieldDefault, setFieldDisabled, setFieldHidden, setFieldHooks, setFieldMinDate, setFieldProp, setFieldProps, setFieldSerialize, setFieldValue, translationValidation };
|
|
2357
2395
|
//# sourceMappingURL=stemy-ngx-dynamic-form.mjs.map
|