@bindu-dashing/dam-solution-v2 5.9.223 → 5.9.224
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.
|
@@ -105,20 +105,14 @@ export default function EditAssetTemplate({ assetTemplate, inputTypes, }) {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
});
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
inputTypeSettings,
|
|
113
|
-
label: get(field, "label", get(field, "name", "")),
|
|
114
|
-
defaultName: get(field, "defaultName"),
|
|
115
|
-
mapId,
|
|
116
|
-
defaultValue: get(updatedValues, "defaultValue"),
|
|
117
|
-
};
|
|
108
|
+
const defaultName = get(field, "defaultName");
|
|
109
|
+
const skipPlaceholder = includes([InputTypes.CHECKBOX, InputTypes.RADIO], defaultName);
|
|
110
|
+
const payload = Object.assign(Object.assign({ name: get(updatedValues, "name") }, (skipPlaceholder ? {} : { placeholder: get(updatedValues, "placeholder") })), { isMandatory: get(updatedValues, "isMandatory", false), inputTypeSettings, label: get(field, "label", get(field, "name", "")), defaultName,
|
|
111
|
+
mapId, defaultValue: get(updatedValues, "defaultValue") });
|
|
118
112
|
if (get(updatedValues, "_id", null)) {
|
|
119
113
|
payload["_id"] = get(updatedValues, "_id");
|
|
120
114
|
}
|
|
121
|
-
if (includes([InputTypes.CHECKBOX, InputTypes.RADIO, InputTypes.SELECT],
|
|
115
|
+
if (includes([InputTypes.CHECKBOX, InputTypes.RADIO, InputTypes.SELECT], defaultName)) {
|
|
122
116
|
payload["options"] = get(updatedValues, "options", []);
|
|
123
117
|
}
|
|
124
118
|
return payload;
|
|
@@ -145,7 +139,9 @@ export default function EditAssetTemplate({ assetTemplate, inputTypes, }) {
|
|
|
145
139
|
showNotification(`Field ${i + 1}: Name is required`, NotificationStatus.ERROR);
|
|
146
140
|
return false;
|
|
147
141
|
}
|
|
148
|
-
|
|
142
|
+
// Checkbox and radio don't have placeholders - skip validation for them
|
|
143
|
+
const skipPlaceholder = includes([InputTypes.CHECKBOX, InputTypes.RADIO], get(field, "defaultName"));
|
|
144
|
+
if (!skipPlaceholder && (!get(field, "placeholder") || get(field, "placeholder", "").trim() === "")) {
|
|
149
145
|
showNotification(`Field ${i + 1}: Placeholder is required`, NotificationStatus.ERROR);
|
|
150
146
|
return false;
|
|
151
147
|
}
|
|
@@ -12,15 +12,16 @@ import { useDamConfig } from "../../hocs/DamConfigContext";
|
|
|
12
12
|
const { RangePicker } = DatePicker;
|
|
13
13
|
export const buildInitialValues = (formData, metaFields, isEditMode) => {
|
|
14
14
|
const dataWithDefaultValues = metaFields.reduce((acc, field) => {
|
|
15
|
-
const id = get(field, "_id");
|
|
15
|
+
const id = get(field, "_id") || get(field, "mapId");
|
|
16
16
|
const defaultValue = get(field, "defaultValue");
|
|
17
|
-
|
|
17
|
+
// Include when defaultValue is set (allow 0, exclude only null/undefined)
|
|
18
|
+
if (id && defaultValue !== undefined && defaultValue !== null) {
|
|
18
19
|
acc[id] = defaultValue;
|
|
19
20
|
}
|
|
20
21
|
return acc;
|
|
21
22
|
}, {});
|
|
22
23
|
return mapValues(isEditMode ? formData : dataWithDefaultValues, (value, key) => {
|
|
23
|
-
const field = find(metaFields,
|
|
24
|
+
const field = find(metaFields, (f) => get(f, "_id") === key || get(f, "mapId") === key);
|
|
24
25
|
if (!field)
|
|
25
26
|
return value;
|
|
26
27
|
const defaultName = get(field, "defaultName");
|
|
@@ -37,13 +38,22 @@ export const buildInitialValues = (formData, metaFields, isEditMode) => {
|
|
|
37
38
|
return allowMultiple ? value || [] : value !== null && value !== void 0 ? value : undefined;
|
|
38
39
|
case InputTypes.CHECKBOX:
|
|
39
40
|
return value || [];
|
|
41
|
+
case InputTypes.NUMBERS:
|
|
42
|
+
if (value === null || value === undefined || value === "")
|
|
43
|
+
return undefined;
|
|
44
|
+
const num = Number(value);
|
|
45
|
+
return !Number.isNaN(num) && isFinite(num) ? num : value;
|
|
46
|
+
case InputTypes.TEXT:
|
|
47
|
+
case InputTypes.PARAGRAPH:
|
|
48
|
+
case InputTypes.LINK:
|
|
49
|
+
return value != null ? String(value) : undefined;
|
|
40
50
|
default:
|
|
41
51
|
return value;
|
|
42
52
|
}
|
|
43
53
|
});
|
|
44
54
|
};
|
|
45
55
|
export const getFormItem = (item, fromDefaultValue, userOptions, teamOptions) => {
|
|
46
|
-
const name = get(item, "_id");
|
|
56
|
+
const name = get(item, "_id") || get(item, "mapId");
|
|
47
57
|
const label = get(item, "name");
|
|
48
58
|
const placeholder = get(item, "placeholder", "");
|
|
49
59
|
const defaultName = get(item, "defaultName");
|
|
@@ -227,7 +237,7 @@ const MetaForm = ({ metaFields, metaData, form, isEditMode, }) => {
|
|
|
227
237
|
metadata: buildInitialValues(metaData, metaFields, isEditMode),
|
|
228
238
|
};
|
|
229
239
|
form.setFieldsValue(formData);
|
|
230
|
-
}, [metaData, metaFields]);
|
|
240
|
+
}, [metaData, metaFields, isEditMode, form]);
|
|
231
241
|
const userOptions = useMemo(() => {
|
|
232
242
|
return map(brandUsers, (user) => getUserAvatar(user));
|
|
233
243
|
}, [brandUsers, brandId]);
|