@fuentis/phoenix-ui 0.0.9-alpha.527 → 0.0.9-alpha.529
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fuentis-phoenix-ui.mjs +97 -128
- package/fesm2022/fuentis-phoenix-ui.mjs.map +1 -1
- package/index.d.ts +24 -47
- package/package.json +1 -1
|
@@ -3860,95 +3860,60 @@ class MetaFormAbstract {
|
|
|
3860
3860
|
onFormSubmit = new EventEmitter();
|
|
3861
3861
|
onFormCancel = new EventEmitter();
|
|
3862
3862
|
formActive$;
|
|
3863
|
+
formSub$;
|
|
3863
3864
|
/**
|
|
3864
|
-
*
|
|
3865
|
-
*
|
|
3866
|
-
* We wire subscriptions in ngOnChanges when the real FormGroup instance is available.
|
|
3867
|
-
*/
|
|
3868
|
-
formSub;
|
|
3869
|
-
/**
|
|
3870
|
-
* Dependency setup may create subscriptions. We allow cleanup by supporting
|
|
3871
|
-
* optional cleanup functions returned by setupDependencies().
|
|
3865
|
+
* Holds cleanup functions returned by dependency binding.
|
|
3866
|
+
* Every time we re-bind dependencies, we call previous cleanup first.
|
|
3872
3867
|
*/
|
|
3873
3868
|
dependencyCleanup = [];
|
|
3874
3869
|
/**
|
|
3875
|
-
*
|
|
3876
|
-
* If
|
|
3870
|
+
* Signature of the last bound metadata.
|
|
3871
|
+
* If controls change, we re-bind dependencies.
|
|
3877
3872
|
*/
|
|
3878
3873
|
lastMetaSignature = '';
|
|
3879
|
-
/**
|
|
3880
|
-
* Subscriptions used to remove server-side validation errors when the user edits the field.
|
|
3881
|
-
* This prevents "sticky" errors blocking save after the value is corrected.
|
|
3882
|
-
*/
|
|
3883
|
-
clearServerErrorSubs = new Map();
|
|
3884
3874
|
constructor(fb, metaService, translateService) {
|
|
3885
3875
|
this.fb = fb;
|
|
3886
3876
|
this.metaService = metaService;
|
|
3887
3877
|
this.translateService = translateService;
|
|
3878
|
+
this.metaForm = this.fb.group({});
|
|
3888
3879
|
this.formActive$ = this.metaService.formReadOnlyState;
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
* This is critical because the component does NOT own the FormGroup;
|
|
3894
|
-
* it is provided by the parent.
|
|
3895
|
-
*/
|
|
3896
|
-
if (changes['metaForm']) {
|
|
3897
|
-
this.rewireFormSubscription();
|
|
3898
|
-
}
|
|
3899
|
-
/**
|
|
3900
|
-
* If metadata, initial values, or disabled flag changes, rebuild/sync the form.
|
|
3901
|
-
* Safe to call multiple times.
|
|
3902
|
-
*/
|
|
3903
|
-
if (changes['metaFormControls'] ||
|
|
3904
|
-
changes['metaFormValues'] ||
|
|
3905
|
-
changes['disableForm']) {
|
|
3906
|
-
if (!this.metaForm)
|
|
3907
|
-
return;
|
|
3908
|
-
this.syncForm();
|
|
3909
|
-
}
|
|
3880
|
+
// Forward global form events to the service (kept as-is from your implementation)
|
|
3881
|
+
this.formSub$ = this.metaForm.valueChanges.subscribe((ev) => {
|
|
3882
|
+
this.metaService.setFormEvent(ev);
|
|
3883
|
+
});
|
|
3910
3884
|
}
|
|
3911
3885
|
/**
|
|
3912
|
-
* Backwards compatible API
|
|
3913
|
-
*
|
|
3886
|
+
* Backwards compatible API.
|
|
3887
|
+
* Old components call createForm(controls). We keep that working.
|
|
3914
3888
|
*/
|
|
3915
3889
|
createForm(controls) {
|
|
3916
3890
|
if (controls)
|
|
3917
3891
|
this.metaFormControls = controls;
|
|
3918
|
-
if (!this.metaForm) {
|
|
3919
|
-
throw new Error('[MetaFormAbstract] metaForm input is required. Parent must pass [metaForm].');
|
|
3920
|
-
}
|
|
3921
3892
|
this.syncForm();
|
|
3922
3893
|
}
|
|
3923
3894
|
/**
|
|
3924
|
-
* Main sync:
|
|
3925
|
-
*
|
|
3926
|
-
*
|
|
3927
|
-
*
|
|
3928
|
-
* - applies disabled state
|
|
3929
|
-
* - binds dependencies (safe rebind)
|
|
3930
|
-
* - recomputes validity
|
|
3895
|
+
* Main sync: builds controls, applies validators, patches values,
|
|
3896
|
+
* applies disabled state, and binds dependencies safely.
|
|
3897
|
+
*
|
|
3898
|
+
* Safe to call multiple times.
|
|
3931
3899
|
*/
|
|
3932
|
-
// MetaFormAbstract (samo bitne izmene – kompletno je kompatibilno sa tvojim kodom)
|
|
3933
3900
|
syncForm() {
|
|
3934
3901
|
const flatControls = this.flattenControls(this.metaFormControls);
|
|
3935
3902
|
const values = this.metaFormValues ?? null;
|
|
3936
|
-
// 1) Ensure controls +
|
|
3903
|
+
// 1) Ensure form controls exist + validators are applied
|
|
3937
3904
|
this.ensureControls(flatControls);
|
|
3938
3905
|
// 2) Patch initial values WITHOUT firing valueChanges
|
|
3939
3906
|
if (values) {
|
|
3940
3907
|
this.metaForm.patchValue(values, { emitEvent: false });
|
|
3941
3908
|
}
|
|
3942
|
-
// 3) Enable/disable entire form
|
|
3909
|
+
// 3) Enable/disable entire form if requested
|
|
3943
3910
|
if (this.disableForm)
|
|
3944
3911
|
this.metaForm.disable({ emitEvent: false });
|
|
3945
3912
|
else
|
|
3946
3913
|
this.metaForm.enable({ emitEvent: false });
|
|
3947
|
-
// 4) Bind dependencies (
|
|
3914
|
+
// 4) Bind dependencies if needed (rebind when meta changes)
|
|
3948
3915
|
this.bindDependenciesIfNeeded(flatControls);
|
|
3949
|
-
// 5)
|
|
3950
|
-
this.metaForm.updateValueAndValidity({ emitEvent: false });
|
|
3951
|
-
// 6) Notify that build is complete (signal to parent)
|
|
3916
|
+
// 5) Notify that form build is done
|
|
3952
3917
|
this.metaService.setFormBuildCompletition(true);
|
|
3953
3918
|
}
|
|
3954
3919
|
/**
|
|
@@ -3959,13 +3924,16 @@ class MetaFormAbstract {
|
|
|
3959
3924
|
flattenControls(input) {
|
|
3960
3925
|
if (!Array.isArray(input))
|
|
3961
3926
|
return [];
|
|
3927
|
+
// already flat
|
|
3962
3928
|
const isFlat = input.every((x) => !!x?.configuration?.key);
|
|
3963
3929
|
if (isFlat)
|
|
3964
3930
|
return input;
|
|
3965
|
-
|
|
3931
|
+
// grouped [{ ctrl: [...] }, ...]
|
|
3932
|
+
const flattened = input.flatMap((x) => (Array.isArray(x?.ctrl) ? x.ctrl : x));
|
|
3966
3933
|
return flattened.filter((x) => !!x?.configuration?.key);
|
|
3967
3934
|
}
|
|
3968
3935
|
metaSignature(controls) {
|
|
3936
|
+
// Key list is enough to detect changes; also include type to handle swaps.
|
|
3969
3937
|
return (controls ?? [])
|
|
3970
3938
|
.map((c) => `${c?.configuration?.key ?? ''}:${c?.configuration?.type ?? ''}`)
|
|
3971
3939
|
.join('|');
|
|
@@ -3980,6 +3948,7 @@ class MetaFormAbstract {
|
|
|
3980
3948
|
const sig = this.metaSignature(flatControls);
|
|
3981
3949
|
if (sig === this.lastMetaSignature)
|
|
3982
3950
|
return;
|
|
3951
|
+
// cleanup previous dependency subscriptions
|
|
3983
3952
|
this.cleanupDependencies();
|
|
3984
3953
|
const ctx = {
|
|
3985
3954
|
form: this.metaForm,
|
|
@@ -3988,8 +3957,16 @@ class MetaFormAbstract {
|
|
|
3988
3957
|
getControl: (key) => this.metaForm.get(key) ?? null,
|
|
3989
3958
|
findMeta: (key) => flatControls.find((c) => c?.configuration?.key === key) ?? null,
|
|
3990
3959
|
};
|
|
3960
|
+
/**
|
|
3961
|
+
* Important:
|
|
3962
|
+
* We call setupDependencies AFTER the form is fully built and patched.
|
|
3963
|
+
* The setup function should subscribe to valueChanges and optionally apply initial sync.
|
|
3964
|
+
*/
|
|
3991
3965
|
const maybeCleanup = this.setupDependencies(ctx);
|
|
3992
|
-
|
|
3966
|
+
/**
|
|
3967
|
+
* If your setupDependencies wants to return a cleanup fn, we support it.
|
|
3968
|
+
* (Not required, but useful.)
|
|
3969
|
+
*/
|
|
3993
3970
|
if (typeof maybeCleanup === 'function') {
|
|
3994
3971
|
this.dependencyCleanup.push(maybeCleanup);
|
|
3995
3972
|
}
|
|
@@ -4005,10 +3982,6 @@ class MetaFormAbstract {
|
|
|
4005
3982
|
this.dependencyCleanup = [];
|
|
4006
3983
|
this.lastMetaSignature = '';
|
|
4007
3984
|
}
|
|
4008
|
-
/**
|
|
4009
|
-
* Creates missing controls, applies validators, and removes stale controls.
|
|
4010
|
-
* Also attaches "clear server error on edit" subscriptions per control.
|
|
4011
|
-
*/
|
|
4012
3985
|
ensureControls(controls) {
|
|
4013
3986
|
(controls ?? []).forEach((control) => {
|
|
4014
3987
|
const key = control?.configuration?.key;
|
|
@@ -4018,57 +3991,24 @@ class MetaFormAbstract {
|
|
|
4018
3991
|
if (!this.metaForm.contains(key)) {
|
|
4019
3992
|
this.metaForm.addControl(key, this.fb.control(getFieldType(control)));
|
|
4020
3993
|
}
|
|
4021
|
-
// Apply
|
|
3994
|
+
// Apply validators stably
|
|
4022
3995
|
this.applyValidators(control);
|
|
4023
|
-
// Clear server-side errors when user edits this field
|
|
4024
|
-
this.bindClearServerError(key);
|
|
4025
3996
|
// Disable if metadata says so
|
|
4026
3997
|
if (control?.disable) {
|
|
4027
3998
|
this.metaForm.get(key)?.disable({ emitEvent: false });
|
|
4028
3999
|
}
|
|
4029
4000
|
});
|
|
4030
|
-
// Remove stale controls when
|
|
4031
|
-
const allowed = new Set((controls ?? [])
|
|
4032
|
-
.map((c) => c?.configuration?.key)
|
|
4033
|
-
.filter(Boolean));
|
|
4001
|
+
// Remove stale controls (safe when meta changes)
|
|
4002
|
+
const allowed = new Set((controls ?? []).map((c) => c?.configuration?.key).filter(Boolean));
|
|
4034
4003
|
Object.keys(this.metaForm.controls).forEach((k) => {
|
|
4035
4004
|
if (!allowed.has(k)) {
|
|
4036
|
-
this.clearServerErrorSubs.get(k)?.unsubscribe();
|
|
4037
|
-
this.clearServerErrorSubs.delete(k);
|
|
4038
4005
|
this.metaForm.removeControl(k);
|
|
4039
4006
|
}
|
|
4040
4007
|
});
|
|
4041
4008
|
}
|
|
4042
4009
|
/**
|
|
4043
|
-
*
|
|
4044
|
-
*
|
|
4045
|
-
*
|
|
4046
|
-
* We DO NOT touch other errors (required, pattern, etc.).
|
|
4047
|
-
*/
|
|
4048
|
-
bindClearServerError(key) {
|
|
4049
|
-
if (this.clearServerErrorSubs.has(key))
|
|
4050
|
-
return;
|
|
4051
|
-
const ctrl = this.metaForm.get(key);
|
|
4052
|
-
if (!ctrl)
|
|
4053
|
-
return;
|
|
4054
|
-
const sub = ctrl.valueChanges.subscribe(() => {
|
|
4055
|
-
const errors = ctrl.errors;
|
|
4056
|
-
if (!errors)
|
|
4057
|
-
return;
|
|
4058
|
-
const hasServerUnique = errors['uniqueEntry'] !== undefined || errors['unique'] !== undefined;
|
|
4059
|
-
if (!hasServerUnique)
|
|
4060
|
-
return;
|
|
4061
|
-
const { uniqueEntry, unique, ...rest } = errors;
|
|
4062
|
-
// Clear only server errors, keep other validators
|
|
4063
|
-
ctrl.setErrors(Object.keys(rest).length ? rest : null, { emitEvent: false });
|
|
4064
|
-
// IMPORTANT: after changing errors, re-run validity WITH EMIT
|
|
4065
|
-
this.metaForm.updateValueAndValidity({ emitEvent: true });
|
|
4066
|
-
});
|
|
4067
|
-
this.clearServerErrorSubs.set(key, sub);
|
|
4068
|
-
}
|
|
4069
|
-
/**
|
|
4070
|
-
* Applies synchronous validators based on metadata.
|
|
4071
|
-
* Uses emitEvent:false to avoid unnecessary loops.
|
|
4010
|
+
* Applies validators based on metadata.
|
|
4011
|
+
* Uses emitEvent: false to avoid loops and unstable validator states.
|
|
4072
4012
|
*/
|
|
4073
4013
|
applyValidators(control) {
|
|
4074
4014
|
const key = control?.configuration?.key;
|
|
@@ -4084,15 +4024,15 @@ class MetaFormAbstract {
|
|
|
4084
4024
|
v.email && validators.push(Validators.email);
|
|
4085
4025
|
v.regex && validators.push(Validators.pattern(v.regex?.regexType));
|
|
4086
4026
|
v.phone && validators.push(Validators.pattern(/^\+?[1-9]\d{7,14}$/));
|
|
4087
|
-
v.timeperiod &&
|
|
4088
|
-
validators.push(timePeriod(this.translateService.currentLang, v.tpMin));
|
|
4027
|
+
v.timeperiod && validators.push(timePeriod(this.translateService.currentLang, v.tpMin));
|
|
4089
4028
|
v.dueDate && validators.push(startDueDateValidator);
|
|
4090
4029
|
}
|
|
4091
4030
|
if (control?.mandatory)
|
|
4092
4031
|
validators.push(Validators.required);
|
|
4093
|
-
if (control?.mandatory &&
|
|
4094
|
-
(
|
|
4095
|
-
|
|
4032
|
+
if (control?.mandatory && control?.configuration?.type === ControlType.TEXT) {
|
|
4033
|
+
validators.push(WhiteSpaceValidator.noWhiteSpaceValidator);
|
|
4034
|
+
}
|
|
4035
|
+
if (control?.mandatory && control?.configuration?.type === ControlType.TEXT_AREA) {
|
|
4096
4036
|
validators.push(WhiteSpaceValidator.noWhiteSpaceValidator);
|
|
4097
4037
|
}
|
|
4098
4038
|
if (control?.configuration?.type === ControlType.TEXT ||
|
|
@@ -4105,19 +4045,6 @@ class MetaFormAbstract {
|
|
|
4105
4045
|
ctrl.setValidators(validators);
|
|
4106
4046
|
ctrl.updateValueAndValidity({ emitEvent: false });
|
|
4107
4047
|
}
|
|
4108
|
-
/**
|
|
4109
|
-
* Subscribes MetaFormService to the correct FormGroup instance.
|
|
4110
|
-
* Must run after @Input metaForm is available.
|
|
4111
|
-
*/
|
|
4112
|
-
rewireFormSubscription() {
|
|
4113
|
-
this.formSub?.unsubscribe();
|
|
4114
|
-
if (!this.metaForm) {
|
|
4115
|
-
this.metaForm = this.fb.group({});
|
|
4116
|
-
}
|
|
4117
|
-
this.formSub = this.metaForm.valueChanges.subscribe((ev) => {
|
|
4118
|
-
this.metaService.setFormEvent(ev);
|
|
4119
|
-
});
|
|
4120
|
-
}
|
|
4121
4048
|
onSubmit() {
|
|
4122
4049
|
this.onFormSubmit.emit(this.metaForm);
|
|
4123
4050
|
}
|
|
@@ -4129,17 +4056,14 @@ class MetaFormAbstract {
|
|
|
4129
4056
|
this.metaForm.patchValue(this.metaFormValues, { emitEvent: false });
|
|
4130
4057
|
this.metaForm.markAsPristine();
|
|
4131
4058
|
this.metaForm.markAsUntouched();
|
|
4132
|
-
this.metaForm.updateValueAndValidity({ emitEvent: false });
|
|
4133
4059
|
}
|
|
4134
4060
|
ngOnDestroy() {
|
|
4135
4061
|
this.cleanupDependencies();
|
|
4136
|
-
this.formSub
|
|
4137
|
-
|
|
4138
|
-
this.clearServerErrorSubs.forEach((s) => s.unsubscribe());
|
|
4139
|
-
this.clearServerErrorSubs.clear();
|
|
4062
|
+
if (this.formSub$)
|
|
4063
|
+
this.formSub$.unsubscribe();
|
|
4140
4064
|
}
|
|
4141
4065
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MetaFormAbstract, deps: [{ token: i2$3.FormBuilder }, { token: MetaFormService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4142
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: MetaFormAbstract, isStandalone: true, inputs: { metaForm: "metaForm", metaFormValues: "metaFormValues", metaFormControls: "metaFormControls", setupDependencies: "setupDependencies", loading: "loading", disableForm: "disableForm", formButtons: "formButtons", groupForm: "groupForm", formStyle: "formStyle" }, outputs: { onFormSubmit: "onFormSubmit", onFormCancel: "onFormCancel" },
|
|
4066
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: MetaFormAbstract, isStandalone: true, inputs: { metaForm: "metaForm", metaFormValues: "metaFormValues", metaFormControls: "metaFormControls", setupDependencies: "setupDependencies", loading: "loading", disableForm: "disableForm", formButtons: "formButtons", groupForm: "groupForm", formStyle: "formStyle" }, outputs: { onFormSubmit: "onFormSubmit", onFormCancel: "onFormCancel" }, ngImport: i0 });
|
|
4143
4067
|
}
|
|
4144
4068
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MetaFormAbstract, decorators: [{
|
|
4145
4069
|
type: Directive
|
|
@@ -7725,11 +7649,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
7725
7649
|
|
|
7726
7650
|
class MetaFormComponent extends MetaFormAbstract {
|
|
7727
7651
|
ControlType = ControlType;
|
|
7728
|
-
constructor(fb, metaService, translateService) {
|
|
7652
|
+
constructor(fb, metaService, translateService, http) {
|
|
7729
7653
|
super(fb, metaService, translateService);
|
|
7730
7654
|
}
|
|
7731
|
-
|
|
7732
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MetaFormComponent, isStandalone: true, selector: "phoenix-meta-form", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"metaForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"grid\">\n @for (control of metaFormControls; track control?.id) {\n @switch (control.configuration.type) {\n @case (ControlType.TEXT) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-input>\n }\n </div>\n }\n\n @case (ControlType.NUMBER) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'number-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-number-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-number-input>\n }\n </div>\n }\n\n @case (ControlType.TIMEPERIOD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'timeperiod-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-timeperiod\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-timeperiod>\n }\n </div>\n }\n\n @case (ControlType.CURRENCY) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'currency-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-currency\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-currency>\n }\n </div>\n }\n\n @case (ControlType.TEXT_AREA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-area-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-area\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-area>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ss-option-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION_OBJECT_BASED) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ss-option-object-based-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select-object-based\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select-object-based>\n }\n </div>\n }\n\n @case (ControlType.MS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ms-option-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-multiple-select\n [attr.data-cy]=\"'multiSelect-' + control?.id\"\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-multiple-select>\n }\n </div>\n }\n\n @case (ControlType.START_DUE_DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'start-due-date-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-start-due-date\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-start-due-date>\n }\n </div>\n }\n\n @case (ControlType.DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'date-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-calendar\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-calendar>\n }\n </div>\n }\n\n @case (ControlType.TEXT_EDITOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-editor-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-editor\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-editor>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column justify-content-end\"\n [attr.data-cy]=\"'checkbox-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-checkbox\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX_COLOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column justify-content-end\"\n [attr.data-cy]=\"'CHECKBOX_COLOR-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-checkbox-color-picker\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox-color-picker>\n }\n </div>\n }\n\n @case (ControlType.SWITCH) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'switch-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-switch\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-switch>\n }\n </div>\n }\n\n @case (ControlType.SELECT_BUTTON) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'select-button-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-select-button\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-select-button>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-responsible\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-responsible>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN_ASSET) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-asset\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-asset>\n }\n </div>\n }\n\n @case (ControlType.LINKS_DATA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control | fieldCol\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'links-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <!-- <phoenix-meta-object-links\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-object-links> -->\n }\n </div>\n }\n\n @case (ControlType.PASSWORD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'password-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-password-feild\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-password-feild>\n }\n </div>\n }\n\n @case (ControlType.COLOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'color-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-color-picker\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-color-picker>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD_DRAG_DROP) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload-dragdrop\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload-dragdrop>\n }\n </div>\n }\n\n @case (ControlType.SLOT) {\n <ng-content\n [select]=\"[control.configuration.key]\"\n ></ng-content>\n }\n }\n }\n </div>\n\n @if (formButtons) {\n <div class=\"flex justify-content-end\">\n <p-button\n class=\"mr-1\"\n [disabled]=\"!metaForm.valid || disableForm\"\n type=\"submit\"\n label=\"{{ 'ACTION.SAVE' | translate }}\"\n [attr.data-cy]=\"'submit-button'\"\n [loading]=\"loading\"\n ></p-button>\n\n <p-button\n [disabled]=\"disableForm\"\n styleClass=\"p-button-link\"\n [text]=\"true\"\n (onClick)=\"onCancel()\"\n label=\"{{ 'ACTION.CANCEL' | translate }}\"\n [attr.data-cy]=\"'cancel-button'\"\n ></p-button>\n </div>\n }\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: MetaTextEditorComponent, selector: "phoenix-meta-text-editor", inputs: ["previewMode", "hideLabel"] }, { kind: "component", type: MetaCheckboxComponent, selector: "phoenix-meta-checkbox" }, { kind: "component", type: MetaTextInputComponent, selector: "phoenix-meta-text-input" }, { kind: "component", type: MetaSingleSelectComponent, selector: "phoenix-meta-single-select" }, { kind: "component", type: MetaStartDueDateComponent, selector: "phoenix-meta-start-due-date", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaTextAreaComponent, selector: "phoenix-meta-text-area" }, { kind: "component", type: MetaMultipleSelectComponent, selector: "phoenix-meta-multiple-select" }, { kind: "component", type: MetaCalendarComponent, selector: "phoenix-meta-calendar" }, { kind: "component", type: MetaUploadComponentDragDrop, selector: "phoenix-meta-upload-dragdrop" }, { kind: "component", type: MetaSwitchComponent, selector: "phoenix-meta-switch" }, { kind: "component", type: MetaPasswordFeildComponent, selector: "phoenix-meta-password-feild" }, { kind: "component", type: MetaTimeperiodComponent, selector: "phoenix-meta-timeperiod", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaCurrencyComponent, selector: "phoenix-meta-currency" }, { kind: "component", type: MetaNumberComponent, selector: "phoenix-meta-number-input" }, { kind: "component", type: MetaAssignResponsibleComponent, selector: "phoenix-meta-assign-responsible", inputs: ["control", "parentForm", "disable"] }, { kind: "component", type: MetaAssignAssetComponent, selector: "phoenix-meta-assign-asset", inputs: ["control", "parentForm", "disable"] }, { kind: "component", type: MetaColorPickerComponent, selector: "phoenix-meta-color-picker" }, { kind: "component", type: ReadOnlyInputComponent, selector: "phoenix-read-only-input", inputs: ["control", "metaform"] }, { kind: "component", type: MetaSelectButtonComponent, selector: "phoenix-meta-select-button" }, { kind: "component", type: MetaUploadComponent, selector: "phoenix-meta-upload" }, { kind: "component", type: MetaSingleSelectObjectBasedComponent, selector: "phoenix-meta-single-select-object-based" }, { kind: "component", type: MetaCheckboxColorPickerComponent, selector: "phoenix-meta-checkbox-color-picker" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: FieldColPipe, name: "fieldCol" }], encapsulation: i0.ViewEncapsulation.None });
|
|
7655
|
+
/**
|
|
7656
|
+
* Reacts to changes in metadata or initial values and keeps the form in sync.
|
|
7657
|
+
* This is intentionally idempotent and safe to call multiple times.
|
|
7658
|
+
*/
|
|
7659
|
+
ngOnChanges(simpleChanges) {
|
|
7660
|
+
if (simpleChanges?.['metaFormControls'] ||
|
|
7661
|
+
simpleChanges?.['metaFormValues'] ||
|
|
7662
|
+
simpleChanges?.['disableForm'] ||
|
|
7663
|
+
simpleChanges?.['setupDependencies']) {
|
|
7664
|
+
this.syncForm();
|
|
7665
|
+
this.metaService.setFormDirtyStatus(this.metaForm.dirty);
|
|
7666
|
+
}
|
|
7667
|
+
}
|
|
7668
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MetaFormComponent, deps: [{ token: i2$3.FormBuilder }, { token: MetaFormService }, { token: i1$2.TranslateService }, { token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
7669
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MetaFormComponent, isStandalone: true, selector: "phoenix-meta-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"metaForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"grid\">\n @for (control of metaFormControls; track control?.id) {\n @switch (control.configuration.type) {\n @case (ControlType.TEXT) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-input>\n }\n </div>\n }\n\n @case (ControlType.NUMBER) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'number-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-number-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-number-input>\n }\n </div>\n }\n\n @case (ControlType.TIMEPERIOD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'timeperiod-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-timeperiod\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-timeperiod>\n }\n </div>\n }\n\n @case (ControlType.CURRENCY) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'currency-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-currency\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-currency>\n }\n </div>\n }\n\n @case (ControlType.TEXT_AREA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-area-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-area\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-area>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ss-option-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION_OBJECT_BASED) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ss-option-object-based-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select-object-based\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select-object-based>\n }\n </div>\n }\n\n @case (ControlType.MS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ms-option-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-multiple-select\n [attr.data-cy]=\"'multiSelect-' + control?.id\"\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-multiple-select>\n }\n </div>\n }\n\n @case (ControlType.START_DUE_DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'start-due-date-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-start-due-date\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-start-due-date>\n }\n </div>\n }\n\n @case (ControlType.DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'date-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-calendar\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-calendar>\n }\n </div>\n }\n\n @case (ControlType.TEXT_EDITOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-editor-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-editor\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-editor>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column justify-content-end\"\n [attr.data-cy]=\"'checkbox-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-checkbox\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX_COLOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column justify-content-end\"\n [attr.data-cy]=\"'CHECKBOX_COLOR-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-checkbox-color-picker\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox-color-picker>\n }\n </div>\n }\n\n @case (ControlType.SWITCH) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'switch-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-switch\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-switch>\n }\n </div>\n }\n\n @case (ControlType.SELECT_BUTTON) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'select-button-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-select-button\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-select-button>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-responsible\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-responsible>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN_ASSET) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-asset\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-asset>\n }\n </div>\n }\n\n @case (ControlType.LINKS_DATA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control | fieldCol\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'links-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <!-- <phoenix-meta-object-links\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-object-links> -->\n }\n </div>\n }\n\n @case (ControlType.PASSWORD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'password-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-password-feild\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-password-feild>\n }\n </div>\n }\n\n @case (ControlType.COLOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'color-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-color-picker\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-color-picker>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD_DRAG_DROP) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload-dragdrop\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload-dragdrop>\n }\n </div>\n }\n\n @case (ControlType.SLOT) {\n <ng-content\n [select]=\"[control.configuration.key]\"\n ></ng-content>\n }\n }\n }\n </div>\n\n @if (formButtons) {\n <div class=\"flex justify-content-end\">\n <p-button\n class=\"mr-1\"\n [disabled]=\"!metaForm.valid || disableForm\"\n type=\"submit\"\n label=\"{{ 'ACTION.SAVE' | translate }}\"\n [attr.data-cy]=\"'submit-button'\"\n [loading]=\"loading\"\n ></p-button>\n\n <p-button\n [disabled]=\"disableForm\"\n styleClass=\"p-button-link\"\n [text]=\"true\"\n (onClick)=\"onCancel()\"\n label=\"{{ 'ACTION.CANCEL' | translate }}\"\n [attr.data-cy]=\"'cancel-button'\"\n ></p-button>\n </div>\n }\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: MetaTextEditorComponent, selector: "phoenix-meta-text-editor", inputs: ["previewMode", "hideLabel"] }, { kind: "component", type: MetaCheckboxComponent, selector: "phoenix-meta-checkbox" }, { kind: "component", type: MetaTextInputComponent, selector: "phoenix-meta-text-input" }, { kind: "component", type: MetaSingleSelectComponent, selector: "phoenix-meta-single-select" }, { kind: "component", type: MetaStartDueDateComponent, selector: "phoenix-meta-start-due-date", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaTextAreaComponent, selector: "phoenix-meta-text-area" }, { kind: "component", type: MetaMultipleSelectComponent, selector: "phoenix-meta-multiple-select" }, { kind: "component", type: MetaCalendarComponent, selector: "phoenix-meta-calendar" }, { kind: "component", type: MetaUploadComponentDragDrop, selector: "phoenix-meta-upload-dragdrop" }, { kind: "component", type: MetaSwitchComponent, selector: "phoenix-meta-switch" }, { kind: "component", type: MetaPasswordFeildComponent, selector: "phoenix-meta-password-feild" }, { kind: "component", type: MetaTimeperiodComponent, selector: "phoenix-meta-timeperiod", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaCurrencyComponent, selector: "phoenix-meta-currency" }, { kind: "component", type: MetaNumberComponent, selector: "phoenix-meta-number-input" }, { kind: "component", type: MetaAssignResponsibleComponent, selector: "phoenix-meta-assign-responsible", inputs: ["control", "parentForm", "disable"] }, { kind: "component", type: MetaAssignAssetComponent, selector: "phoenix-meta-assign-asset", inputs: ["control", "parentForm", "disable"] }, { kind: "component", type: MetaColorPickerComponent, selector: "phoenix-meta-color-picker" }, { kind: "component", type: ReadOnlyInputComponent, selector: "phoenix-read-only-input", inputs: ["control", "metaform"] }, { kind: "component", type: MetaSelectButtonComponent, selector: "phoenix-meta-select-button" }, { kind: "component", type: MetaUploadComponent, selector: "phoenix-meta-upload" }, { kind: "component", type: MetaSingleSelectObjectBasedComponent, selector: "phoenix-meta-single-select-object-based" }, { kind: "component", type: MetaCheckboxColorPickerComponent, selector: "phoenix-meta-checkbox-color-picker" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: FieldColPipe, name: "fieldCol" }], encapsulation: i0.ViewEncapsulation.None });
|
|
7733
7670
|
}
|
|
7734
7671
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MetaFormComponent, decorators: [{
|
|
7735
7672
|
type: Component,
|
|
@@ -7764,7 +7701,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
7764
7701
|
MetaSingleSelectObjectBasedComponent,
|
|
7765
7702
|
MetaCheckboxColorPickerComponent,
|
|
7766
7703
|
], encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"metaForm\" (ngSubmit)=\"onSubmit()\">\n <div class=\"grid\">\n @for (control of metaFormControls; track control?.id) {\n @switch (control.configuration.type) {\n @case (ControlType.TEXT) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-input>\n }\n </div>\n }\n\n @case (ControlType.NUMBER) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'number-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-number-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-number-input>\n }\n </div>\n }\n\n @case (ControlType.TIMEPERIOD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'timeperiod-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-timeperiod\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-timeperiod>\n }\n </div>\n }\n\n @case (ControlType.CURRENCY) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'currency-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-currency\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-currency>\n }\n </div>\n }\n\n @case (ControlType.TEXT_AREA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-area-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-area\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-area>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ss-option-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION_OBJECT_BASED) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ss-option-object-based-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select-object-based\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select-object-based>\n }\n </div>\n }\n\n @case (ControlType.MS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'ms-option-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-multiple-select\n [attr.data-cy]=\"'multiSelect-' + control?.id\"\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-multiple-select>\n }\n </div>\n }\n\n @case (ControlType.START_DUE_DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'start-due-date-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-start-due-date\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-start-due-date>\n }\n </div>\n }\n\n @case (ControlType.DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'date-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-calendar\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-calendar>\n }\n </div>\n }\n\n @case (ControlType.TEXT_EDITOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'text-editor-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-text-editor\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-editor>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column justify-content-end\"\n [attr.data-cy]=\"'checkbox-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-checkbox\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX_COLOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column justify-content-end\"\n [attr.data-cy]=\"'CHECKBOX_COLOR-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-checkbox-color-picker\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox-color-picker>\n }\n </div>\n }\n\n @case (ControlType.SWITCH) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'switch-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-switch\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-switch>\n }\n </div>\n }\n\n @case (ControlType.SELECT_BUTTON) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'select-button-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-select-button\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-select-button>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-responsible\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-responsible>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN_ASSET) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-asset\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-asset>\n }\n </div>\n }\n\n @case (ControlType.LINKS_DATA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control | fieldCol\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'links-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <!-- <phoenix-meta-object-links\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-object-links> -->\n }\n </div>\n }\n\n @case (ControlType.PASSWORD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'password-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-password-feild\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-password-feild>\n }\n </div>\n }\n\n @case (ControlType.COLOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'color-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-color-picker\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-color-picker>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD_DRAG_DROP) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload-dragdrop\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload-dragdrop>\n }\n </div>\n }\n\n @case (ControlType.SLOT) {\n <ng-content\n [select]=\"[control.configuration.key]\"\n ></ng-content>\n }\n }\n }\n </div>\n\n @if (formButtons) {\n <div class=\"flex justify-content-end\">\n <p-button\n class=\"mr-1\"\n [disabled]=\"!metaForm.valid || disableForm\"\n type=\"submit\"\n label=\"{{ 'ACTION.SAVE' | translate }}\"\n [attr.data-cy]=\"'submit-button'\"\n [loading]=\"loading\"\n ></p-button>\n\n <p-button\n [disabled]=\"disableForm\"\n styleClass=\"p-button-link\"\n [text]=\"true\"\n (onClick)=\"onCancel()\"\n label=\"{{ 'ACTION.CANCEL' | translate }}\"\n [attr.data-cy]=\"'cancel-button'\"\n ></p-button>\n </div>\n }\n</form>" }]
|
|
7767
|
-
}], ctorParameters: () => [{ type: i2$3.FormBuilder }, { type: MetaFormService }, { type: i1$2.TranslateService }] });
|
|
7704
|
+
}], ctorParameters: () => [{ type: i2$3.FormBuilder }, { type: MetaFormService }, { type: i1$2.TranslateService }, { type: i1$3.HttpClient }] });
|
|
7768
7705
|
|
|
7769
7706
|
class MetaFormButtonsComponent {
|
|
7770
7707
|
metaFormService;
|
|
@@ -7822,8 +7759,30 @@ class GroupsFormComponent extends MetaFormAbstract {
|
|
|
7822
7759
|
optionLabel;
|
|
7823
7760
|
notiffication;
|
|
7824
7761
|
trans = inject(TranslateService);
|
|
7762
|
+
ngOnChanges(simpleChanges) {
|
|
7763
|
+
if (simpleChanges?.['metaFormControls'] ||
|
|
7764
|
+
simpleChanges?.['metaFormValues'] ||
|
|
7765
|
+
simpleChanges?.['metaForm']) {
|
|
7766
|
+
this.syncForm();
|
|
7767
|
+
this.metaService.setFormDirtyStatus(this.metaForm.dirty);
|
|
7768
|
+
}
|
|
7769
|
+
}
|
|
7825
7770
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GroupsFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7826
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: GroupsFormComponent, isStandalone: true, selector: "phoenix-groups-form", inputs: { activePanelsIndex: "activePanelsIndex" }, usesInheritance: true, ngImport: i0, template: "<p-accordion [multiple]=\"true\" [(value)]=\"activePanelsIndex\">\n @if (metaFormControls?.length) {\n <form [formGroup]=\"metaForm\" (ngSubmit)=\"onSubmit()\">\n @for (group of metaFormControls; track group.groupName; let idx = $index) {\n <div [style]=\"{ order: group.order }\" class=\"w-full\">\n <p-accordion-panel\n [value]=\"idx\"\n [attr.data-cy]=\"'table-accordion-header-' + group.groupName\"\n >\n <p-accordion-header>\n <ng-template #toggleicon let-active=\"active\">\n @if (active) {\n <i class=\"pi pi-minus-circle\"></i>\n } @else {\n <i class=\"pi pi-plus-circle\"></i>\n }\n </ng-template>\n {{ group.groupName | translate }}\n </p-accordion-header>\n\n <p-accordion-content>\n <div [style]=\"formStyle\" class=\"grid align-items-end\">\n @for (control of group.ctrl; track (control?.id ?? control?.configuration?.key)) {\n @switch (control.configuration.type) {\n\n @case (ControlType.TEXT) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-input>\n }\n </div>\n }\n\n @case (ControlType.NUMBER) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-number-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-number-input>\n }\n </div>\n }\n\n @case (ControlType.TIMEPERIOD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-timeperiod\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-timeperiod>\n }\n </div>\n }\n\n @case (ControlType.CURRENCY) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-currency\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-currency>\n }\n </div>\n }\n\n @case (ControlType.TEXT_AREA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-area\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-area>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-single-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION_OBJECT_BASED) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select-object-based\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select-object-based>\n }\n </div>\n }\n\n @case (ControlType.MS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-multiple-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-multiple-select>\n }\n </div>\n }\n\n @case (ControlType.START_DUE_DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-start-due-date\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-start-due-date>\n }\n </div>\n }\n\n @case (ControlType.DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-calendar\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-calendar>\n }\n </div>\n }\n\n @case (ControlType.TEXT_EDITOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-editor\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-editor>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n <phoenix-meta-checkbox\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox>\n </div>\n }\n\n @case (ControlType.SWITCH) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-switch\n [disable]=\"true\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-switch>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-assign-responsible\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-responsible>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN_ASSET) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-asset\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-asset>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD_DRAG_DROP) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload-dragdrop\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload-dragdrop>\n }\n </div>\n }\n\n @case (ControlType.LINKS_DATA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control | fieldCol\"\n class=\"flex flex-column\"\n >\n </div>\n }\n\n @case (ControlType.PASSWORD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n <phoenix-meta-password-feild\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-password-feild>\n </div>\n }\n\n @default {\n }\n }\n }\n </div>\n </p-accordion-content>\n </p-accordion-panel>\n </div>\n }\n </form>\n }\n</p-accordion>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: MetaTextEditorComponent, selector: "phoenix-meta-text-editor", inputs: ["previewMode", "hideLabel"] }, { kind: "component", type: MetaCheckboxComponent, selector: "phoenix-meta-checkbox" }, { kind: "component", type: MetaTextInputComponent, selector: "phoenix-meta-text-input" }, { kind: "component", type: MetaSingleSelectComponent, selector: "phoenix-meta-single-select" }, { kind: "component", type: MetaStartDueDateComponent, selector: "phoenix-meta-start-due-date", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaTextAreaComponent, selector: "phoenix-meta-text-area" }, { kind: "component", type: MetaMultipleSelectComponent, selector: "phoenix-meta-multiple-select" }, { kind: "component", type: MetaCalendarComponent, selector: "phoenix-meta-calendar" }, { kind: "component", type: MetaUploadComponentDragDrop, selector: "phoenix-meta-upload-dragdrop" }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i3$2.Accordion, selector: "p-accordion", inputs: ["value", "multiple", "styleClass", "expandIcon", "collapseIcon", "selectOnFocus", "transitionOptions"], outputs: ["valueChange", "onClose", "onOpen"] }, { kind: "component", type: i3$2.AccordionPanel, selector: "p-accordion-panel, p-accordionpanel", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: i3$2.AccordionHeader, selector: "p-accordion-header, p-accordionheader" }, { kind: "component", type: i3$2.AccordionContent, selector: "p-accordion-content, p-accordioncontent" }, { kind: "component", type: MetaSwitchComponent, selector: "phoenix-meta-switch" }, { kind: "component", type: MetaPasswordFeildComponent, selector: "phoenix-meta-password-feild" }, { kind: "component", type: MetaTimeperiodComponent, selector: "phoenix-meta-timeperiod", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaCurrencyComponent, selector: "phoenix-meta-currency" }, { kind: "component", type: MetaNumberComponent, selector: "phoenix-meta-number-input" }, { kind: "component", type: MetaAssignResponsibleComponent, selector: "phoenix-meta-assign-responsible", inputs: ["control", "parentForm", "disable"] }, { kind: "component", type: MetaAssignAssetComponent, selector: "phoenix-meta-assign-asset", inputs: ["control", "parentForm", "disable"] }, { kind: "ngmodule", type: PanelModule }, { kind: "component", type: ReadOnlyInputComponent, selector: "phoenix-read-only-input", inputs: ["control", "metaform"] }, { kind: "component", type: MetaSingleSelectObjectBasedComponent, selector: "phoenix-meta-single-select-object-based" }, { kind: "component", type: MetaUploadComponent, selector: "phoenix-meta-upload" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type: FieldColPipe, name: "fieldCol" }] });
|
|
7771
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: GroupsFormComponent, isStandalone: true, selector: "phoenix-groups-form", inputs: { activePanelsIndex: "activePanelsIndex" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<p-accordion [multiple]=\"true\" [(value)]=\"activePanelsIndex\">\n @if (metaFormControls?.length) {\n <form [formGroup]=\"metaForm\" (ngSubmit)=\"onSubmit()\">\n @for (group of metaFormControls; track group.groupName; let idx = $index) {\n <div [style]=\"{ order: group.order }\" class=\"w-full\">\n <p-accordion-panel\n [value]=\"idx\"\n [attr.data-cy]=\"'table-accordion-header-' + group.groupName\"\n >\n <p-accordion-header>\n <ng-template #toggleicon let-active=\"active\">\n @if (active) {\n <i class=\"pi pi-minus-circle\"></i>\n } @else {\n <i class=\"pi pi-plus-circle\"></i>\n }\n </ng-template>\n {{ group.groupName | translate }}\n </p-accordion-header>\n\n <p-accordion-content>\n <div [style]=\"formStyle\" class=\"grid align-items-end\">\n @for (control of group.ctrl; track (control?.id ?? control?.configuration?.key)) {\n @switch (control.configuration.type) {\n\n @case (ControlType.TEXT) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-input>\n }\n </div>\n }\n\n @case (ControlType.NUMBER) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-number-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-number-input>\n }\n </div>\n }\n\n @case (ControlType.TIMEPERIOD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-timeperiod\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-timeperiod>\n }\n </div>\n }\n\n @case (ControlType.CURRENCY) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-currency\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-currency>\n }\n </div>\n }\n\n @case (ControlType.TEXT_AREA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-area\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-area>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-single-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION_OBJECT_BASED) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select-object-based\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select-object-based>\n }\n </div>\n }\n\n @case (ControlType.MS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-multiple-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-multiple-select>\n }\n </div>\n }\n\n @case (ControlType.START_DUE_DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-start-due-date\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-start-due-date>\n }\n </div>\n }\n\n @case (ControlType.DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-calendar\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-calendar>\n }\n </div>\n }\n\n @case (ControlType.TEXT_EDITOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-editor\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-editor>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n <phoenix-meta-checkbox\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox>\n </div>\n }\n\n @case (ControlType.SWITCH) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-switch\n [disable]=\"true\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-switch>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-assign-responsible\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-responsible>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN_ASSET) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-asset\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-asset>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD_DRAG_DROP) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload-dragdrop\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload-dragdrop>\n }\n </div>\n }\n\n @case (ControlType.LINKS_DATA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control | fieldCol\"\n class=\"flex flex-column\"\n >\n </div>\n }\n\n @case (ControlType.PASSWORD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n <phoenix-meta-password-feild\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-password-feild>\n </div>\n }\n\n @default {\n }\n }\n }\n </div>\n </p-accordion-content>\n </p-accordion-panel>\n </div>\n }\n </form>\n }\n</p-accordion>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type:
|
|
7772
|
+
// InputTextModule,
|
|
7773
|
+
// InputTextareaModule,
|
|
7774
|
+
// DatePickerModule,
|
|
7775
|
+
// SelectModule,
|
|
7776
|
+
// ButtonModule,
|
|
7777
|
+
// MultiSelectModule,
|
|
7778
|
+
TranslateModule }, { kind: "component", type: MetaTextEditorComponent, selector: "phoenix-meta-text-editor", inputs: ["previewMode", "hideLabel"] }, { kind: "component", type: MetaCheckboxComponent, selector: "phoenix-meta-checkbox" }, { kind: "component", type: MetaTextInputComponent, selector: "phoenix-meta-text-input" }, { kind: "component", type: MetaSingleSelectComponent, selector: "phoenix-meta-single-select" }, { kind: "component", type: MetaStartDueDateComponent, selector: "phoenix-meta-start-due-date", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaTextAreaComponent, selector: "phoenix-meta-text-area" }, { kind: "component", type: MetaMultipleSelectComponent, selector: "phoenix-meta-multiple-select" }, { kind: "component", type: MetaCalendarComponent, selector: "phoenix-meta-calendar" }, { kind: "component", type: MetaUploadComponentDragDrop, selector: "phoenix-meta-upload-dragdrop" }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i3$2.Accordion, selector: "p-accordion", inputs: ["value", "multiple", "styleClass", "expandIcon", "collapseIcon", "selectOnFocus", "transitionOptions"], outputs: ["valueChange", "onClose", "onOpen"] }, { kind: "component", type: i3$2.AccordionPanel, selector: "p-accordion-panel, p-accordionpanel", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: i3$2.AccordionHeader, selector: "p-accordion-header, p-accordionheader" }, { kind: "component", type: i3$2.AccordionContent, selector: "p-accordion-content, p-accordioncontent" }, { kind: "component", type:
|
|
7779
|
+
// MetaObjectLinksComponent,
|
|
7780
|
+
MetaSwitchComponent, selector: "phoenix-meta-switch" }, { kind: "component", type: MetaPasswordFeildComponent, selector: "phoenix-meta-password-feild" }, { kind: "component", type: MetaTimeperiodComponent, selector: "phoenix-meta-timeperiod", inputs: ["control", "parentForm"] }, { kind: "component", type: MetaCurrencyComponent, selector: "phoenix-meta-currency" }, { kind: "component", type: MetaNumberComponent, selector: "phoenix-meta-number-input" }, { kind: "component", type: MetaAssignResponsibleComponent, selector: "phoenix-meta-assign-responsible", inputs: ["control", "parentForm", "disable"] }, { kind: "component", type: MetaAssignAssetComponent, selector: "phoenix-meta-assign-asset", inputs: ["control", "parentForm", "disable"] }, { kind: "ngmodule", type: PanelModule }, { kind: "component", type: ReadOnlyInputComponent, selector: "phoenix-read-only-input", inputs: ["control", "metaform"] }, { kind: "component", type:
|
|
7781
|
+
// MessageModule,
|
|
7782
|
+
MetaSingleSelectObjectBasedComponent, selector: "phoenix-meta-single-select-object-based" }, { kind: "component", type: MetaUploadComponent, selector: "phoenix-meta-upload" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "pipe", type:
|
|
7783
|
+
// CheckboxModule,
|
|
7784
|
+
// EditorModule,
|
|
7785
|
+
FieldColPipe, name: "fieldCol" }] });
|
|
7827
7786
|
}
|
|
7828
7787
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GroupsFormComponent, decorators: [{
|
|
7829
7788
|
type: Component,
|
|
@@ -7831,7 +7790,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
7831
7790
|
CommonModule,
|
|
7832
7791
|
FormsModule,
|
|
7833
7792
|
ReactiveFormsModule,
|
|
7793
|
+
// InputTextModule,
|
|
7794
|
+
// InputTextareaModule,
|
|
7795
|
+
// DatePickerModule,
|
|
7796
|
+
// SelectModule,
|
|
7797
|
+
// ButtonModule,
|
|
7798
|
+
// MultiSelectModule,
|
|
7834
7799
|
TranslateModule,
|
|
7800
|
+
// CheckboxModule,
|
|
7801
|
+
// EditorModule,
|
|
7835
7802
|
FieldColPipe,
|
|
7836
7803
|
MetaTextEditorComponent,
|
|
7837
7804
|
MetaCheckboxComponent,
|
|
@@ -7844,6 +7811,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
7844
7811
|
MetaCalendarComponent,
|
|
7845
7812
|
MetaUploadComponentDragDrop,
|
|
7846
7813
|
AccordionModule,
|
|
7814
|
+
// MetaObjectLinksComponent,
|
|
7847
7815
|
MetaSwitchComponent,
|
|
7848
7816
|
MetaPasswordFeildComponent,
|
|
7849
7817
|
MetaTimeperiodComponent,
|
|
@@ -7853,6 +7821,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
7853
7821
|
MetaAssignAssetComponent,
|
|
7854
7822
|
PanelModule,
|
|
7855
7823
|
ReadOnlyInputComponent,
|
|
7824
|
+
// MessageModule,
|
|
7856
7825
|
MetaSingleSelectObjectBasedComponent,
|
|
7857
7826
|
MetaUploadComponent,
|
|
7858
7827
|
], template: "<p-accordion [multiple]=\"true\" [(value)]=\"activePanelsIndex\">\n @if (metaFormControls?.length) {\n <form [formGroup]=\"metaForm\" (ngSubmit)=\"onSubmit()\">\n @for (group of metaFormControls; track group.groupName; let idx = $index) {\n <div [style]=\"{ order: group.order }\" class=\"w-full\">\n <p-accordion-panel\n [value]=\"idx\"\n [attr.data-cy]=\"'table-accordion-header-' + group.groupName\"\n >\n <p-accordion-header>\n <ng-template #toggleicon let-active=\"active\">\n @if (active) {\n <i class=\"pi pi-minus-circle\"></i>\n } @else {\n <i class=\"pi pi-plus-circle\"></i>\n }\n </ng-template>\n {{ group.groupName | translate }}\n </p-accordion-header>\n\n <p-accordion-content>\n <div [style]=\"formStyle\" class=\"grid align-items-end\">\n @for (control of group.ctrl; track (control?.id ?? control?.configuration?.key)) {\n @switch (control.configuration.type) {\n\n @case (ControlType.TEXT) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-input>\n }\n </div>\n }\n\n @case (ControlType.NUMBER) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-number-input\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-number-input>\n }\n </div>\n }\n\n @case (ControlType.TIMEPERIOD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-timeperiod\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-timeperiod>\n }\n </div>\n }\n\n @case (ControlType.CURRENCY) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-currency\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-currency>\n }\n </div>\n }\n\n @case (ControlType.TEXT_AREA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-area\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-area>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-single-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select>\n }\n </div>\n }\n\n @case (ControlType.SS_OPTION_OBJECT_BASED) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-single-select-object-based\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-single-select-object-based>\n }\n </div>\n }\n\n @case (ControlType.MS_OPTION) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-multiple-select\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-multiple-select>\n }\n </div>\n }\n\n @case (ControlType.START_DUE_DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-start-due-date\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-start-due-date>\n }\n </div>\n }\n\n @case (ControlType.DATE) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-calendar\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-calendar>\n }\n </div>\n }\n\n @case (ControlType.TEXT_EDITOR) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-text-editor\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-text-editor>\n }\n </div>\n }\n\n @case (ControlType.CHECKBOX) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n <phoenix-meta-checkbox\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-checkbox>\n </div>\n }\n\n @case (ControlType.SWITCH) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-switch\n [disable]=\"true\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-switch>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n } @else {\n <phoenix-meta-assign-responsible\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-responsible>\n }\n </div>\n }\n\n @case (ControlType.ASSIGN_ASSET) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-assign-asset\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-assign-asset>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD) {\n <div\n [style]=\"{ order: control.order }\"\n [attr.data-cy]=\"'upload-' + control?.id\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload>\n }\n </div>\n }\n\n @case (ControlType.UPLOAD_DRAG_DROP) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n [attr.data-cy]=\"'assign-' + control?.id\"\n >\n @if (control.readOnly) {\n @if (!control?.hidden) {\n <phoenix-read-only-input\n [control]=\"control\"\n [metaform]=\"metaForm\"\n ></phoenix-read-only-input>\n }\n } @else {\n <phoenix-meta-upload-dragdrop\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-upload-dragdrop>\n }\n </div>\n }\n\n @case (ControlType.LINKS_DATA) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control | fieldCol\"\n class=\"flex flex-column\"\n >\n </div>\n }\n\n @case (ControlType.PASSWORD) {\n <div\n [style]=\"{ order: control.order }\"\n [ngClass]=\"control?.hidden ? 'p-0' : (control | fieldCol)\"\n class=\"flex flex-column\"\n >\n <phoenix-meta-password-feild\n [disable]=\"disableForm\"\n [formControlName]=\"control.configuration.key\"\n [control]=\"control\"\n [parentForm]=\"metaForm\"\n ></phoenix-meta-password-feild>\n </div>\n }\n\n @default {\n }\n }\n }\n </div>\n </p-accordion-content>\n </p-accordion-panel>\n </div>\n }\n </form>\n }\n</p-accordion>" }]
|