@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
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
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
|
-
|
|
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
|
-
|
|
789
|
+
group.push(model);
|
|
810
790
|
}
|
|
811
791
|
}
|
|
812
792
|
return new DynamicFormGroupModel({
|
|
813
793
|
...config,
|
|
814
|
-
group
|
|
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
|
|
1186
|
-
static
|
|
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
|
|
1289
|
-
static
|
|
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
|
|
1431
|
-
static
|
|
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
|
|
1567
|
-
static
|
|
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
|
|
1689
|
-
static
|
|
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
|
|
1756
|
-
static
|
|
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
|
|
1828
|
-
static
|
|
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
|
|
1913
|
-
static
|
|
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
|
|
1969
|
-
static
|
|
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
|
|
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,
|