@masterteam/forms 0.0.76 → 0.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/masterteam-forms-client-form.mjs +28 -6
- package/fesm2022/masterteam-forms-client-form.mjs.map +1 -1
- package/fesm2022/masterteam-forms-dynamic-field.mjs +8 -3
- package/fesm2022/masterteam-forms-dynamic-field.mjs.map +1 -1
- package/fesm2022/masterteam-forms-runtime-action-dialog.mjs +26 -5
- package/fesm2022/masterteam-forms-runtime-action-dialog.mjs.map +1 -1
- package/package.json +2 -2
- package/types/masterteam-forms-runtime-action-dialog.d.ts +6 -2
|
@@ -12,13 +12,14 @@ 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, EntityListFieldConfig } from '@masterteam/components';
|
|
15
|
+
import { TextFieldConfig, TextareaFieldConfig, SelectFieldConfig, DateFieldConfig, NumberFieldConfig, SliderFieldConfig, MultiSelectFieldConfig, PickListFieldConfig, CheckboxFieldConfig, RadioButtonFieldConfig, RadioCardsFieldConfig, UserSearchFieldConfig, LocationFieldConfig, 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';
|
|
19
19
|
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
|
+
import { LocationField } from '@masterteam/components/location-field';
|
|
22
23
|
import { UploadField } from '@masterteam/components/upload-field';
|
|
23
24
|
import { LookupMatrixField, SchemaConnectionField, SchedulePredecessorField, EntityListField } from '@masterteam/components/business-fields';
|
|
24
25
|
|
|
@@ -76,6 +77,9 @@ class DynamicField {
|
|
|
76
77
|
if (value.type === 'user-search') {
|
|
77
78
|
return new UserSearchFieldConfig(value);
|
|
78
79
|
}
|
|
80
|
+
if (value.type === 'location') {
|
|
81
|
+
return new LocationFieldConfig(value);
|
|
82
|
+
}
|
|
79
83
|
if (value.type === 'toggle') {
|
|
80
84
|
return new ToggleFieldConfig(value);
|
|
81
85
|
}
|
|
@@ -113,7 +117,7 @@ class DynamicField {
|
|
|
113
117
|
});
|
|
114
118
|
}
|
|
115
119
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DynamicField, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
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 [hint]=\"transformedFieldConfig().hint\"\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", "markCurrentUser"], 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: [
|
|
120
|
+
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) {\n @case (\"text\") {\n <mt-text-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [hint]=\"transformedFieldConfig().hint\"\n [type]=\"transformedFieldConfig().inputType || 'text'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"textarea\") {\n <mt-textarea-field\n [label]=\"transformedFieldConfig().label\"\n [rows]=\"transformedFieldConfig().rows || 3\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"select\") {\n <mt-select-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [group]=\"transformedFieldConfig().group || false\"\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\n [optionGroupChildren]=\"\n transformedFieldConfig().optionGroupChildren || 'items'\n \"\n [size]=\"transformedFieldConfig().size\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [filter]=\"transformedFieldConfig().filter\"\n [formControlName]=\"fieldName()\"\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\n />\n }\n @case (\"date\") {\n <mt-date-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n [showTime]=\"transformedFieldConfig().showTime\"\n />\n }\n @case (\"number\") {\n <mt-number-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"slider\") {\n <mt-slider-field\n [label]=\"transformedFieldConfig().label\"\n [min]=\"transformedFieldConfig().min ?? 0\"\n [max]=\"transformedFieldConfig().max ?? 100\"\n [step]=\"transformedFieldConfig().step\"\n [animate]=\"transformedFieldConfig().animate ?? false\"\n [unit]=\"transformedFieldConfig().unit || ''\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"multi-select\") {\n <mt-multi-select-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"pick-list\") {\n <mt-pick-list-field\n [label]=\"transformedFieldConfig().label || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\n [filterBy]=\"transformedFieldConfig().filterBy\"\n [dataKey]=\"transformedFieldConfig().dataKey\"\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\n [responsive]=\"transformedFieldConfig().responsive\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"user-search\") {\n <mt-user-search-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [hint]=\"transformedFieldConfig().hint || ''\"\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [context]=\"transformedFieldConfig().context\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"location\") {\n <mt-location-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [hint]=\"transformedFieldConfig().hint || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [searchUrl]=\"transformedFieldConfig().searchUrl\"\n [minLength]=\"transformedFieldConfig().minLength || 2\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"checkbox\") {\n <mt-checkbox-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"radio-button\") {\n <mt-radio-button-field\n [label]=\"transformedFieldConfig().label\"\n [options]=\"transformedFieldConfig().options || []\"\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"radio-cards\") {\n <mt-radio-cards-field\n [label]=\"transformedFieldConfig().label\"\n [hint]=\"transformedFieldConfig().hint\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [size]=\"transformedFieldConfig().size || 'small'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"toggle\") {\n <mt-toggle-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\n [icon]=\"transformedFieldConfig().icon\"\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"icon-field\") {\n <mt-icon-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"color-picker\") {\n <mt-color-picker-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n [appendTo]=\"transformedFieldConfig().appendTo\"\n />\n }\n @case (\"editor-field\") {\n <mt-editor-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"upload-file\") {\n <mt-upload-field\n [label]=\"transformedFieldConfig().label\"\n [formControlName]=\"fieldName()\"\n [shape]=\"transformedFieldConfig().shape\"\n [size]=\"transformedFieldConfig().size\"\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\n [multiple]=\"transformedFieldConfig().multiple\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [endPoint]=\"transformedFieldConfig().endPoint\"\n [accept]=\"transformedFieldConfig().accept\"\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\n [context]=\"transformedFieldConfig().context\"\n [title]=\"transformedFieldConfig().title\"\n [description]=\"transformedFieldConfig().description\"\n />\n }\n @case (\"lookup-matrix\") {\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\n }\n @case (\"spacer\") {\n <div class=\"spacer\"></div>\n }\n @case (\"schema-connection\") {\n <mt-schema-connection-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [context]=\"transformedFieldConfig().context\"\n [filter]=\"transformedFieldConfig().filter ?? true\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"predecessor\") {\n <mt-schedule-predecessor-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"entity-list\") {\n <mt-entity-list-field\n [label]=\"transformedFieldConfig().label || ''\"\n [propertyId]=\"transformedFieldConfig().propertyId\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\n [context]=\"transformedFieldConfig().context\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n}\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", "markCurrentUser"], 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", "hint", "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: LocationField, selector: "mt-location-field", inputs: ["hint", "label", "placeholder", "readonly", "required", "minLength", "configuration", "searchUrl"] }, { 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: [
|
|
117
121
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
118
122
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
119
123
|
}
|
|
@@ -137,6 +141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
|
|
|
137
141
|
RadioCardsField,
|
|
138
142
|
ToggleField,
|
|
139
143
|
UserSearchField,
|
|
144
|
+
LocationField,
|
|
140
145
|
UploadField,
|
|
141
146
|
LookupMatrixField,
|
|
142
147
|
SchemaConnectionField,
|
|
@@ -144,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
|
|
|
144
149
|
EntityListField,
|
|
145
150
|
], changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [
|
|
146
151
|
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
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 [hint]=\"transformedFieldConfig().hint\"\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"] }]
|
|
152
|
+
], template: "@switch (transformedFieldConfig().type) {\n @case (\"text\") {\n <mt-text-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [hint]=\"transformedFieldConfig().hint\"\n [type]=\"transformedFieldConfig().inputType || 'text'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"textarea\") {\n <mt-textarea-field\n [label]=\"transformedFieldConfig().label\"\n [rows]=\"transformedFieldConfig().rows || 3\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"select\") {\n <mt-select-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [group]=\"transformedFieldConfig().group || false\"\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\n [optionGroupChildren]=\"\n transformedFieldConfig().optionGroupChildren || 'items'\n \"\n [size]=\"transformedFieldConfig().size\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [filter]=\"transformedFieldConfig().filter\"\n [formControlName]=\"fieldName()\"\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\n />\n }\n @case (\"date\") {\n <mt-date-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n [showTime]=\"transformedFieldConfig().showTime\"\n />\n }\n @case (\"number\") {\n <mt-number-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"slider\") {\n <mt-slider-field\n [label]=\"transformedFieldConfig().label\"\n [min]=\"transformedFieldConfig().min ?? 0\"\n [max]=\"transformedFieldConfig().max ?? 100\"\n [step]=\"transformedFieldConfig().step\"\n [animate]=\"transformedFieldConfig().animate ?? false\"\n [unit]=\"transformedFieldConfig().unit || ''\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"multi-select\") {\n <mt-multi-select-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"pick-list\") {\n <mt-pick-list-field\n [label]=\"transformedFieldConfig().label || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\n [filterBy]=\"transformedFieldConfig().filterBy\"\n [dataKey]=\"transformedFieldConfig().dataKey\"\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\n [responsive]=\"transformedFieldConfig().responsive\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"user-search\") {\n <mt-user-search-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [hint]=\"transformedFieldConfig().hint || ''\"\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [context]=\"transformedFieldConfig().context\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"location\") {\n <mt-location-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [hint]=\"transformedFieldConfig().hint || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [searchUrl]=\"transformedFieldConfig().searchUrl\"\n [minLength]=\"transformedFieldConfig().minLength || 2\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"checkbox\") {\n <mt-checkbox-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"radio-button\") {\n <mt-radio-button-field\n [label]=\"transformedFieldConfig().label\"\n [options]=\"transformedFieldConfig().options || []\"\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"radio-cards\") {\n <mt-radio-cards-field\n [label]=\"transformedFieldConfig().label\"\n [hint]=\"transformedFieldConfig().hint\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [size]=\"transformedFieldConfig().size || 'small'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"toggle\") {\n <mt-toggle-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\n [icon]=\"transformedFieldConfig().icon\"\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"icon-field\") {\n <mt-icon-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"color-picker\") {\n <mt-color-picker-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n [appendTo]=\"transformedFieldConfig().appendTo\"\n />\n }\n @case (\"editor-field\") {\n <mt-editor-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"upload-file\") {\n <mt-upload-field\n [label]=\"transformedFieldConfig().label\"\n [formControlName]=\"fieldName()\"\n [shape]=\"transformedFieldConfig().shape\"\n [size]=\"transformedFieldConfig().size\"\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\n [multiple]=\"transformedFieldConfig().multiple\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [endPoint]=\"transformedFieldConfig().endPoint\"\n [accept]=\"transformedFieldConfig().accept\"\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\n [context]=\"transformedFieldConfig().context\"\n [title]=\"transformedFieldConfig().title\"\n [description]=\"transformedFieldConfig().description\"\n />\n }\n @case (\"lookup-matrix\") {\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\n }\n @case (\"spacer\") {\n <div class=\"spacer\"></div>\n }\n @case (\"schema-connection\") {\n <mt-schema-connection-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [context]=\"transformedFieldConfig().context\"\n [filter]=\"transformedFieldConfig().filter ?? true\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"predecessor\") {\n <mt-schedule-predecessor-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"entity-list\") {\n <mt-entity-list-field\n [label]=\"transformedFieldConfig().label || ''\"\n [propertyId]=\"transformedFieldConfig().propertyId\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\n [context]=\"transformedFieldConfig().context\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n}\n", styles: [":host{display:block;width:100%}\n"] }]
|
|
148
153
|
}], ctorParameters: () => [], propDecorators: { fieldConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldConfig", required: true }] }], fieldName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldName", required: true }] }] } });
|
|
149
154
|
|
|
150
155
|
/**
|
|
@@ -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 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 [hint]=\"transformedFieldConfig().hint\"\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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"}
|
|
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 {\n Component,\n input,\n computed,\n ChangeDetectionStrategy,\n Signal,\n inject,\n} from '@angular/core';\nimport {\n ReactiveFormsModule,\n ControlContainer,\n FormGroupDirective,\n} from '@angular/forms';\nimport { TextField } from '@masterteam/components/text-field';\nimport { TextareaField } from '@masterteam/components/textarea-field';\nimport { SelectField } from '@masterteam/components/select-field';\nimport { DateField } from '@masterteam/components/date-field';\nimport { NumberField } from '@masterteam/components/number-field';\nimport { SliderField } from '@masterteam/components/slider-field';\nimport { MultiSelectField } from '@masterteam/components/multi-select-field';\nimport { CheckboxField } from '@masterteam/components/checkbox-field';\nimport { ColorPickerField } from '@masterteam/components/color-picker-field';\nimport { PickListField } from '@masterteam/components/pick-list-field';\nimport {\n TextFieldConfig,\n TextareaFieldConfig,\n SelectFieldConfig,\n DateFieldConfig,\n NumberFieldConfig,\n SliderFieldConfig,\n MultiSelectFieldConfig,\n PickListFieldConfig,\n CheckboxFieldConfig,\n ColorPickerFieldConfig,\n DynamicFieldConfig,\n IconFieldConfig,\n RadioButtonFieldConfig,\n RadioCardsFieldConfig,\n ToggleFieldConfig,\n EditorFieldConfig,\n UserSearchFieldConfig,\n LocationFieldConfig,\n UploadFileFieldConfig,\n SpacerFieldConfig,\n LookupMatrixFieldConfig,\n SchemaConnectionFieldConfig,\n SchedulePredecessorFieldConfig,\n EntityListFieldConfig,\n} from '@masterteam/components';\nimport { IconField } from '@masterteam/components/icon-field';\nimport { ToggleField } from '@masterteam/components/toggle-field';\nimport { RadioCardsField } from '@masterteam/components/radio-cards-field';\nimport { RadioButtonField } from '@masterteam/components/radio-button-field';\nimport { EditorField } from '@masterteam/components/editor-field';\nimport { UserSearchField } from '@masterteam/components/user-search-field';\nimport { LocationField } from '@masterteam/components/location-field';\nimport { UploadField } from '@masterteam/components/upload-field';\nimport {\n LookupMatrixField,\n SchemaConnectionField,\n SchedulePredecessorField,\n EntityListField,\n} from '@masterteam/components/business-fields';\n\n@Component({\n selector: 'mt-dynamic-field',\n standalone: true,\n imports: [\n TextField,\n TextareaField,\n SelectField,\n DateField,\n NumberField,\n SliderField,\n MultiSelectField,\n PickListField,\n CheckboxField,\n ColorPickerField,\n ReactiveFormsModule,\n IconField,\n EditorField,\n RadioButtonField,\n RadioCardsField,\n ToggleField,\n UserSearchField,\n LocationField,\n UploadField,\n LookupMatrixField,\n SchemaConnectionField,\n SchedulePredecessorField,\n EntityListField,\n ],\n templateUrl: './dynamic-field.html',\n styleUrls: ['./dynamic-field.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n { provide: ControlContainer, useExisting: FormGroupDirective },\n ],\n})\nexport class DynamicField {\n // Input signal with transform to handle class for text type\n readonly fieldConfig = input.required<DynamicFieldConfig>();\n\n // Computed property for transformed field config\n readonly transformedFieldConfig: Signal<DynamicFieldConfig> = computed(() =>\n this.transformToFieldConfig(this.fieldConfig()),\n );\n readonly isRequired = computed(() => {\n const field = this.transformedFieldConfig();\n return Boolean(\n field.required ||\n field.validators?.some(\n (validator: any) => validator?.type === 'required',\n ),\n );\n });\n\n // Inject ControlContainer to connect directly with parent form\n private controlContainer = inject(ControlContainer, { optional: true });\n\n // Input for the form control name\n readonly fieldName = input.required<string>();\n constructor() {}\n\n private transformToFieldConfig(value: any): DynamicFieldConfig {\n // If it's a plain object, transform it to appropriate field config\n if (typeof value === 'object') {\n if (value.type === 'text') {\n return new TextFieldConfig(value);\n }\n if (value.type === 'textarea') {\n return new TextareaFieldConfig(value);\n }\n if (value.type === 'select') {\n return new SelectFieldConfig(value);\n }\n if (value.type === 'date') {\n return new DateFieldConfig(value);\n }\n if (value.type === 'number') {\n return new NumberFieldConfig(value);\n }\n if (value.type === 'slider') {\n return new SliderFieldConfig(value);\n }\n if (value.type === 'multi-select') {\n return new MultiSelectFieldConfig(value);\n }\n if (value.type === 'pick-list') {\n return new PickListFieldConfig(value);\n }\n if (value.type === 'checkbox') {\n return new CheckboxFieldConfig(value);\n }\n if (value.type === 'radio-button') {\n return new RadioButtonFieldConfig(value);\n }\n if (value.type === 'radio-cards') {\n return new RadioCardsFieldConfig(value);\n }\n if (value.type === 'user-search') {\n return new UserSearchFieldConfig(value);\n }\n if (value.type === 'location') {\n return new LocationFieldConfig(value);\n }\n if (value.type === 'toggle') {\n return new ToggleFieldConfig(value);\n }\n if (value.type === 'editor-field') {\n return new EditorFieldConfig(value);\n }\n if (value.type === 'icon-field') {\n return new IconFieldConfig(value);\n }\n if (value.type === 'color-picker') {\n return new ColorPickerFieldConfig(value);\n }\n if (value.type === 'upload-file') {\n return new UploadFileFieldConfig(value);\n }\n if (value.type === 'spacer') {\n return new SpacerFieldConfig(value);\n }\n if (value.type === 'lookup-matrix') {\n return new LookupMatrixFieldConfig(value);\n }\n if (value.type === 'schema-connection') {\n return new SchemaConnectionFieldConfig(value);\n }\n if (value.type === 'predecessor') {\n return new SchedulePredecessorFieldConfig(value);\n }\n if (value.type === 'entity-list') {\n return new EntityListFieldConfig(value);\n }\n }\n\n // Default fallback to TextFieldConfig\n return new TextFieldConfig({\n ...value,\n });\n }\n}\n","@switch (transformedFieldConfig().type) {\n @case (\"text\") {\n <mt-text-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [hint]=\"transformedFieldConfig().hint\"\n [type]=\"transformedFieldConfig().inputType || 'text'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"textarea\") {\n <mt-textarea-field\n [label]=\"transformedFieldConfig().label\"\n [rows]=\"transformedFieldConfig().rows || 3\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"select\") {\n <mt-select-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [group]=\"transformedFieldConfig().group || false\"\n [optionGroupLabel]=\"transformedFieldConfig().optionGroupLabel || 'label'\"\n [optionGroupChildren]=\"\n transformedFieldConfig().optionGroupChildren || 'items'\n \"\n [size]=\"transformedFieldConfig().size\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [filter]=\"transformedFieldConfig().filter\"\n [formControlName]=\"fieldName()\"\n [hasPlaceholderPrefix]=\"transformedFieldConfig().hasPlaceholderPrefix\"\n />\n }\n @case (\"date\") {\n <mt-date-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n [showTime]=\"transformedFieldConfig().showTime\"\n />\n }\n @case (\"number\") {\n <mt-number-field\n [label]=\"transformedFieldConfig().label\"\n [placeholder]=\"transformedFieldConfig().placeholder\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [useGrouping]=\"transformedFieldConfig().useGrouping ?? false\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"slider\") {\n <mt-slider-field\n [label]=\"transformedFieldConfig().label\"\n [min]=\"transformedFieldConfig().min ?? 0\"\n [max]=\"transformedFieldConfig().max ?? 100\"\n [step]=\"transformedFieldConfig().step\"\n [animate]=\"transformedFieldConfig().animate ?? false\"\n [unit]=\"transformedFieldConfig().unit || ''\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"multi-select\") {\n <mt-multi-select-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [maxSelectedLabels]=\"transformedFieldConfig().maxSelectedLabels\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"pick-list\") {\n <mt-pick-list-field\n [label]=\"transformedFieldConfig().label || ''\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [sourceHeader]=\"transformedFieldConfig().sourceHeader || 'Available'\"\n [targetHeader]=\"transformedFieldConfig().targetHeader || 'Selected'\"\n [showSourceControls]=\"transformedFieldConfig().showSourceControls ?? true\"\n [showTargetControls]=\"transformedFieldConfig().showTargetControls ?? true\"\n [showSourceFilter]=\"transformedFieldConfig().showSourceFilter ?? false\"\n [showTargetFilter]=\"transformedFieldConfig().showTargetFilter ?? false\"\n [filterBy]=\"transformedFieldConfig().filterBy\"\n [dataKey]=\"transformedFieldConfig().dataKey\"\n [dragdrop]=\"transformedFieldConfig().dragdrop\"\n [responsive]=\"transformedFieldConfig().responsive\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"user-search\") {\n <mt-user-search-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [hint]=\"transformedFieldConfig().hint || ''\"\n [apiUrl]=\"transformedFieldConfig().apiUrl || ''\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [isMultiple]=\"transformedFieldConfig().isMultiple || false\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [context]=\"transformedFieldConfig().context\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"location\") {\n <mt-location-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [hint]=\"transformedFieldConfig().hint || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [searchUrl]=\"transformedFieldConfig().searchUrl\"\n [minLength]=\"transformedFieldConfig().minLength || 2\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"checkbox\") {\n <mt-checkbox-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"radio-button\") {\n <mt-radio-button-field\n [label]=\"transformedFieldConfig().label\"\n [options]=\"transformedFieldConfig().options || []\"\n [orientation]=\"transformedFieldConfig().orientation || 'vertical'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"radio-cards\") {\n <mt-radio-cards-field\n [label]=\"transformedFieldConfig().label\"\n [hint]=\"transformedFieldConfig().hint\"\n [options]=\"transformedFieldConfig().options || []\"\n [optionLabel]=\"transformedFieldConfig().optionLabel || 'label'\"\n [optionValue]=\"transformedFieldConfig().optionValue || 'value'\"\n [size]=\"transformedFieldConfig().size || 'small'\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"toggle\") {\n <mt-toggle-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [toggleShape]=\"transformedFieldConfig().toggleShape || 'toggle'\"\n [icon]=\"transformedFieldConfig().icon\"\n [descriptionCard]=\"transformedFieldConfig().descriptionCard\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"icon-field\") {\n <mt-icon-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"color-picker\") {\n <mt-color-picker-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n [appendTo]=\"transformedFieldConfig().appendTo\"\n />\n }\n @case (\"editor-field\") {\n <mt-editor-field\n [label]=\"transformedFieldConfig().label\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"upload-file\") {\n <mt-upload-field\n [label]=\"transformedFieldConfig().label\"\n [formControlName]=\"fieldName()\"\n [shape]=\"transformedFieldConfig().shape\"\n [size]=\"transformedFieldConfig().size\"\n [userImgClass]=\"transformedFieldConfig().userImgClass\"\n [multiple]=\"transformedFieldConfig().multiple\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [endPoint]=\"transformedFieldConfig().endPoint\"\n [accept]=\"transformedFieldConfig().accept\"\n [fileSizeLimit]=\"transformedFieldConfig().fileSizeLimit\"\n [context]=\"transformedFieldConfig().context\"\n [title]=\"transformedFieldConfig().title\"\n [description]=\"transformedFieldConfig().description\"\n />\n }\n @case (\"lookup-matrix\") {\n <mt-lookup-matrix-field [config]=\"transformedFieldConfig()\" />\n }\n @case (\"spacer\") {\n <div class=\"spacer\"></div>\n }\n @case (\"schema-connection\") {\n <mt-schema-connection-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [context]=\"transformedFieldConfig().context\"\n [filter]=\"transformedFieldConfig().filter ?? true\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"predecessor\") {\n <mt-schedule-predecessor-field\n [label]=\"transformedFieldConfig().label || ''\"\n [placeholder]=\"transformedFieldConfig().placeholder || ''\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n @case (\"entity-list\") {\n <mt-entity-list-field\n [label]=\"transformedFieldConfig().label || ''\"\n [propertyId]=\"transformedFieldConfig().propertyId\"\n [configuration]=\"transformedFieldConfig().configuration\"\n [runtimeContext]=\"transformedFieldConfig().runtimeContext\"\n [context]=\"transformedFieldConfig().context\"\n [required]=\"isRequired()\"\n [readonly]=\"transformedFieldConfig().readonly!\"\n [formControlName]=\"fieldName()\"\n />\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,9 @@ class RuntimeActionConfirmDialog {
|
|
|
19
19
|
destroyRef = inject(DestroyRef);
|
|
20
20
|
activeLang = signal(this.transloco.getActiveLang(), ...(ngDevMode ? [{ debugName: "activeLang" }] : /* istanbul ignore next */ []));
|
|
21
21
|
action = input.required(...(ngDevMode ? [{ debugName: "action" }] : /* istanbul ignore next */ []));
|
|
22
|
+
onSubmit = input(null, ...(ngDevMode ? [{ debugName: "onSubmit" }] : /* istanbul ignore next */ []));
|
|
22
23
|
formControl = new FormControl({});
|
|
24
|
+
submitting = signal(false, ...(ngDevMode ? [{ debugName: "submitting" }] : /* istanbul ignore next */ []));
|
|
23
25
|
actionLabel = computed(() => resolveActionLabel(this.action()), ...(ngDevMode ? [{ debugName: "actionLabel" }] : /* istanbul ignore next */ []));
|
|
24
26
|
formConfig = computed(() => {
|
|
25
27
|
this.activeLang();
|
|
@@ -40,17 +42,36 @@ class RuntimeActionConfirmDialog {
|
|
|
40
42
|
.subscribe((lang) => this.activeLang.set(lang));
|
|
41
43
|
}
|
|
42
44
|
onCancel() {
|
|
45
|
+
if (this.submitting())
|
|
46
|
+
return;
|
|
43
47
|
this.ref.close(null);
|
|
44
48
|
}
|
|
45
|
-
onConfirm() {
|
|
49
|
+
async onConfirm() {
|
|
50
|
+
if (this.submitting())
|
|
51
|
+
return;
|
|
46
52
|
if (this.formControl.invalid) {
|
|
47
53
|
this.formControl.markAllAsTouched();
|
|
48
54
|
return;
|
|
49
55
|
}
|
|
50
|
-
this.
|
|
56
|
+
const value = this.formControl.getRawValue() ?? {};
|
|
57
|
+
const handler = this.onSubmit();
|
|
58
|
+
if (!handler) {
|
|
59
|
+
this.ref.close(value);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
this.submitting.set(true);
|
|
63
|
+
try {
|
|
64
|
+
const ok = await handler(value);
|
|
65
|
+
if (ok) {
|
|
66
|
+
this.ref.close(value);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
this.submitting.set(false);
|
|
71
|
+
}
|
|
51
72
|
}
|
|
52
73
|
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'\">\r\n <div [class]=\"modal.contentClass + ' p-4'\">\r\n @if (hasFormFields()) {\r\n <mt-dynamic-form\r\n [formConfig]=\"formConfig()\"\r\n [formControl]=\"formControl\"\r\n />\r\n } @else {\r\n <p class=\"text-sm text-surface-500\">\r\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\r\n </p>\r\n }\r\n </div>\r\n\r\n <div [class]=\"modal.footerClass\">\r\n <mt-button\r\n [label]=\"t('modal.cancel')\"\r\n variant=\"outlined\"\r\n (onClick)=\"onCancel()\"\r\n />\r\n <mt-button
|
|
74
|
+
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 }, onSubmit: { classPropertyName: "onSubmit", publicName: "onSubmit", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'runtimeAction'\">\r\n <div [class]=\"modal.contentClass + ' p-4'\">\r\n @if (hasFormFields()) {\r\n <mt-dynamic-form\r\n [formConfig]=\"formConfig()\"\r\n [formControl]=\"formControl\"\r\n />\r\n } @else {\r\n <p class=\"text-sm text-surface-500\">\r\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\r\n </p>\r\n }\r\n </div>\r\n\r\n <div [class]=\"modal.footerClass\">\r\n <mt-button\r\n [label]=\"t('modal.cancel')\"\r\n variant=\"outlined\"\r\n [disabled]=\"submitting()\"\r\n (onClick)=\"onCancel()\"\r\n />\r\n <mt-button\r\n [label]=\"actionLabel()\"\r\n [loading]=\"submitting()\"\r\n (onClick)=\"onConfirm()\"\r\n />\r\n </div>\r\n</ng-container>\r\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
75
|
}
|
|
55
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RuntimeActionConfirmDialog, decorators: [{
|
|
56
77
|
type: Component,
|
|
@@ -60,8 +81,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
|
|
|
60
81
|
TranslocoDirective,
|
|
61
82
|
DynamicForm,
|
|
62
83
|
Button,
|
|
63
|
-
], template: "<ng-container *transloco=\"let t; prefix: 'runtimeAction'\">\r\n <div [class]=\"modal.contentClass + ' p-4'\">\r\n @if (hasFormFields()) {\r\n <mt-dynamic-form\r\n [formConfig]=\"formConfig()\"\r\n [formControl]=\"formControl\"\r\n />\r\n } @else {\r\n <p class=\"text-sm text-surface-500\">\r\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\r\n </p>\r\n }\r\n </div>\r\n\r\n <div [class]=\"modal.footerClass\">\r\n <mt-button\r\n [label]=\"t('modal.cancel')\"\r\n variant=\"outlined\"\r\n (onClick)=\"onCancel()\"\r\n />\r\n <mt-button
|
|
64
|
-
}], ctorParameters: () => [], propDecorators: { action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: true }] }] } });
|
|
84
|
+
], template: "<ng-container *transloco=\"let t; prefix: 'runtimeAction'\">\r\n <div [class]=\"modal.contentClass + ' p-4'\">\r\n @if (hasFormFields()) {\r\n <mt-dynamic-form\r\n [formConfig]=\"formConfig()\"\r\n [formControl]=\"formControl\"\r\n />\r\n } @else {\r\n <p class=\"text-sm text-surface-500\">\r\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\r\n </p>\r\n }\r\n </div>\r\n\r\n <div [class]=\"modal.footerClass\">\r\n <mt-button\r\n [label]=\"t('modal.cancel')\"\r\n variant=\"outlined\"\r\n [disabled]=\"submitting()\"\r\n (onClick)=\"onCancel()\"\r\n />\r\n <mt-button\r\n [label]=\"actionLabel()\"\r\n [loading]=\"submitting()\"\r\n (onClick)=\"onConfirm()\"\r\n />\r\n </div>\r\n</ng-container>\r\n" }]
|
|
85
|
+
}], ctorParameters: () => [], propDecorators: { action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: true }] }], onSubmit: [{ type: i0.Input, args: [{ isSignal: true, alias: "onSubmit", required: false }] }] } });
|
|
65
86
|
function buildActionFields(action, t) {
|
|
66
87
|
const requestedKeys = new Set(action.payloadKeys ?? []);
|
|
67
88
|
const requiredKeys = new Set(action.requiredPayloadKeys ?? []);
|
|
@@ -1 +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'\">\r\n <div [class]=\"modal.contentClass + ' p-4'\">\r\n @if (hasFormFields()) {\r\n <mt-dynamic-form\r\n [formConfig]=\"formConfig()\"\r\n [formControl]=\"formControl\"\r\n />\r\n } @else {\r\n <p class=\"text-sm text-surface-500\">\r\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\r\n </p>\r\n }\r\n </div>\r\n\r\n <div [class]=\"modal.footerClass\">\r\n <mt-button\r\n [label]=\"t('modal.cancel')\"\r\n variant=\"outlined\"\r\n (onClick)=\"onCancel()\"\r\n />\r\n <mt-button [label]=\"actionLabel()\" (onClick)=\"onConfirm()\" />\r\n </div>\r\n</ng-container>\r\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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"}
|
|
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';\r\nimport {\r\n Component,\r\n DestroyRef,\r\n computed,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n DynamicFieldConfig,\r\n DynamicFormConfig,\r\n ValidatorConfig,\r\n} from '@masterteam/components';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { ModalRef } from '@masterteam/components/dialog';\r\nimport { ModalService } from '@masterteam/components/modal';\r\nimport {\r\n RuntimeAction,\r\n resolveActionLabel,\r\n} from '@masterteam/components/runtime-action';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\n\r\nexport type RuntimeActionConfirmSubmit = (\r\n value: Record<string, unknown>,\r\n) => Promise<boolean>;\r\n\r\n@Component({\r\n selector: 'mt-runtime-action-confirm-dialog',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n TranslocoDirective,\r\n DynamicForm,\r\n Button,\r\n ],\r\n templateUrl: './runtime-action-confirm-dialog.html',\r\n})\r\nexport class RuntimeActionConfirmDialog {\r\n private readonly ref = inject(ModalRef);\r\n readonly modal = inject(ModalService);\r\n private readonly transloco = inject(TranslocoService);\r\n private readonly destroyRef = inject(DestroyRef);\r\n private readonly activeLang = signal(this.transloco.getActiveLang());\r\n\r\n readonly action = input.required<RuntimeAction>();\r\n readonly onSubmit = input<RuntimeActionConfirmSubmit | null>(null);\r\n\r\n protected readonly formControl = new FormControl<Record<string, unknown>>({});\r\n protected readonly submitting = signal(false);\r\n protected readonly actionLabel = computed(() =>\r\n resolveActionLabel(this.action()),\r\n );\r\n protected readonly formConfig = computed<DynamicFormConfig>(() => {\r\n this.activeLang();\r\n return {\r\n sections: [\r\n {\r\n key: 'action-confirmation',\r\n type: 'none',\r\n fields: buildActionFields(this.action(), (key) =>\r\n this.transloco.translate<string>(key),\r\n ),\r\n },\r\n ],\r\n };\r\n });\r\n protected readonly hasFormFields = computed(\r\n () => this.formConfig().sections[0]?.fields.length > 0,\r\n );\r\n\r\n constructor() {\r\n this.transloco.langChanges$\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe((lang) => this.activeLang.set(lang));\r\n }\r\n\r\n protected onCancel(): void {\r\n if (this.submitting()) return;\r\n this.ref.close(null);\r\n }\r\n\r\n protected async onConfirm(): Promise<void> {\r\n if (this.submitting()) return;\r\n if (this.formControl.invalid) {\r\n this.formControl.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const value = this.formControl.getRawValue() ?? {};\r\n const handler = this.onSubmit();\r\n if (!handler) {\r\n this.ref.close(value);\r\n return;\r\n }\r\n\r\n this.submitting.set(true);\r\n try {\r\n const ok = await handler(value);\r\n if (ok) {\r\n this.ref.close(value);\r\n }\r\n } finally {\r\n this.submitting.set(false);\r\n }\r\n }\r\n}\r\n\r\nfunction buildActionFields(\r\n action: RuntimeAction,\r\n t: (key: string) => string,\r\n): DynamicFieldConfig[] {\r\n const requestedKeys = new Set(action.payloadKeys ?? []);\r\n const requiredKeys = new Set(action.requiredPayloadKeys ?? []);\r\n const fields: DynamicFieldConfig[] = [];\r\n const progressField = resolveProgressField(action);\r\n\r\n if (progressField) {\r\n fields.push({\r\n key: 'progress',\r\n type: 'slider',\r\n label: t('runtimeAction.field.progress'),\r\n min: 0,\r\n max: 100,\r\n step: 1,\r\n unit: '%',\r\n validators: buildRequiredValidators(requiredKeys.has('fields')),\r\n defaultValue: progressField.value,\r\n colSpan: 12,\r\n } as DynamicFieldConfig);\r\n }\r\n\r\n if (requestedKeys.has('delegatedUser')) {\r\n fields.push({\r\n key: 'delegatedUser',\r\n type: 'user-search',\r\n label: t('runtimeAction.field.delegatedUser'),\r\n placeholder: t('runtimeAction.field.delegatedUserPlaceholder'),\r\n apiUrl: 'Identity/users',\r\n optionLabel: 'displayName',\r\n optionValue: 'id',\r\n validators: buildRequiredValidators(requiredKeys.has('delegatedUser')),\r\n colSpan: 12,\r\n } as DynamicFieldConfig);\r\n }\r\n\r\n if (requestedKeys.has('reason')) {\r\n fields.push({\r\n key: 'reason',\r\n type: 'textarea',\r\n label: t('runtimeAction.field.reason'),\r\n placeholder: t('runtimeAction.field.reasonPlaceholder'),\r\n rows: 4,\r\n validators: buildRequiredValidators(requiredKeys.has('reason')),\r\n colSpan: 12,\r\n } as DynamicFieldConfig);\r\n }\r\n\r\n if (requestedKeys.has('note')) {\r\n fields.push({\r\n key: 'note',\r\n type: 'textarea',\r\n label: t('runtimeAction.field.note'),\r\n placeholder: t('runtimeAction.field.notePlaceholder'),\r\n rows: 4,\r\n validators: buildRequiredValidators(requiredKeys.has('note')),\r\n colSpan: 12,\r\n } as DynamicFieldConfig);\r\n }\r\n\r\n if (requestedKeys.has('attachments')) {\r\n fields.push({\r\n key: 'attachments',\r\n type: 'upload-file',\r\n label: t('runtimeAction.field.attachments'),\r\n endPoint: 'uploader',\r\n multiple: true,\r\n title: t('runtimeAction.field.uploadTitle'),\r\n description: t('runtimeAction.field.uploadDescription'),\r\n validators: buildRequiredValidators(requiredKeys.has('attachments')),\r\n colSpan: 12,\r\n } as DynamicFieldConfig);\r\n }\r\n\r\n return fields;\r\n}\r\n\r\nfunction buildRequiredValidators(required: boolean): ValidatorConfig[] {\r\n return required ? [ValidatorConfig.required()] : [];\r\n}\r\n\r\nfunction resolveProgressField(\r\n action: RuntimeAction,\r\n): { value?: number } | null {\r\n const fields = (action.payloadTemplate as { fields?: unknown } | null)\r\n ?.fields;\r\n if (!Array.isArray(fields)) {\r\n return null;\r\n }\r\n\r\n const progressField = fields.find(\r\n (field) =>\r\n !!field &&\r\n typeof field === 'object' &&\r\n (field as { propertyKey?: string }).propertyKey === 'Progress',\r\n ) as { value?: unknown } | undefined;\r\n\r\n if (!progressField) {\r\n return null;\r\n }\r\n\r\n return {\r\n value: normalizeProgressValue(progressField.value),\r\n };\r\n}\r\n\r\nfunction normalizeProgressValue(value: unknown): number | undefined {\r\n if (typeof value === 'number' && Number.isFinite(value)) {\r\n return value;\r\n }\r\n\r\n if (typeof value !== 'string') {\r\n return undefined;\r\n }\r\n\r\n const normalized = Number(value.replace('%', '').trim());\r\n return Number.isFinite(normalized) ? normalized : undefined;\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'runtimeAction'\">\r\n <div [class]=\"modal.contentClass + ' p-4'\">\r\n @if (hasFormFields()) {\r\n <mt-dynamic-form\r\n [formConfig]=\"formConfig()\"\r\n [formControl]=\"formControl\"\r\n />\r\n } @else {\r\n <p class=\"text-sm text-surface-500\">\r\n {{ t(\"modal.confirmAction\", { action: actionLabel() }) }}\r\n </p>\r\n }\r\n </div>\r\n\r\n <div [class]=\"modal.footerClass\">\r\n <mt-button\r\n [label]=\"t('modal.cancel')\"\r\n variant=\"outlined\"\r\n [disabled]=\"submitting()\"\r\n (onClick)=\"onCancel()\"\r\n />\r\n <mt-button\r\n [label]=\"actionLabel()\"\r\n [loading]=\"submitting()\"\r\n (onClick)=\"onConfirm()\"\r\n />\r\n </div>\r\n</ng-container>\r\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":";;;;;;;;;;;;;;MA0Ca,0BAA0B,CAAA;AACpB,IAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC9B,IAAA,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;AACpB,IAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACpC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/B,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAE3D,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAiB;AACxC,IAAA,QAAQ,GAAG,KAAK,CAAoC,IAAI,+EAAC;AAE/C,IAAA,WAAW,GAAG,IAAI,WAAW,CAA0B,EAAE,CAAC;AAC1D,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,iFAAC;AAC1B,IAAA,WAAW,GAAG,QAAQ,CAAC,MACxC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,kFAClC;AACkB,IAAA,UAAU,GAAG,QAAQ,CAAoB,MAAK;QAC/D,IAAI,CAAC,UAAU,EAAE;QACjB,OAAO;AACL,YAAA,QAAQ,EAAE;AACR,gBAAA;AACE,oBAAA,GAAG,EAAE,qBAAqB;AAC1B,oBAAA,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,KAC3C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAS,GAAG,CAAC,CACtC;AACF,iBAAA;AACF,aAAA;SACF;AACH,IAAA,CAAC,iFAAC;IACiB,aAAa,GAAG,QAAQ,CACzC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACvD;AAED,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,SAAS,CAAC;AACZ,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,aAAA,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD;IAEU,QAAQ,GAAA;QAChB,IAAI,IAAI,CAAC,UAAU,EAAE;YAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;IACtB;AAEU,IAAA,MAAM,SAAS,GAAA;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE;YAAE;AACvB,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACnC;QACF;QAEA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE;AAClD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE;QAC/B,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACrB;QACF;AAEA,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YAC/B,IAAI,EAAE,EAAE;AACN,gBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACvB;QACF;gBAAU;AACR,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B;IACF;uGAnEW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CvC,izBA4BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDMI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,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,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,WAAW,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,uBAAA,EAAA,4BAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,MAAM,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIG,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAZtC,SAAS;+BACE,kCAAkC,EAAA,UAAA,EAChC,IAAI,EAAA,OAAA,EACP;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,kBAAkB;wBAClB,WAAW;wBACX,MAAM;AACP,qBAAA,EAAA,QAAA,EAAA,izBAAA,EAAA;;AAyEH,SAAS,iBAAiB,CACxB,MAAqB,EACrB,CAA0B,EAAA;IAE1B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAyB,EAAE;AACvC,IAAA,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAElD,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC;AACV,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,CAAC,CAAC,8BAA8B,CAAC;AACxC,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/D,YAAY,EAAE,aAAa,CAAC,KAAK;AACjC,YAAA,OAAO,EAAE,EAAE;AACU,SAAA,CAAC;IAC1B;AAEA,IAAA,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;QACtC,MAAM,CAAC,IAAI,CAAC;AACV,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,KAAK,EAAE,CAAC,CAAC,mCAAmC,CAAC;AAC7C,YAAA,WAAW,EAAE,CAAC,CAAC,8CAA8C,CAAC;AAC9D,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACtE,YAAA,OAAO,EAAE,EAAE;AACU,SAAA,CAAC;IAC1B;AAEA,IAAA,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC/B,MAAM,CAAC,IAAI,CAAC;AACV,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC;AACtC,YAAA,WAAW,EAAE,CAAC,CAAC,uCAAuC,CAAC;AACvD,YAAA,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,YAAA,OAAO,EAAE,EAAE;AACU,SAAA,CAAC;IAC1B;AAEA,IAAA,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC7B,MAAM,CAAC,IAAI,CAAC;AACV,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAC,CAAC,0BAA0B,CAAC;AACpC,YAAA,WAAW,EAAE,CAAC,CAAC,qCAAqC,CAAC;AACrD,YAAA,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,YAAA,OAAO,EAAE,EAAE;AACU,SAAA,CAAC;IAC1B;AAEA,IAAA,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC;AACV,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,KAAK,EAAE,CAAC,CAAC,iCAAiC,CAAC;AAC3C,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,KAAK,EAAE,CAAC,CAAC,iCAAiC,CAAC;AAC3C,YAAA,WAAW,EAAE,CAAC,CAAC,uCAAuC,CAAC;YACvD,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACpE,YAAA,OAAO,EAAE,EAAE;AACU,SAAA,CAAC;IAC1B;AAEA,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,uBAAuB,CAAC,QAAiB,EAAA;AAChD,IAAA,OAAO,QAAQ,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE;AACrD;AAEA,SAAS,oBAAoB,CAC3B,MAAqB,EAAA;AAErB,IAAA,MAAM,MAAM,GAAI,MAAM,CAAC;AACrB,UAAE,MAAM;IACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,CAAC,KAAK,KACJ,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;AACxB,QAAA,KAAkC,CAAC,WAAW,KAAK,UAAU,CAC9B;IAEpC,IAAI,CAAC,aAAa,EAAE;AAClB,QAAA,OAAO,IAAI;IACb;IAEA,OAAO;AACL,QAAA,KAAK,EAAE,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC;KACnD;AACH;AAEA,SAAS,sBAAsB,CAAC,KAAc,EAAA;AAC5C,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACvD,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACxD,IAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,SAAS;AAC7D;;SElOgB,iCAAiC,GAAA;IAC/C,OAAO;AACL,QAAA,OAAO,EAAE,6BAA6B;AACtC,QAAA,QAAQ,EAAE,0BAA0B;KACrC;AACH;;ACVA;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masterteam/forms",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.78",
|
|
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.171"
|
|
21
21
|
},
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"exports": {
|
|
@@ -5,6 +5,7 @@ import { DynamicFormConfig } from '@masterteam/components';
|
|
|
5
5
|
import { ModalService } from '@masterteam/components/modal';
|
|
6
6
|
import { RuntimeAction } from '@masterteam/components/runtime-action';
|
|
7
7
|
|
|
8
|
+
type RuntimeActionConfirmSubmit = (value: Record<string, unknown>) => Promise<boolean>;
|
|
8
9
|
declare class RuntimeActionConfirmDialog {
|
|
9
10
|
private readonly ref;
|
|
10
11
|
readonly modal: ModalService;
|
|
@@ -12,17 +13,20 @@ declare class RuntimeActionConfirmDialog {
|
|
|
12
13
|
private readonly destroyRef;
|
|
13
14
|
private readonly activeLang;
|
|
14
15
|
readonly action: _angular_core.InputSignal<RuntimeAction>;
|
|
16
|
+
readonly onSubmit: _angular_core.InputSignal<RuntimeActionConfirmSubmit | null>;
|
|
15
17
|
protected readonly formControl: FormControl<Record<string, unknown> | null>;
|
|
18
|
+
protected readonly submitting: _angular_core.WritableSignal<boolean>;
|
|
16
19
|
protected readonly actionLabel: _angular_core.Signal<string>;
|
|
17
20
|
protected readonly formConfig: _angular_core.Signal<DynamicFormConfig>;
|
|
18
21
|
protected readonly hasFormFields: _angular_core.Signal<boolean>;
|
|
19
22
|
constructor();
|
|
20
23
|
protected onCancel(): void;
|
|
21
|
-
protected onConfirm(): void
|
|
24
|
+
protected onConfirm(): Promise<void>;
|
|
22
25
|
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>;
|
|
26
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RuntimeActionConfirmDialog, "mt-runtime-action-confirm-dialog", never, { "action": { "alias": "action"; "required": true; "isSignal": true; }; "onSubmit": { "alias": "onSubmit"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
declare function provideRuntimeActionConfirmDialog(): Provider;
|
|
27
30
|
|
|
28
31
|
export { RuntimeActionConfirmDialog, provideRuntimeActionConfirmDialog };
|
|
32
|
+
export type { RuntimeActionConfirmSubmit };
|