@stemy/ngx-dynamic-form 19.9.24 → 19.9.26
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.
|
@@ -4,7 +4,6 @@ import * as i2 from '@stemy/ngx-utils';
|
|
|
4
4
|
import { cachedFactory, ReflectUtils, ObjectUtils, LANGUAGE_SERVICE, ForbiddenZone, SetUtils, ArrayUtils, API_SERVICE, StringUtils, AsyncMethodBase, EventsService, NgxUtilsModule } from '@stemy/ngx-utils';
|
|
5
5
|
import { of, merge, map, Observable, firstValueFrom, BehaviorSubject, combineLatestWith, switchMap, distinctUntilChanged, first, Subject, filter } from 'rxjs';
|
|
6
6
|
import { debounceTime } from 'rxjs/operators';
|
|
7
|
-
import { __decorate } from 'tslib';
|
|
8
7
|
import * as i1 from '@angular/forms';
|
|
9
8
|
import { FormGroup as FormGroup$1, FormArray as FormArray$1, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
10
9
|
import { outputToObservable, toSignal, rxResource, outputFromObservable } from '@angular/core/rxjs-interop';
|
|
@@ -480,34 +479,54 @@ class ModelUtils {
|
|
|
480
479
|
}
|
|
481
480
|
}
|
|
482
481
|
|
|
482
|
+
var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
483
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
484
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
485
|
+
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;
|
|
486
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
487
|
+
};
|
|
488
|
+
var __metadata$1 = (this && this.__metadata) || function (k, v) {
|
|
489
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
490
|
+
};
|
|
483
491
|
class RichTranslationModel {
|
|
484
|
-
lang = "";
|
|
485
|
-
translation = "";
|
|
486
492
|
constructor(data) {
|
|
493
|
+
this.lang = "";
|
|
494
|
+
this.translation = "";
|
|
487
495
|
if (data)
|
|
488
496
|
Object.assign(this, data);
|
|
489
497
|
}
|
|
490
498
|
}
|
|
491
|
-
__decorate([
|
|
499
|
+
__decorate$1([
|
|
492
500
|
FormSelect({
|
|
493
501
|
options: {
|
|
494
502
|
type: ModelUtils,
|
|
495
503
|
func: ModelUtils.getLanguages
|
|
496
504
|
}
|
|
497
505
|
}),
|
|
498
|
-
FormSerializable()
|
|
506
|
+
FormSerializable(),
|
|
507
|
+
__metadata$1("design:type", String)
|
|
499
508
|
], RichTranslationModel.prototype, "lang", void 0);
|
|
500
|
-
__decorate([
|
|
509
|
+
__decorate$1([
|
|
501
510
|
FormInput({
|
|
502
511
|
type: "wysiwyg"
|
|
503
512
|
}),
|
|
504
|
-
FormSerializable()
|
|
513
|
+
FormSerializable(),
|
|
514
|
+
__metadata$1("design:type", String)
|
|
505
515
|
], RichTranslationModel.prototype, "translation", void 0);
|
|
506
516
|
|
|
517
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
518
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
519
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
520
|
+
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;
|
|
521
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
522
|
+
};
|
|
523
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
524
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
525
|
+
};
|
|
507
526
|
class TranslationModel {
|
|
508
|
-
lang = "";
|
|
509
|
-
translation = "";
|
|
510
527
|
constructor(data) {
|
|
528
|
+
this.lang = "";
|
|
529
|
+
this.translation = "";
|
|
511
530
|
if (data)
|
|
512
531
|
Object.assign(this, data);
|
|
513
532
|
}
|
|
@@ -519,18 +538,16 @@ __decorate([
|
|
|
519
538
|
func: ModelUtils.getLanguages
|
|
520
539
|
}
|
|
521
540
|
}),
|
|
522
|
-
FormSerializable()
|
|
541
|
+
FormSerializable(),
|
|
542
|
+
__metadata("design:type", String)
|
|
523
543
|
], TranslationModel.prototype, "lang", void 0);
|
|
524
544
|
__decorate([
|
|
525
545
|
FormInput(),
|
|
526
|
-
FormSerializable()
|
|
546
|
+
FormSerializable(),
|
|
547
|
+
__metadata("design:type", String)
|
|
527
548
|
], TranslationModel.prototype, "translation", void 0);
|
|
528
549
|
|
|
529
550
|
class ConfigForSchemaWrap {
|
|
530
|
-
opts;
|
|
531
|
-
mode;
|
|
532
|
-
injector;
|
|
533
|
-
schema;
|
|
534
551
|
get labelPrefix() {
|
|
535
552
|
return this.opts.labelPrefix;
|
|
536
553
|
}
|
|
@@ -546,7 +563,6 @@ class ConfigForSchemaWrap {
|
|
|
546
563
|
get context() {
|
|
547
564
|
return this.opts.context;
|
|
548
565
|
}
|
|
549
|
-
fieldCustomizer;
|
|
550
566
|
constructor(opts, mode, injector, schema) {
|
|
551
567
|
this.opts = opts;
|
|
552
568
|
this.mode = mode;
|
|
@@ -625,12 +641,6 @@ function getFormValidationErrors(controls, parentPath = "") {
|
|
|
625
641
|
}
|
|
626
642
|
|
|
627
643
|
class DynamicFormBuilderService {
|
|
628
|
-
injector;
|
|
629
|
-
events;
|
|
630
|
-
api;
|
|
631
|
-
languages;
|
|
632
|
-
defaultNumericStep;
|
|
633
|
-
language;
|
|
634
644
|
constructor(injector, events, api, languages, defaultNumericStep) {
|
|
635
645
|
this.injector = injector;
|
|
636
646
|
this.events = events;
|
|
@@ -873,7 +883,7 @@ class DynamicFormBuilderService {
|
|
|
873
883
|
wrappers: ["form-group"],
|
|
874
884
|
fieldGroup: items,
|
|
875
885
|
className: "dynamic-form-field dynamic-form-group",
|
|
876
|
-
defaultValue:
|
|
886
|
+
defaultValue: {},
|
|
877
887
|
hooks: {},
|
|
878
888
|
expressions
|
|
879
889
|
};
|
|
@@ -906,7 +916,7 @@ class DynamicFormBuilderService {
|
|
|
906
916
|
...items.props,
|
|
907
917
|
label: "",
|
|
908
918
|
},
|
|
909
|
-
defaultValue:
|
|
919
|
+
defaultValue: props.type === "json" ? {} : "",
|
|
910
920
|
hooks: {},
|
|
911
921
|
expressions
|
|
912
922
|
};
|
|
@@ -1107,8 +1117,8 @@ class DynamicFormBuilderService {
|
|
|
1107
1117
|
});
|
|
1108
1118
|
return field;
|
|
1109
1119
|
}
|
|
1110
|
-
static
|
|
1111
|
-
static
|
|
1120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", 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 }); }
|
|
1121
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormBuilderService }); }
|
|
1112
1122
|
}
|
|
1113
1123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormBuilderService, decorators: [{
|
|
1114
1124
|
type: Injectable
|
|
@@ -1125,9 +1135,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
1125
1135
|
|
|
1126
1136
|
const PRIORITY_DIFF = 20;
|
|
1127
1137
|
class DynamicFormSchemaService {
|
|
1128
|
-
openApi;
|
|
1129
|
-
injector;
|
|
1130
|
-
builder;
|
|
1131
1138
|
get api() {
|
|
1132
1139
|
return this.openApi.api;
|
|
1133
1140
|
}
|
|
@@ -1196,7 +1203,6 @@ class DynamicFormSchemaService {
|
|
|
1196
1203
|
return !field ? [] : options.customize(field, property, schema);
|
|
1197
1204
|
}
|
|
1198
1205
|
async getFormFieldForProp(property, options, parent) {
|
|
1199
|
-
console.log(property, property.id);
|
|
1200
1206
|
switch (property.type) {
|
|
1201
1207
|
case "object":
|
|
1202
1208
|
return this.getFormEditorConfig(property, options, parent);
|
|
@@ -1548,18 +1554,14 @@ class DynamicFormSchemaService {
|
|
|
1548
1554
|
validators.enum = enumValidation(items.enum);
|
|
1549
1555
|
}
|
|
1550
1556
|
}
|
|
1551
|
-
static
|
|
1552
|
-
static
|
|
1557
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormSchemaService, deps: [{ token: i2.OpenApiService }, { token: i0.Injector }, { token: DynamicFormBuilderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1558
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormSchemaService }); }
|
|
1553
1559
|
}
|
|
1554
1560
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormSchemaService, decorators: [{
|
|
1555
1561
|
type: Injectable
|
|
1556
1562
|
}], ctorParameters: () => [{ type: i2.OpenApiService }, { type: i0.Injector }, { type: DynamicFormBuilderService }] });
|
|
1557
1563
|
|
|
1558
1564
|
class DynamicFormService {
|
|
1559
|
-
fs;
|
|
1560
|
-
fb;
|
|
1561
|
-
injector;
|
|
1562
|
-
api;
|
|
1563
1565
|
constructor(fs, fb, injector, api) {
|
|
1564
1566
|
this.fs = fs;
|
|
1565
1567
|
this.fb = fb;
|
|
@@ -1714,8 +1716,8 @@ class DynamicFormService {
|
|
|
1714
1716
|
}
|
|
1715
1717
|
});
|
|
1716
1718
|
}
|
|
1717
|
-
static
|
|
1718
|
-
static
|
|
1719
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormService, deps: [{ token: DynamicFormSchemaService }, { token: DynamicFormBuilderService }, { token: i0.Injector }, { token: API_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1720
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormService }); }
|
|
1719
1721
|
}
|
|
1720
1722
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormService, decorators: [{
|
|
1721
1723
|
type: Injectable
|
|
@@ -1726,10 +1728,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
1726
1728
|
|
|
1727
1729
|
const templateTypes = ["control", "label", "input", "prefix", "suffix"];
|
|
1728
1730
|
class DynamicFormTemplateService {
|
|
1729
|
-
globalTemplates;
|
|
1730
|
-
templatesUpdated;
|
|
1731
|
-
templates;
|
|
1732
|
-
globalTemplatePrefix;
|
|
1733
1731
|
get globalPrefix() {
|
|
1734
1732
|
return this.globalTemplatePrefix;
|
|
1735
1733
|
}
|
|
@@ -1770,28 +1768,14 @@ class DynamicFormTemplateService {
|
|
|
1770
1768
|
this.templates.get(type).delete(key);
|
|
1771
1769
|
this.templatesUpdated.next();
|
|
1772
1770
|
}
|
|
1773
|
-
static
|
|
1774
|
-
static
|
|
1771
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplateService, deps: [{ token: i2.GlobalTemplateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1772
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplateService }); }
|
|
1775
1773
|
}
|
|
1776
1774
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplateService, decorators: [{
|
|
1777
1775
|
type: Injectable
|
|
1778
1776
|
}], ctorParameters: () => [{ type: i2.GlobalTemplateService }] });
|
|
1779
1777
|
|
|
1780
1778
|
class AsyncSubmitDirective extends AsyncMethodBase {
|
|
1781
|
-
method = input(null, { alias: "async-submit" });
|
|
1782
|
-
mode = input("click");
|
|
1783
|
-
form = input();
|
|
1784
|
-
renderer = inject(Renderer2);
|
|
1785
|
-
elem = inject(ElementRef);
|
|
1786
|
-
status = computed(() => {
|
|
1787
|
-
const form = this.form();
|
|
1788
|
-
return form?.status() || null;
|
|
1789
|
-
});
|
|
1790
|
-
group = computed(() => {
|
|
1791
|
-
const form = this.form();
|
|
1792
|
-
return form?.group() || null;
|
|
1793
|
-
});
|
|
1794
|
-
callback = signal(null);
|
|
1795
1779
|
get isDisabled() {
|
|
1796
1780
|
return this.status() !== "VALID";
|
|
1797
1781
|
}
|
|
@@ -1800,6 +1784,20 @@ class AsyncSubmitDirective extends AsyncMethodBase {
|
|
|
1800
1784
|
}
|
|
1801
1785
|
constructor() {
|
|
1802
1786
|
super();
|
|
1787
|
+
this.method = input(null, { alias: "async-submit" });
|
|
1788
|
+
this.mode = input("click");
|
|
1789
|
+
this.form = input();
|
|
1790
|
+
this.renderer = inject(Renderer2);
|
|
1791
|
+
this.elem = inject(ElementRef);
|
|
1792
|
+
this.status = computed(() => {
|
|
1793
|
+
const form = this.form();
|
|
1794
|
+
return form?.status() || null;
|
|
1795
|
+
});
|
|
1796
|
+
this.group = computed(() => {
|
|
1797
|
+
const form = this.form();
|
|
1798
|
+
return form?.group() || null;
|
|
1799
|
+
});
|
|
1800
|
+
this.callback = signal(null);
|
|
1803
1801
|
if (this.elem.nativeElement.tagName === "BUTTON") {
|
|
1804
1802
|
this.renderer.setAttribute(this.elem.nativeElement, "type", "button");
|
|
1805
1803
|
}
|
|
@@ -1842,10 +1840,10 @@ class AsyncSubmitDirective extends AsyncMethodBase {
|
|
|
1842
1840
|
getArgs(ev) {
|
|
1843
1841
|
return untracked(() => [this.form(), this.context(), ev]);
|
|
1844
1842
|
}
|
|
1845
|
-
static
|
|
1846
|
-
static
|
|
1843
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncSubmitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1844
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: AsyncSubmitDirective, isStandalone: false, selector: "[async-submit]", inputs: { method: { classPropertyName: "method", publicName: "async-submit", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.disabled": "this.isDisabled", "class.loading": "this.isLoading" } }, providers: [
|
|
1847
1845
|
{ provide: AsyncMethodBase, useExisting: AsyncSubmitDirective }
|
|
1848
|
-
], exportAs: ["async-submit"], usesInheritance: true, ngImport: i0 });
|
|
1846
|
+
], exportAs: ["async-submit"], usesInheritance: true, ngImport: i0 }); }
|
|
1849
1847
|
}
|
|
1850
1848
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: AsyncSubmitDirective, decorators: [{
|
|
1851
1849
|
type: Directive,
|
|
@@ -1866,19 +1864,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
1866
1864
|
}] } });
|
|
1867
1865
|
|
|
1868
1866
|
class DynamicFormTemplateDirective {
|
|
1869
|
-
templates;
|
|
1870
|
-
template;
|
|
1871
|
-
control;
|
|
1872
|
-
label;
|
|
1873
|
-
input;
|
|
1874
|
-
prefix;
|
|
1875
|
-
suffix;
|
|
1876
|
-
setPrefix;
|
|
1877
|
-
setSuffix;
|
|
1878
|
-
setting = null;
|
|
1879
1867
|
constructor(templates, template) {
|
|
1880
1868
|
this.templates = templates;
|
|
1881
1869
|
this.template = template;
|
|
1870
|
+
this.setting = null;
|
|
1882
1871
|
}
|
|
1883
1872
|
ngOnChanges() {
|
|
1884
1873
|
this.ngOnDestroy();
|
|
@@ -1904,8 +1893,8 @@ class DynamicFormTemplateDirective {
|
|
|
1904
1893
|
}
|
|
1905
1894
|
return null;
|
|
1906
1895
|
}
|
|
1907
|
-
static
|
|
1908
|
-
static
|
|
1896
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplateDirective, deps: [{ token: DynamicFormTemplateService, optional: true }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1897
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: DynamicFormTemplateDirective, isStandalone: false, selector: "ng-template[control],\n ng-template[label],\n ng-template[input],\n ng-template[prefix],\n ng-template[suffix],\n ng-template[setPrefix],\n ng-template[setSuffix]", inputs: { control: "control", label: "label", input: "input", prefix: "prefix", suffix: "suffix", setPrefix: "setPrefix", setSuffix: "setSuffix" }, usesOnChanges: true, ngImport: i0 }); }
|
|
1909
1898
|
}
|
|
1910
1899
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplateDirective, decorators: [{
|
|
1911
1900
|
type: Directive,
|
|
@@ -1938,11 +1927,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
1938
1927
|
}] } });
|
|
1939
1928
|
|
|
1940
1929
|
class DynamicFormTemplatePipe {
|
|
1941
|
-
templates;
|
|
1942
|
-
templatesUpdated;
|
|
1943
|
-
cachedKey;
|
|
1944
|
-
cachedType;
|
|
1945
|
-
cachedTemplate;
|
|
1946
1930
|
constructor(templates) {
|
|
1947
1931
|
this.templates = templates;
|
|
1948
1932
|
this.cachedKey = null;
|
|
@@ -1971,8 +1955,8 @@ class DynamicFormTemplatePipe {
|
|
|
1971
1955
|
}
|
|
1972
1956
|
return this.cachedTemplate;
|
|
1973
1957
|
}
|
|
1974
|
-
static
|
|
1975
|
-
static
|
|
1958
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplatePipe, deps: [{ token: DynamicFormTemplateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
1959
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplatePipe, isStandalone: false, name: "dynamicFormTemplate", pure: false }); }
|
|
1976
1960
|
}
|
|
1977
1961
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTemplatePipe, decorators: [{
|
|
1978
1962
|
type: Pipe,
|
|
@@ -1984,9 +1968,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
1984
1968
|
}], ctorParameters: () => [{ type: DynamicFormTemplateService }] });
|
|
1985
1969
|
|
|
1986
1970
|
class DynamicFieldType extends FieldType {
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1971
|
+
constructor() {
|
|
1972
|
+
super(...arguments);
|
|
1973
|
+
this.stateChanges = new Subject();
|
|
1974
|
+
this._errorState = false;
|
|
1975
|
+
this._focused = false;
|
|
1976
|
+
}
|
|
1990
1977
|
ngOnDestroy() {
|
|
1991
1978
|
delete this.formField?._control;
|
|
1992
1979
|
this.stateChanges.complete();
|
|
@@ -2073,8 +2060,8 @@ class DynamicFieldType extends FieldType {
|
|
|
2073
2060
|
};
|
|
2074
2061
|
}
|
|
2075
2062
|
}
|
|
2076
|
-
static
|
|
2077
|
-
static
|
|
2063
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFieldType, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2064
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DynamicFieldType, isStandalone: false, selector: "dynamic-field-type", usesInheritance: true, ngImport: i0, template: "", isInline: true }); }
|
|
2078
2065
|
}
|
|
2079
2066
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFieldType, decorators: [{
|
|
2080
2067
|
type: Component,
|
|
@@ -2086,76 +2073,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2086
2073
|
}] });
|
|
2087
2074
|
|
|
2088
2075
|
class DynamicFormComponent {
|
|
2089
|
-
forms;
|
|
2090
|
-
templates;
|
|
2091
|
-
builder = inject(DynamicFormBuilderService);
|
|
2092
|
-
events = inject(EventsService);
|
|
2093
|
-
languages = inject(LANGUAGE_SERVICE);
|
|
2094
|
-
globalTemplatePrefix = input("dynamic-form");
|
|
2095
|
-
labelPrefix = input("label");
|
|
2096
|
-
labelCustomizer = input(null);
|
|
2097
|
-
testId = input("form");
|
|
2098
|
-
useTabs = input(false);
|
|
2099
|
-
legacyLabels = input(false);
|
|
2100
|
-
data = input({});
|
|
2101
|
-
fields = input(null);
|
|
2102
|
-
options = {
|
|
2103
|
-
fieldChanges: new Subject(),
|
|
2104
|
-
formState: {
|
|
2105
|
-
injector: inject(Injector)
|
|
2106
|
-
}
|
|
2107
|
-
};
|
|
2108
|
-
fieldChanges = this.options.fieldChanges.pipe(map(changes => ({
|
|
2109
|
-
...changes,
|
|
2110
|
-
form: this
|
|
2111
|
-
})));
|
|
2112
|
-
init = this.fieldChanges.pipe(first());
|
|
2113
|
-
valueChanges = this.fieldChanges
|
|
2114
|
-
.pipe(filter(c => c.type === "valueChanges"));
|
|
2115
|
-
expressionChanges = this.fieldChanges
|
|
2116
|
-
.pipe(filter(c => c.type === "expressionChanges"));
|
|
2117
|
-
language = toSignal(this.events.languageChanged, {
|
|
2118
|
-
initialValue: this.languages.currentLanguage
|
|
2119
|
-
});
|
|
2120
|
-
enableTranslations = toSignal(this.events.translationsEnabled, {
|
|
2121
|
-
initialValue: this.languages.enableTranslations
|
|
2122
|
-
});
|
|
2123
|
-
config = computed(() => {
|
|
2124
|
-
const options = {
|
|
2125
|
-
labelPrefix: this.labelPrefix(),
|
|
2126
|
-
labelCustomizer: this.labelCustomizer(),
|
|
2127
|
-
legacyLabels: this.legacyLabels(),
|
|
2128
|
-
testId: this.testId(),
|
|
2129
|
-
};
|
|
2130
|
-
const defs = this.fields();
|
|
2131
|
-
const fields = Array.isArray(defs) ? defs : null;
|
|
2132
|
-
const constructor = this.data()?.constructor;
|
|
2133
|
-
const root = (Array.isArray(defs) ? null : defs) ?? this.builder.createFormGroup(null, parent => this.builder.createFieldSets(fields ?? this.builder.resolveFormFields(constructor, parent, options), parent, options), {
|
|
2134
|
-
label: "",
|
|
2135
|
-
hidden: false,
|
|
2136
|
-
useTabs: this.useTabs(),
|
|
2137
|
-
className: "dynamic-form-root-group"
|
|
2138
|
-
});
|
|
2139
|
-
return [root];
|
|
2140
|
-
});
|
|
2141
|
-
group = computed(() => {
|
|
2142
|
-
this.config();
|
|
2143
|
-
return new FormGroup$1({});
|
|
2144
|
-
});
|
|
2145
|
-
status$ = rxResource({
|
|
2146
|
-
request: () => this.group(),
|
|
2147
|
-
loader: p => controlStatus(p.request),
|
|
2148
|
-
defaultValue: "PENDING"
|
|
2149
|
-
});
|
|
2150
|
-
status = computed(() => this.status$.value());
|
|
2151
|
-
onSubmit = output();
|
|
2152
|
-
onFieldChanges = outputFromObservable(this.fieldChanges);
|
|
2153
|
-
onValueChanges = outputFromObservable(this.valueChanges);
|
|
2154
|
-
onExpressionChanges = outputFromObservable(this.expressionChanges);
|
|
2155
|
-
onInit = outputFromObservable(this.init);
|
|
2156
2076
|
constructor(forms, templates) {
|
|
2157
2077
|
this.forms = forms;
|
|
2158
2078
|
this.templates = templates;
|
|
2079
|
+
this.builder = inject(DynamicFormBuilderService);
|
|
2080
|
+
this.events = inject(EventsService);
|
|
2081
|
+
this.languages = inject(LANGUAGE_SERVICE);
|
|
2082
|
+
this.globalTemplatePrefix = input("dynamic-form");
|
|
2083
|
+
this.labelPrefix = input("label");
|
|
2084
|
+
this.labelCustomizer = input(null);
|
|
2085
|
+
this.testId = input("form");
|
|
2086
|
+
this.useTabs = input(false);
|
|
2087
|
+
this.legacyLabels = input(false);
|
|
2088
|
+
this.data = input({});
|
|
2089
|
+
this.fields = input(null);
|
|
2090
|
+
this.options = {
|
|
2091
|
+
fieldChanges: new Subject(),
|
|
2092
|
+
formState: {
|
|
2093
|
+
injector: inject(Injector)
|
|
2094
|
+
}
|
|
2095
|
+
};
|
|
2096
|
+
this.fieldChanges = this.options.fieldChanges.pipe(map(changes => ({
|
|
2097
|
+
...changes,
|
|
2098
|
+
form: this
|
|
2099
|
+
})));
|
|
2100
|
+
this.init = this.fieldChanges.pipe(first());
|
|
2101
|
+
this.valueChanges = this.fieldChanges
|
|
2102
|
+
.pipe(filter(c => c.type === "valueChanges"));
|
|
2103
|
+
this.expressionChanges = this.fieldChanges
|
|
2104
|
+
.pipe(filter(c => c.type === "expressionChanges"));
|
|
2105
|
+
this.language = toSignal(this.events.languageChanged, {
|
|
2106
|
+
initialValue: this.languages.currentLanguage
|
|
2107
|
+
});
|
|
2108
|
+
this.enableTranslations = toSignal(this.events.translationsEnabled, {
|
|
2109
|
+
initialValue: this.languages.enableTranslations
|
|
2110
|
+
});
|
|
2111
|
+
this.config = computed(() => {
|
|
2112
|
+
const options = {
|
|
2113
|
+
labelPrefix: this.labelPrefix(),
|
|
2114
|
+
labelCustomizer: this.labelCustomizer(),
|
|
2115
|
+
legacyLabels: this.legacyLabels(),
|
|
2116
|
+
testId: this.testId(),
|
|
2117
|
+
};
|
|
2118
|
+
const defs = this.fields();
|
|
2119
|
+
const fields = Array.isArray(defs) ? defs : null;
|
|
2120
|
+
const constructor = this.data()?.constructor;
|
|
2121
|
+
const root = (Array.isArray(defs) ? null : defs) ?? this.builder.createFormGroup(null, parent => this.builder.createFieldSets(fields ?? this.builder.resolveFormFields(constructor, parent, options), parent, options), {
|
|
2122
|
+
label: "",
|
|
2123
|
+
hidden: false,
|
|
2124
|
+
useTabs: this.useTabs(),
|
|
2125
|
+
className: "dynamic-form-root-group"
|
|
2126
|
+
});
|
|
2127
|
+
return [root];
|
|
2128
|
+
});
|
|
2129
|
+
this.group = computed(() => {
|
|
2130
|
+
this.config();
|
|
2131
|
+
return new FormGroup$1({});
|
|
2132
|
+
});
|
|
2133
|
+
this.status$ = rxResource({
|
|
2134
|
+
request: () => this.group(),
|
|
2135
|
+
loader: p => controlStatus(p.request),
|
|
2136
|
+
defaultValue: "PENDING"
|
|
2137
|
+
});
|
|
2138
|
+
this.status = computed(() => this.status$.value());
|
|
2139
|
+
this.onSubmit = output();
|
|
2140
|
+
this.onFieldChanges = outputFromObservable(this.fieldChanges);
|
|
2141
|
+
this.onValueChanges = outputFromObservable(this.valueChanges);
|
|
2142
|
+
this.onExpressionChanges = outputFromObservable(this.expressionChanges);
|
|
2143
|
+
this.onInit = outputFromObservable(this.init);
|
|
2159
2144
|
effect(() => {
|
|
2160
2145
|
this.language();
|
|
2161
2146
|
this.enableTranslations();
|
|
@@ -2186,8 +2171,8 @@ class DynamicFormComponent {
|
|
|
2186
2171
|
const field = this.getField(path);
|
|
2187
2172
|
return field?.formControl ?? null;
|
|
2188
2173
|
}
|
|
2189
|
-
static
|
|
2190
|
-
static
|
|
2174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormComponent, deps: [{ token: DynamicFormService }, { token: DynamicFormTemplateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicFormComponent, isStandalone: false, selector: "dynamic-form", inputs: { globalTemplatePrefix: { classPropertyName: "globalTemplatePrefix", publicName: "globalTemplatePrefix", isSignal: true, isRequired: false, transformFunction: null }, labelPrefix: { classPropertyName: "labelPrefix", publicName: "labelPrefix", isSignal: true, isRequired: false, transformFunction: null }, labelCustomizer: { classPropertyName: "labelCustomizer", publicName: "labelCustomizer", isSignal: true, isRequired: false, transformFunction: null }, testId: { classPropertyName: "testId", publicName: "testId", isSignal: true, isRequired: false, transformFunction: null }, useTabs: { classPropertyName: "useTabs", publicName: "useTabs", isSignal: true, isRequired: false, transformFunction: null }, legacyLabels: { classPropertyName: "legacyLabels", publicName: "legacyLabels", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, fields: { classPropertyName: "fields", publicName: "fields", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSubmit: "onSubmit", onFieldChanges: "onFieldChanges", onValueChanges: "onValueChanges", onExpressionChanges: "onExpressionChanges", onInit: "onInit" }, providers: [DynamicFormTemplateService], ngImport: i0, template: "@if (config() && group()) {\n <form [formGroup]=\"group()\" (ngSubmit)=\"submit()\" autocomplete=\"off\" role=\"presentation\">\n <input type=\"submit\" [hidden]=\"true\" />\n <formly-form [model]=\"data()\"\n [fields]=\"config()\"\n [form]=\"group()\"\n [options]=\"options\"></formly-form>\n <ng-content></ng-content>\n </form>\n}\n", styles: [".dynamic-form-field.dynamic-form-hidden{display:none}.dynamic-form-field>.field-label{position:relative}.dynamic-form-field>.field-label>.field-description{font-size:.95em;font-weight:400;color:#777;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.LegacyFormlyForm, selector: "formly-form" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2191
2176
|
}
|
|
2192
2177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormComponent, decorators: [{
|
|
2193
2178
|
type: Component,
|
|
@@ -2195,7 +2180,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2195
2180
|
}], ctorParameters: () => [{ type: DynamicFormService }, { type: DynamicFormTemplateService }] });
|
|
2196
2181
|
|
|
2197
2182
|
class DynamicFormArrayComponent extends FieldArrayType {
|
|
2198
|
-
|
|
2183
|
+
constructor() {
|
|
2184
|
+
super(...arguments);
|
|
2185
|
+
this.currentTab = signal(0);
|
|
2186
|
+
}
|
|
2199
2187
|
clearItems() {
|
|
2200
2188
|
const control = this.formControl;
|
|
2201
2189
|
while (control.length > 0) {
|
|
@@ -2213,8 +2201,8 @@ class DynamicFormArrayComponent extends FieldArrayType {
|
|
|
2213
2201
|
const length = this.field.fieldGroup.length;
|
|
2214
2202
|
this.currentTab.set(Math.min(this.currentTab(), length - 1));
|
|
2215
2203
|
}
|
|
2216
|
-
static
|
|
2217
|
-
static
|
|
2204
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormArrayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2205
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicFormArrayComponent, isStandalone: false, selector: "dynamic-form-array", usesInheritance: true, ngImport: i0, template: "@let label = !props.label || props.hideLabel ? null : props.label | translate;\n@if (field.display) {\n @if (label) {\n <label class=\"field-label\">\n <span [innerHTML]=\"label | safe: 'html'\"></span>\n <p class=\"field-description\" *ngIf=\"props.description\">{{ props.description | translate }}</p>\n @if (props.markRequired) {\n <span class=\"field-required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n <div class=\"field-container\">\n <tabs class=\"form-array-items\" [(value)]=\"currentTab\">\n @for (itemField of field.fieldGroup; track itemField.key; let ix = $index) {\n <ng-template #fieldContent>\n <div class=\"form-array-buttons\">\n @if (itemField.removeItem) {\n <btn icon=\"trash\" [attr.data-testid]=\"field.testId + '-remove-item-' + ix\" (click)=\"removeItem(ix)\"></btn>\n }\n @if (itemField.insertItem) {\n <btn icon=\"plus\" [attr.data-testid]=\"field.testId + '-insert-item-' + ix\" (click)=\"addItem(ix)\"></btn>\n }\n </div>\n <formly-field [field]=\"itemField\"></formly-field>\n </ng-template>\n @if (props.useTabs) {\n <div class=\"form-array-item\"\n [tabsItem]=\"ix\"\n [label]=\"(itemField.formControl.value | getValue : props.tabsLabel) || ix + 1\">\n <ng-container [ngTemplateOutlet]=\"fieldContent\"></ng-container>\n </div>\n } @else {\n <div class=\"form-array-item\">\n <ng-container [ngTemplateOutlet]=\"fieldContent\"></ng-container>\n </div>\n }\n }\n </tabs>\n\n <div class=\"form-array-buttons\">\n @if (props.clearItems) {\n <btn [attr.data-testid]=\"field.testId + '-clear-items'\" icon=\"trash\" label=\"button.clear-items\" (click)=\"clearItems()\"></btn>\n }\n @if (props.addItem) {\n <btn [attr.data-testid]=\"field.testId + '-add-item'\" icon=\"plus\" label=\"button.insert-item\" (click)=\"addItem()\"></btn>\n }\n </div>\n\n <div *ngIf=\"showError\" class=\"field-errors invalid-feedback\">\n <formly-validation-message\n [field]=\"field\"\n id=\"{{ id }}-formly-validation-error\"\n role=\"alert\"\n ></formly-validation-message>\n </div>\n </div>\n}\n", styles: [".form-array-item.hidden-tab{display:none}.form-array-buttons{display:flex;gap:5px;margin-bottom:5px}.field-errors.invalid-feedback{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TabsItemDirective, selector: "[tabsItem]", inputs: ["tabsItem", "label", "tooltip", "icon", "disabled", "path", "classes"] }, { kind: "component", type: i2.BtnComponent, selector: "btn", inputs: ["label", "tooltip", "icon", "disabled", "path", "type", "size"] }, { kind: "component", type: i2.TabsComponent, selector: "tabs", inputs: ["value", "options", "type", "size", "testId", "tabsClass"], outputs: ["valueChange", "selectedChange"] }, { kind: "component", type: i3.LegacyFormlyField, selector: "formly-field" }, { kind: "component", type: i3.LegacyFormlyValidationMessage, selector: "formly-validation-message" }, { kind: "pipe", type: i2.GetValuePipe, name: "getValue" }, { kind: "pipe", type: i2.SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2218
2206
|
}
|
|
2219
2207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormArrayComponent, decorators: [{
|
|
2220
2208
|
type: Component,
|
|
@@ -2222,8 +2210,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2222
2210
|
}] });
|
|
2223
2211
|
|
|
2224
2212
|
class DynamicFormChipsComponent extends DynamicFieldType {
|
|
2225
|
-
static
|
|
2226
|
-
static
|
|
2213
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormChipsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2214
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DynamicFormChipsComponent, isStandalone: false, selector: "dynamic-form-chips", usesInheritance: true, ngImport: i0, 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", dependencies: [{ 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.ChipsComponent, selector: "chips", inputs: ["testId", "value", "multiple", "disabled", "type", "min", "max", "minLength", "maxLength", "step", "placeholder", "unique", "strict", "options"], outputs: ["valueChange"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.LegacyFormlySelectOptionsPipe, name: "formlySelectOptions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2227
2215
|
}
|
|
2228
2216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormChipsComponent, decorators: [{
|
|
2229
2217
|
type: Component,
|
|
@@ -2231,8 +2219,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2231
2219
|
}] });
|
|
2232
2220
|
|
|
2233
2221
|
class DynamicFormEditorComponent extends DynamicFieldType {
|
|
2234
|
-
static
|
|
2235
|
-
static
|
|
2222
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2223
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DynamicFormEditorComponent, isStandalone: false, selector: "dynamic-form-editor", usesInheritance: true, ngImport: i0, template: "<code-editor [lang]=\"props.type\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n</code-editor>\n", dependencies: [{ 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.CodeEditorComponent, selector: "code-editor", inputs: ["value", "lang", "disabled"], outputs: ["valueChange"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2236
2224
|
}
|
|
2237
2225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormEditorComponent, decorators: [{
|
|
2238
2226
|
type: Component,
|
|
@@ -2240,11 +2228,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2240
2228
|
}] });
|
|
2241
2229
|
|
|
2242
2230
|
class DynamicFormPasswordComponent extends DynamicFieldType {
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2231
|
+
constructor() {
|
|
2232
|
+
super(...arguments);
|
|
2233
|
+
this.type = signal("password");
|
|
2234
|
+
this.icon = computed(() => {
|
|
2235
|
+
return this.type() === "password" ? "eye" : "eye-slash";
|
|
2236
|
+
});
|
|
2237
|
+
this.input = viewChild.required("input");
|
|
2238
|
+
}
|
|
2248
2239
|
switchType() {
|
|
2249
2240
|
const el = this.input().nativeElement;
|
|
2250
2241
|
const start = el.selectionStart;
|
|
@@ -2255,8 +2246,8 @@ class DynamicFormPasswordComponent extends DynamicFieldType {
|
|
|
2255
2246
|
el.setSelectionRange(start, end);
|
|
2256
2247
|
});
|
|
2257
2248
|
}
|
|
2258
|
-
static
|
|
2259
|
-
static
|
|
2249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormPasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2250
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.22", 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", "path", "type", "size"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2260
2251
|
}
|
|
2261
2252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormPasswordComponent, decorators: [{
|
|
2262
2253
|
type: Component,
|
|
@@ -2264,8 +2255,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2264
2255
|
}] });
|
|
2265
2256
|
|
|
2266
2257
|
class DynamicFormStaticComponent extends DynamicFieldType {
|
|
2267
|
-
static
|
|
2268
|
-
static
|
|
2258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormStaticComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", 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 }); }
|
|
2269
2260
|
}
|
|
2270
2261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormStaticComponent, decorators: [{
|
|
2271
2262
|
type: Component,
|
|
@@ -2273,9 +2264,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2273
2264
|
}] });
|
|
2274
2265
|
|
|
2275
2266
|
class DynamicFormTranslationComponent extends DynamicFormArrayComponent {
|
|
2276
|
-
events;
|
|
2277
|
-
language;
|
|
2278
|
-
subscription;
|
|
2279
2267
|
constructor(events, language) {
|
|
2280
2268
|
super();
|
|
2281
2269
|
this.events = events;
|
|
@@ -2301,8 +2289,8 @@ class DynamicFormTranslationComponent extends DynamicFormArrayComponent {
|
|
|
2301
2289
|
}
|
|
2302
2290
|
this.currentTab.set(index);
|
|
2303
2291
|
}
|
|
2304
|
-
static
|
|
2305
|
-
static
|
|
2292
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTranslationComponent, deps: [{ token: i2.EventsService }, { token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2293
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicFormTranslationComponent, isStandalone: false, selector: "dynamic-form-translation", usesInheritance: true, ngImport: i0, template: "@if (field.display) {\n @if (props.label && props.hideLabel !== true) {\n <label class=\"field-label\">\n {{ props.label | translate }}\n <p class=\"field-description\" *ngIf=\"props.description\">{{ props.description | translate }}</p>\n @if (props.markRequired) {\n <span class=\"field-required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n <div class=\"field-container\">\n @for (itemField of field.fieldGroup; track itemField.key; let ix = $index) {\n @if (ix === currentTab()) {\n <formly-field [field]=\"itemField\"></formly-field>\n }\n }\n\n <div *ngIf=\"showError\" class=\"field-errors invalid-feedback\">\n <formly-validation-message\n [field]=\"field\"\n id=\"{{ id }}-formly-validation-error\"\n role=\"alert\"\n ></formly-validation-message>\n </div>\n </div>\n}\n", styles: [".form-array-item.hidden-tab{display:none}.form-array-buttons{display:flex;gap:5px;margin-bottom:5px}.field-errors.invalid-feedback{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.LegacyFormlyField, selector: "formly-field" }, { kind: "component", type: i3.LegacyFormlyValidationMessage, selector: "formly-validation-message" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2306
2294
|
}
|
|
2307
2295
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormTranslationComponent, decorators: [{
|
|
2308
2296
|
type: Component,
|
|
@@ -2313,8 +2301,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2313
2301
|
}] }] });
|
|
2314
2302
|
|
|
2315
2303
|
class DynamicFormUploadComponent extends DynamicFieldType {
|
|
2316
|
-
static
|
|
2317
|
-
static
|
|
2304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormUploadComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DynamicFormUploadComponent, isStandalone: false, selector: "dynamic-form-upload", usesInheritance: true, ngImport: i0, template: "<upload [formControl]=\"formControl\"\n [multiple]=\"props.multiple\"\n [inline]=\"props.inline\"\n [accept]=\"props.accept\"\n [baseUrl]=\"props.url\"\n [makeUpload]=\"props.createUploadData\"\n [formlyAttributes]=\"field\">\n</upload>\n", dependencies: [{ 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.UploadComponent, selector: "upload", inputs: ["value", "disabled", "inline", "accept", "baseUrl", "message", "multiple", "buttonText", "makeUpload", "preProcess"], outputs: ["onUploaded", "onRemove"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2318
2306
|
}
|
|
2319
2307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormUploadComponent, decorators: [{
|
|
2320
2308
|
type: Component,
|
|
@@ -2322,8 +2310,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2322
2310
|
}] });
|
|
2323
2311
|
|
|
2324
2312
|
class DynamicFormWysiwygComponent extends DynamicFieldType {
|
|
2325
|
-
static
|
|
2326
|
-
static
|
|
2313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormWysiwygComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2314
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DynamicFormWysiwygComponent, isStandalone: false, selector: "dynamic-form-wysiwyg", usesInheritance: true, ngImport: i0, template: "<wysiwyg [formControl]=\"formControl\"\n [formlyAttributes]=\"field\">\n</wysiwyg>\n", dependencies: [{ 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.WysiwygComponent, selector: "wysiwyg", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2327
2315
|
}
|
|
2328
2316
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormWysiwygComponent, decorators: [{
|
|
2329
2317
|
type: Component,
|
|
@@ -2334,8 +2322,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2334
2322
|
* This is just a test wrapper component
|
|
2335
2323
|
*/
|
|
2336
2324
|
class DynamicFormAlertComponent extends FieldWrapper {
|
|
2337
|
-
static
|
|
2338
|
-
static
|
|
2325
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormAlertComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2326
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.22", type: DynamicFormAlertComponent, isStandalone: false, selector: "dynamic-form-alert", usesInheritance: true, ngImport: i0, template: "<div class=\"dynamic-form-alert\">\n <ng-container #fieldComponent></ng-container>\n</div>\n", styles: [".dynamic-form-alert{border:2px dashed red;width:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2339
2327
|
}
|
|
2340
2328
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormAlertComponent, decorators: [{
|
|
2341
2329
|
type: Component,
|
|
@@ -2343,8 +2331,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2343
2331
|
}] });
|
|
2344
2332
|
|
|
2345
2333
|
class DynamicFormFieldComponent extends FieldWrapper {
|
|
2346
|
-
static
|
|
2347
|
-
static
|
|
2334
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2335
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicFormFieldComponent, isStandalone: false, selector: "dynamic-form-field", usesInheritance: true, ngImport: i0, template: "<ng-template #innerLabelTemplate let-label=\"label\">\n <label class=\"field-label\" [for]=\"id\">\n <span [innerHTML]=\"label | safe: 'html'\"></span>\n @if (props.markRequired) {\n <span class=\"field-required\" aria-hidden=\"true\">*</span>\n }\n @if (props.description) {\n <p class=\"field-description\" [innerHTML]=\"props.description | translate | safe: 'html'\"></p>\n }\n </label>\n</ng-template>\n<ng-template #labelTemplate>\n @let label = !props.label || props.hideLabel ? null : props.label | translate;\n @if (label) {\n <ng-container [ngxTemplateOutlet]=\"(field | dynamicFormTemplate : 'label') || innerLabelTemplate\"\n [context]=\"field\"\n [additionalContext]=\"{label: label}\"></ng-container>\n }\n</ng-template>\n<ng-template #inputTemplate>\n <ng-container #fieldComponent></ng-container>\n</ng-template>\n<ng-template #controlTemplate>\n <ng-container [ngTemplateOutlet]=\"field | dynamicFormTemplate : 'prefix'\"\n [ngTemplateOutletContext]=\"field\"></ng-container>\n @if (props.labelAlign === \"before\") {\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n }\n <div class=\"field-container\">\n <ng-container [ngTemplateOutlet]=\"(field | dynamicFormTemplate : 'input') || inputTemplate\"\n [ngTemplateOutletContext]=\"field\"></ng-container>\n <div *ngIf=\"showError\" class=\"field-errors invalid-feedback\">\n <formly-validation-message\n [field]=\"field\"\n [id]=\"id + '-formly-validation-error'\"\n role=\"alert\"\n ></formly-validation-message>\n </div>\n </div>\n @if (props.labelAlign === \"after\") {\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n }\n <ng-container [ngTemplateOutlet]=\"field | dynamicFormTemplate : 'suffix'\"\n [ngTemplateOutletContext]=\"field\"></ng-container>\n</ng-template>\n<ng-container [ngTemplateOutlet]=\"(field | dynamicFormTemplate : 'control') || controlTemplate\"\n [ngTemplateOutletContext]=\"field\"></ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "component", type: i3.LegacyFormlyValidationMessage, selector: "formly-validation-message" }, { kind: "pipe", type: i2.SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: DynamicFormTemplatePipe, name: "dynamicFormTemplate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2348
2336
|
}
|
|
2349
2337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormFieldComponent, decorators: [{
|
|
2350
2338
|
type: Component,
|
|
@@ -2352,8 +2340,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
|
|
|
2352
2340
|
}] });
|
|
2353
2341
|
|
|
2354
2342
|
class DynamicFormFieldsetComponent extends FieldWrapper {
|
|
2355
|
-
static
|
|
2356
|
-
static
|
|
2343
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormFieldsetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2344
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicFormFieldsetComponent, isStandalone: false, selector: "dynamic-form-fieldset", usesInheritance: true, ngImport: i0, template: "@let label = !props.label || props.hideLabel || field.parent.props.useTabs ? null : props.label | translate;\r\n@if (field.display) {\r\n <ng-container [ngTemplateOutlet]=\"field | dynamicFormTemplate : 'prefix'\"\r\n [ngTemplateOutletContext]=\"field\"></ng-container>\r\n <legend class=\"field-legend\" *ngIf=\"label\">\r\n <span [innerHTML]=\"label | safe: 'html'\"></span>\r\n </legend>\r\n <div class=\"field-container\">\r\n @for (itemField of field.fieldGroup; track itemField) {\r\n @if (itemField.display) {\r\n <formly-field [field]=\"itemField\"></formly-field>\r\n }\r\n }\r\n </div>\r\n <ng-container [ngTemplateOutlet]=\"field | dynamicFormTemplate : 'suffix'\"\r\n [ngTemplateOutletContext]=\"field\"></ng-container>\r\n}\r\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.LegacyFormlyField, selector: "formly-field" }, { kind: "pipe", type: i2.SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: DynamicFormTemplatePipe, name: "dynamicFormTemplate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2357
2345
|
}
|
|
2358
2346
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormFieldsetComponent, decorators: [{
|
|
2359
2347
|
type: Component,
|
|
@@ -2364,8 +2352,8 @@ class DynamicFormGroupComponent extends FieldWrapper {
|
|
|
2364
2352
|
get parent() {
|
|
2365
2353
|
return this.field?.parent;
|
|
2366
2354
|
}
|
|
2367
|
-
static
|
|
2368
|
-
static
|
|
2355
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2356
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: DynamicFormGroupComponent, isStandalone: false, selector: "dynamic-form-group", usesInheritance: true, ngImport: i0, template: "<ng-template #innerLabelTemplate let-label=\"label\">\r\n <label class=\"field-label\" [for]=\"id\">\r\n <span [innerHTML]=\"label | safe: 'html'\"></span>\r\n @if (props.markRequired) {\r\n <span class=\"field-required\" aria-hidden=\"true\">*</span>\r\n }\r\n @if (props.description) {\r\n <p class=\"field-description\" [innerHTML]=\"props.description | translate | safe: 'html'\"></p>\r\n }\r\n </label>\r\n</ng-template>\r\n<ng-template #labelTemplate>\r\n @let label = !props.label || props.hideLabel || parent?.props?.useTabs ? null : props.label | translate;\r\n @if (label) {\r\n <ng-container [ngxTemplateOutlet]=\"(field | dynamicFormTemplate : 'label') || innerLabelTemplate\"\r\n [context]=\"field\"\r\n [additionalContext]=\"{label: label}\"></ng-container>\r\n }\r\n</ng-template>\r\n@if (field.display) {\r\n @if (props.labelAlign === \"before\") {\r\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\r\n }\r\n <tabs class=\"field-container\" [testId]=\"(field.testId || 'form') + '-tab'\">\r\n @for (itemField of field.fieldGroup; track itemField) {\r\n @if (itemField.display) {\r\n @if (props.useTabs && itemField.fieldGroup) {\r\n <div class=\"form-fieldset-item\"\r\n [tabsItem]=\"itemField.id\"\r\n [classes]=\"['form-fieldset-tab', itemField.valid === false ? 'invalid' : 'valid']\"\r\n [label]=\"itemField.props.label\">\r\n <formly-field [field]=\"itemField\"></formly-field>\r\n </div>\r\n } @else {\r\n <formly-field [field]=\"itemField\"></formly-field>\r\n }\r\n }\r\n }\r\n @if (showError && field.key !== null) {\r\n <div *ngIf=\"showError\" class=\"field-errors invalid-feedback\">\r\n <formly-validation-message\r\n [field]=\"field\"\r\n id=\"{{ id }}-formly-validation-error\"\r\n role=\"alert\"\r\n ></formly-validation-message>\r\n </div>\r\n }\r\n </tabs>\r\n @if (props.labelAlign === \"after\") {\r\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\r\n }\r\n}\r\n", styles: [".dynamic-form-group>.field-container{overflow:hidden}.form-fieldset-item.hidden-tab{display:none}.form-fieldset-tab{position:relative;--invalid-bg: rgba(184, 38, 38, 1);--invalid-border: rgba(184, 38, 38, .6);--invalid-color: #ececec;--invalid-box-size: 15px;--invalid-box-pull: -3px}.form-fieldset-tab.invalid>btn .async-target{border:1px solid var(--invalid-border)}.form-fieldset-tab.invalid:after{background:var(--invalid-bg);color:var(--invalid-color);font-size:10px;line-height:var(--invalid-box-size);width:var(--invalid-box-size);height:var(--invalid-box-size);text-align:center;border-radius:5px;content:\"!\";display:block;position:absolute;top:var(--invalid-box-pull);right:var(--invalid-box-pull)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "directive", type: i2.TabsItemDirective, selector: "[tabsItem]", inputs: ["tabsItem", "label", "tooltip", "icon", "disabled", "path", "classes"] }, { kind: "component", type: i2.TabsComponent, selector: "tabs", inputs: ["value", "options", "type", "size", "testId", "tabsClass"], outputs: ["valueChange", "selectedChange"] }, { kind: "component", type: i3.LegacyFormlyField, selector: "formly-field" }, { kind: "component", type: i3.LegacyFormlyValidationMessage, selector: "formly-validation-message" }, { kind: "pipe", type: i2.SafeHtmlPipe, name: "safe" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: DynamicFormTemplatePipe, name: "dynamicFormTemplate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2369
2357
|
}
|
|
2370
2358
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: DynamicFormGroupComponent, decorators: [{
|
|
2371
2359
|
type: Component,
|
|
@@ -2447,8 +2435,8 @@ class NgxDynamicFormModule {
|
|
|
2447
2435
|
static provideForms(config) {
|
|
2448
2436
|
return makeEnvironmentProviders(NgxDynamicFormModule.getProviders(config));
|
|
2449
2437
|
}
|
|
2450
|
-
static
|
|
2451
|
-
static
|
|
2438
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxDynamicFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2439
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: NgxDynamicFormModule, declarations: [DynamicFieldType, DynamicFormComponent, DynamicFormArrayComponent, DynamicFormChipsComponent, DynamicFormEditorComponent, DynamicFormPasswordComponent, DynamicFormStaticComponent, DynamicFormTranslationComponent, DynamicFormUploadComponent, DynamicFormWysiwygComponent, DynamicFormAlertComponent, DynamicFormFieldComponent, DynamicFormFieldsetComponent, DynamicFormGroupComponent, AsyncSubmitDirective, DynamicFormTemplateDirective, DynamicFormTemplatePipe], imports: [CommonModule,
|
|
2452
2440
|
FormsModule,
|
|
2453
2441
|
ReactiveFormsModule,
|
|
2454
2442
|
NgxUtilsModule,
|
|
@@ -2457,8 +2445,8 @@ class NgxDynamicFormModule {
|
|
|
2457
2445
|
ReactiveFormsModule,
|
|
2458
2446
|
NgxUtilsModule,
|
|
2459
2447
|
FormlyModule,
|
|
2460
|
-
FormlySelectModule] });
|
|
2461
|
-
static
|
|
2448
|
+
FormlySelectModule] }); }
|
|
2449
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxDynamicFormModule, providers: [
|
|
2462
2450
|
...pipes
|
|
2463
2451
|
], imports: [CommonModule,
|
|
2464
2452
|
FormsModule,
|
|
@@ -2469,7 +2457,7 @@ class NgxDynamicFormModule {
|
|
|
2469
2457
|
ReactiveFormsModule,
|
|
2470
2458
|
NgxUtilsModule,
|
|
2471
2459
|
FormlyModule,
|
|
2472
|
-
FormlySelectModule] });
|
|
2460
|
+
FormlySelectModule] }); }
|
|
2473
2461
|
}
|
|
2474
2462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: NgxDynamicFormModule, decorators: [{
|
|
2475
2463
|
type: NgModule,
|