fix: undefined point fields saving as empty object (#2313)
This commit is contained in:
@@ -130,6 +130,8 @@ export const promise = async ({
|
||||
const pointDoc = siblingDoc[field.name] as Record<string, unknown>;
|
||||
if (Array.isArray(pointDoc?.coordinates) && pointDoc.coordinates.length === 2) {
|
||||
siblingDoc[field.name] = pointDoc.coordinates;
|
||||
} else {
|
||||
siblingDoc[field.name] = undefined;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
@@ -56,6 +56,21 @@ export const promise = async <T>({
|
||||
break;
|
||||
}
|
||||
|
||||
case 'point': {
|
||||
if (Array.isArray(siblingData[field.name])) {
|
||||
siblingData[field.name] = (siblingData[field.name] as string[]).map((coordinate, i) => {
|
||||
if (typeof coordinate === 'string') {
|
||||
const value = siblingData[field.name][i] as string;
|
||||
const trimmed = value.trim();
|
||||
return (trimmed.length === 0) ? null : parseFloat(trimmed);
|
||||
}
|
||||
return coordinate;
|
||||
});
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'checkbox': {
|
||||
if (siblingData[field.name] === 'true') siblingData[field.name] = true;
|
||||
if (siblingData[field.name] === 'false') siblingData[field.name] = false;
|
||||
|
||||
Reference in New Issue
Block a user