diff --git a/assets/js/src/form_editor/blocks/custom_radio/settings_preview.jsx b/assets/js/src/form_editor/blocks/custom_radio/settings_preview.jsx
index 37da76624c..a5b3548548 100644
--- a/assets/js/src/form_editor/blocks/custom_radio/settings_preview.jsx
+++ b/assets/js/src/form_editor/blocks/custom_radio/settings_preview.jsx
@@ -20,7 +20,7 @@ const PreviewItem = ({
>
onCheck(value.id, event.target.checked)}
key={`check-${value.id}`}
/>
@@ -67,23 +67,33 @@ const Preview = ({
return null;
}
+ // Remove unwanted properties added by sortable
+ const sanitizeValue = (value) => {
+ const sanitized = { ...value };
+ delete sanitized.chosen;
+ delete sanitized.selected;
+ return sanitized;
+ };
+
const onUpdate = (valueId, text) => {
const value = valuesWhileMoved.find((v) => v.id === valueId);
value.name = text;
- update(value);
+ update(sanitizeValue(value));
};
const onCheck = (valueId, checked) => {
+ const value = valuesWhileMoved.find((v) => v.id === valueId);
if (checked) {
const checkedValue = valuesWhileMoved.find((v) => v.isChecked);
if (checkedValue) {
- checkedValue.isChecked = false;
- update(checkedValue);
+ delete checkedValue.isChecked;
+ update(sanitizeValue(checkedValue));
}
+ value.isChecked = true;
+ } else {
+ delete value.isChecked;
}
- const value = valuesWhileMoved.find((v) => v.id === valueId);
- value.isChecked = checked;
- update(value);
+ update(sanitizeValue(value));
};
const renderItems = () => (valuesWhileMoved.map((value, index) => (
@@ -100,7 +110,7 @@ const Preview = ({
return (useDragAndDrop ? (
onReorder(reorderedValues.map(sanitizeValue))}
className="mailpoet-dnd-items-list"
animation={100}
>
diff --git a/assets/js/src/form_editor/blocks/segment_select/settings_preview.jsx b/assets/js/src/form_editor/blocks/segment_select/settings_preview.jsx
index f74215f59b..d3fe02bce5 100644
--- a/assets/js/src/form_editor/blocks/segment_select/settings_preview.jsx
+++ b/assets/js/src/form_editor/blocks/segment_select/settings_preview.jsx
@@ -18,7 +18,7 @@ const PreviewItem = ({
>