@masterteam/forms 0.0.70 → 0.0.72
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/assets/forms.css +1 -1
- package/fesm2022/masterteam-forms-client-form.mjs +18 -2
- package/fesm2022/masterteam-forms-client-form.mjs.map +1 -1
- package/fesm2022/masterteam-forms-dynamic-field.mjs +8 -4
- package/fesm2022/masterteam-forms-dynamic-field.mjs.map +1 -1
- package/fesm2022/masterteam-forms-runtime-action-dialog.mjs +176 -0
- package/fesm2022/masterteam-forms-runtime-action-dialog.mjs.map +1 -0
- package/package.json +6 -2
- package/types/masterteam-forms-runtime-action-dialog.d.ts +28 -0
|
@@ -12,7 +12,7 @@ import { MultiSelectField } from '@masterteam/components/multi-select-field';
|
|
|
12
12
|
import { CheckboxField } from '@masterteam/components/checkbox-field';
|
|
13
13
|
import { ColorPickerField } from '@masterteam/components/color-picker-field';
|
|
14
14
|
import { PickListField } from '@masterteam/components/pick-list-field';
|
|
15
|
-
import { TextFieldConfig, TextareaFieldConfig, SelectFieldConfig, DateFieldConfig, NumberFieldConfig, SliderFieldConfig, MultiSelectFieldConfig, PickListFieldConfig, CheckboxFieldConfig, RadioButtonFieldConfig, RadioCardsFieldConfig, UserSearchFieldConfig, ToggleFieldConfig, EditorFieldConfig, IconFieldConfig, ColorPickerFieldConfig, UploadFileFieldConfig, SpacerFieldConfig, LookupMatrixFieldConfig, SchemaConnectionFieldConfig, SchedulePredecessorFieldConfig } from '@masterteam/components';
|
|
15
|
+
import { TextFieldConfig, TextareaFieldConfig, SelectFieldConfig, DateFieldConfig, NumberFieldConfig, SliderFieldConfig, MultiSelectFieldConfig, PickListFieldConfig, CheckboxFieldConfig, RadioButtonFieldConfig, RadioCardsFieldConfig, UserSearchFieldConfig, ToggleFieldConfig, EditorFieldConfig, IconFieldConfig, ColorPickerFieldConfig, UploadFileFieldConfig, SpacerFieldConfig, LookupMatrixFieldConfig, SchemaConnectionFieldConfig, SchedulePredecessorFieldConfig, EntityListFieldConfig } from '@masterteam/components';
|
|
16
16
|
import { IconField } from '@masterteam/components/icon-field';
|
|
17
17
|
import { ToggleField } from '@masterteam/components/toggle-field';
|
|
18
18
|
import { RadioCardsField } from '@masterteam/components/radio-cards-field';
|
|
@@ -20,7 +20,7 @@ import { RadioButtonField } from '@masterteam/components/radio-button-field';
|
|
|
20
20
|
import { EditorField } from '@masterteam/components/editor-field';
|
|
21
21
|
import { UserSearchField } from '@masterteam/components/user-search-field';
|
|
22
22
|
import { UploadField } from '@masterteam/components/upload-field';
|
|
23
|
-
import { LookupMatrixField, SchemaConnectionField, SchedulePredecessorField } from '@masterteam/components/business-fields';
|
|
23
|
+
import { LookupMatrixField, SchemaConnectionField, SchedulePredecessorField, EntityListField } from '@masterteam/components/business-fields';
|
|
24
24
|
|
|
25
25
|
class DynamicField {
|
|
26
26
|
// Input signal with transform to handle class for text type
|
|
@@ -103,6 +103,9 @@ class DynamicField {
|
|
|
103
103
|
if (value.type === 'predecessor') {
|
|
104
104
|
return new SchedulePredecessorFieldConfig(value);
|
|
105
105
|
}
|
|
106
|
+
if (value.type === 'entity-list') {
|
|
107
|
+
return new EntityListFieldConfig(value);
|
|
108
|
+
}
|
|
106
109
|
}
|
|
107
110
|
// Default fallback to TextFieldConfig
|
|
108
111
|
return new TextFieldConfig({
|
|
@@ -110,7 +113,7 @@ class DynamicField {
|
|
|
110
113
|
});
|
|
111
114
|
}
|
|
112
115
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DynamicField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: DynamicField, isStandalone: true, selector: "mt-dynamic-field", inputs: { fieldConfig: { classPropertyName: "fieldConfig", publicName: "fieldConfig", isSignal: true, isRequired: true, transformFunction: null }, fieldName: { classPropertyName: "fieldName", publicName: "fieldName", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@switch (transformedFieldConfig().type) {\r\n @case (\"text\") {\r\n <mt-text-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [type]=\"transformedFieldConfig().inputType || 'text'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"textarea\") {\r\n <mt-textarea-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [rows]=\"transformedFieldConfig().rows || 3\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"select\") {\r\n <mt-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [group]=\"transformedFieldConfig().group || false\"\r\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\r\n [optionGroupChildren]=\"\r\n transformedFieldConfig().optionGroupChildren || 'items'\r\n \"\r\n [size]=\"transformedFieldConfig().size\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [filter]=\"transformedFieldConfig().filter\"\r\n [formControlName]=\"fieldName()\"\r\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\r\n />\r\n }\r\n @case (\"date\") {\r\n <mt-date-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [showTime]=\"transformedFieldConfig().showTime\"\r\n />\r\n }\r\n @case (\"number\") {\r\n <mt-number-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"slider\") {\r\n <mt-slider-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [min]=\"transformedFieldConfig().min ?? 0\"\r\n [max]=\"transformedFieldConfig().max ?? 100\"\r\n [step]=\"transformedFieldConfig().step\"\r\n [animate]=\"transformedFieldConfig().animate ?? false\"\r\n [unit]=\"transformedFieldConfig().unit || ''\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"multi-select\") {\r\n <mt-multi-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"pick-list\") {\r\n <mt-pick-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\r\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\r\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\r\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\r\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\r\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\r\n [filterBy]=\"transformedFieldConfig().filterBy\"\r\n [dataKey]=\"transformedFieldConfig().dataKey\"\r\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\r\n [responsive]=\"transformedFieldConfig().responsive\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"user-search\") {\r\n <mt-user-search-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [hint]=\"transformedFieldConfig().hint || ''\"\r\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"checkbox\") {\r\n <mt-checkbox-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-button\") {\r\n <mt-radio-button-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-cards\") {\r\n <mt-radio-cards-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [size]=\"transformedFieldConfig().size || 'small'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"toggle\") {\r\n <mt-toggle-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\r\n [icon]=\"transformedFieldConfig().icon\"\r\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"icon-field\") {\r\n <mt-icon-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"color-picker\") {\r\n <mt-color-picker-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [appendTo]=\"transformedFieldConfig().appendTo\"\r\n />\r\n }\r\n @case (\"editor-field\") {\r\n <mt-editor-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"upload-file\") {\r\n <mt-upload-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [formControlName]=\"fieldName()\"\r\n [shape]=\"transformedFieldConfig().shape\"\r\n [size]=\"transformedFieldConfig().size\"\r\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\r\n [multiple]=\"transformedFieldConfig().multiple\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [endPoint]=\"transformedFieldConfig().endPoint\"\r\n [accept]=\"transformedFieldConfig().accept\"\r\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [title]=\"transformedFieldConfig().title\"\r\n [description]=\"transformedFieldConfig().description\"\r\n />\r\n }\r\n @case (\"lookup-matrix\") {\r\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\r\n }\r\n @case (\"spacer\") {\r\n <div class=\"spacer\"></div>\r\n }\r\n @case (\"schema-connection\") {\r\n <mt-schema-connection-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [filter]=\"transformedFieldConfig().filter ?? true\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"predecessor\") {\r\n <mt-schedule-predecessor-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n}\r\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: TextField, selector: "mt-text-field", inputs: ["field", "hint", "label", "placeholder", "class", "type", "readonly", "pInputs", "required", "icon", "iconPosition"] }, { kind: "component", type: TextareaField, selector: "mt-textarea-field", inputs: ["field", "hint", "label", "placeholder", "class", "readonly", "noErrorStyle", "pInputs", "rows", "required"] }, { kind: "component", type: SelectField, selector: "mt-select-field", inputs: ["field", "hint", "label", "placeholder", "hasPlaceholderPrefix", "class", "readonly", "pInputs", "options", "optionValue", "optionLabel", "filter", "filterBy", "dataKey", "showClear", "clearAfterSelect", "required", "group", "size", "optionGroupLabel", "optionGroupChildren", "loading", "optionIcon", "optionIconColor", "optionIconShape", "optionAvatarShape", "optionGroupIcon", "optionGroupIconColor", "optionGroupIconShape", "optionGroupAvatarShape"], outputs: ["onChange"] }, { kind: "component", type: DateField, selector: "mt-date-field", inputs: ["field", "hint", "label", "placeholder", "class", "readonly", "showIcon", "showClear", "showTime", "pInputs", "required"] }, { kind: "component", type: NumberField, selector: "mt-number-field", inputs: ["field", "hint", "label", "placeholder", "class", "readonly", "pInputs", "format", "useGrouping", "maxFractionDigits", "min", "max", "required"] }, { kind: "component", type: SliderField, selector: "mt-slider-field", inputs: ["field", "label", "class", "min", "max", "step", "hideNumber", "unit", "readonly", "required"] }, { kind: "component", type: MultiSelectField, selector: "mt-multi-select-field", inputs: ["field", "label", "placeholder", "class", "readonly", "pInputs", "options", "optionValue", "optionLabel", "filter", "filterBy", "dataKey", "showClear", "display", "required", "maxSelectedLabels", "group", "optionGroupLabel", "optionGroupChildren", "optionIcon", "optionIconColor", "optionIconShape", "optionAvatarShape", "optionGroupIcon", "optionGroupIconColor", "optionGroupIconShape", "optionGroupAvatarShape"], outputs: ["onChange"] }, { kind: "component", type: PickListField, selector: "mt-pick-list-field", inputs: ["label", "class", "readonly", "options", "optionLabel", "optionValue", "sourceHeader", "targetHeader", "showSourceControls", "showTargetControls", "showSourceFilter", "showTargetFilter", "filterBy", "dataKey", "filterLocale", "filterMatchMode", "dragdrop", "responsive", "required"] }, { kind: "component", type: CheckboxField, selector: "mt-checkbox-field", inputs: ["label", "labelPosition", "placeholder", "readonly", "pInputs", "required"], outputs: ["onChange"] }, { kind: "component", type: ColorPickerField, selector: "mt-color-picker-field", inputs: ["label", "appendTo", "placeholder", "class", "variant", "readonly", "pInputs", "required"], outputs: ["onChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: IconField, selector: "mt-icon-field", inputs: ["label", "required"] }, { kind: "component", type: EditorField, selector: "mt-editor-field", inputs: ["label", "hint", "placeholder", "readonly", "theme", "height", "dir", "modules", "required"] }, { kind: "component", type: RadioButtonField, selector: "mt-radio-button-field", inputs: ["labelPosition", "orientation", "readonly", "pInputs", "required", "options", "size", "label"], outputs: ["onChange"] }, { kind: "component", type: RadioCardsField, selector: "mt-radio-cards-field", inputs: ["circle", "label", "readonly", "required", "color", "size", "optionLabel", "optionValue", "options"] }, { kind: "component", type: ToggleField, selector: "mt-toggle-field", inputs: ["label", "inputId", "labelPosition", "placeholder", "readonly", "pInputs", "required", "toggleShape", "size", "icon", "descriptionCard"], outputs: ["onChange"] }, { kind: "component", type: UserSearchField, selector: "mt-user-search-field", inputs: ["hint", "label", "placeholder", "class", "readonly", "required", "isMultiple", "apiUrl", "dataKey", "paramName", "context", "size"] }, { kind: "component", type: UploadField, selector: "mt-upload-field", inputs: ["label", "title", "description", "endPoint", "size", "userImgClass", "shape", "multiple", "accept", "isDragging", "fileSizeLimit", "readonly", "context"], outputs: ["isDraggingChange", "onChange"] }, { kind: "component", type: LookupMatrixField, selector: "mt-lookup-matrix-field", inputs: ["config"] }, { kind: "component", type: SchemaConnectionField, selector: "mt-schema-connection-field", inputs: ["label", "placeholder", "readonly", "required", "filter", "configuration", "context"] }, { kind: "component", type: SchedulePredecessorField, selector: "mt-schedule-predecessor-field", inputs: ["label", "placeholder", "readonly", "required", "configuration", "runtimeContext"] }], viewProviders: [
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: DynamicField, isStandalone: true, selector: "mt-dynamic-field", inputs: { fieldConfig: { classPropertyName: "fieldConfig", publicName: "fieldConfig", isSignal: true, isRequired: true, transformFunction: null }, fieldName: { classPropertyName: "fieldName", publicName: "fieldName", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@switch (transformedFieldConfig().type) {\r\n @case (\"text\") {\r\n <mt-text-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [type]=\"transformedFieldConfig().inputType || 'text'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"textarea\") {\r\n <mt-textarea-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [rows]=\"transformedFieldConfig().rows || 3\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"select\") {\r\n <mt-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [group]=\"transformedFieldConfig().group || false\"\r\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\r\n [optionGroupChildren]=\"\r\n transformedFieldConfig().optionGroupChildren || 'items'\r\n \"\r\n [size]=\"transformedFieldConfig().size\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [filter]=\"transformedFieldConfig().filter\"\r\n [formControlName]=\"fieldName()\"\r\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\r\n />\r\n }\r\n @case (\"date\") {\r\n <mt-date-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [showTime]=\"transformedFieldConfig().showTime\"\r\n />\r\n }\r\n @case (\"number\") {\r\n <mt-number-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"slider\") {\r\n <mt-slider-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [min]=\"transformedFieldConfig().min ?? 0\"\r\n [max]=\"transformedFieldConfig().max ?? 100\"\r\n [step]=\"transformedFieldConfig().step\"\r\n [animate]=\"transformedFieldConfig().animate ?? false\"\r\n [unit]=\"transformedFieldConfig().unit || ''\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"multi-select\") {\r\n <mt-multi-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"pick-list\") {\r\n <mt-pick-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\r\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\r\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\r\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\r\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\r\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\r\n [filterBy]=\"transformedFieldConfig().filterBy\"\r\n [dataKey]=\"transformedFieldConfig().dataKey\"\r\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\r\n [responsive]=\"transformedFieldConfig().responsive\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"user-search\") {\r\n <mt-user-search-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [hint]=\"transformedFieldConfig().hint || ''\"\r\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"checkbox\") {\r\n <mt-checkbox-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-button\") {\r\n <mt-radio-button-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-cards\") {\r\n <mt-radio-cards-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [size]=\"transformedFieldConfig().size || 'small'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"toggle\") {\r\n <mt-toggle-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\r\n [icon]=\"transformedFieldConfig().icon\"\r\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"icon-field\") {\r\n <mt-icon-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"color-picker\") {\r\n <mt-color-picker-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [appendTo]=\"transformedFieldConfig().appendTo\"\r\n />\r\n }\r\n @case (\"editor-field\") {\r\n <mt-editor-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"upload-file\") {\r\n <mt-upload-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [formControlName]=\"fieldName()\"\r\n [shape]=\"transformedFieldConfig().shape\"\r\n [size]=\"transformedFieldConfig().size\"\r\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\r\n [multiple]=\"transformedFieldConfig().multiple\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [endPoint]=\"transformedFieldConfig().endPoint\"\r\n [accept]=\"transformedFieldConfig().accept\"\r\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [title]=\"transformedFieldConfig().title\"\r\n [description]=\"transformedFieldConfig().description\"\r\n />\r\n }\r\n @case (\"lookup-matrix\") {\r\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\r\n }\r\n @case (\"spacer\") {\r\n <div class=\"spacer\"></div>\r\n }\r\n @case (\"schema-connection\") {\r\n <mt-schema-connection-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [filter]=\"transformedFieldConfig().filter ?? true\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"predecessor\") {\r\n <mt-schedule-predecessor-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"entity-list\") {\r\n <mt-entity-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [propertyId]=\"transformedFieldConfig().propertyId\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n}\r\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: TextField, selector: "mt-text-field", inputs: ["field", "hint", "label", "placeholder", "class", "type", "readonly", "pInputs", "required", "icon", "iconPosition"] }, { kind: "component", type: TextareaField, selector: "mt-textarea-field", inputs: ["field", "hint", "label", "placeholder", "class", "readonly", "noErrorStyle", "pInputs", "rows", "required"] }, { kind: "component", type: SelectField, selector: "mt-select-field", inputs: ["field", "hint", "label", "placeholder", "hasPlaceholderPrefix", "class", "readonly", "pInputs", "options", "optionValue", "optionLabel", "filter", "filterBy", "dataKey", "showClear", "clearAfterSelect", "required", "group", "size", "optionGroupLabel", "optionGroupChildren", "loading", "optionIcon", "optionIconColor", "optionIconShape", "optionAvatarShape", "optionGroupIcon", "optionGroupIconColor", "optionGroupIconShape", "optionGroupAvatarShape"], outputs: ["onChange"] }, { kind: "component", type: DateField, selector: "mt-date-field", inputs: ["field", "hint", "label", "placeholder", "class", "readonly", "showIcon", "showClear", "showTime", "pInputs", "required"] }, { kind: "component", type: NumberField, selector: "mt-number-field", inputs: ["field", "hint", "label", "placeholder", "class", "readonly", "pInputs", "format", "useGrouping", "maxFractionDigits", "min", "max", "required"] }, { kind: "component", type: SliderField, selector: "mt-slider-field", inputs: ["field", "label", "class", "min", "max", "step", "hideNumber", "unit", "readonly", "required"] }, { kind: "component", type: MultiSelectField, selector: "mt-multi-select-field", inputs: ["field", "label", "placeholder", "class", "readonly", "pInputs", "options", "optionValue", "optionLabel", "filter", "filterBy", "dataKey", "showClear", "display", "required", "maxSelectedLabels", "group", "optionGroupLabel", "optionGroupChildren", "optionIcon", "optionIconColor", "optionIconShape", "optionAvatarShape", "optionGroupIcon", "optionGroupIconColor", "optionGroupIconShape", "optionGroupAvatarShape"], outputs: ["onChange"] }, { kind: "component", type: PickListField, selector: "mt-pick-list-field", inputs: ["label", "class", "readonly", "options", "optionLabel", "optionValue", "sourceHeader", "targetHeader", "showSourceControls", "showTargetControls", "showSourceFilter", "showTargetFilter", "filterBy", "dataKey", "filterLocale", "filterMatchMode", "dragdrop", "responsive", "required"] }, { kind: "component", type: CheckboxField, selector: "mt-checkbox-field", inputs: ["label", "labelPosition", "placeholder", "readonly", "pInputs", "required"], outputs: ["onChange"] }, { kind: "component", type: ColorPickerField, selector: "mt-color-picker-field", inputs: ["label", "appendTo", "placeholder", "class", "variant", "readonly", "pInputs", "required"], outputs: ["onChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: IconField, selector: "mt-icon-field", inputs: ["label", "required"] }, { kind: "component", type: EditorField, selector: "mt-editor-field", inputs: ["label", "hint", "placeholder", "readonly", "theme", "height", "dir", "modules", "required"] }, { kind: "component", type: RadioButtonField, selector: "mt-radio-button-field", inputs: ["labelPosition", "orientation", "readonly", "pInputs", "required", "options", "size", "label"], outputs: ["onChange"] }, { kind: "component", type: RadioCardsField, selector: "mt-radio-cards-field", inputs: ["circle", "label", "readonly", "required", "color", "size", "optionLabel", "optionValue", "options"] }, { kind: "component", type: ToggleField, selector: "mt-toggle-field", inputs: ["label", "inputId", "labelPosition", "placeholder", "readonly", "pInputs", "required", "toggleShape", "size", "icon", "descriptionCard"], outputs: ["onChange"] }, { kind: "component", type: UserSearchField, selector: "mt-user-search-field", inputs: ["hint", "label", "placeholder", "class", "readonly", "required", "isMultiple", "apiUrl", "dataKey", "paramName", "context", "size"] }, { kind: "component", type: UploadField, selector: "mt-upload-field", inputs: ["label", "title", "description", "endPoint", "size", "userImgClass", "shape", "multiple", "accept", "isDragging", "fileSizeLimit", "readonly", "context"], outputs: ["isDraggingChange", "onChange"] }, { kind: "component", type: LookupMatrixField, selector: "mt-lookup-matrix-field", inputs: ["config"] }, { kind: "component", type: SchemaConnectionField, selector: "mt-schema-connection-field", inputs: ["label", "placeholder", "readonly", "required", "filter", "configuration", "context"] }, { kind: "component", type: SchedulePredecessorField, selector: "mt-schedule-predecessor-field", inputs: ["label", "placeholder", "readonly", "required", "configuration", "runtimeContext"] }, { kind: "component", type: EntityListField, selector: "mt-entity-list-field", inputs: ["label", "readonly", "required", "propertyId", "configuration", "runtimeContext", "context"] }], viewProviders: [
|
|
114
117
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
115
118
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
116
119
|
}
|
|
@@ -138,9 +141,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
|
|
|
138
141
|
LookupMatrixField,
|
|
139
142
|
SchemaConnectionField,
|
|
140
143
|
SchedulePredecessorField,
|
|
144
|
+
EntityListField,
|
|
141
145
|
], changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [
|
|
142
146
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
143
|
-
], template: "@switch (transformedFieldConfig().type) {\r\n @case (\"text\") {\r\n <mt-text-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [type]=\"transformedFieldConfig().inputType || 'text'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"textarea\") {\r\n <mt-textarea-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [rows]=\"transformedFieldConfig().rows || 3\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"select\") {\r\n <mt-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [group]=\"transformedFieldConfig().group || false\"\r\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\r\n [optionGroupChildren]=\"\r\n transformedFieldConfig().optionGroupChildren || 'items'\r\n \"\r\n [size]=\"transformedFieldConfig().size\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [filter]=\"transformedFieldConfig().filter\"\r\n [formControlName]=\"fieldName()\"\r\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\r\n />\r\n }\r\n @case (\"date\") {\r\n <mt-date-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [showTime]=\"transformedFieldConfig().showTime\"\r\n />\r\n }\r\n @case (\"number\") {\r\n <mt-number-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"slider\") {\r\n <mt-slider-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [min]=\"transformedFieldConfig().min ?? 0\"\r\n [max]=\"transformedFieldConfig().max ?? 100\"\r\n [step]=\"transformedFieldConfig().step\"\r\n [animate]=\"transformedFieldConfig().animate ?? false\"\r\n [unit]=\"transformedFieldConfig().unit || ''\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"multi-select\") {\r\n <mt-multi-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"pick-list\") {\r\n <mt-pick-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\r\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\r\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\r\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\r\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\r\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\r\n [filterBy]=\"transformedFieldConfig().filterBy\"\r\n [dataKey]=\"transformedFieldConfig().dataKey\"\r\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\r\n [responsive]=\"transformedFieldConfig().responsive\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"user-search\") {\r\n <mt-user-search-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [hint]=\"transformedFieldConfig().hint || ''\"\r\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"checkbox\") {\r\n <mt-checkbox-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-button\") {\r\n <mt-radio-button-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-cards\") {\r\n <mt-radio-cards-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [size]=\"transformedFieldConfig().size || 'small'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"toggle\") {\r\n <mt-toggle-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\r\n [icon]=\"transformedFieldConfig().icon\"\r\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"icon-field\") {\r\n <mt-icon-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"color-picker\") {\r\n <mt-color-picker-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [appendTo]=\"transformedFieldConfig().appendTo\"\r\n />\r\n }\r\n @case (\"editor-field\") {\r\n <mt-editor-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"upload-file\") {\r\n <mt-upload-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [formControlName]=\"fieldName()\"\r\n [shape]=\"transformedFieldConfig().shape\"\r\n [size]=\"transformedFieldConfig().size\"\r\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\r\n [multiple]=\"transformedFieldConfig().multiple\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [endPoint]=\"transformedFieldConfig().endPoint\"\r\n [accept]=\"transformedFieldConfig().accept\"\r\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [title]=\"transformedFieldConfig().title\"\r\n [description]=\"transformedFieldConfig().description\"\r\n />\r\n }\r\n @case (\"lookup-matrix\") {\r\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\r\n }\r\n @case (\"spacer\") {\r\n <div class=\"spacer\"></div>\r\n }\r\n @case (\"schema-connection\") {\r\n <mt-schema-connection-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [filter]=\"transformedFieldConfig().filter ?? true\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"predecessor\") {\r\n <mt-schedule-predecessor-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n}\r\n", styles: [":host{display:block;width:100%}\n"] }]
|
|
147
|
+
], template: "@switch (transformedFieldConfig().type) {\r\n @case (\"text\") {\r\n <mt-text-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [type]=\"transformedFieldConfig().inputType || 'text'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"textarea\") {\r\n <mt-textarea-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [rows]=\"transformedFieldConfig().rows || 3\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"select\") {\r\n <mt-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [group]=\"transformedFieldConfig().group || false\"\r\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\r\n [optionGroupChildren]=\"\r\n transformedFieldConfig().optionGroupChildren || 'items'\r\n \"\r\n [size]=\"transformedFieldConfig().size\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [filter]=\"transformedFieldConfig().filter\"\r\n [formControlName]=\"fieldName()\"\r\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\r\n />\r\n }\r\n @case (\"date\") {\r\n <mt-date-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [showTime]=\"transformedFieldConfig().showTime\"\r\n />\r\n }\r\n @case (\"number\") {\r\n <mt-number-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"slider\") {\r\n <mt-slider-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [min]=\"transformedFieldConfig().min ?? 0\"\r\n [max]=\"transformedFieldConfig().max ?? 100\"\r\n [step]=\"transformedFieldConfig().step\"\r\n [animate]=\"transformedFieldConfig().animate ?? false\"\r\n [unit]=\"transformedFieldConfig().unit || ''\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"multi-select\") {\r\n <mt-multi-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"pick-list\") {\r\n <mt-pick-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\r\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\r\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\r\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\r\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\r\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\r\n [filterBy]=\"transformedFieldConfig().filterBy\"\r\n [dataKey]=\"transformedFieldConfig().dataKey\"\r\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\r\n [responsive]=\"transformedFieldConfig().responsive\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"user-search\") {\r\n <mt-user-search-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [hint]=\"transformedFieldConfig().hint || ''\"\r\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"checkbox\") {\r\n <mt-checkbox-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-button\") {\r\n <mt-radio-button-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-cards\") {\r\n <mt-radio-cards-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [size]=\"transformedFieldConfig().size || 'small'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"toggle\") {\r\n <mt-toggle-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\r\n [icon]=\"transformedFieldConfig().icon\"\r\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"icon-field\") {\r\n <mt-icon-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"color-picker\") {\r\n <mt-color-picker-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [appendTo]=\"transformedFieldConfig().appendTo\"\r\n />\r\n }\r\n @case (\"editor-field\") {\r\n <mt-editor-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"upload-file\") {\r\n <mt-upload-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [formControlName]=\"fieldName()\"\r\n [shape]=\"transformedFieldConfig().shape\"\r\n [size]=\"transformedFieldConfig().size\"\r\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\r\n [multiple]=\"transformedFieldConfig().multiple\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [endPoint]=\"transformedFieldConfig().endPoint\"\r\n [accept]=\"transformedFieldConfig().accept\"\r\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [title]=\"transformedFieldConfig().title\"\r\n [description]=\"transformedFieldConfig().description\"\r\n />\r\n }\r\n @case (\"lookup-matrix\") {\r\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\r\n }\r\n @case (\"spacer\") {\r\n <div class=\"spacer\"></div>\r\n }\r\n @case (\"schema-connection\") {\r\n <mt-schema-connection-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [filter]=\"transformedFieldConfig().filter ?? true\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"predecessor\") {\r\n <mt-schedule-predecessor-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"entity-list\") {\r\n <mt-entity-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [propertyId]=\"transformedFieldConfig().propertyId\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n}\r\n", styles: [":host{display:block;width:100%}\n"] }]
|
|
144
148
|
}], ctorParameters: () => [], propDecorators: { fieldConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldConfig", required: true }] }], fieldName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldName", required: true }] }] } });
|
|
145
149
|
|
|
146
150
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-forms-dynamic-field.mjs","sources":["../../../../packages/masterteam/forms/dynamic-field/dynamic-field.ts","../../../../packages/masterteam/forms/dynamic-field/dynamic-field.html","../../../../packages/masterteam/forms/dynamic-field/masterteam-forms-dynamic-field.ts"],"sourcesContent":["import {\r\n Component,\r\n input,\r\n computed,\r\n ChangeDetectionStrategy,\r\n Signal,\r\n inject,\r\n} from '@angular/core';\r\nimport {\r\n ReactiveFormsModule,\r\n ControlContainer,\r\n FormGroupDirective,\r\n} from '@angular/forms';\r\nimport { TextField } from '@masterteam/components/text-field';\r\nimport { TextareaField } from '@masterteam/components/textarea-field';\r\nimport { SelectField } from '@masterteam/components/select-field';\r\nimport { DateField } from '@masterteam/components/date-field';\r\nimport { NumberField } from '@masterteam/components/number-field';\r\nimport { SliderField } from '@masterteam/components/slider-field';\r\nimport { MultiSelectField } from '@masterteam/components/multi-select-field';\r\nimport { CheckboxField } from '@masterteam/components/checkbox-field';\r\nimport { ColorPickerField } from '@masterteam/components/color-picker-field';\r\nimport { PickListField } from '@masterteam/components/pick-list-field';\r\nimport {\r\n TextFieldConfig,\r\n TextareaFieldConfig,\r\n SelectFieldConfig,\r\n DateFieldConfig,\r\n NumberFieldConfig,\r\n SliderFieldConfig,\r\n MultiSelectFieldConfig,\r\n PickListFieldConfig,\r\n CheckboxFieldConfig,\r\n ColorPickerFieldConfig,\r\n DynamicFieldConfig,\r\n IconFieldConfig,\r\n RadioButtonFieldConfig,\r\n RadioCardsFieldConfig,\r\n ToggleFieldConfig,\r\n EditorFieldConfig,\r\n UserSearchFieldConfig,\r\n UploadFileFieldConfig,\r\n SpacerFieldConfig,\r\n LookupMatrixFieldConfig,\r\n SchemaConnectionFieldConfig,\r\n SchedulePredecessorFieldConfig,\r\n} from '@masterteam/components';\r\nimport { IconField } from '@masterteam/components/icon-field';\r\nimport { ToggleField } from '@masterteam/components/toggle-field';\r\nimport { RadioCardsField } from '@masterteam/components/radio-cards-field';\r\nimport { RadioButtonField } from '@masterteam/components/radio-button-field';\r\nimport { EditorField } from '@masterteam/components/editor-field';\r\nimport { UserSearchField } from '@masterteam/components/user-search-field';\r\nimport { UploadField } from '@masterteam/components/upload-field';\r\nimport {\r\n LookupMatrixField,\r\n SchemaConnectionField,\r\n SchedulePredecessorField,\r\n} from '@masterteam/components/business-fields';\r\n\r\n@Component({\r\n selector: 'mt-dynamic-field',\r\n standalone: true,\r\n imports: [\r\n TextField,\r\n TextareaField,\r\n SelectField,\r\n DateField,\r\n NumberField,\r\n SliderField,\r\n MultiSelectField,\r\n PickListField,\r\n CheckboxField,\r\n ColorPickerField,\r\n ReactiveFormsModule,\r\n IconField,\r\n EditorField,\r\n RadioButtonField,\r\n RadioCardsField,\r\n ToggleField,\r\n UserSearchField,\r\n UploadField,\r\n LookupMatrixField,\r\n SchemaConnectionField,\r\n SchedulePredecessorField,\r\n ],\r\n templateUrl: './dynamic-field.html',\r\n styleUrls: ['./dynamic-field.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: FormGroupDirective },\r\n ],\r\n})\r\nexport class DynamicField {\r\n // Input signal with transform to handle class for text type\r\n readonly fieldConfig = input.required<DynamicFieldConfig>();\r\n\r\n // Computed property for transformed field config\r\n readonly transformedFieldConfig: Signal<DynamicFieldConfig> = computed(() =>\r\n this.transformToFieldConfig(this.fieldConfig()),\r\n );\r\n readonly isRequired = computed(() => {\r\n const field = this.transformedFieldConfig();\r\n return Boolean(\r\n field.required ||\r\n field.validators?.some(\r\n (validator: any) => validator?.type === 'required',\r\n ),\r\n );\r\n });\r\n\r\n // Inject ControlContainer to connect directly with parent form\r\n private controlContainer = inject(ControlContainer, { optional: true });\r\n\r\n // Input for the form control name\r\n readonly fieldName = input.required<string>();\r\n constructor() {}\r\n\r\n private transformToFieldConfig(value: any): DynamicFieldConfig {\r\n // If it's a plain object, transform it to appropriate field config\r\n if (typeof value === 'object') {\r\n if (value.type === 'text') {\r\n return new TextFieldConfig(value);\r\n }\r\n if (value.type === 'textarea') {\r\n return new TextareaFieldConfig(value);\r\n }\r\n if (value.type === 'select') {\r\n return new SelectFieldConfig(value);\r\n }\r\n if (value.type === 'date') {\r\n return new DateFieldConfig(value);\r\n }\r\n if (value.type === 'number') {\r\n return new NumberFieldConfig(value);\r\n }\r\n if (value.type === 'slider') {\r\n return new SliderFieldConfig(value);\r\n }\r\n if (value.type === 'multi-select') {\r\n return new MultiSelectFieldConfig(value);\r\n }\r\n if (value.type === 'pick-list') {\r\n return new PickListFieldConfig(value);\r\n }\r\n if (value.type === 'checkbox') {\r\n return new CheckboxFieldConfig(value);\r\n }\r\n if (value.type === 'radio-button') {\r\n return new RadioButtonFieldConfig(value);\r\n }\r\n if (value.type === 'radio-cards') {\r\n return new RadioCardsFieldConfig(value);\r\n }\r\n if (value.type === 'user-search') {\r\n return new UserSearchFieldConfig(value);\r\n }\r\n if (value.type === 'toggle') {\r\n return new ToggleFieldConfig(value);\r\n }\r\n if (value.type === 'editor-field') {\r\n return new EditorFieldConfig(value);\r\n }\r\n if (value.type === 'icon-field') {\r\n return new IconFieldConfig(value);\r\n }\r\n if (value.type === 'color-picker') {\r\n return new ColorPickerFieldConfig(value);\r\n }\r\n if (value.type === 'upload-file') {\r\n return new UploadFileFieldConfig(value);\r\n }\r\n if (value.type === 'spacer') {\r\n return new SpacerFieldConfig(value);\r\n }\r\n if (value.type === 'lookup-matrix') {\r\n return new LookupMatrixFieldConfig(value);\r\n }\r\n if (value.type === 'schema-connection') {\r\n return new SchemaConnectionFieldConfig(value);\r\n }\r\n if (value.type === 'predecessor') {\r\n return new SchedulePredecessorFieldConfig(value);\r\n }\r\n }\r\n\r\n // Default fallback to TextFieldConfig\r\n return new TextFieldConfig({\r\n ...value,\r\n });\r\n }\r\n}\r\n","@switch (transformedFieldConfig().type) {\r\n @case (\"text\") {\r\n <mt-text-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [type]=\"transformedFieldConfig().inputType || 'text'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"textarea\") {\r\n <mt-textarea-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [rows]=\"transformedFieldConfig().rows || 3\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"select\") {\r\n <mt-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [group]=\"transformedFieldConfig().group || false\"\r\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\r\n [optionGroupChildren]=\"\r\n transformedFieldConfig().optionGroupChildren || 'items'\r\n \"\r\n [size]=\"transformedFieldConfig().size\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [filter]=\"transformedFieldConfig().filter\"\r\n [formControlName]=\"fieldName()\"\r\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\r\n />\r\n }\r\n @case (\"date\") {\r\n <mt-date-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [showTime]=\"transformedFieldConfig().showTime\"\r\n />\r\n }\r\n @case (\"number\") {\r\n <mt-number-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"slider\") {\r\n <mt-slider-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [min]=\"transformedFieldConfig().min ?? 0\"\r\n [max]=\"transformedFieldConfig().max ?? 100\"\r\n [step]=\"transformedFieldConfig().step\"\r\n [animate]=\"transformedFieldConfig().animate ?? false\"\r\n [unit]=\"transformedFieldConfig().unit || ''\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"multi-select\") {\r\n <mt-multi-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"pick-list\") {\r\n <mt-pick-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\r\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\r\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\r\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\r\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\r\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\r\n [filterBy]=\"transformedFieldConfig().filterBy\"\r\n [dataKey]=\"transformedFieldConfig().dataKey\"\r\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\r\n [responsive]=\"transformedFieldConfig().responsive\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"user-search\") {\r\n <mt-user-search-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [hint]=\"transformedFieldConfig().hint || ''\"\r\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"checkbox\") {\r\n <mt-checkbox-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-button\") {\r\n <mt-radio-button-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-cards\") {\r\n <mt-radio-cards-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [size]=\"transformedFieldConfig().size || 'small'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"toggle\") {\r\n <mt-toggle-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\r\n [icon]=\"transformedFieldConfig().icon\"\r\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"icon-field\") {\r\n <mt-icon-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"color-picker\") {\r\n <mt-color-picker-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [appendTo]=\"transformedFieldConfig().appendTo\"\r\n />\r\n }\r\n @case (\"editor-field\") {\r\n <mt-editor-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"upload-file\") {\r\n <mt-upload-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [formControlName]=\"fieldName()\"\r\n [shape]=\"transformedFieldConfig().shape\"\r\n [size]=\"transformedFieldConfig().size\"\r\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\r\n [multiple]=\"transformedFieldConfig().multiple\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [endPoint]=\"transformedFieldConfig().endPoint\"\r\n [accept]=\"transformedFieldConfig().accept\"\r\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [title]=\"transformedFieldConfig().title\"\r\n [description]=\"transformedFieldConfig().description\"\r\n />\r\n }\r\n @case (\"lookup-matrix\") {\r\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\r\n }\r\n @case (\"spacer\") {\r\n <div class=\"spacer\"></div>\r\n }\r\n @case (\"schema-connection\") {\r\n <mt-schema-connection-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [filter]=\"transformedFieldConfig().filter ?? true\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"predecessor\") {\r\n <mt-schedule-predecessor-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MA6Fa,YAAY,CAAA;;AAEd,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,iFAAsB;;AAGlD,IAAA,sBAAsB,GAA+B,QAAQ,CAAC,MACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,6FAChD;AACQ,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE;AAC3C,QAAA,OAAO,OAAO,CACZ,KAAK,CAAC,QAAQ;AACd,YAAA,KAAK,CAAC,UAAU,EAAE,IAAI,CACpB,CAAC,SAAc,KAAK,SAAS,EAAE,IAAI,KAAK,UAAU,CACnD,CACF;AACH,IAAA,CAAC,iFAAC;;IAGM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AAG9D,IAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,+EAAU;AAC7C,IAAA,WAAA,GAAA,EAAe;AAEP,IAAA,sBAAsB,CAAC,KAAU,EAAA;;AAEvC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AACzB,gBAAA,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC;YACnC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AAC7B,gBAAA,OAAO,IAAI,mBAAmB,CAAC,KAAK,CAAC;YACvC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACrC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AACzB,gBAAA,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC;YACnC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACrC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACrC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE;AACjC,gBAAA,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC;YAC1C;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;AAC9B,gBAAA,OAAO,IAAI,mBAAmB,CAAC,KAAK,CAAC;YACvC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AAC7B,gBAAA,OAAO,IAAI,mBAAmB,CAAC,KAAK,CAAC;YACvC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE;AACjC,gBAAA,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC;YAC1C;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AAChC,gBAAA,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC;YACzC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AAChC,gBAAA,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC;YACzC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACrC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE;AACjC,gBAAA,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACrC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AAC/B,gBAAA,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC;YACnC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE;AACjC,gBAAA,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC;YAC1C;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AAChC,gBAAA,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC;YACzC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC;YACrC;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;AAClC,gBAAA,OAAO,IAAI,uBAAuB,CAAC,KAAK,CAAC;YAC3C;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE;AACtC,gBAAA,OAAO,IAAI,2BAA2B,CAAC,KAAK,CAAC;YAC/C;AACA,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AAChC,gBAAA,OAAO,IAAI,8BAA8B,CAAC,KAAK,CAAC;YAClD;QACF;;QAGA,OAAO,IAAI,eAAe,CAAC;AACzB,YAAA,GAAG,KAAK;AACT,SAAA,CAAC;IACJ;uGAjGW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7FzB,ggUA4OA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED5KI,SAAS,yLACT,aAAa,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,WAAW,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,SAAS,8LACT,WAAW,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,KAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,WAAW,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,gBAAgB,igBAChB,aAAa,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,aAAa,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,gBAAgB,6LAChB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,SAAS,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACT,WAAW,mKACX,gBAAgB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,eAAe,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,WAAW,sOACX,eAAe,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,WAAW,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,cAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,iBAAiB,uFACjB,qBAAqB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,wBAAwB,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAKX;AACb,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAC/D,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAEU,YAAY,EAAA,UAAA,EAAA,CAAA;kBAjCxB,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP;wBACP,SAAS;wBACT,aAAa;wBACb,WAAW;wBACX,SAAS;wBACT,WAAW;wBACX,WAAW;wBACX,gBAAgB;wBAChB,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,mBAAmB;wBACnB,SAAS;wBACT,WAAW;wBACX,gBAAgB;wBAChB,eAAe;wBACf,WAAW;wBACX,eAAe;wBACf,WAAW;wBACX,iBAAiB;wBACjB,qBAAqB;wBACrB,wBAAwB;qBACzB,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC;AACb,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAC/D,qBAAA,EAAA,QAAA,EAAA,ggUAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA;;;AE3FH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"masterteam-forms-dynamic-field.mjs","sources":["../../../../packages/masterteam/forms/dynamic-field/dynamic-field.ts","../../../../packages/masterteam/forms/dynamic-field/dynamic-field.html","../../../../packages/masterteam/forms/dynamic-field/masterteam-forms-dynamic-field.ts"],"sourcesContent":["import {\r\n Component,\r\n input,\r\n computed,\r\n ChangeDetectionStrategy,\r\n Signal,\r\n inject,\r\n} from '@angular/core';\r\nimport {\r\n ReactiveFormsModule,\r\n ControlContainer,\r\n FormGroupDirective,\r\n} from '@angular/forms';\r\nimport { TextField } from '@masterteam/components/text-field';\r\nimport { TextareaField } from '@masterteam/components/textarea-field';\r\nimport { SelectField } from '@masterteam/components/select-field';\r\nimport { DateField } from '@masterteam/components/date-field';\r\nimport { NumberField } from '@masterteam/components/number-field';\r\nimport { SliderField } from '@masterteam/components/slider-field';\r\nimport { MultiSelectField } from '@masterteam/components/multi-select-field';\r\nimport { CheckboxField } from '@masterteam/components/checkbox-field';\r\nimport { ColorPickerField } from '@masterteam/components/color-picker-field';\r\nimport { PickListField } from '@masterteam/components/pick-list-field';\r\nimport {\r\n TextFieldConfig,\r\n TextareaFieldConfig,\r\n SelectFieldConfig,\r\n DateFieldConfig,\r\n NumberFieldConfig,\r\n SliderFieldConfig,\r\n MultiSelectFieldConfig,\r\n PickListFieldConfig,\r\n CheckboxFieldConfig,\r\n ColorPickerFieldConfig,\r\n DynamicFieldConfig,\r\n IconFieldConfig,\r\n RadioButtonFieldConfig,\r\n RadioCardsFieldConfig,\r\n ToggleFieldConfig,\r\n EditorFieldConfig,\r\n UserSearchFieldConfig,\r\n UploadFileFieldConfig,\r\n SpacerFieldConfig,\r\n LookupMatrixFieldConfig,\r\n SchemaConnectionFieldConfig,\r\n SchedulePredecessorFieldConfig,\r\n EntityListFieldConfig,\r\n} from '@masterteam/components';\r\nimport { IconField } from '@masterteam/components/icon-field';\r\nimport { ToggleField } from '@masterteam/components/toggle-field';\r\nimport { RadioCardsField } from '@masterteam/components/radio-cards-field';\r\nimport { RadioButtonField } from '@masterteam/components/radio-button-field';\r\nimport { EditorField } from '@masterteam/components/editor-field';\r\nimport { UserSearchField } from '@masterteam/components/user-search-field';\r\nimport { UploadField } from '@masterteam/components/upload-field';\r\nimport {\r\n LookupMatrixField,\r\n SchemaConnectionField,\r\n SchedulePredecessorField,\r\n EntityListField,\r\n} from '@masterteam/components/business-fields';\r\n\r\n@Component({\r\n selector: 'mt-dynamic-field',\r\n standalone: true,\r\n imports: [\r\n TextField,\r\n TextareaField,\r\n SelectField,\r\n DateField,\r\n NumberField,\r\n SliderField,\r\n MultiSelectField,\r\n PickListField,\r\n CheckboxField,\r\n ColorPickerField,\r\n ReactiveFormsModule,\r\n IconField,\r\n EditorField,\r\n RadioButtonField,\r\n RadioCardsField,\r\n ToggleField,\r\n UserSearchField,\r\n UploadField,\r\n LookupMatrixField,\r\n SchemaConnectionField,\r\n SchedulePredecessorField,\r\n EntityListField,\r\n ],\r\n templateUrl: './dynamic-field.html',\r\n styleUrls: ['./dynamic-field.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n viewProviders: [\r\n { provide: ControlContainer, useExisting: FormGroupDirective },\r\n ],\r\n})\r\nexport class DynamicField {\r\n // Input signal with transform to handle class for text type\r\n readonly fieldConfig = input.required<DynamicFieldConfig>();\r\n\r\n // Computed property for transformed field config\r\n readonly transformedFieldConfig: Signal<DynamicFieldConfig> = computed(() =>\r\n this.transformToFieldConfig(this.fieldConfig()),\r\n );\r\n readonly isRequired = computed(() => {\r\n const field = this.transformedFieldConfig();\r\n return Boolean(\r\n field.required ||\r\n field.validators?.some(\r\n (validator: any) => validator?.type === 'required',\r\n ),\r\n );\r\n });\r\n\r\n // Inject ControlContainer to connect directly with parent form\r\n private controlContainer = inject(ControlContainer, { optional: true });\r\n\r\n // Input for the form control name\r\n readonly fieldName = input.required<string>();\r\n constructor() {}\r\n\r\n private transformToFieldConfig(value: any): DynamicFieldConfig {\r\n // If it's a plain object, transform it to appropriate field config\r\n if (typeof value === 'object') {\r\n if (value.type === 'text') {\r\n return new TextFieldConfig(value);\r\n }\r\n if (value.type === 'textarea') {\r\n return new TextareaFieldConfig(value);\r\n }\r\n if (value.type === 'select') {\r\n return new SelectFieldConfig(value);\r\n }\r\n if (value.type === 'date') {\r\n return new DateFieldConfig(value);\r\n }\r\n if (value.type === 'number') {\r\n return new NumberFieldConfig(value);\r\n }\r\n if (value.type === 'slider') {\r\n return new SliderFieldConfig(value);\r\n }\r\n if (value.type === 'multi-select') {\r\n return new MultiSelectFieldConfig(value);\r\n }\r\n if (value.type === 'pick-list') {\r\n return new PickListFieldConfig(value);\r\n }\r\n if (value.type === 'checkbox') {\r\n return new CheckboxFieldConfig(value);\r\n }\r\n if (value.type === 'radio-button') {\r\n return new RadioButtonFieldConfig(value);\r\n }\r\n if (value.type === 'radio-cards') {\r\n return new RadioCardsFieldConfig(value);\r\n }\r\n if (value.type === 'user-search') {\r\n return new UserSearchFieldConfig(value);\r\n }\r\n if (value.type === 'toggle') {\r\n return new ToggleFieldConfig(value);\r\n }\r\n if (value.type === 'editor-field') {\r\n return new EditorFieldConfig(value);\r\n }\r\n if (value.type === 'icon-field') {\r\n return new IconFieldConfig(value);\r\n }\r\n if (value.type === 'color-picker') {\r\n return new ColorPickerFieldConfig(value);\r\n }\r\n if (value.type === 'upload-file') {\r\n return new UploadFileFieldConfig(value);\r\n }\r\n if (value.type === 'spacer') {\r\n return new SpacerFieldConfig(value);\r\n }\r\n if (value.type === 'lookup-matrix') {\r\n return new LookupMatrixFieldConfig(value);\r\n }\r\n if (value.type === 'schema-connection') {\r\n return new SchemaConnectionFieldConfig(value);\r\n }\r\n if (value.type === 'predecessor') {\r\n return new SchedulePredecessorFieldConfig(value);\r\n }\r\n if (value.type === 'entity-list') {\r\n return new EntityListFieldConfig(value);\r\n }\r\n }\r\n\r\n // Default fallback to TextFieldConfig\r\n return new TextFieldConfig({\r\n ...value,\r\n });\r\n }\r\n}\r\n","@switch (transformedFieldConfig().type) {\r\n @case (\"text\") {\r\n <mt-text-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [type]=\"transformedFieldConfig().inputType || 'text'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"textarea\") {\r\n <mt-textarea-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [rows]=\"transformedFieldConfig().rows || 3\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"select\") {\r\n <mt-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [group]=\"transformedFieldConfig().group || false\"\r\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\r\n [optionGroupChildren]=\"\r\n transformedFieldConfig().optionGroupChildren || 'items'\r\n \"\r\n [size]=\"transformedFieldConfig().size\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [filter]=\"transformedFieldConfig().filter\"\r\n [formControlName]=\"fieldName()\"\r\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\r\n />\r\n }\r\n @case (\"date\") {\r\n <mt-date-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [showTime]=\"transformedFieldConfig().showTime\"\r\n />\r\n }\r\n @case (\"number\") {\r\n <mt-number-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [placeholder]=\"transformedFieldConfig().placeholder\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"slider\") {\r\n <mt-slider-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [min]=\"transformedFieldConfig().min ?? 0\"\r\n [max]=\"transformedFieldConfig().max ?? 100\"\r\n [step]=\"transformedFieldConfig().step\"\r\n [animate]=\"transformedFieldConfig().animate ?? false\"\r\n [unit]=\"transformedFieldConfig().unit || ''\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"multi-select\") {\r\n <mt-multi-select-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"pick-list\") {\r\n <mt-pick-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\r\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\r\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\r\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\r\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\r\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\r\n [filterBy]=\"transformedFieldConfig().filterBy\"\r\n [dataKey]=\"transformedFieldConfig().dataKey\"\r\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\r\n [responsive]=\"transformedFieldConfig().responsive\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"user-search\") {\r\n <mt-user-search-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [hint]=\"transformedFieldConfig().hint || ''\"\r\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"checkbox\") {\r\n <mt-checkbox-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-button\") {\r\n <mt-radio-button-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"radio-cards\") {\r\n <mt-radio-cards-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [options]=\"transformedFieldConfig().options || []\"\r\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\r\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\r\n [size]=\"transformedFieldConfig().size || 'small'\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"toggle\") {\r\n <mt-toggle-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\r\n [icon]=\"transformedFieldConfig().icon\"\r\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"icon-field\") {\r\n <mt-icon-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"color-picker\") {\r\n <mt-color-picker-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n [appendTo]=\"transformedFieldConfig().appendTo\"\r\n />\r\n }\r\n @case (\"editor-field\") {\r\n <mt-editor-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"upload-file\") {\r\n <mt-upload-field\r\n [label]=\"transformedFieldConfig().label\"\r\n [formControlName]=\"fieldName()\"\r\n [shape]=\"transformedFieldConfig().shape\"\r\n [size]=\"transformedFieldConfig().size\"\r\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\r\n [multiple]=\"transformedFieldConfig().multiple\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [endPoint]=\"transformedFieldConfig().endPoint\"\r\n [accept]=\"transformedFieldConfig().accept\"\r\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [title]=\"transformedFieldConfig().title\"\r\n [description]=\"transformedFieldConfig().description\"\r\n />\r\n }\r\n @case (\"lookup-matrix\") {\r\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\r\n }\r\n @case (\"spacer\") {\r\n <div class=\"spacer\"></div>\r\n }\r\n @case (\"schema-connection\") {\r\n <mt-schema-connection-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [filter]=\"transformedFieldConfig().filter ?? true\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"predecessor\") {\r\n <mt-schedule-predecessor-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n @case (\"entity-list\") {\r\n <mt-entity-list-field\r\n [label]=\"transformedFieldConfig().label || ''\"\r\n [propertyId]=\"transformedFieldConfig().propertyId\"\r\n [configuration]=\"transformedFieldConfig().configuration\"\r\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\r\n [context]=\"transformedFieldConfig().context\"\r\n [required]=\"isRequired()\"\r\n [readonly]=\"transformedFieldConfig().readonly!\"\r\n [formControlName]=\"fieldName()\"\r\n />\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, DestroyRef, signal, input, computed, Component } from '@angular/core';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
+
import * as i1 from '@angular/forms';
|
|
6
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { TranslocoService, TranslocoDirective } from '@jsverse/transloco';
|
|
8
|
+
import { ValidatorConfig } from '@masterteam/components';
|
|
9
|
+
import { Button } from '@masterteam/components/button';
|
|
10
|
+
import { ModalRef } from '@masterteam/components/dialog';
|
|
11
|
+
import { ModalService } from '@masterteam/components/modal';
|
|
12
|
+
import { resolveActionLabel, RUNTIME_ACTION_CONFIRM_DIALOG } from '@masterteam/components/runtime-action';
|
|
13
|
+
import { DynamicForm } from '@masterteam/forms/dynamic-form';
|
|
14
|
+
|
|
15
|
+
class RuntimeActionConfirmDialog {
|
|
16
|
+
ref = inject(ModalRef);
|
|
17
|
+
modal = inject(ModalService);
|
|
18
|
+
transloco = inject(TranslocoService);
|
|
19
|
+
destroyRef = inject(DestroyRef);
|
|
20
|
+
activeLang = signal(this.transloco.getActiveLang(), ...(ngDevMode ? [{ debugName: "activeLang" }] : /* istanbul ignore next */ []));
|
|
21
|
+
action = input.required(...(ngDevMode ? [{ debugName: "action" }] : /* istanbul ignore next */ []));
|
|
22
|
+
formControl = new FormControl({});
|
|
23
|
+
actionLabel = computed(() => resolveActionLabel(this.action()), ...(ngDevMode ? [{ debugName: "actionLabel" }] : /* istanbul ignore next */ []));
|
|
24
|
+
formConfig = computed(() => {
|
|
25
|
+
this.activeLang();
|
|
26
|
+
return {
|
|
27
|
+
sections: [
|
|
28
|
+
{
|
|
29
|
+
key: 'action-confirmation',
|
|
30
|
+
type: 'none',
|
|
31
|
+
fields: buildActionFields(this.action(), (key) => this.transloco.translate(key)),
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
};
|
|
35
|
+
}, ...(ngDevMode ? [{ debugName: "formConfig" }] : /* istanbul ignore next */ []));
|
|
36
|
+
hasFormFields = computed(() => this.formConfig().sections[0]?.fields.length > 0, ...(ngDevMode ? [{ debugName: "hasFormFields" }] : /* istanbul ignore next */ []));
|
|
37
|
+
constructor() {
|
|
38
|
+
this.transloco.langChanges$
|
|
39
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
40
|
+
.subscribe((lang) => this.activeLang.set(lang));
|
|
41
|
+
}
|
|
42
|
+
onCancel() {
|
|
43
|
+
this.ref.close(null);
|
|
44
|
+
}
|
|
45
|
+
onConfirm() {
|
|
46
|
+
if (this.formControl.invalid) {
|
|
47
|
+
this.formControl.markAllAsTouched();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
this.ref.close(this.formControl.getRawValue() ?? {});
|
|
51
|
+
}
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RuntimeActionConfirmDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: RuntimeActionConfirmDialog, isStandalone: true, selector: "mt-runtime-action-confirm-dialog", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'runtimeAction'\">\n <div [class]=\"modal.contentClass + ' p-4'\">\n @if (hasFormFields()) {\n <mt-dynamic-form\n [formConfig]=\"formConfig()\"\n [formControl]=\"formControl\"\n />\n } @else {\n <p class=\"text-sm text-surface-500\">\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\n </p>\n }\n </div>\n\n <div [class]=\"modal.footerClass\">\n <mt-button\n [label]=\"t('modal.cancel')\"\n severity=\"secondary\"\n variant=\"outlined\"\n (onClick)=\"onCancel()\"\n />\n <mt-button [label]=\"actionLabel()\" (onClick)=\"onConfirm()\" />\n </div>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: DynamicForm, selector: "mt-dynamic-form", inputs: ["formConfig", "forcedHiddenFieldKeys", "preserveForcedHiddenValues", "visibleSectionKeys"], outputs: ["runtimeMessagesChange"] }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }] });
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RuntimeActionConfirmDialog, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'mt-runtime-action-confirm-dialog', standalone: true, imports: [
|
|
58
|
+
CommonModule,
|
|
59
|
+
ReactiveFormsModule,
|
|
60
|
+
TranslocoDirective,
|
|
61
|
+
DynamicForm,
|
|
62
|
+
Button,
|
|
63
|
+
], template: "<ng-container *transloco=\"let t; prefix: 'runtimeAction'\">\n <div [class]=\"modal.contentClass + ' p-4'\">\n @if (hasFormFields()) {\n <mt-dynamic-form\n [formConfig]=\"formConfig()\"\n [formControl]=\"formControl\"\n />\n } @else {\n <p class=\"text-sm text-surface-500\">\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\n </p>\n }\n </div>\n\n <div [class]=\"modal.footerClass\">\n <mt-button\n [label]=\"t('modal.cancel')\"\n severity=\"secondary\"\n variant=\"outlined\"\n (onClick)=\"onCancel()\"\n />\n <mt-button [label]=\"actionLabel()\" (onClick)=\"onConfirm()\" />\n </div>\n</ng-container>\n" }]
|
|
64
|
+
}], ctorParameters: () => [], propDecorators: { action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: true }] }] } });
|
|
65
|
+
function buildActionFields(action, t) {
|
|
66
|
+
const requestedKeys = new Set(action.payloadKeys ?? []);
|
|
67
|
+
const requiredKeys = new Set(action.requiredPayloadKeys ?? []);
|
|
68
|
+
const fields = [];
|
|
69
|
+
const progressField = resolveProgressField(action);
|
|
70
|
+
if (progressField) {
|
|
71
|
+
fields.push({
|
|
72
|
+
key: 'progress',
|
|
73
|
+
type: 'slider',
|
|
74
|
+
label: t('runtimeAction.field.progress'),
|
|
75
|
+
min: 0,
|
|
76
|
+
max: 100,
|
|
77
|
+
step: 1,
|
|
78
|
+
unit: '%',
|
|
79
|
+
validators: buildRequiredValidators(requiredKeys.has('fields')),
|
|
80
|
+
defaultValue: progressField.value,
|
|
81
|
+
colSpan: 12,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
if (requestedKeys.has('delegatedUser')) {
|
|
85
|
+
fields.push({
|
|
86
|
+
key: 'delegatedUser',
|
|
87
|
+
type: 'user-search',
|
|
88
|
+
label: t('runtimeAction.field.delegatedUser'),
|
|
89
|
+
placeholder: t('runtimeAction.field.delegatedUserPlaceholder'),
|
|
90
|
+
apiUrl: 'Identity/users',
|
|
91
|
+
optionLabel: 'displayName',
|
|
92
|
+
optionValue: 'id',
|
|
93
|
+
validators: buildRequiredValidators(requiredKeys.has('delegatedUser')),
|
|
94
|
+
colSpan: 12,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (requestedKeys.has('reason')) {
|
|
98
|
+
fields.push({
|
|
99
|
+
key: 'reason',
|
|
100
|
+
type: 'textarea',
|
|
101
|
+
label: t('runtimeAction.field.reason'),
|
|
102
|
+
placeholder: t('runtimeAction.field.reasonPlaceholder'),
|
|
103
|
+
rows: 4,
|
|
104
|
+
validators: buildRequiredValidators(requiredKeys.has('reason')),
|
|
105
|
+
colSpan: 12,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
if (requestedKeys.has('note')) {
|
|
109
|
+
fields.push({
|
|
110
|
+
key: 'note',
|
|
111
|
+
type: 'textarea',
|
|
112
|
+
label: t('runtimeAction.field.note'),
|
|
113
|
+
placeholder: t('runtimeAction.field.notePlaceholder'),
|
|
114
|
+
rows: 4,
|
|
115
|
+
validators: buildRequiredValidators(requiredKeys.has('note')),
|
|
116
|
+
colSpan: 12,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
if (requestedKeys.has('attachments')) {
|
|
120
|
+
fields.push({
|
|
121
|
+
key: 'attachments',
|
|
122
|
+
type: 'upload-file',
|
|
123
|
+
label: t('runtimeAction.field.attachments'),
|
|
124
|
+
endPoint: 'uploader',
|
|
125
|
+
multiple: true,
|
|
126
|
+
title: t('runtimeAction.field.uploadTitle'),
|
|
127
|
+
description: t('runtimeAction.field.uploadDescription'),
|
|
128
|
+
validators: buildRequiredValidators(requiredKeys.has('attachments')),
|
|
129
|
+
colSpan: 12,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return fields;
|
|
133
|
+
}
|
|
134
|
+
function buildRequiredValidators(required) {
|
|
135
|
+
return required ? [ValidatorConfig.required()] : [];
|
|
136
|
+
}
|
|
137
|
+
function resolveProgressField(action) {
|
|
138
|
+
const fields = action.payloadTemplate
|
|
139
|
+
?.fields;
|
|
140
|
+
if (!Array.isArray(fields)) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const progressField = fields.find((field) => !!field &&
|
|
144
|
+
typeof field === 'object' &&
|
|
145
|
+
field.propertyKey === 'Progress');
|
|
146
|
+
if (!progressField) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
value: normalizeProgressValue(progressField.value),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function normalizeProgressValue(value) {
|
|
154
|
+
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
155
|
+
return value;
|
|
156
|
+
}
|
|
157
|
+
if (typeof value !== 'string') {
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
const normalized = Number(value.replace('%', '').trim());
|
|
161
|
+
return Number.isFinite(normalized) ? normalized : undefined;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function provideRuntimeActionConfirmDialog() {
|
|
165
|
+
return {
|
|
166
|
+
provide: RUNTIME_ACTION_CONFIRM_DIALOG,
|
|
167
|
+
useValue: RuntimeActionConfirmDialog,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Generated bundle index. Do not edit.
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
export { RuntimeActionConfirmDialog, provideRuntimeActionConfirmDialog };
|
|
176
|
+
//# sourceMappingURL=masterteam-forms-runtime-action-dialog.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"masterteam-forms-runtime-action-dialog.mjs","sources":["../../../../packages/masterteam/forms/runtime-action-dialog/runtime-action-confirm-dialog.ts","../../../../packages/masterteam/forms/runtime-action-dialog/runtime-action-confirm-dialog.html","../../../../packages/masterteam/forms/runtime-action-dialog/provide-runtime-action-confirm-dialog.ts","../../../../packages/masterteam/forms/runtime-action-dialog/masterteam-forms-runtime-action-dialog.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\nimport {\n DynamicFieldConfig,\n DynamicFormConfig,\n ValidatorConfig,\n} from '@masterteam/components';\nimport { Button } from '@masterteam/components/button';\nimport { ModalRef } from '@masterteam/components/dialog';\nimport { ModalService } from '@masterteam/components/modal';\nimport {\n RuntimeAction,\n resolveActionLabel,\n} from '@masterteam/components/runtime-action';\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\n\n@Component({\n selector: 'mt-runtime-action-confirm-dialog',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslocoDirective,\n DynamicForm,\n Button,\n ],\n templateUrl: './runtime-action-confirm-dialog.html',\n})\nexport class RuntimeActionConfirmDialog {\n private readonly ref = inject(ModalRef);\n readonly modal = inject(ModalService);\n private readonly transloco = inject(TranslocoService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly activeLang = signal(this.transloco.getActiveLang());\n\n readonly action = input.required<RuntimeAction>();\n\n protected readonly formControl = new FormControl<Record<string, unknown>>({});\n protected readonly actionLabel = computed(() =>\n resolveActionLabel(this.action()),\n );\n protected readonly formConfig = computed<DynamicFormConfig>(() => {\n this.activeLang();\n return {\n sections: [\n {\n key: 'action-confirmation',\n type: 'none',\n fields: buildActionFields(this.action(), (key) =>\n this.transloco.translate<string>(key),\n ),\n },\n ],\n };\n });\n protected readonly hasFormFields = computed(\n () => this.formConfig().sections[0]?.fields.length > 0,\n );\n\n constructor() {\n this.transloco.langChanges$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((lang) => this.activeLang.set(lang));\n }\n\n protected onCancel(): void {\n this.ref.close(null);\n }\n\n protected onConfirm(): void {\n if (this.formControl.invalid) {\n this.formControl.markAllAsTouched();\n return;\n }\n\n this.ref.close(this.formControl.getRawValue() ?? {});\n }\n}\n\nfunction buildActionFields(\n action: RuntimeAction,\n t: (key: string) => string,\n): DynamicFieldConfig[] {\n const requestedKeys = new Set(action.payloadKeys ?? []);\n const requiredKeys = new Set(action.requiredPayloadKeys ?? []);\n const fields: DynamicFieldConfig[] = [];\n const progressField = resolveProgressField(action);\n\n if (progressField) {\n fields.push({\n key: 'progress',\n type: 'slider',\n label: t('runtimeAction.field.progress'),\n min: 0,\n max: 100,\n step: 1,\n unit: '%',\n validators: buildRequiredValidators(requiredKeys.has('fields')),\n defaultValue: progressField.value,\n colSpan: 12,\n } as DynamicFieldConfig);\n }\n\n if (requestedKeys.has('delegatedUser')) {\n fields.push({\n key: 'delegatedUser',\n type: 'user-search',\n label: t('runtimeAction.field.delegatedUser'),\n placeholder: t('runtimeAction.field.delegatedUserPlaceholder'),\n apiUrl: 'Identity/users',\n optionLabel: 'displayName',\n optionValue: 'id',\n validators: buildRequiredValidators(requiredKeys.has('delegatedUser')),\n colSpan: 12,\n } as DynamicFieldConfig);\n }\n\n if (requestedKeys.has('reason')) {\n fields.push({\n key: 'reason',\n type: 'textarea',\n label: t('runtimeAction.field.reason'),\n placeholder: t('runtimeAction.field.reasonPlaceholder'),\n rows: 4,\n validators: buildRequiredValidators(requiredKeys.has('reason')),\n colSpan: 12,\n } as DynamicFieldConfig);\n }\n\n if (requestedKeys.has('note')) {\n fields.push({\n key: 'note',\n type: 'textarea',\n label: t('runtimeAction.field.note'),\n placeholder: t('runtimeAction.field.notePlaceholder'),\n rows: 4,\n validators: buildRequiredValidators(requiredKeys.has('note')),\n colSpan: 12,\n } as DynamicFieldConfig);\n }\n\n if (requestedKeys.has('attachments')) {\n fields.push({\n key: 'attachments',\n type: 'upload-file',\n label: t('runtimeAction.field.attachments'),\n endPoint: 'uploader',\n multiple: true,\n title: t('runtimeAction.field.uploadTitle'),\n description: t('runtimeAction.field.uploadDescription'),\n validators: buildRequiredValidators(requiredKeys.has('attachments')),\n colSpan: 12,\n } as DynamicFieldConfig);\n }\n\n return fields;\n}\n\nfunction buildRequiredValidators(required: boolean): ValidatorConfig[] {\n return required ? [ValidatorConfig.required()] : [];\n}\n\nfunction resolveProgressField(\n action: RuntimeAction,\n): { value?: number } | null {\n const fields = (action.payloadTemplate as { fields?: unknown } | null)\n ?.fields;\n if (!Array.isArray(fields)) {\n return null;\n }\n\n const progressField = fields.find(\n (field) =>\n !!field &&\n typeof field === 'object' &&\n (field as { propertyKey?: string }).propertyKey === 'Progress',\n ) as { value?: unknown } | undefined;\n\n if (!progressField) {\n return null;\n }\n\n return {\n value: normalizeProgressValue(progressField.value),\n };\n}\n\nfunction normalizeProgressValue(value: unknown): number | undefined {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return value;\n }\n\n if (typeof value !== 'string') {\n return undefined;\n }\n\n const normalized = Number(value.replace('%', '').trim());\n return Number.isFinite(normalized) ? normalized : undefined;\n}\n","<ng-container *transloco=\"let t; prefix: 'runtimeAction'\">\n <div [class]=\"modal.contentClass + ' p-4'\">\n @if (hasFormFields()) {\n <mt-dynamic-form\n [formConfig]=\"formConfig()\"\n [formControl]=\"formControl\"\n />\n } @else {\n <p class=\"text-sm text-surface-500\">\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\n </p>\n }\n </div>\n\n <div [class]=\"modal.footerClass\">\n <mt-button\n [label]=\"t('modal.cancel')\"\n severity=\"secondary\"\n variant=\"outlined\"\n (onClick)=\"onCancel()\"\n />\n <mt-button [label]=\"actionLabel()\" (onClick)=\"onConfirm()\" />\n </div>\n</ng-container>\n","import { Provider } from '@angular/core';\nimport { RUNTIME_ACTION_CONFIRM_DIALOG } from '@masterteam/components/runtime-action';\n\nimport { RuntimeActionConfirmDialog } from './runtime-action-confirm-dialog';\n\nexport function provideRuntimeActionConfirmDialog(): Provider {\n return {\n provide: RUNTIME_ACTION_CONFIRM_DIALOG,\n useValue: RuntimeActionConfirmDialog,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masterteam/forms",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.72",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"directory": "../../../dist/masterteam/forms",
|
|
6
6
|
"linkDirectory": true,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"primeng": "21.1.5",
|
|
18
18
|
"@primeuix/themes": "^2.0.3",
|
|
19
19
|
"rxjs": "^7.8.2",
|
|
20
|
-
"@masterteam/components": "^0.0.
|
|
20
|
+
"@masterteam/components": "^0.0.158"
|
|
21
21
|
},
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"exports": {
|
|
@@ -46,6 +46,10 @@
|
|
|
46
46
|
"./pipes": {
|
|
47
47
|
"types": "./types/masterteam-forms-pipes.d.ts",
|
|
48
48
|
"default": "./fesm2022/masterteam-forms-pipes.mjs"
|
|
49
|
+
},
|
|
50
|
+
"./runtime-action-dialog": {
|
|
51
|
+
"types": "./types/masterteam-forms-runtime-action-dialog.d.ts",
|
|
52
|
+
"default": "./fesm2022/masterteam-forms-runtime-action-dialog.mjs"
|
|
49
53
|
}
|
|
50
54
|
},
|
|
51
55
|
"module": "fesm2022/masterteam-forms.mjs",
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Provider } from '@angular/core';
|
|
3
|
+
import { FormControl } from '@angular/forms';
|
|
4
|
+
import { DynamicFormConfig } from '@masterteam/components';
|
|
5
|
+
import { ModalService } from '@masterteam/components/modal';
|
|
6
|
+
import { RuntimeAction } from '@masterteam/components/runtime-action';
|
|
7
|
+
|
|
8
|
+
declare class RuntimeActionConfirmDialog {
|
|
9
|
+
private readonly ref;
|
|
10
|
+
readonly modal: ModalService;
|
|
11
|
+
private readonly transloco;
|
|
12
|
+
private readonly destroyRef;
|
|
13
|
+
private readonly activeLang;
|
|
14
|
+
readonly action: _angular_core.InputSignal<RuntimeAction>;
|
|
15
|
+
protected readonly formControl: FormControl<Record<string, unknown> | null>;
|
|
16
|
+
protected readonly actionLabel: _angular_core.Signal<string>;
|
|
17
|
+
protected readonly formConfig: _angular_core.Signal<DynamicFormConfig>;
|
|
18
|
+
protected readonly hasFormFields: _angular_core.Signal<boolean>;
|
|
19
|
+
constructor();
|
|
20
|
+
protected onCancel(): void;
|
|
21
|
+
protected onConfirm(): void;
|
|
22
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RuntimeActionConfirmDialog, never>;
|
|
23
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RuntimeActionConfirmDialog, "mt-runtime-action-confirm-dialog", never, { "action": { "alias": "action"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare function provideRuntimeActionConfirmDialog(): Provider;
|
|
27
|
+
|
|
28
|
+
export { RuntimeActionConfirmDialog, provideRuntimeActionConfirmDialog };
|