@wemake4u/form-player-se 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/directives/date.directive.mjs +93 -0
- package/esm2022/lib/directives/disable.directive.mjs +18 -4
- package/esm2022/lib/directives/dropdown.directive.mjs +8 -7
- package/esm2022/lib/directives/number.directive.mjs +108 -0
- package/esm2022/lib/directives/repeat.directive.mjs +6 -2
- package/esm2022/lib/directives/tab.directive.mjs +5 -1
- package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +54 -19
- package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +18 -30
- package/esm2022/lib/locale/locale-it.mjs +7 -2
- package/esm2022/lib/services/programmability.service.mjs +21 -25
- package/esm2022/lib/services/proxy.service.mjs +1 -1
- package/esm2022/lib/utils/gridCells.mjs +64 -9
- package/esm2022/lib/utils/gridUtils.mjs +75 -0
- package/fesm2022/wemake4u-form-player-se.mjs +464 -101
- package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
- package/lib/directives/date.directive.d.ts +8 -0
- package/lib/directives/disable.directive.d.ts +5 -2
- package/lib/directives/dropdown.directive.d.ts +1 -1
- package/lib/directives/number.directive.d.ts +16 -0
- package/lib/dynamic-fields/dynamic-fields.component.d.ts +6 -1
- package/lib/dynamic-form/dynamic-form.component.d.ts +5 -1
- package/lib/locale/locale-it.d.ts +5 -0
- package/lib/services/programmability.service.d.ts +7 -3
- package/lib/services/proxy.service.d.ts +1 -0
- package/lib/utils/gridCells.d.ts +51 -2
- package/lib/utils/gridUtils.d.ts +4 -0
- package/package.json +1 -1
|
@@ -9,11 +9,11 @@ import { evaluate } from 'feelers';
|
|
|
9
9
|
import { evaluate as evaluate$1, unaryTest, parseExpression } from 'feelin';
|
|
10
10
|
import { shareReplay, takeUntil as takeUntil$1, map } from 'rxjs/operators';
|
|
11
11
|
import * as i1 from 'ngx-sirio-lib';
|
|
12
|
-
import { SirioInputComponent, SirioValidationDirective, SirioSelectComponent, SirioSelectOptionComponent, SirioSelectPanelComponent, SirioCheckboxGroupComponent, SirioCheckboxComponent, SirioDatepickerComponent, SirioTimepickerComponent, SirioRadioGroupComponent, SirioRadioButtonComponent, SirioTabComponent, SirioTabItemComponent, SirioAccordionComponent, SirioAccordionPanelComponent, SirioAccordionHeaderComponent, SirioAccordionBodyComponent,
|
|
12
|
+
import { SirioButtonComponent, SirioInputComponent, SirioValidationDirective, SirioSelectComponent, SirioSelectOptionComponent, SirioSelectPanelComponent, SirioCheckboxGroupComponent, SirioCheckboxComponent, SirioDatepickerComponent, SirioTimepickerComponent, SirioRadioGroupComponent, SirioRadioButtonComponent, SirioTabComponent, SirioTabItemComponent, SirioAccordionComponent, SirioAccordionPanelComponent, SirioAccordionHeaderComponent, SirioAccordionBodyComponent, SirioFileUploadComponent, SirioToggleComponent, SirioChipCheckboxGroupComponent, SirioChipRadioGroupComponent, SirioInputChipComponent, SirioTableModule, SirioAlertComponent, SirioAlertMessageComponent, SirioSliderComponent, SirioNotifyComponent, SirioNotifyBodyComponent, SirioTooltipDirective, SirioTableComponent, SirioPaginatorComponent, SirioNotifyActionComponent, SirioNotifyLinkComponent, SirioSidenavMobileComponent, SirioSidenavComponent, SirioSidenavItemComponent, SirioStepperProgressBarComponent, SirioStepperProgressItemComponent } from 'ngx-sirio-lib';
|
|
13
13
|
import { Datepicker } from 'vanillajs-datepicker';
|
|
14
14
|
import * as i1$2 from 'ag-grid-angular';
|
|
15
15
|
import { AgGridAngular } from 'ag-grid-angular';
|
|
16
|
-
import { ClientSideRowModelModule, InfiniteRowModelModule, PaginationModule, LocaleModule, CellStyleModule, ClientSideRowModelApiModule, TextFilterModule, NumberFilterModule, DateFilterModule, themeQuartz, iconSetAlpine } from 'ag-grid-community';
|
|
16
|
+
import { ClientSideRowModelModule, InfiniteRowModelModule, PaginationModule, LocaleModule, CellStyleModule, ClientSideRowModelApiModule, TextFilterModule, NumberFilterModule, DateFilterModule, ColumnAutoSizeModule, ColumnApiModule, ValidationModule, themeQuartz, iconSetAlpine } from 'ag-grid-community';
|
|
17
17
|
import { AG_GRID_LOCALE_IT } from '@ag-grid-community/locale';
|
|
18
18
|
import sanitizeHtml from 'sanitize-html';
|
|
19
19
|
import * as i1$3 from '@angular/platform-browser';
|
|
@@ -444,14 +444,14 @@ class ProgrammabilityService {
|
|
|
444
444
|
}
|
|
445
445
|
return value ?? "";
|
|
446
446
|
}
|
|
447
|
-
evaluateBoolean(formGroup, value) {
|
|
447
|
+
evaluateBoolean(formGroup, value, options = {}) {
|
|
448
448
|
if (typeof value === 'boolean') {
|
|
449
449
|
return value;
|
|
450
450
|
}
|
|
451
451
|
else if (typeof value === 'string') {
|
|
452
452
|
const strValue = value;
|
|
453
453
|
if (this.isExpression(strValue)) {
|
|
454
|
-
return this.evalExpression(formGroup, this.getExpression(strValue));
|
|
454
|
+
return this.evalExpression(formGroup, this.getExpression(strValue), options);
|
|
455
455
|
}
|
|
456
456
|
}
|
|
457
457
|
return null;
|
|
@@ -468,9 +468,9 @@ class ProgrammabilityService {
|
|
|
468
468
|
}
|
|
469
469
|
return null;
|
|
470
470
|
}
|
|
471
|
-
evaluate(formGroup, value,
|
|
471
|
+
evaluate(formGroup, value, options = {}) {
|
|
472
472
|
if (this.isExpression(value)) {
|
|
473
|
-
return this.evalExpression(formGroup, this.getExpression(value),
|
|
473
|
+
return this.evalExpression(formGroup, this.getExpression(value), options);
|
|
474
474
|
}
|
|
475
475
|
return null;
|
|
476
476
|
}
|
|
@@ -499,23 +499,24 @@ class ProgrammabilityService {
|
|
|
499
499
|
return null;
|
|
500
500
|
}
|
|
501
501
|
}
|
|
502
|
-
evalExpression(formGroup, expression,
|
|
502
|
+
evalExpression(formGroup, expression, options = {}) {
|
|
503
503
|
const evaluate = () => {
|
|
504
504
|
try {
|
|
505
|
-
return this.feelService.evalExpression(expression, this.getContext(formGroup));
|
|
505
|
+
return this.feelService.evalExpression(expression, this.getContext(formGroup, options));
|
|
506
506
|
}
|
|
507
507
|
catch (e) {
|
|
508
508
|
console.log(expression, e);
|
|
509
509
|
return null;
|
|
510
510
|
}
|
|
511
511
|
};
|
|
512
|
+
const cacheable = options.cacheable ?? this.cacheable;
|
|
512
513
|
if (cacheable) {
|
|
513
514
|
const watchKey = `:watch(${expression})`;
|
|
514
|
-
this.weakService.call(
|
|
515
|
-
this.watchExpression(formGroup, expression, () => this.weakService.invalidate(
|
|
515
|
+
this.weakService.call(this, watchKey, () => {
|
|
516
|
+
this.watchExpression(formGroup, expression, () => this.weakService.invalidate(this, expression));
|
|
516
517
|
return true;
|
|
517
518
|
});
|
|
518
|
-
return this.weakService.call(
|
|
519
|
+
return this.weakService.call(this, expression, evaluate);
|
|
519
520
|
}
|
|
520
521
|
else {
|
|
521
522
|
return evaluate();
|
|
@@ -529,7 +530,7 @@ class ProgrammabilityService {
|
|
|
529
530
|
return null;
|
|
530
531
|
}
|
|
531
532
|
}
|
|
532
|
-
createProxy(formGroup) {
|
|
533
|
+
createProxy(formGroup, proxyFn = null) {
|
|
533
534
|
if (!formGroup) {
|
|
534
535
|
return null;
|
|
535
536
|
}
|
|
@@ -544,6 +545,8 @@ class ProgrammabilityService {
|
|
|
544
545
|
notifyWarning: (message, delay) => this.toastService.notifyWarning(message, delay),
|
|
545
546
|
notifyError: (message, delay) => this.toastService.notifyError(message, delay)
|
|
546
547
|
};
|
|
548
|
+
if (proxyFn)
|
|
549
|
+
proxyFn(options);
|
|
547
550
|
return this.proxyService.getProxy(formGroup.value, options);
|
|
548
551
|
}
|
|
549
552
|
getParent(formGroup) {
|
|
@@ -553,9 +556,9 @@ class ProgrammabilityService {
|
|
|
553
556
|
}
|
|
554
557
|
return parent;
|
|
555
558
|
}
|
|
556
|
-
getContext(control) {
|
|
559
|
+
getContext(control, options = {}) {
|
|
557
560
|
const formGroup = control;
|
|
558
|
-
const context = this.createProxy(formGroup);
|
|
561
|
+
const context = this.createProxy(formGroup, options.proxyFn);
|
|
559
562
|
return context;
|
|
560
563
|
}
|
|
561
564
|
watchExpression(formGroup, expression, callback) {
|
|
@@ -565,22 +568,18 @@ class ProgrammabilityService {
|
|
|
565
568
|
}
|
|
566
569
|
;
|
|
567
570
|
watchDependencies(formGroup, dependencies, callback) {
|
|
568
|
-
const subscriptions = [];
|
|
569
|
-
const scopeName = "scope";
|
|
570
571
|
const parentName = "parent";
|
|
571
|
-
const
|
|
572
|
-
|
|
572
|
+
const subscribe = (control) => {
|
|
573
|
+
control.valueChanges
|
|
573
574
|
.pipe(takeUntil(this.destroy$))
|
|
574
575
|
.subscribe(() => {
|
|
575
576
|
setTimeout(() => {
|
|
576
577
|
callback();
|
|
577
578
|
});
|
|
578
|
-
})
|
|
579
|
+
});
|
|
579
580
|
};
|
|
580
581
|
for (const dependence of dependencies) {
|
|
581
582
|
if (Array.isArray(dependence)) {
|
|
582
|
-
if (dependence[0] === scopeName)
|
|
583
|
-
continue;
|
|
584
583
|
let targetForm = formGroup;
|
|
585
584
|
let controlPath = dependence;
|
|
586
585
|
while (controlPath.length > 0 && controlPath[0] === parentName) {
|
|
@@ -592,20 +591,17 @@ class ProgrammabilityService {
|
|
|
592
591
|
if (controlPath.length > 0 && targetForm) {
|
|
593
592
|
const control = targetForm.get(controlPath);
|
|
594
593
|
if (control) {
|
|
595
|
-
|
|
594
|
+
subscribe(control);
|
|
596
595
|
}
|
|
597
596
|
}
|
|
598
597
|
}
|
|
599
598
|
else {
|
|
600
|
-
if (dependence === scopeName)
|
|
601
|
-
continue;
|
|
602
599
|
const control = formGroup.get(dependence);
|
|
603
600
|
if (control) {
|
|
604
|
-
|
|
601
|
+
subscribe(control);
|
|
605
602
|
}
|
|
606
603
|
}
|
|
607
604
|
}
|
|
608
|
-
return subscriptions;
|
|
609
605
|
}
|
|
610
606
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService, deps: [{ token: FeelService }, { token: WeakService }, { token: ProxyService }, { token: ToastService }, { token: RegisterService, optional: true }, { token: ScopeService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
611
607
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService });
|
|
@@ -848,25 +844,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
848
844
|
|
|
849
845
|
class DisableDirective {
|
|
850
846
|
ngControl;
|
|
847
|
+
el;
|
|
848
|
+
renderer;
|
|
851
849
|
disableControl = null;
|
|
852
850
|
readonly = null;
|
|
853
|
-
constructor(ngControl) {
|
|
851
|
+
constructor(ngControl, el, renderer) {
|
|
854
852
|
this.ngControl = ngControl;
|
|
853
|
+
this.el = el;
|
|
854
|
+
this.renderer = renderer;
|
|
855
855
|
}
|
|
856
856
|
ngOnChanges(changes) {
|
|
857
857
|
if (changes["disableControl"] || changes["readonly"]) {
|
|
858
858
|
if (this.ngControl.control) {
|
|
859
859
|
if (this.disableControl) {
|
|
860
860
|
this.ngControl.control.disable();
|
|
861
|
+
this.addClass(true, 'fp-disabled');
|
|
861
862
|
}
|
|
862
863
|
else {
|
|
863
864
|
this.ngControl.control.enable();
|
|
864
865
|
this.ngControl.valueAccessor?.setDisabledState(this.readonly === true);
|
|
866
|
+
this.addClass(this.readonly === true, 'fp-readonly');
|
|
865
867
|
}
|
|
866
868
|
}
|
|
867
869
|
}
|
|
868
870
|
}
|
|
869
|
-
|
|
871
|
+
addClass(value, className) {
|
|
872
|
+
if (value) {
|
|
873
|
+
this.renderer.addClass(this.el.nativeElement, className);
|
|
874
|
+
}
|
|
875
|
+
else {
|
|
876
|
+
this.renderer.removeClass(this.el.nativeElement, className);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisableDirective, deps: [{ token: i1$1.NgControl }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
870
880
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DisableDirective, isStandalone: true, selector: "[disableControl], [readonly]", inputs: { disableControl: "disableControl", readonly: "readonly" }, usesOnChanges: true, ngImport: i0 });
|
|
871
881
|
}
|
|
872
882
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DisableDirective, decorators: [{
|
|
@@ -875,7 +885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
875
885
|
selector: '[disableControl], [readonly]',
|
|
876
886
|
standalone: true
|
|
877
887
|
}]
|
|
878
|
-
}], ctorParameters: () => [{ type: i1$1.NgControl }], propDecorators: { disableControl: [{
|
|
888
|
+
}], ctorParameters: () => [{ type: i1$1.NgControl }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { disableControl: [{
|
|
879
889
|
type: Input
|
|
880
890
|
}], readonly: [{
|
|
881
891
|
type: Input
|
|
@@ -935,8 +945,12 @@ class RepeatDirective {
|
|
|
935
945
|
if (changes["repeat"]) {
|
|
936
946
|
const formArray = this.controlContainer.control;
|
|
937
947
|
const value = changes["repeat"].currentValue;
|
|
938
|
-
if (Number.isInteger(value) && value >= 0)
|
|
948
|
+
if (Number.isInteger(value) && value >= 0) {
|
|
939
949
|
this.resizeArray(formArray, value);
|
|
950
|
+
}
|
|
951
|
+
else {
|
|
952
|
+
this.resizeArray(formArray, 0);
|
|
953
|
+
}
|
|
940
954
|
}
|
|
941
955
|
}
|
|
942
956
|
resizeArray(formArray, size) {
|
|
@@ -1034,16 +1048,17 @@ class DropdownDirective {
|
|
|
1034
1048
|
this.sirioSelect = sirioSelect;
|
|
1035
1049
|
}
|
|
1036
1050
|
ngAfterViewInit() {
|
|
1037
|
-
this.
|
|
1051
|
+
this.handleValue(null);
|
|
1052
|
+
this.handleValue(false);
|
|
1038
1053
|
this.handleSearchable();
|
|
1039
1054
|
}
|
|
1040
|
-
|
|
1055
|
+
handleValue(value) {
|
|
1041
1056
|
if (this.sirioSelect
|
|
1042
|
-
&& this.sirioSelect.value ===
|
|
1057
|
+
&& this.sirioSelect.value === value
|
|
1043
1058
|
&& Array.isArray(this.sirioSelect.options)) {
|
|
1044
|
-
const
|
|
1045
|
-
if (
|
|
1046
|
-
|
|
1059
|
+
const valueOption = this.sirioSelect.options.find(option => option.value === value);
|
|
1060
|
+
if (valueOption) {
|
|
1061
|
+
valueOption.isSelected = true;
|
|
1047
1062
|
}
|
|
1048
1063
|
}
|
|
1049
1064
|
}
|
|
@@ -1281,6 +1296,10 @@ class TabDirective {
|
|
|
1281
1296
|
// remove middle
|
|
1282
1297
|
this.sirioTab.setActiveIndex(this.sirioTab.oldIndex);
|
|
1283
1298
|
}
|
|
1299
|
+
else {
|
|
1300
|
+
// remove many
|
|
1301
|
+
this.sirioTab.setActiveIndex(current - 1);
|
|
1302
|
+
}
|
|
1284
1303
|
}
|
|
1285
1304
|
});
|
|
1286
1305
|
}
|
|
@@ -1819,6 +1838,200 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1819
1838
|
type: Host
|
|
1820
1839
|
}] }] });
|
|
1821
1840
|
|
|
1841
|
+
class DateDirective {
|
|
1842
|
+
sirioDatepicker;
|
|
1843
|
+
constructor(sirioDatepicker) {
|
|
1844
|
+
this.sirioDatepicker = sirioDatepicker;
|
|
1845
|
+
const registerOnChange = this.sirioDatepicker.registerOnChange.bind(this.sirioDatepicker);
|
|
1846
|
+
this.sirioDatepicker.registerOnChange = function (fn) {
|
|
1847
|
+
registerOnChange(function (value) {
|
|
1848
|
+
fn(dateToStore(value));
|
|
1849
|
+
});
|
|
1850
|
+
};
|
|
1851
|
+
const writeValue = this.sirioDatepicker.writeValue.bind(this.sirioDatepicker);
|
|
1852
|
+
this.sirioDatepicker.writeValue = function (value, event, updateCalendar) {
|
|
1853
|
+
writeValue(dateToDisplay(value), event, updateCalendar);
|
|
1854
|
+
};
|
|
1855
|
+
}
|
|
1856
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDirective, deps: [{ token: i1.SirioDatepickerComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1857
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DateDirective, isStandalone: true, selector: "[isoDate]", ngImport: i0 });
|
|
1858
|
+
}
|
|
1859
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateDirective, decorators: [{
|
|
1860
|
+
type: Directive,
|
|
1861
|
+
args: [{
|
|
1862
|
+
selector: '[isoDate]',
|
|
1863
|
+
standalone: true
|
|
1864
|
+
}]
|
|
1865
|
+
}], ctorParameters: () => [{ type: i1.SirioDatepickerComponent, decorators: [{
|
|
1866
|
+
type: Host
|
|
1867
|
+
}] }] });
|
|
1868
|
+
const dislayFormat = 'dd/mm/yyyy';
|
|
1869
|
+
const storeFormat = 'yyyy-mm-dd';
|
|
1870
|
+
function dateToDisplay(value) {
|
|
1871
|
+
if (typeof value === "string") {
|
|
1872
|
+
const date = parseStore(value) ?? parseDisplay(value);
|
|
1873
|
+
return (date == null)
|
|
1874
|
+
? null
|
|
1875
|
+
: Datepicker.formatDate(date, dislayFormat, 'it');
|
|
1876
|
+
}
|
|
1877
|
+
else {
|
|
1878
|
+
return null;
|
|
1879
|
+
}
|
|
1880
|
+
}
|
|
1881
|
+
function dateToStore(value) {
|
|
1882
|
+
if (typeof value === "string") {
|
|
1883
|
+
const date = parseStore(value) ?? parseDisplay(value);
|
|
1884
|
+
return (date == null)
|
|
1885
|
+
? null
|
|
1886
|
+
: Datepicker.formatDate(date, storeFormat, 'it');
|
|
1887
|
+
}
|
|
1888
|
+
else {
|
|
1889
|
+
return null;
|
|
1890
|
+
}
|
|
1891
|
+
}
|
|
1892
|
+
function parseDisplay(value) {
|
|
1893
|
+
const regex = /^(\d{2})\/(\d{2})\/(\d{4})$/;
|
|
1894
|
+
const match = value.match(regex);
|
|
1895
|
+
if (!match)
|
|
1896
|
+
return null;
|
|
1897
|
+
const day = parseInt(match[1], 10);
|
|
1898
|
+
const month = parseInt(match[2], 10);
|
|
1899
|
+
const year = parseInt(match[3], 10);
|
|
1900
|
+
const date = new Date(year, month - 1, day);
|
|
1901
|
+
if (date.getFullYear() === year &&
|
|
1902
|
+
date.getMonth() === month - 1 &&
|
|
1903
|
+
date.getDate() === day) {
|
|
1904
|
+
return date;
|
|
1905
|
+
}
|
|
1906
|
+
else {
|
|
1907
|
+
return null;
|
|
1908
|
+
}
|
|
1909
|
+
}
|
|
1910
|
+
function parseStore(value) {
|
|
1911
|
+
const regex = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
1912
|
+
const match = value.match(regex);
|
|
1913
|
+
if (!match) {
|
|
1914
|
+
return null;
|
|
1915
|
+
}
|
|
1916
|
+
const year = parseInt(match[1], 10);
|
|
1917
|
+
const month = parseInt(match[2], 10);
|
|
1918
|
+
const day = parseInt(match[3], 10);
|
|
1919
|
+
const date = new Date(year, month - 1, day);
|
|
1920
|
+
if (date.getFullYear() === year &&
|
|
1921
|
+
date.getMonth() === month - 1 &&
|
|
1922
|
+
date.getDate() === day) {
|
|
1923
|
+
return date;
|
|
1924
|
+
}
|
|
1925
|
+
else {
|
|
1926
|
+
return null;
|
|
1927
|
+
}
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1930
|
+
class NumberDirective {
|
|
1931
|
+
sirioInput;
|
|
1932
|
+
defaultValue = null;
|
|
1933
|
+
minimum = null;
|
|
1934
|
+
maximum = null;
|
|
1935
|
+
decimalDigits = null;
|
|
1936
|
+
constructor(sirioInput) {
|
|
1937
|
+
this.sirioInput = sirioInput;
|
|
1938
|
+
const registerOnChange = this.sirioInput.registerOnChange.bind(this.sirioInput);
|
|
1939
|
+
const coerceValue = (value) => {
|
|
1940
|
+
const originalValue = value;
|
|
1941
|
+
if (value === null && this.defaultValue !== null) {
|
|
1942
|
+
value = this.defaultValue;
|
|
1943
|
+
}
|
|
1944
|
+
if (value != null) {
|
|
1945
|
+
if (this.minimum !== null && value < this.minimum) {
|
|
1946
|
+
value = this.minimum;
|
|
1947
|
+
}
|
|
1948
|
+
if (this.maximum !== null && value > this.maximum) {
|
|
1949
|
+
value = this.maximum;
|
|
1950
|
+
}
|
|
1951
|
+
if (this.decimalDigits != null && this.decimalDigits >= 0) {
|
|
1952
|
+
const factor = Math.pow(10, this.decimalDigits);
|
|
1953
|
+
value = Math.round(value * factor) / factor;
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1956
|
+
if (originalValue !== value) {
|
|
1957
|
+
this.sirioInput.writeValue(value, false);
|
|
1958
|
+
}
|
|
1959
|
+
return value;
|
|
1960
|
+
};
|
|
1961
|
+
this.sirioInput.registerOnChange = function (fn) {
|
|
1962
|
+
registerOnChange(function (value) {
|
|
1963
|
+
fn(coerceValue(valueToStore(value)));
|
|
1964
|
+
});
|
|
1965
|
+
};
|
|
1966
|
+
}
|
|
1967
|
+
ngAfterViewInit() {
|
|
1968
|
+
const input = this.sirioInput.sirioInput.nativeElement;
|
|
1969
|
+
input.addEventListener('keydown', (event) => {
|
|
1970
|
+
const e = event;
|
|
1971
|
+
if (e.key === '.'
|
|
1972
|
+
|| (e.key === ',' && !this.acceptDecimal())
|
|
1973
|
+
|| (e.key === '-' && !this.acceptSign())) {
|
|
1974
|
+
e.preventDefault();
|
|
1975
|
+
}
|
|
1976
|
+
});
|
|
1977
|
+
input.addEventListener('paste', (event) => {
|
|
1978
|
+
const e = event;
|
|
1979
|
+
const text = e.clipboardData?.getData('text') || '';
|
|
1980
|
+
if (text.includes('.')
|
|
1981
|
+
|| (text.includes(',') && !this.acceptDecimal())
|
|
1982
|
+
|| (text.includes('-') && !this.acceptSign())) {
|
|
1983
|
+
event.preventDefault();
|
|
1984
|
+
}
|
|
1985
|
+
});
|
|
1986
|
+
}
|
|
1987
|
+
acceptSign() {
|
|
1988
|
+
if (this.minimum !== null && this.minimum >= 0) {
|
|
1989
|
+
return false;
|
|
1990
|
+
}
|
|
1991
|
+
return true;
|
|
1992
|
+
}
|
|
1993
|
+
acceptDecimal() {
|
|
1994
|
+
if (this.decimalDigits !== null && this.decimalDigits === 0) {
|
|
1995
|
+
return false;
|
|
1996
|
+
}
|
|
1997
|
+
return true;
|
|
1998
|
+
}
|
|
1999
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberDirective, deps: [{ token: i1.SirioInputComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2000
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NumberDirective, isStandalone: true, selector: "[number]", inputs: { defaultValue: "defaultValue", minimum: "minimum", maximum: "maximum", decimalDigits: "decimalDigits" }, ngImport: i0 });
|
|
2001
|
+
}
|
|
2002
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NumberDirective, decorators: [{
|
|
2003
|
+
type: Directive,
|
|
2004
|
+
args: [{
|
|
2005
|
+
selector: '[number]',
|
|
2006
|
+
standalone: true
|
|
2007
|
+
}]
|
|
2008
|
+
}], ctorParameters: () => [{ type: i1.SirioInputComponent, decorators: [{
|
|
2009
|
+
type: Host
|
|
2010
|
+
}] }], propDecorators: { defaultValue: [{
|
|
2011
|
+
type: Input
|
|
2012
|
+
}], minimum: [{
|
|
2013
|
+
type: Input
|
|
2014
|
+
}], maximum: [{
|
|
2015
|
+
type: Input
|
|
2016
|
+
}], decimalDigits: [{
|
|
2017
|
+
type: Input
|
|
2018
|
+
}] } });
|
|
2019
|
+
function valueToStore(value) {
|
|
2020
|
+
if (typeof value === "string") {
|
|
2021
|
+
if (value.trim() === '') {
|
|
2022
|
+
return null;
|
|
2023
|
+
}
|
|
2024
|
+
const numericValue = parseFloat(value);
|
|
2025
|
+
if (isNaN(numericValue)) {
|
|
2026
|
+
return null;
|
|
2027
|
+
}
|
|
2028
|
+
return numericValue;
|
|
2029
|
+
}
|
|
2030
|
+
else {
|
|
2031
|
+
return null;
|
|
2032
|
+
}
|
|
2033
|
+
}
|
|
2034
|
+
|
|
1822
2035
|
class TemplateWrapperComponent {
|
|
1823
2036
|
template;
|
|
1824
2037
|
context = {};
|
|
@@ -1850,8 +2063,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1850
2063
|
type: Input
|
|
1851
2064
|
}] } });
|
|
1852
2065
|
|
|
2066
|
+
const Texts = {
|
|
2067
|
+
TypeToSearch: "Digita per cercare...",
|
|
2068
|
+
Upload: "Upload",
|
|
2069
|
+
ScrollLeft: "Scorri a sinistra",
|
|
2070
|
+
ScrollRight: "Scorri a destra",
|
|
2071
|
+
AddItem: "Aggiungi",
|
|
2072
|
+
RemoveItem: "Rimuovi",
|
|
2073
|
+
PreviousSection: "Sezione precedente",
|
|
2074
|
+
NextSection: "Sezione successiva",
|
|
2075
|
+
Show: "Visualizza",
|
|
2076
|
+
Remove: "Rimuovi",
|
|
2077
|
+
Close: "Chiudi",
|
|
2078
|
+
Name: "Nome",
|
|
2079
|
+
Size: "Dimensione",
|
|
2080
|
+
Type: "Tipo",
|
|
2081
|
+
Actions: "Azioni"
|
|
2082
|
+
};
|
|
2083
|
+
|
|
1853
2084
|
class ObjectURLRendererComponent {
|
|
1854
2085
|
params;
|
|
2086
|
+
Texts = Texts;
|
|
1855
2087
|
agInit(params) {
|
|
1856
2088
|
this.params = params;
|
|
1857
2089
|
}
|
|
@@ -1866,16 +2098,15 @@ class ObjectURLRendererComponent {
|
|
|
1866
2098
|
return false;
|
|
1867
2099
|
}
|
|
1868
2100
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectURLRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1869
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ObjectURLRendererComponent, selector: "ng-component", ngImport: i0, template:
|
|
2101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ObjectURLRendererComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<a [attr.aria-label]=\"Texts.Show\" title=\"{{ Texts.Show }}\" href=\"javascript:void(0)\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-paperclip\"></span>\r\n</a>\r\n" });
|
|
1870
2102
|
}
|
|
1871
2103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectURLRendererComponent, decorators: [{
|
|
1872
2104
|
type: Component,
|
|
1873
|
-
args: [{
|
|
1874
|
-
template: `<a aria-label="View" title="View" href="javascript:void(0)" (click)="onClick($event)"><span class="fas fa-paperclip"></span></a>`,
|
|
1875
|
-
}]
|
|
2105
|
+
args: [{ standalone: true, template: "<a [attr.aria-label]=\"Texts.Show\" title=\"{{ Texts.Show }}\" href=\"javascript:void(0)\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-paperclip\"></span>\r\n</a>\r\n" }]
|
|
1876
2106
|
}] });
|
|
1877
2107
|
class DeleteRowCellRenderer {
|
|
1878
2108
|
params;
|
|
2109
|
+
Texts = Texts;
|
|
1879
2110
|
agInit(params) {
|
|
1880
2111
|
this.params = params;
|
|
1881
2112
|
}
|
|
@@ -1888,26 +2119,138 @@ class DeleteRowCellRenderer {
|
|
|
1888
2119
|
return false;
|
|
1889
2120
|
}
|
|
1890
2121
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeleteRowCellRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1891
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeleteRowCellRenderer, selector: "ng-component", ngImport: i0, template:
|
|
2122
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeleteRowCellRenderer, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<a [attr.aria-label]=\"Texts.Remove\" title=\"{{ Texts.Remove }}\" href=\"javascript:void(0)\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-trash\"></span>\r\n</a>\r\n" });
|
|
1892
2123
|
}
|
|
1893
2124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeleteRowCellRenderer, decorators: [{
|
|
1894
2125
|
type: Component,
|
|
1895
|
-
args: [{
|
|
1896
|
-
template: `<button aria-label="Remove" title="Remove" class="sirio-btn sirio-btn-icon" (click)="onClick($event)"><span class="fas fa-trash"></span></button>`,
|
|
1897
|
-
}]
|
|
2126
|
+
args: [{ standalone: true, template: "<a [attr.aria-label]=\"Texts.Remove\" title=\"{{ Texts.Remove }}\" href=\"javascript:void(0)\" (click)=\"onClick($event)\">\r\n <span class=\"fas fa-trash\"></span>\r\n</a>\r\n" }]
|
|
1898
2127
|
}] });
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
2128
|
+
class ActionsCellRenderer {
|
|
2129
|
+
programmability;
|
|
2130
|
+
constructor(programmability) {
|
|
2131
|
+
this.programmability = programmability;
|
|
2132
|
+
}
|
|
2133
|
+
params;
|
|
2134
|
+
agInit(params) {
|
|
2135
|
+
this.params = params;
|
|
2136
|
+
}
|
|
2137
|
+
refresh() {
|
|
2138
|
+
return false;
|
|
2139
|
+
}
|
|
2140
|
+
evaluateBoolean(value) {
|
|
2141
|
+
const options = {
|
|
2142
|
+
proxyFn: (options) => {
|
|
2143
|
+
options.extend["getParams"] = () => this.params;
|
|
2144
|
+
options.extend["getData"] = () => this.getData();
|
|
2145
|
+
}
|
|
2146
|
+
};
|
|
2147
|
+
return this.programmability.evaluateBoolean(this.getFormGroup(), value, options);
|
|
2148
|
+
}
|
|
2149
|
+
evaluateString(value) {
|
|
2150
|
+
return this.programmability.evaluateString(this.getFormGroup(), value);
|
|
2151
|
+
}
|
|
2152
|
+
clickButton(action, event) {
|
|
2153
|
+
if (action.click) {
|
|
2154
|
+
const options = {
|
|
2155
|
+
cacheable: false,
|
|
2156
|
+
proxyFn: (options) => {
|
|
2157
|
+
options.extend["getParams"] = () => this.params;
|
|
2158
|
+
options.extend["getAction"] = () => action;
|
|
2159
|
+
options.extend["getData"] = () => this.getData();
|
|
2160
|
+
}
|
|
2161
|
+
};
|
|
2162
|
+
return this.programmability.evaluate(this.getFormGroup(), action.click, options);
|
|
2163
|
+
}
|
|
2164
|
+
}
|
|
2165
|
+
getData() {
|
|
2166
|
+
return this.params.data;
|
|
2167
|
+
}
|
|
2168
|
+
getFormGroup() {
|
|
2169
|
+
return this.params.formGroup;
|
|
2170
|
+
}
|
|
2171
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsCellRenderer, deps: [{ token: ProgrammabilityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2172
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionsCellRenderer, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"btn-small-group\">\r\n <ng-container *ngFor=\"let action of params.component.actions\">\r\n <ngx-sirio-button class=\"btn-small\"\r\n [ariaLabel]=\"evaluateString(action.label)\"\r\n [title]=\"evaluateString(action.label)\"\r\n [color]=\"null\"\r\n [disabled]=\"evaluateBoolean(action.disabled)\"\r\n (clickEvent)=\"clickButton(action, $event)\"\r\n [icon]=\"evaluateString(action.icon)\">\r\n </ngx-sirio-button>\r\n </ng-container>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }] });
|
|
2173
|
+
}
|
|
2174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionsCellRenderer, decorators: [{
|
|
2175
|
+
type: Component,
|
|
2176
|
+
args: [{ standalone: true, imports: [
|
|
2177
|
+
CommonModule, SirioButtonComponent
|
|
2178
|
+
], template: "<div class=\"btn-small-group\">\r\n <ng-container *ngFor=\"let action of params.component.actions\">\r\n <ngx-sirio-button class=\"btn-small\"\r\n [ariaLabel]=\"evaluateString(action.label)\"\r\n [title]=\"evaluateString(action.label)\"\r\n [color]=\"null\"\r\n [disabled]=\"evaluateBoolean(action.disabled)\"\r\n (clickEvent)=\"clickButton(action, $event)\"\r\n [icon]=\"evaluateString(action.icon)\">\r\n </ngx-sirio-button>\r\n </ng-container>\r\n</div>\r\n" }]
|
|
2179
|
+
}], ctorParameters: () => [{ type: ProgrammabilityService }] });
|
|
2180
|
+
|
|
2181
|
+
const GRID_CELL_CLASSNAME = "ag-cell";
|
|
2182
|
+
function getEventPath(event) {
|
|
2183
|
+
const path = [];
|
|
2184
|
+
let currentTarget = event.target;
|
|
2185
|
+
while (currentTarget) {
|
|
2186
|
+
path.push(currentTarget);
|
|
2187
|
+
currentTarget = currentTarget.parentElement;
|
|
2188
|
+
}
|
|
2189
|
+
return path;
|
|
2190
|
+
}
|
|
2191
|
+
function getAllFocusableElementsOf(el) {
|
|
2192
|
+
return Array.from(el.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter((focusableEl) => {
|
|
2193
|
+
return focusableEl.tabIndex !== -1 && !focusableEl.hasAttribute('disabled');
|
|
2194
|
+
});
|
|
2195
|
+
}
|
|
2196
|
+
const GridUtils = {
|
|
2197
|
+
navigateInsideCell({ event }) {
|
|
2198
|
+
const { key, shiftKey } = event;
|
|
2199
|
+
const path = getEventPath(event);
|
|
2200
|
+
const isTabForward = key === "Tab" && shiftKey === false;
|
|
2201
|
+
const isTabBackward = key === "Tab" && shiftKey === true;
|
|
2202
|
+
let suppressEvent = false;
|
|
2203
|
+
// Handle cell children tabbing
|
|
2204
|
+
if (isTabForward || isTabBackward) {
|
|
2205
|
+
const eGridCell = path.find((el) => {
|
|
2206
|
+
if (el.classList === undefined)
|
|
2207
|
+
return false;
|
|
2208
|
+
return el.classList.contains(GRID_CELL_CLASSNAME);
|
|
2209
|
+
});
|
|
2210
|
+
if (!eGridCell) {
|
|
2211
|
+
return suppressEvent;
|
|
2212
|
+
}
|
|
2213
|
+
const focusableChildrenElements = getAllFocusableElementsOf(eGridCell);
|
|
2214
|
+
const lastCellChildEl = focusableChildrenElements[focusableChildrenElements.length - 1];
|
|
2215
|
+
const firstCellChildEl = focusableChildrenElements[0];
|
|
2216
|
+
// Suppress keyboard event if tabbing forward within the cell and the current focused element is not the last child
|
|
2217
|
+
if (focusableChildrenElements.length === 0) {
|
|
2218
|
+
return false;
|
|
2219
|
+
}
|
|
2220
|
+
const currentIndex = focusableChildrenElements.indexOf(document.activeElement);
|
|
2221
|
+
if (isTabForward) {
|
|
2222
|
+
const isLastChildFocused = lastCellChildEl && document.activeElement === lastCellChildEl;
|
|
2223
|
+
if (!isLastChildFocused) {
|
|
2224
|
+
suppressEvent = true;
|
|
2225
|
+
if (currentIndex !== -1 || document.activeElement === eGridCell) {
|
|
2226
|
+
event.preventDefault();
|
|
2227
|
+
focusableChildrenElements[currentIndex + 1].focus();
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
}
|
|
2231
|
+
// Suppress keyboard event if tabbing backwards within the cell, and the current focused element is not the first child
|
|
2232
|
+
else {
|
|
2233
|
+
const cellHasFocusedChildren = eGridCell.contains(document.activeElement) &&
|
|
2234
|
+
eGridCell !== document.activeElement;
|
|
2235
|
+
// Manually set focus to the last child element if cell doesn't have focused children
|
|
2236
|
+
if (!cellHasFocusedChildren) {
|
|
2237
|
+
lastCellChildEl.focus();
|
|
2238
|
+
// Cancel keyboard press, so that it doesn't focus on the last child and then pass through the keyboard press to
|
|
2239
|
+
// move to the 2nd last child element
|
|
2240
|
+
event.preventDefault();
|
|
2241
|
+
}
|
|
2242
|
+
const isFirstChildFocused = firstCellChildEl && document.activeElement === firstCellChildEl;
|
|
2243
|
+
if (!isFirstChildFocused) {
|
|
2244
|
+
suppressEvent = true;
|
|
2245
|
+
if (currentIndex !== -1 || document.activeElement === eGridCell) {
|
|
2246
|
+
event.preventDefault();
|
|
2247
|
+
focusableChildrenElements[currentIndex - 1].focus();
|
|
2248
|
+
}
|
|
2249
|
+
}
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
return suppressEvent;
|
|
2253
|
+
},
|
|
1911
2254
|
};
|
|
1912
2255
|
|
|
1913
2256
|
class SanitizeService {
|
|
@@ -2134,7 +2477,7 @@ class DynamicFieldsComponent {
|
|
|
2134
2477
|
return this.programmability.evaluateTemplate(this.formGroup, value);
|
|
2135
2478
|
}
|
|
2136
2479
|
evaluate(text, cacheable = true) {
|
|
2137
|
-
return this.programmability.evaluate(this.formGroup, text, cacheable);
|
|
2480
|
+
return this.programmability.evaluate(this.formGroup, text, { cacheable: cacheable });
|
|
2138
2481
|
}
|
|
2139
2482
|
evaluateColor(value) {
|
|
2140
2483
|
const color = this.evaluateString(value);
|
|
@@ -2159,9 +2502,13 @@ class DynamicFieldsComponent {
|
|
|
2159
2502
|
return control;
|
|
2160
2503
|
}
|
|
2161
2504
|
getControlFromPath(path) {
|
|
2162
|
-
|
|
2505
|
+
const control = path
|
|
2163
2506
|
? this.formGroup.get(path)
|
|
2164
2507
|
: this.formGroup;
|
|
2508
|
+
if (!control) {
|
|
2509
|
+
throw new Error(`FormGroup does not contain a control with path '${path}'`, { cause: this.formGroup });
|
|
2510
|
+
}
|
|
2511
|
+
return control;
|
|
2165
2512
|
}
|
|
2166
2513
|
toHTML(text) {
|
|
2167
2514
|
const watchKey = `:safeHtml(${text})`;
|
|
@@ -2215,18 +2562,27 @@ class DynamicFieldsComponent {
|
|
|
2215
2562
|
}
|
|
2216
2563
|
getGridOptions(component) {
|
|
2217
2564
|
return this.weak.call(component, 'getGridOptions', () => {
|
|
2565
|
+
const columnDefs = this.getGridColumns(component);
|
|
2566
|
+
const pagination = this.getGridPaginable(component);
|
|
2567
|
+
const pageSize = this.getGridPageSize(component);
|
|
2568
|
+
const texts = this.getGridTexts();
|
|
2569
|
+
const theme = this.getGridTheme();
|
|
2218
2570
|
return {
|
|
2219
2571
|
defaultColDef: {
|
|
2220
2572
|
floatingFilter: (component.floatingFilter === true),
|
|
2221
2573
|
headerClass: (component.floatingFilter === true)
|
|
2222
2574
|
? 'show-filter' : 'hide-filter'
|
|
2223
2575
|
},
|
|
2224
|
-
columnDefs:
|
|
2225
|
-
pagination:
|
|
2226
|
-
paginationPageSize:
|
|
2576
|
+
columnDefs: columnDefs,
|
|
2577
|
+
pagination: pagination,
|
|
2578
|
+
paginationPageSize: pageSize,
|
|
2227
2579
|
paginationPageSizeSelector: [5, 10, 20, 50],
|
|
2228
|
-
localeText:
|
|
2229
|
-
|
|
2580
|
+
localeText: texts,
|
|
2581
|
+
enableCellTextSelection: true,
|
|
2582
|
+
theme: theme,
|
|
2583
|
+
onGridReady: (params) => {
|
|
2584
|
+
params.api.autoSizeColumns(["actions"]);
|
|
2585
|
+
}
|
|
2230
2586
|
};
|
|
2231
2587
|
});
|
|
2232
2588
|
}
|
|
@@ -2241,7 +2597,10 @@ class DynamicFieldsComponent {
|
|
|
2241
2597
|
ClientSideRowModelApiModule,
|
|
2242
2598
|
TextFilterModule,
|
|
2243
2599
|
NumberFilterModule,
|
|
2244
|
-
DateFilterModule
|
|
2600
|
+
DateFilterModule,
|
|
2601
|
+
ColumnAutoSizeModule,
|
|
2602
|
+
ColumnApiModule,
|
|
2603
|
+
ValidationModule
|
|
2245
2604
|
];
|
|
2246
2605
|
});
|
|
2247
2606
|
}
|
|
@@ -2276,19 +2635,19 @@ class DynamicFieldsComponent {
|
|
|
2276
2635
|
},
|
|
2277
2636
|
"columns": [
|
|
2278
2637
|
{
|
|
2279
|
-
"label":
|
|
2638
|
+
"label": Texts.Name,
|
|
2280
2639
|
"key": "name",
|
|
2281
2640
|
"flex": 1
|
|
2282
2641
|
},
|
|
2283
2642
|
{
|
|
2284
|
-
"label":
|
|
2643
|
+
"label": Texts.Size,
|
|
2285
2644
|
"key": "size",
|
|
2286
2645
|
"format": "integer",
|
|
2287
2646
|
"align": "right"
|
|
2288
2647
|
},
|
|
2289
2648
|
{
|
|
2290
|
-
"
|
|
2291
|
-
"
|
|
2649
|
+
"label": Texts.Type,
|
|
2650
|
+
"key": "type"
|
|
2292
2651
|
},
|
|
2293
2652
|
{
|
|
2294
2653
|
"key": "url",
|
|
@@ -2375,7 +2734,7 @@ class DynamicFieldsComponent {
|
|
|
2375
2734
|
});
|
|
2376
2735
|
getGridColumns(component) {
|
|
2377
2736
|
if (Array.isArray(component.columns)) {
|
|
2378
|
-
|
|
2737
|
+
const columns = component.columns.map((column) => ({
|
|
2379
2738
|
field: column.key,
|
|
2380
2739
|
headerName: column.label,
|
|
2381
2740
|
resizable: column.resize === true,
|
|
@@ -2394,6 +2753,22 @@ class DynamicFieldsComponent {
|
|
|
2394
2753
|
valueFormatter: this.getGridFormatter(column),
|
|
2395
2754
|
cellRenderer: this.getGridRenderer(column)
|
|
2396
2755
|
}));
|
|
2756
|
+
if (Array.isArray(component.actions) && component.actions.length > 0) {
|
|
2757
|
+
columns.push({
|
|
2758
|
+
colId: 'actions',
|
|
2759
|
+
headerName: Texts.Actions,
|
|
2760
|
+
resizable: false,
|
|
2761
|
+
cellDataType: false,
|
|
2762
|
+
pinned: "right",
|
|
2763
|
+
cellRendererParams: {
|
|
2764
|
+
component: component,
|
|
2765
|
+
formGroup: this.formGroup
|
|
2766
|
+
},
|
|
2767
|
+
cellRenderer: ActionsCellRenderer,
|
|
2768
|
+
suppressKeyboardEvent: GridUtils.navigateInsideCell
|
|
2769
|
+
});
|
|
2770
|
+
}
|
|
2771
|
+
return columns;
|
|
2397
2772
|
}
|
|
2398
2773
|
else {
|
|
2399
2774
|
return [];
|
|
@@ -2493,14 +2868,14 @@ class DynamicFieldsComponent {
|
|
|
2493
2868
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DynamicFieldsComponent, isStandalone: true, selector: "app-dynamic-fields", inputs: { rows: "rows", formGroup: "formGroup" }, providers: [
|
|
2494
2869
|
RegisterService,
|
|
2495
2870
|
ProgrammabilityService
|
|
2496
|
-
], ngImport: i0, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [formGroup]=\"formGroup\" [class]=\"getClass(component)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\">\r\n <ngx-sirio-input type=\"text\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"Texts.TypeToSearch\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <ngx-sirio-input type=\"number\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker ariaLabel=\"date\"\r\n [label]=\"evaluateString(component.dateLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker ariaLabel=\"time\"\r\n [label]=\"evaluateString(component.timeLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <ngx-sirio-input type=\"textarea\"\r\n ariaLabel=\"textarea\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\">\r\n <ngx-sirio-file-upload ariaLabel=\"filepicker\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ Texts.Upload }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\" [rows]=\"createUploadTables(component)\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.tooltip))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div> \r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(component.content))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(component.alt)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\">\r\n <ng-container [formArrayName]=\"component.path\" [repeat]=\"evaluateNumber(component.repetitions)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <ng-container *ngIf=\"getFormArray(formGroup.get(component.path)).controls.length > 0\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"Texts.ScrollLeft\"\r\n [rightArrowLabel]=\"Texts.ScrollRight\"\r\n [tabCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"component.label + ' ' + (i + 1)\">\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"component.label + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true}\"\r\n #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addNewItem(component)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ Texts.AddItem }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(component.path))\"\r\n [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <ag-grid-angular [modules]=\"getGridModules(component)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [gridOptions]=\"getGridOptions(component)\"\r\n [rowSource]=\"(getGridData(component) | async) || []\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label [for]=\"component.id\">{{ evaluateString(component.label) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(component.label)\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"Texts.Close\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(component.title)\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\">\r\n <ngx-sirio-slider [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(component.title) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div> \r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:center}.field-set>div{margin-top:10px;margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.ag-cell-value button.sirio-btn.sirio-btn-icon{padding:0}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}\n"], dependencies: [{ kind: "component", type: DynamicFieldsComponent, selector: "app-dynamic-fields", inputs: ["rows", "formGroup"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: AdornerDirective, selector: "[prefixAdorner], [suffixAdorner]", inputs: ["prefixAdorner", "suffixAdorner"] }, { kind: "directive", type: DisableDirective, selector: "[disableControl], [readonly]", inputs: ["disableControl", "readonly"] }, { kind: "directive", type: DisplayDirective, selector: "[hide], [show]", inputs: ["hide", "show"] }, { kind: "directive", type: FrameSecurityDirective, selector: "[frameSecurity]", inputs: ["frameSecurity"] }, { kind: "directive", type: DropdownDirective, selector: "[dropdown]" }, { kind: "directive", type: UpdateBlurDirective, selector: "[updateBlur]" }, { kind: "directive", type: RepeatDirective, selector: "[repeat]", inputs: ["repeat"] }, { kind: "directive", type: TabDirective, selector: "[tabCount]", inputs: ["tabCount"] }, { kind: "directive", type: GridDirective, selector: "[rowSource]", inputs: ["rowSource"] }, { kind: "directive", type: RegisterDirective, selector: "[register]", inputs: ["register", "componentRef"] }, { kind: "directive", type: AccordionDirective, selector: "[accordionCount]", inputs: ["accordionCount"] }, { kind: "component", type: SirioInputComponent, selector: "ngx-sirio-input", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "type", "name", "placeholder", "textHelp", "textFeedback", "rows", "cols", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "role"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "directive", type: SirioValidationDirective, selector: "[validation]", inputs: ["canValidate", "isWarning", "showWhenValid"] }, { kind: "component", type: SirioSelectComponent, selector: "ngx-sirio-select", inputs: ["placeholder", "disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "isMultiple", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy"], outputs: ["focusEvent", "blurEvent", "keydownEvent"] }, { kind: "component", type: SirioSelectOptionComponent, selector: "ngx-sirio-select-option", inputs: ["value"], outputs: ["optionSelected", "blurEvent"] }, { kind: "component", type: SirioSelectPanelComponent, selector: "ngx-sirio-select-panel", outputs: ["optionSelected", "panelOpened", "panelClosed"] }, { kind: "component", type: SirioCheckboxGroupComponent, selector: "ngx-sirio-checkbox-group", inputs: ["textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioCheckboxComponent, selector: "ngx-sirio-checkbox", inputs: ["disabled", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "disabledState", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioDatepickerComponent, selector: "ngx-sirio-datepicker", inputs: ["name", "placeholder", "textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "value", "disabledState"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent", "datechangeEvent"] }, { kind: "component", type: SirioTimepickerComponent, selector: "ngx-sirio-timepicker", inputs: ["name", "label", "labelPopover", "ariaLabelPopoverButton", "placeholder", "textHelp", "textFeedback", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioRadioGroupComponent, selector: "ngx-sirio-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioRadioButtonComponent, selector: "ngx-sirio-radio-button", inputs: ["disabledState", "label", "name", "textHelp", "textFeedback", "ariaInvalid", "ariaDescribedBy", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioTabComponent, selector: "ngx-sirio-tab", inputs: ["isVertical", "isNavLine", "leftArrowLabel", "rightArrowLabel", "tabActive"], outputs: ["tabChange"] }, { kind: "component", type: SirioTabItemComponent, selector: "ngx-sirio-tab-item", inputs: ["label", "disabled", "icon"] }, { kind: "component", type: SirioAccordionComponent, selector: "ngx-sirio-accordion", inputs: ["dark"] }, { kind: "component", type: SirioAccordionPanelComponent, selector: "ngx-sirio-accordion-panel", inputs: ["active", "disabled"], outputs: ["opened", "closed"] }, { kind: "component", type: SirioAccordionHeaderComponent, selector: "ngx-sirio-accordion-header" }, { kind: "component", type: SirioAccordionBodyComponent, selector: "ngx-sirio-accordion-body" }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioFileUploadComponent, selector: "ngx-sirio-file-upload", inputs: ["multiple", "color", "accept", "maxFiles", "showFilelist", "label", "labelPopover", "ariaLabelPopoverButton", "name", "textHelp", "textFeedback", "ariaLabel", "ariaLabelDeleteFileButton", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "fileUploadedEvent", "fileDeletedEvent", "uploadErrorEvent", "blurEvent"] }, { kind: "component", type: SirioToggleComponent, selector: "ngx-sirio-toggle", inputs: ["name", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipCheckboxGroupComponent, selector: "ngx-sirio-chip-checkbox-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipRadioGroupComponent, selector: "ngx-sirio-chip-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioInputChipComponent, selector: "ngx-sirio-input-chip", inputs: ["disabledState", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "type", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "ngmodule", type: SirioTableModule }, { kind: "component", type: SirioAlertComponent, selector: "ngx-sirio-alert", inputs: ["type", "labelClose", "isVisible"], outputs: ["closeEvent"] }, { kind: "component", type: SirioAlertMessageComponent, selector: "ngx-sirio-alert-message" }, { kind: "component", type: SirioSliderComponent, selector: "ngx-sirio-slider", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "description", "min", "max", "ariaInvalid", "ariaDescribedBy", "textHelp", "textFeedback"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioNotifyComponent, selector: "ngx-sirio-notify", inputs: ["isDark"] }, { kind: "component", type: SirioNotifyBodyComponent, selector: "ngx-sirio-notify-body", inputs: ["title"] }, { kind: "directive", type: SirioTooltipDirective, selector: "[sirioTooltip]", inputs: ["sirioTooltip", "content", "hasAction", "hasPopover", "actionLabel", "actionIconClass", "clickOutside", "position", "customTemplate"], outputs: ["clickEvent"] }, { kind: "component", type: TemplateWrapperComponent, selector: "app-template-wrapper", inputs: ["template", "context"] }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
2871
|
+
], ngImport: i0, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [formGroup]=\"formGroup\" [class]=\"getClass(component)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\">\r\n <ngx-sirio-input type=\"text\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"Texts.TypeToSearch\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <ngx-sirio-input type=\"number\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n number\r\n [defaultValue]=\"evaluateNumber(component.defaultValue)\"\r\n [minimum]=\"evaluateNumber(component.minimum)\"\r\n [maximum]=\"evaluateNumber(component.maximum)\"\r\n [decimalDigits]=\"evaluateNumber(component.decimalDigits)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker ariaLabel=\"date\"\r\n [label]=\"evaluateString(component.dateLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n isoDate\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker ariaLabel=\"time\"\r\n [label]=\"evaluateString(component.timeLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <ngx-sirio-input type=\"textarea\"\r\n ariaLabel=\"textarea\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\">\r\n <ngx-sirio-file-upload ariaLabel=\"filepicker\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ Texts.Upload }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\" [rows]=\"createUploadTables(component)\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.tooltip))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div> \r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(component.content))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(component.alt)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\">\r\n <ng-container [formArrayName]=\"component.path\" [repeat]=\"evaluateNumber(component.repetitions)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <ng-container *ngIf=\"getFormArray(formGroup.get(component.path)).controls.length > 0\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"Texts.ScrollLeft\"\r\n [rightArrowLabel]=\"Texts.ScrollRight\"\r\n [tabCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"component.label + ' ' + (i + 1)\">\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"component.label + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true}\"\r\n #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addNewItem(component)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ Texts.AddItem }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(component.path))\"\r\n [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <div\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <ag-grid-angular [modules]=\"getGridModules(component)\" \r\n [gridOptions]=\"getGridOptions(component)\"\r\n [rowSource]=\"(getGridData(component) | async) || []\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n </div> \r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label [for]=\"component.id\">{{ evaluateString(component.label) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(component.label)\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"Texts.Close\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(component.title)\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\">\r\n <ngx-sirio-slider [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(component.title) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div> \r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:center}.field-set>div{margin-top:10px;margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-control.fp-disabled .sirio-input-group .sirio-input-group-text,.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{border:0px}.sirio-control.fp-readonly input.sirio-form-control,.sirio-control.fp-readonly .sirio-dropdown .sirio-dropdown-select,.sirio-control.fp-readonly textarea.sirio-form-control{background:none!important;border:0px;padding:0}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{background:none}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text span{color:#5b6571}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text.prefix{padding-left:0}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-cell-value .btn-small-group{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ag-cell-value .btn-small .sirio-btn{padding:.25rem .0625rem;margin:2px}\n"], dependencies: [{ kind: "component", type: DynamicFieldsComponent, selector: "app-dynamic-fields", inputs: ["rows", "formGroup"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: AdornerDirective, selector: "[prefixAdorner], [suffixAdorner]", inputs: ["prefixAdorner", "suffixAdorner"] }, { kind: "directive", type: DisableDirective, selector: "[disableControl], [readonly]", inputs: ["disableControl", "readonly"] }, { kind: "directive", type: DisplayDirective, selector: "[hide], [show]", inputs: ["hide", "show"] }, { kind: "directive", type: FrameSecurityDirective, selector: "[frameSecurity]", inputs: ["frameSecurity"] }, { kind: "directive", type: DropdownDirective, selector: "[dropdown]" }, { kind: "directive", type: UpdateBlurDirective, selector: "[updateBlur]" }, { kind: "directive", type: RepeatDirective, selector: "[repeat]", inputs: ["repeat"] }, { kind: "directive", type: TabDirective, selector: "[tabCount]", inputs: ["tabCount"] }, { kind: "directive", type: GridDirective, selector: "[rowSource]", inputs: ["rowSource"] }, { kind: "directive", type: RegisterDirective, selector: "[register]", inputs: ["register", "componentRef"] }, { kind: "directive", type: AccordionDirective, selector: "[accordionCount]", inputs: ["accordionCount"] }, { kind: "directive", type: DateDirective, selector: "[isoDate]" }, { kind: "directive", type: NumberDirective, selector: "[number]", inputs: ["defaultValue", "minimum", "maximum", "decimalDigits"] }, { kind: "component", type: SirioInputComponent, selector: "ngx-sirio-input", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "type", "name", "placeholder", "textHelp", "textFeedback", "rows", "cols", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "role"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "directive", type: SirioValidationDirective, selector: "[validation]", inputs: ["canValidate", "isWarning", "showWhenValid"] }, { kind: "component", type: SirioSelectComponent, selector: "ngx-sirio-select", inputs: ["placeholder", "disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "isMultiple", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy"], outputs: ["focusEvent", "blurEvent", "keydownEvent"] }, { kind: "component", type: SirioSelectOptionComponent, selector: "ngx-sirio-select-option", inputs: ["value"], outputs: ["optionSelected", "blurEvent"] }, { kind: "component", type: SirioSelectPanelComponent, selector: "ngx-sirio-select-panel", outputs: ["optionSelected", "panelOpened", "panelClosed"] }, { kind: "component", type: SirioCheckboxGroupComponent, selector: "ngx-sirio-checkbox-group", inputs: ["textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioCheckboxComponent, selector: "ngx-sirio-checkbox", inputs: ["disabled", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "disabledState", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioDatepickerComponent, selector: "ngx-sirio-datepicker", inputs: ["name", "placeholder", "textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "value", "disabledState"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent", "datechangeEvent"] }, { kind: "component", type: SirioTimepickerComponent, selector: "ngx-sirio-timepicker", inputs: ["name", "label", "labelPopover", "ariaLabelPopoverButton", "placeholder", "textHelp", "textFeedback", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioRadioGroupComponent, selector: "ngx-sirio-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioRadioButtonComponent, selector: "ngx-sirio-radio-button", inputs: ["disabledState", "label", "name", "textHelp", "textFeedback", "ariaInvalid", "ariaDescribedBy", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioTabComponent, selector: "ngx-sirio-tab", inputs: ["isVertical", "isNavLine", "leftArrowLabel", "rightArrowLabel", "tabActive"], outputs: ["tabChange"] }, { kind: "component", type: SirioTabItemComponent, selector: "ngx-sirio-tab-item", inputs: ["label", "disabled", "icon"] }, { kind: "component", type: SirioAccordionComponent, selector: "ngx-sirio-accordion", inputs: ["dark"] }, { kind: "component", type: SirioAccordionPanelComponent, selector: "ngx-sirio-accordion-panel", inputs: ["active", "disabled"], outputs: ["opened", "closed"] }, { kind: "component", type: SirioAccordionHeaderComponent, selector: "ngx-sirio-accordion-header" }, { kind: "component", type: SirioAccordionBodyComponent, selector: "ngx-sirio-accordion-body" }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioFileUploadComponent, selector: "ngx-sirio-file-upload", inputs: ["multiple", "color", "accept", "maxFiles", "showFilelist", "label", "labelPopover", "ariaLabelPopoverButton", "name", "textHelp", "textFeedback", "ariaLabel", "ariaLabelDeleteFileButton", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "fileUploadedEvent", "fileDeletedEvent", "uploadErrorEvent", "blurEvent"] }, { kind: "component", type: SirioToggleComponent, selector: "ngx-sirio-toggle", inputs: ["name", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipCheckboxGroupComponent, selector: "ngx-sirio-chip-checkbox-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipRadioGroupComponent, selector: "ngx-sirio-chip-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioInputChipComponent, selector: "ngx-sirio-input-chip", inputs: ["disabledState", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "type", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "ngmodule", type: SirioTableModule }, { kind: "component", type: SirioAlertComponent, selector: "ngx-sirio-alert", inputs: ["type", "labelClose", "isVisible"], outputs: ["closeEvent"] }, { kind: "component", type: SirioAlertMessageComponent, selector: "ngx-sirio-alert-message" }, { kind: "component", type: SirioSliderComponent, selector: "ngx-sirio-slider", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "description", "min", "max", "ariaInvalid", "ariaDescribedBy", "textHelp", "textFeedback"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioNotifyComponent, selector: "ngx-sirio-notify", inputs: ["isDark"] }, { kind: "component", type: SirioNotifyBodyComponent, selector: "ngx-sirio-notify-body", inputs: ["title"] }, { kind: "directive", type: SirioTooltipDirective, selector: "[sirioTooltip]", inputs: ["sirioTooltip", "content", "hasAction", "hasPopover", "actionLabel", "actionIconClass", "clickOutside", "position", "customTemplate"], outputs: ["clickEvent"] }, { kind: "component", type: TemplateWrapperComponent, selector: "app-template-wrapper", inputs: ["template", "context"] }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
2497
2872
|
}
|
|
2498
2873
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFieldsComponent, decorators: [{
|
|
2499
2874
|
type: Component,
|
|
2500
2875
|
args: [{ selector: 'app-dynamic-fields', standalone: true, imports: [CommonModule, ReactiveFormsModule,
|
|
2501
2876
|
AdornerDirective, DisableDirective, DisplayDirective, FrameSecurityDirective,
|
|
2502
2877
|
DropdownDirective, UpdateBlurDirective, RepeatDirective, TabDirective, GridDirective,
|
|
2503
|
-
RegisterDirective, AccordionDirective,
|
|
2878
|
+
RegisterDirective, AccordionDirective, DateDirective, NumberDirective,
|
|
2504
2879
|
SirioInputComponent, SirioValidationDirective,
|
|
2505
2880
|
SirioSelectComponent, SirioSelectOptionComponent, SirioSelectPanelComponent,
|
|
2506
2881
|
SirioCheckboxGroupComponent, SirioCheckboxComponent, SirioDatepickerComponent, SirioTimepickerComponent,
|
|
@@ -2516,7 +2891,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2516
2891
|
AgGridAngular], providers: [
|
|
2517
2892
|
RegisterService,
|
|
2518
2893
|
ProgrammabilityService
|
|
2519
|
-
], encapsulation: ViewEncapsulation.None, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [formGroup]=\"formGroup\" [class]=\"getClass(component)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\">\r\n <ngx-sirio-input type=\"text\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"Texts.TypeToSearch\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <ngx-sirio-input type=\"number\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker ariaLabel=\"date\"\r\n [label]=\"evaluateString(component.dateLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker ariaLabel=\"time\"\r\n [label]=\"evaluateString(component.timeLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <ngx-sirio-input type=\"textarea\"\r\n ariaLabel=\"textarea\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\">\r\n <ngx-sirio-file-upload ariaLabel=\"filepicker\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ Texts.Upload }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\" [rows]=\"createUploadTables(component)\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.tooltip))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div> \r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(component.content))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(component.alt)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\">\r\n <ng-container [formArrayName]=\"component.path\" [repeat]=\"evaluateNumber(component.repetitions)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <ng-container *ngIf=\"getFormArray(formGroup.get(component.path)).controls.length > 0\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"Texts.ScrollLeft\"\r\n [rightArrowLabel]=\"Texts.ScrollRight\"\r\n [tabCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"component.label + ' ' + (i + 1)\">\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"component.label + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true}\"\r\n #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addNewItem(component)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ Texts.AddItem }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(component.path))\"\r\n [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <ag-grid-angular [modules]=\"getGridModules(component)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [gridOptions]=\"getGridOptions(component)\"\r\n [rowSource]=\"(getGridData(component) | async) || []\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label [for]=\"component.id\">{{ evaluateString(component.label) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(component.label)\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"Texts.Close\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(component.title)\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\">\r\n <ngx-sirio-slider [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(component.title) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div> \r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:center}.field-set>div{margin-top:10px;margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.ag-cell-value button.sirio-btn.sirio-btn-icon{padding:0}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}\n"] }]
|
|
2894
|
+
], encapsulation: ViewEncapsulation.None, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [formGroup]=\"formGroup\" [class]=\"getClass(component)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\">\r\n <ngx-sirio-input type=\"text\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"Texts.TypeToSearch\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\">\r\n <ngx-sirio-select ariaLabel=\"select\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel ariaLabel=\"items\">\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ option.label }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <ngx-sirio-input type=\"number\"\r\n ariaLabel=\"input\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n number\r\n [defaultValue]=\"evaluateNumber(component.defaultValue)\"\r\n [minimum]=\"evaluateNumber(component.minimum)\"\r\n [maximum]=\"evaluateNumber(component.maximum)\"\r\n [decimalDigits]=\"evaluateNumber(component.decimalDigits)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker ariaLabel=\"date\"\r\n [label]=\"evaluateString(component.dateLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n isoDate\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker ariaLabel=\"time\"\r\n [label]=\"evaluateString(component.timeLabel)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox ariaLabel=\"checkbox\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group ariaLabel=\"radio\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group ariaLabel=\"checklist\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <ngx-sirio-input type=\"textarea\"\r\n ariaLabel=\"textarea\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [placeholder]=\"component.placeholder || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\">\r\n <ngx-sirio-file-upload ariaLabel=\"filepicker\"\r\n [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ Texts.Upload }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\" [rows]=\"createUploadTables(component)\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.tooltip))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div> \r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(component.content))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(component.alt)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\">\r\n <ng-container [formArrayName]=\"component.path\" [repeat]=\"evaluateNumber(component.repetitions)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <ng-container *ngIf=\"getFormArray(formGroup.get(component.path)).controls.length > 0\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"Texts.ScrollLeft\"\r\n [rightArrowLabel]=\"Texts.ScrollRight\"\r\n [tabCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"component.label + ' ' + (i + 1)\">\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"component.label + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <!--<ng-container *ngTemplateOutlet=\"itemTemplate; context: { item: item, index: i }\"></ng-container>-->\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true}\"\r\n #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\" [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ Texts.RemoveItem }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addNewItem(component)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ Texts.AddItem }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(component.path))\"\r\n [rows]=\"component.rows\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <div\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <label>{{ evaluateString(component.label) }}</label>\r\n <ag-grid-angular [modules]=\"getGridModules(component)\" \r\n [gridOptions]=\"getGridOptions(component)\"\r\n [rowSource]=\"(getGridData(component) | async) || []\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n </div> \r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(component.label) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <label [for]=\"component.id\">{{ evaluateString(component.label) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(component.label)\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"Texts.Close\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(component.title)\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\">\r\n <ngx-sirio-slider [label]=\"evaluateString(component.label)\"\r\n [labelPopover]=\"evaluateString(component.tooltip)\"\r\n [textHelp]=\"evaluateString(component.description)\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(component.title) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(component.text))\">\r\n </div> \r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:center}.field-set>div{margin-top:10px;margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-control.fp-disabled .sirio-input-group .sirio-input-group-text,.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{border:0px}.sirio-control.fp-readonly input.sirio-form-control,.sirio-control.fp-readonly .sirio-dropdown .sirio-dropdown-select,.sirio-control.fp-readonly textarea.sirio-form-control{background:none!important;border:0px;padding:0}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{background:none}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text span{color:#5b6571}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text.prefix{padding-left:0}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-cell-value .btn-small-group{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ag-cell-value .btn-small .sirio-btn{padding:.25rem .0625rem;margin:2px}\n"] }]
|
|
2520
2895
|
}], ctorParameters: () => [{ type: SanitizeService }, { type: MarkdownService }, { type: MimeService }, { type: ProgrammabilityService }, { type: EventService }, { type: FormatterService }, { type: WeakService }, { type: RegisterService }, { type: i0.ElementRef }], propDecorators: { rows: [{
|
|
2521
2896
|
type: Input
|
|
2522
2897
|
}], formGroup: [{
|
|
@@ -2711,17 +3086,13 @@ class DynamicFormComponent {
|
|
|
2711
3086
|
}
|
|
2712
3087
|
else if (component.key) {
|
|
2713
3088
|
let defaultValue = this.getDefaultValue(component);
|
|
2714
|
-
const
|
|
3089
|
+
const validators = this.getValidators(formGroup, component);
|
|
2715
3090
|
const options = {
|
|
2716
|
-
validators:
|
|
3091
|
+
validators: validators || [],
|
|
2717
3092
|
updateOn: this.getUpdateOn(component) || "change"
|
|
2718
3093
|
};
|
|
2719
3094
|
const control = formBuilder.control(defaultValue, options);
|
|
2720
3095
|
formGroup.addControl(component.key, control);
|
|
2721
|
-
programmability?.watch(control);
|
|
2722
|
-
if (component.type === 'number') {
|
|
2723
|
-
this.useNumber(control);
|
|
2724
|
-
}
|
|
2725
3096
|
}
|
|
2726
3097
|
}
|
|
2727
3098
|
});
|
|
@@ -2732,22 +3103,31 @@ class DynamicFormComponent {
|
|
|
2732
3103
|
}
|
|
2733
3104
|
let currentGroup = formGroup;
|
|
2734
3105
|
this.splitPath(path).forEach((segment) => {
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
3106
|
+
const existGroup = currentGroup.get(segment);
|
|
3107
|
+
if (existGroup instanceof FormGroup) {
|
|
3108
|
+
currentGroup = existGroup;
|
|
3109
|
+
return;
|
|
3110
|
+
}
|
|
3111
|
+
else if (existGroup) {
|
|
3112
|
+
throw new Error(`Cannot create form group because an element with path ${segment} already exists`);
|
|
3113
|
+
}
|
|
3114
|
+
else {
|
|
3115
|
+
const segmentGroup = formBuilder.group({});
|
|
3116
|
+
currentGroup.addControl(segment, segmentGroup);
|
|
3117
|
+
currentGroup = segmentGroup;
|
|
3118
|
+
}
|
|
2738
3119
|
});
|
|
2739
3120
|
return currentGroup;
|
|
2740
3121
|
}
|
|
2741
3122
|
getValidators(formGroup, component) {
|
|
2742
3123
|
const validators = [];
|
|
2743
|
-
const noWatch = (control) => { };
|
|
2744
3124
|
if (component?.validate?.required === true) {
|
|
2745
3125
|
validators.push(Validators.required);
|
|
2746
3126
|
}
|
|
2747
3127
|
if (!Array.isArray(component.validations)) {
|
|
2748
3128
|
if (validators.length == 0)
|
|
2749
3129
|
return null;
|
|
2750
|
-
return
|
|
3130
|
+
return validators;
|
|
2751
3131
|
}
|
|
2752
3132
|
component.validations?.forEach((item) => {
|
|
2753
3133
|
if (!this.programmabilityService.isExpression(item.expression))
|
|
@@ -2761,15 +3141,7 @@ class DynamicFormComponent {
|
|
|
2761
3141
|
});
|
|
2762
3142
|
if (validators.length == 0)
|
|
2763
3143
|
return null;
|
|
2764
|
-
return
|
|
2765
|
-
validators: validators,
|
|
2766
|
-
watch: (control) => {
|
|
2767
|
-
//let formGroup = control.parent as FormGroup;
|
|
2768
|
-
//this.watch(formGroup, Array.from(set), () => {
|
|
2769
|
-
// control.updateValueAndValidity();
|
|
2770
|
-
//});
|
|
2771
|
-
}
|
|
2772
|
-
};
|
|
3144
|
+
return validators;
|
|
2773
3145
|
}
|
|
2774
3146
|
validateFn(formGroup, item) {
|
|
2775
3147
|
return (control) => {
|
|
@@ -2793,15 +3165,6 @@ class DynamicFormComponent {
|
|
|
2793
3165
|
return null;
|
|
2794
3166
|
};
|
|
2795
3167
|
}
|
|
2796
|
-
useNumber(formControl) {
|
|
2797
|
-
/* Required for Siro Input because the type number was not implemented correctly */
|
|
2798
|
-
formControl.valueChanges.subscribe(value => {
|
|
2799
|
-
const numericValue = value === '' ? null : parseFloat(value);
|
|
2800
|
-
if (numericValue === null || !isNaN(numericValue)) {
|
|
2801
|
-
formControl.setValue(numericValue, { emitEvent: false });
|
|
2802
|
-
}
|
|
2803
|
-
});
|
|
2804
|
-
}
|
|
2805
3168
|
isFormComponent(component) {
|
|
2806
3169
|
switch (component.type) {
|
|
2807
3170
|
case "checkbox":
|