@stemy/ngx-dynamic-form 19.1.6 → 19.1.7

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.
@@ -3,7 +3,6 @@ import { DynamicInputControlModel, DYNAMIC_FORM_CONTROL_TYPE_EDITOR, serializabl
3
3
  export { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP, DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER, DYNAMIC_FORM_CONTROL_TYPE_EDITOR, DYNAMIC_FORM_CONTROL_TYPE_FILE_UPLOAD, DYNAMIC_FORM_CONTROL_TYPE_GROUP, DYNAMIC_FORM_CONTROL_TYPE_INPUT, DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP, DYNAMIC_FORM_CONTROL_TYPE_SELECT, DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA, DynamicCheckboxGroupModel, DynamicCheckboxModel, DynamicDatePickerModel, DynamicFileUploadModel, DynamicFormControlComponent, DynamicFormControlModel, DynamicFormsCoreModule, DynamicInputModel, DynamicListDirective, DynamicRadioGroupModel, DynamicTemplateDirective, DynamicTextAreaModel } from '@ng-dynamic-forms/core';
4
4
  import * as i2 from '@stemy/ngx-utils';
5
5
  import { ObjectUtils, TimerUtils, cachedFactory, StringUtils, OpenApiService, TOASTER_SERVICE, ObservableUtils, EventsService, NgxUtilsModule } from '@stemy/ngx-utils';
6
- import { __decorate } from 'tslib';
7
6
  import { BehaviorSubject, isObservable, of, Subject, firstValueFrom, Subscription } from 'rxjs';
8
7
  import { map, debounceTime, first, groupBy, mergeMap } from 'rxjs/operators';
9
8
  import * as i0 from '@angular/core';
@@ -11,22 +10,29 @@ import { Injector, Injectable, Inject, EventEmitter, Directive, Input, Output, H
11
10
  import { FormGroup, FormArray, FormsModule, ReactiveFormsModule, NG_VALIDATORS } from '@angular/forms';
12
11
  import { CommonModule } from '@angular/common';
13
12
 
13
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
19
+ var __metadata = (this && this.__metadata) || function (k, v) {
20
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
+ };
14
22
  class DynamicEditorModel extends DynamicInputControlModel {
15
- type = DYNAMIC_FORM_CONTROL_TYPE_EDITOR;
16
- inputType;
17
- convertObject;
18
23
  constructor(config, layout) {
19
24
  super(config, layout);
25
+ this.type = DYNAMIC_FORM_CONTROL_TYPE_EDITOR;
20
26
  this.inputType = config.inputType || "javascript";
21
27
  this.convertObject = config.convertObject !== false;
22
28
  }
23
29
  }
24
30
  __decorate([
25
- serializable()
31
+ serializable(),
32
+ __metadata("design:type", String)
26
33
  ], DynamicEditorModel.prototype, "type", void 0);
27
34
 
28
35
  class DynamicFormArrayGroupModel extends DynamicFormArrayGroupModel$1 {
29
- context;
30
36
  get hidden() {
31
37
  return this.isHidden;
32
38
  }
@@ -36,7 +42,6 @@ class DynamicFormArrayGroupModel extends DynamicFormArrayGroupModel$1 {
36
42
  this.isHidden = value || false;
37
43
  this.context?.filterGroups();
38
44
  }
39
- isHidden;
40
45
  constructor(context, group, index = -1) {
41
46
  super(context, group, index);
42
47
  this.context = context;
@@ -44,21 +49,6 @@ class DynamicFormArrayGroupModel extends DynamicFormArrayGroupModel$1 {
44
49
  }
45
50
  }
46
51
  class DynamicFormArrayModel extends DynamicFormArrayModel$1 {
47
- config;
48
- filteredGroups;
49
- sortable;
50
- useTabs;
51
- saveTab;
52
- restoreTab;
53
- getTabLabel;
54
- additional;
55
- groups = [];
56
- tabIndex = 0;
57
- _sortBy;
58
- _sortDescending;
59
- _formArray;
60
- _filteredGroups;
61
- _filterTimer;
62
52
  get addItem() {
63
53
  return this.config.addItem !== false;
64
54
  }
@@ -106,6 +96,8 @@ class DynamicFormArrayModel extends DynamicFormArrayModel$1 {
106
96
  constructor(config, layout) {
107
97
  super(config, layout);
108
98
  this.config = config;
99
+ this.groups = [];
100
+ this.tabIndex = 0;
109
101
  this.filteredGroups = new BehaviorSubject([]);
110
102
  this.sortable = config.sortable || false;
111
103
  this.useTabs = config.useTabs || false;
@@ -168,7 +160,6 @@ class DynamicFormArrayModel extends DynamicFormArrayModel$1 {
168
160
  }
169
161
 
170
162
  class DynamicFormGroupModel extends DynamicFormGroupModel$1 {
171
- groups;
172
163
  constructor(config, layout) {
173
164
  super(config, layout);
174
165
  const controls = [...config.group];
@@ -195,8 +186,6 @@ class DynamicFormGroupModel extends DynamicFormGroupModel$1 {
195
186
 
196
187
  const ignoredKeys = ["disabled", "label", "value", "classes"];
197
188
  class DynamicFormOption extends DynamicFormOption$1 {
198
- classes;
199
- props;
200
189
  constructor(config) {
201
190
  super(config);
202
191
  this.classes = config.classes || "";
@@ -209,14 +198,10 @@ class DynamicFormOption extends DynamicFormOption$1 {
209
198
  }
210
199
  }
211
200
  class DynamicSelectModel extends DynamicSelectModel$1 {
212
- groupBy;
213
- inline;
214
- getClasses;
215
- allowEmpty;
216
- options$ = null;
217
- mOptions = [];
218
201
  constructor(config, layout) {
219
202
  super(config, layout);
203
+ this.options$ = null;
204
+ this.mOptions = [];
220
205
  this.groupBy = config.groupBy || null;
221
206
  this.inline = config.inline || false;
222
207
  this.getClasses = ObjectUtils.isFunction(config.getClasses) ? config.getClasses : (() => "");
@@ -456,7 +441,6 @@ function validateItemsMaxValue(max) {
456
441
 
457
442
  const indexLabels = ["$ix", "$pix"];
458
443
  class FormSubject extends Subject {
459
- notifyCallback;
460
444
  constructor(notifyCallback) {
461
445
  super();
462
446
  this.notifyCallback = notifyCallback;
@@ -530,15 +514,12 @@ function getFormValidationErrors(controls, parentPath = "") {
530
514
  }
531
515
 
532
516
  class DynamicFormService extends DynamicFormService$1 {
533
- openApi;
534
- injector;
535
517
  get api() {
536
518
  return this.openApi.api;
537
519
  }
538
520
  get language() {
539
521
  return this.api.language;
540
522
  }
541
- schemas;
542
523
  constructor(cs, vs, openApi, injector) {
543
524
  super(cs, vs);
544
525
  this.openApi = openApi;
@@ -779,19 +760,18 @@ class DynamicFormService extends DynamicFormService$1 {
779
760
  return Array.isArray(res) ? res : [res];
780
761
  };
781
762
  const schema = this.schemas[name];
782
- const controls = await this.getFormModelForSchemaDef(schema, fieldSets, customizeModels, "");
783
- const idFields = [
784
- createFormInput("id", { hidden: true }),
785
- createFormInput("_id", { hidden: true })
786
- ].filter(t => !controls.some(c => c.id == t.id));
763
+ const group = await this.getFormModelForSchemaDef(schema, fieldSets, customizeModels, "");
764
+ // Add id fields if necessary
765
+ if (group.length > 0) {
766
+ const idFields = [
767
+ createFormInput("id", { hidden: true }),
768
+ createFormInput("_id", { hidden: true })
769
+ ].filter(t => !group.some(c => c.id == t.id));
770
+ group.unshift(...idFields);
771
+ }
787
772
  const config = {
788
773
  id: "root",
789
- group: [
790
- // -- Hidden id fields --
791
- ...idFields,
792
- // -- Main form controls --
793
- ...controls
794
- ],
774
+ group,
795
775
  fieldSets
796
776
  };
797
777
  const root = await customizeModels({
@@ -800,18 +780,18 @@ class DynamicFormService extends DynamicFormService$1 {
800
780
  properties: schema?.properties || {}
801
781
  }, schema, DynamicFormGroupModel, config, "");
802
782
  // Check if the customized root wrapper returned an array
803
- controls.length = 0;
783
+ group.length = 0;
804
784
  for (const model of root) {
805
785
  if (model instanceof DynamicFormGroupModel && model.id === "root") {
806
786
  return model;
807
787
  }
808
788
  else {
809
- controls.push(model);
789
+ group.push(model);
810
790
  }
811
791
  }
812
792
  return new DynamicFormGroupModel({
813
793
  ...config,
814
- group: controls
794
+ group
815
795
  });
816
796
  }
817
797
  async getFormModelForSchemaDef(schema, fieldSets, customizeModels, path) {
@@ -1182,8 +1162,8 @@ class DynamicFormService extends DynamicFormService$1 {
1182
1162
  validators.itemsMaxValue = items.maximum;
1183
1163
  }
1184
1164
  }
1185
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicFormService, deps: [{ token: i1.DynamicFormComponentService }, { token: i1.DynamicFormValidationService }, { token: OpenApiService }, { token: Injector }], target: i0.ɵɵFactoryTarget.Injectable });
1186
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicFormService });
1165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicFormService, deps: [{ token: i1.DynamicFormComponentService }, { token: i1.DynamicFormValidationService }, { token: OpenApiService }, { token: Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1166
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicFormService }); }
1187
1167
  }
1188
1168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicFormService, decorators: [{
1189
1169
  type: Injectable
@@ -1196,20 +1176,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1196
1176
  }] }] });
1197
1177
 
1198
1178
  class AsyncSubmitDirective {
1199
- toaster;
1200
- cdr;
1201
- elem;
1202
- renderer;
1203
- method;
1204
- form;
1205
- context;
1206
- onSuccess;
1207
- onError;
1208
- loading;
1209
- disabled;
1210
- callback;
1211
- onStatusChange;
1212
- onSubmit;
1213
1179
  get isDisabled() {
1214
1180
  return this.disabled;
1215
1181
  }
@@ -1285,8 +1251,8 @@ class AsyncSubmitDirective {
1285
1251
  this.toaster.error(reason.message, reason.context);
1286
1252
  });
1287
1253
  }
1288
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AsyncSubmitDirective, deps: [{ token: TOASTER_SERVICE }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1289
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: AsyncSubmitDirective, isStandalone: false, selector: "[async-submit]", inputs: { method: ["async-submit", "method"], form: "form", context: "context" }, outputs: { onSuccess: "onSuccess", onError: "onError" }, host: { listeners: { "click": "click()" }, properties: { "class.disabled": "this.isDisabled", "class.loading": "this.isLoading" } }, exportAs: ["async-submit"], ngImport: i0 });
1254
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AsyncSubmitDirective, deps: [{ token: TOASTER_SERVICE }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
1255
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: AsyncSubmitDirective, isStandalone: false, selector: "[async-submit]", inputs: { method: ["async-submit", "method"], form: "form", context: "context" }, outputs: { onSuccess: "onSuccess", onError: "onError" }, host: { listeners: { "click": "click()" }, properties: { "class.disabled": "this.isDisabled", "class.loading": "this.isLoading" } }, exportAs: ["async-submit"], ngImport: i0 }); }
1290
1256
  }
1291
1257
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AsyncSubmitDirective, decorators: [{
1292
1258
  type: Directive,
@@ -1321,32 +1287,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1321
1287
  }] } });
1322
1288
 
1323
1289
  class DynamicBaseFormComponent extends DynamicFormComponent {
1324
- formService;
1325
- events;
1326
- group = null;
1327
- model = null;
1328
- layout = null;
1329
- blur = new EventEmitter();
1330
- change = new EventEmitter();
1331
- focus = new EventEmitter();
1332
- groupModel;
1333
- labelPrefix;
1334
- getComponentType;
1335
- contentTemplates;
1336
- viewTemplates;
1337
1290
  get status() {
1338
1291
  return !this.group ? null : this.group.status;
1339
1292
  }
1340
- onValueChange;
1341
- onStatusChange;
1342
- onSubmit;
1343
- onDetectChanges;
1344
- subscription = new Subscription();
1345
- groupSubscription = new Subscription();
1346
1293
  constructor(formService, events, changeDetectorRef, componentService) {
1347
1294
  super(changeDetectorRef, componentService);
1348
1295
  this.formService = formService;
1349
1296
  this.events = events;
1297
+ this.group = null;
1298
+ this.model = null;
1299
+ this.layout = null;
1300
+ this.blur = new EventEmitter();
1301
+ this.change = new EventEmitter();
1302
+ this.focus = new EventEmitter();
1303
+ this.subscription = new Subscription();
1304
+ this.groupSubscription = new Subscription();
1350
1305
  this.groupModel = undefined;
1351
1306
  this.labelPrefix = "";
1352
1307
  this.getComponentType = () => null;
@@ -1427,8 +1382,8 @@ class DynamicBaseFormComponent extends DynamicFormComponent {
1427
1382
  }
1428
1383
  return `form-control-${parts.join("-")}`;
1429
1384
  }
1430
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormComponent, deps: [{ token: DynamicFormService }, { token: EventsService }, { token: i0.ChangeDetectorRef }, { token: i1.DynamicFormComponentService }], target: i0.ɵɵFactoryTarget.Component });
1431
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormComponent, isStandalone: false, selector: "dynamic-base-form", inputs: { group: "group", model: "model", layout: "layout", groupModel: "groupModel", labelPrefix: "labelPrefix", getComponentType: "getComponentType" }, outputs: { blur: "blur", change: "change", focus: "focus", onValueChange: "onValueChange", onStatusChange: "onStatusChange", onSubmit: "onSubmit", onDetectChanges: "onDetectChanges" }, queries: [{ propertyName: "contentTemplates", predicate: DynamicTemplateDirective }], viewQueries: [{ propertyName: "viewTemplates", predicate: DynamicTemplateDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default });
1385
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormComponent, deps: [{ token: DynamicFormService }, { token: EventsService }, { token: i0.ChangeDetectorRef }, { token: i1.DynamicFormComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
1386
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormComponent, isStandalone: false, selector: "dynamic-base-form", inputs: { group: "group", model: "model", layout: "layout", groupModel: "groupModel", labelPrefix: "labelPrefix", getComponentType: "getComponentType" }, outputs: { blur: "blur", change: "change", focus: "focus", onValueChange: "onValueChange", onStatusChange: "onStatusChange", onSubmit: "onSubmit", onDetectChanges: "onDetectChanges" }, queries: [{ propertyName: "contentTemplates", predicate: DynamicTemplateDirective }], viewQueries: [{ propertyName: "viewTemplates", predicate: DynamicTemplateDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default }); }
1432
1387
  }
1433
1388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormComponent, decorators: [{
1434
1389
  type: Component,
@@ -1479,21 +1434,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1479
1434
  }] } });
1480
1435
 
1481
1436
  class DynamicBaseFormControlContainerComponent extends DynamicFormControlContainerComponent {
1482
- form;
1483
- cdr;
1484
- injector;
1485
- contentTemplateList = null;
1486
- klass = null;
1487
- context = null;
1488
- group = null;
1489
- hostClass = null;
1490
- inputTemplateList = null;
1491
- layout = null;
1492
- model = null;
1493
- blur = new EventEmitter();
1494
- change = new EventEmitter();
1495
- focus = new EventEmitter();
1496
- componentViewContainerRef = null;
1497
1437
  get componentType() {
1498
1438
  return this.form.getComponentType?.(this.model, this.injector)
1499
1439
  ?? this.componentService.getCustomComponentType(this.model);
@@ -1511,12 +1451,23 @@ class DynamicBaseFormControlContainerComponent extends DynamicFormControlContain
1511
1451
  get formService() {
1512
1452
  return this.form.formService;
1513
1453
  }
1514
- onDetectChanges;
1515
1454
  constructor(form, cdr, injector, cfr, layoutService, validationService, componentService, relationService) {
1516
1455
  super(cdr, cfr, layoutService, validationService, componentService, relationService);
1517
1456
  this.form = form;
1518
1457
  this.cdr = cdr;
1519
1458
  this.injector = injector;
1459
+ this.contentTemplateList = null;
1460
+ this.klass = null;
1461
+ this.context = null;
1462
+ this.group = null;
1463
+ this.hostClass = null;
1464
+ this.inputTemplateList = null;
1465
+ this.layout = null;
1466
+ this.model = null;
1467
+ this.blur = new EventEmitter();
1468
+ this.change = new EventEmitter();
1469
+ this.focus = new EventEmitter();
1470
+ this.componentViewContainerRef = null;
1520
1471
  }
1521
1472
  ngOnInit() {
1522
1473
  super.ngOnInit();
@@ -1563,10 +1514,10 @@ class DynamicBaseFormControlContainerComponent extends DynamicFormControlContain
1563
1514
  return;
1564
1515
  component.initialize(this.changeDetectorRef);
1565
1516
  }
1566
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormControlContainerComponent, deps: [{ token: DynamicBaseFormComponent }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }, { token: i1.DynamicFormComponentService }, { token: i1.DynamicFormRelationService }], target: i0.ɵɵFactoryTarget.Component });
1567
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormControlContainerComponent, isStandalone: false, selector: "dynamic-base-form-control", inputs: { context: "context", group: "group", hostClass: "hostClass", inputTemplateList: ["templates", "inputTemplateList"], layout: "layout", model: "model" }, outputs: { blur: "blur", change: "change", focus: "focus" }, host: { properties: { "class": "this.klass" } }, providers: [
1517
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormControlContainerComponent, deps: [{ token: DynamicBaseFormComponent }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }, { token: i1.DynamicFormComponentService }, { token: i1.DynamicFormRelationService }], target: i0.ɵɵFactoryTarget.Component }); }
1518
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormControlContainerComponent, isStandalone: false, selector: "dynamic-base-form-control", inputs: { context: "context", group: "group", hostClass: "hostClass", inputTemplateList: ["templates", "inputTemplateList"], layout: "layout", model: "model" }, outputs: { blur: "blur", change: "change", focus: "focus" }, host: { properties: { "class": "this.klass" } }, providers: [
1568
1519
  { provide: DynamicFormControlContainerComponent, useExisting: DynamicBaseFormControlContainerComponent }
1569
- ], queries: [{ propertyName: "contentTemplateList", predicate: DynamicTemplateDirective }], viewQueries: [{ propertyName: "componentViewContainerRef", first: true, predicate: ["componentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1520
+ ], queries: [{ propertyName: "contentTemplateList", predicate: DynamicTemplateDirective }], viewQueries: [{ propertyName: "componentViewContainerRef", first: true, predicate: ["componentViewContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1570
1521
  }
1571
1522
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormControlContainerComponent, decorators: [{
1572
1523
  type: Component,
@@ -1613,28 +1564,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1613
1564
  }] } });
1614
1565
 
1615
1566
  class DynamicBaseFormArrayComponent extends DynamicFormArrayComponent {
1616
- form;
1617
- injector;
1618
- cdr;
1619
- formLayout = null;
1620
- group = null;
1621
- layout = null;
1622
- model = null;
1623
- templates = null;
1624
- blur = new EventEmitter();
1625
- change = new EventEmitter();
1626
- customEvent = new EventEmitter();
1627
- focus = new EventEmitter();
1628
- components = null;
1629
1567
  get useTabs() {
1630
1568
  return this.model?.useTabs;
1631
1569
  }
1632
- subscription;
1633
1570
  constructor(layoutService, validationService, form, injector, cdr) {
1634
1571
  super(layoutService, validationService);
1635
1572
  this.form = form;
1636
1573
  this.injector = injector;
1637
1574
  this.cdr = cdr;
1575
+ this.formLayout = null;
1576
+ this.group = null;
1577
+ this.layout = null;
1578
+ this.model = null;
1579
+ this.templates = null;
1580
+ this.blur = new EventEmitter();
1581
+ this.change = new EventEmitter();
1582
+ this.customEvent = new EventEmitter();
1583
+ this.focus = new EventEmitter();
1584
+ this.components = null;
1638
1585
  }
1639
1586
  initialize(cdr) {
1640
1587
  this.subscription = this.model.filteredGroups.subscribe(filteredGroups => {
@@ -1685,8 +1632,8 @@ class DynamicBaseFormArrayComponent extends DynamicFormArrayComponent {
1685
1632
  this.cdr.detectChanges();
1686
1633
  this.components.forEach(t => t.cdr.detectChanges());
1687
1634
  }
1688
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormArrayComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }, { token: DynamicBaseFormComponent }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1689
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormArrayComponent, isStandalone: false, selector: "dynamic-base-form-array", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model", templates: "templates" }, outputs: { blur: "blur", change: "change", customEvent: "customEvent", focus: "focus" }, viewQueries: [{ propertyName: "components", predicate: i0.forwardRef(() => DynamicBaseFormControlContainerComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1635
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormArrayComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }, { token: DynamicBaseFormComponent }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1636
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormArrayComponent, isStandalone: false, selector: "dynamic-base-form-array", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model", templates: "templates" }, outputs: { blur: "blur", change: "change", customEvent: "customEvent", focus: "focus" }, viewQueries: [{ propertyName: "components", predicate: i0.forwardRef(() => DynamicBaseFormControlContainerComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1690
1637
  }
1691
1638
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormArrayComponent, decorators: [{
1692
1639
  type: Component,
@@ -1720,22 +1667,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1720
1667
  }] } });
1721
1668
 
1722
1669
  class DynamicBaseFormControlComponent extends DynamicFormControlComponent {
1723
- form;
1724
- injector;
1725
- cdr;
1726
- formLayout = null;
1727
- group = null;
1728
- layout = null;
1729
- model = null;
1730
- blur = new EventEmitter();
1731
- change = new EventEmitter();
1732
- focus = new EventEmitter();
1733
- subscription;
1734
1670
  constructor(layoutService, validationService, form, injector, cdr) {
1735
1671
  super(layoutService, validationService);
1736
1672
  this.form = form;
1737
1673
  this.injector = injector;
1738
1674
  this.cdr = cdr;
1675
+ this.formLayout = null;
1676
+ this.group = null;
1677
+ this.layout = null;
1678
+ this.model = null;
1679
+ this.blur = new EventEmitter();
1680
+ this.change = new EventEmitter();
1681
+ this.focus = new EventEmitter();
1739
1682
  }
1740
1683
  ngAfterViewInit() {
1741
1684
  this.subscription = this.control.valueChanges.pipe(debounceTime(500)).subscribe(value => {
@@ -1752,8 +1695,8 @@ class DynamicBaseFormControlComponent extends DynamicFormControlComponent {
1752
1695
  }
1753
1696
  onValueChanged(value) {
1754
1697
  }
1755
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormControlComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }, { token: DynamicBaseFormComponent, optional: true }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1756
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormControlComponent, isStandalone: false, selector: "dynamic-base-form-control", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model" }, outputs: { blur: "blur", change: "change", focus: "focus" }, usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormControlComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }, { token: DynamicBaseFormComponent, optional: true }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1699
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormControlComponent, isStandalone: false, selector: "dynamic-base-form-control", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model" }, outputs: { blur: "blur", change: "change", focus: "focus" }, usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1757
1700
  }
1758
1701
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormControlComponent, decorators: [{
1759
1702
  type: Component,
@@ -1782,22 +1725,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1782
1725
  }] } });
1783
1726
 
1784
1727
  class DynamicBaseFormGroupComponent extends DynamicFormGroupComponent {
1785
- layoutService;
1786
- validationService;
1787
- formLayout = null;
1788
- group = null;
1789
- layout = null;
1790
- model = null;
1791
- templates = [];
1792
- blur = new EventEmitter();
1793
- change = new EventEmitter();
1794
- customEvent = new EventEmitter();
1795
- focus = new EventEmitter();
1796
- components = null;
1797
1728
  constructor(layoutService, validationService) {
1798
1729
  super(layoutService, validationService);
1799
1730
  this.layoutService = layoutService;
1800
1731
  this.validationService = validationService;
1732
+ this.formLayout = null;
1733
+ this.group = null;
1734
+ this.layout = null;
1735
+ this.model = null;
1736
+ this.templates = [];
1737
+ this.blur = new EventEmitter();
1738
+ this.change = new EventEmitter();
1739
+ this.customEvent = new EventEmitter();
1740
+ this.focus = new EventEmitter();
1741
+ this.components = null;
1801
1742
  }
1802
1743
  getClass(context, place, model) {
1803
1744
  return [
@@ -1824,8 +1765,8 @@ class DynamicBaseFormGroupComponent extends DynamicFormGroupComponent {
1824
1765
  }
1825
1766
  return null;
1826
1767
  }
1827
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormGroupComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
1828
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormGroupComponent, isStandalone: false, selector: "dynamic-base-form-group", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model", templates: "templates" }, outputs: { blur: "blur", change: "change", customEvent: "customEvent", focus: "focus" }, viewQueries: [{ propertyName: "components", predicate: i0.forwardRef(() => DynamicFormControlContainerComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1768
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormGroupComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }], target: i0.ɵɵFactoryTarget.Component }); }
1769
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseFormGroupComponent, isStandalone: false, selector: "dynamic-base-form-group", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model", templates: "templates" }, outputs: { blur: "blur", change: "change", customEvent: "customEvent", focus: "focus" }, viewQueries: [{ propertyName: "components", predicate: i0.forwardRef(() => DynamicFormControlContainerComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1829
1770
  }
1830
1771
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseFormGroupComponent, decorators: [{
1831
1772
  type: Component,
@@ -1859,8 +1800,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1859
1800
  }] } });
1860
1801
 
1861
1802
  class DynamicBaseSelectComponent extends DynamicBaseFormControlComponent {
1862
- groups$;
1863
- hasOptions;
1864
1803
  ngOnInit() {
1865
1804
  this.groups$ = new BehaviorSubject([]);
1866
1805
  this.subscription = this.model.options$.subscribe(options => {
@@ -1909,8 +1848,8 @@ class DynamicBaseSelectComponent extends DynamicBaseFormControlComponent {
1909
1848
  this.control.setValue(option.value);
1910
1849
  this.onChange(option.value);
1911
1850
  }
1912
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1913
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseSelectComponent, isStandalone: false, selector: "dynamic-base-select", usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1852
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DynamicBaseSelectComponent, isStandalone: false, selector: "dynamic-base-select", usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1914
1853
  }
1915
1854
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DynamicBaseSelectComponent, decorators: [{
1916
1855
  type: Component,
@@ -1965,14 +1904,14 @@ class NgxDynamicFormModule {
1965
1904
  static provideForms(config) {
1966
1905
  return makeEnvironmentProviders(NgxDynamicFormModule.getProviders(config));
1967
1906
  }
1968
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDynamicFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1969
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxDynamicFormModule, declarations: [DynamicBaseFormComponent, DynamicBaseFormArrayComponent, DynamicBaseFormControlComponent, DynamicBaseFormControlContainerComponent, DynamicBaseFormGroupComponent, DynamicBaseSelectComponent, AsyncSubmitDirective], imports: [CommonModule,
1907
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDynamicFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1908
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxDynamicFormModule, declarations: [DynamicBaseFormComponent, DynamicBaseFormArrayComponent, DynamicBaseFormControlComponent, DynamicBaseFormControlContainerComponent, DynamicBaseFormGroupComponent, DynamicBaseSelectComponent, AsyncSubmitDirective], imports: [CommonModule,
1970
1909
  FormsModule,
1971
1910
  ReactiveFormsModule,
1972
1911
  NgxUtilsModule], exports: [DynamicBaseFormComponent, DynamicBaseFormArrayComponent, DynamicBaseFormControlComponent, DynamicBaseFormControlContainerComponent, DynamicBaseFormGroupComponent, DynamicBaseSelectComponent, AsyncSubmitDirective, FormsModule,
1973
1912
  ReactiveFormsModule,
1974
- NgxUtilsModule] });
1975
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDynamicFormModule, providers: [
1913
+ NgxUtilsModule] }); }
1914
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDynamicFormModule, providers: [
1976
1915
  ...pipes,
1977
1916
  { provide: NG_VALIDATORS, useValue: validateJSON, multi: true },
1978
1917
  { provide: NG_VALIDATORS, useValue: validateRequiredTranslation, multi: true },
@@ -1997,7 +1936,7 @@ class NgxDynamicFormModule {
1997
1936
  ReactiveFormsModule,
1998
1937
  NgxUtilsModule, FormsModule,
1999
1938
  ReactiveFormsModule,
2000
- NgxUtilsModule] });
1939
+ NgxUtilsModule] }); }
2001
1940
  }
2002
1941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDynamicFormModule, decorators: [{
2003
1942
  type: NgModule,