Skip to content

Commit f13742c

Browse files
authored
Merge pull request #1670 from payloadcms/fix/select-field-clear-value
Fix/select field clear value
2 parents eda6f70 + c52389e commit f13742c

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

src/collections/init.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export default function registerCollections(ctx: Payload): void {
7272
buildVersionCollectionFields(collection),
7373
{
7474
disableUnique: true,
75+
draftsEnabled: true,
7576
options: {
7677
timestamps: true,
7778
},

src/fields/hooks/beforeChange/promise.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,6 @@ export const promise = async ({
154154
}
155155

156156
switch (field.type) {
157-
case 'select': {
158-
if (siblingData[field.name] === null) {
159-
siblingData[field.name] = undefined;
160-
}
161-
162-
break;
163-
}
164-
165157
case 'point': {
166158
// Transform point data for storage
167159
if (Array.isArray(siblingData[field.name]) && siblingData[field.name][0] !== null && siblingData[field.name][1] !== null) {

src/globals/init.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default function initGlobals(ctx: Payload): void {
2828
buildVersionGlobalFields(global),
2929
{
3030
disableUnique: true,
31+
draftsEnabled: true,
3132
options: {
3233
timestamps: true,
3334
},

src/mongoose/buildSchema.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ const fieldToSchemaMap: Record<string, FieldSchemaGenerator> = {
308308
id: false,
309309
},
310310
disableUnique: buildSchemaOptions.disableUnique,
311+
draftsEnabled: buildSchemaOptions.draftsEnabled,
311312
},
312313
),
313314
};
@@ -336,6 +337,7 @@ const fieldToSchemaMap: Record<string, FieldSchemaGenerator> = {
336337
options: { _id: false, id: false },
337338
allowIDField: true,
338339
disableUnique: buildSchemaOptions.disableUnique,
340+
draftsEnabled: buildSchemaOptions.draftsEnabled,
339341
},
340342
)],
341343
};
@@ -358,6 +360,7 @@ const fieldToSchemaMap: Record<string, FieldSchemaGenerator> = {
358360
id: false,
359361
},
360362
disableUnique: buildSchemaOptions.disableUnique,
363+
draftsEnabled: buildSchemaOptions.draftsEnabled,
361364
},
362365
),
363366
};
@@ -376,6 +379,10 @@ const fieldToSchemaMap: Record<string, FieldSchemaGenerator> = {
376379
}),
377380
};
378381

382+
if (buildSchemaOptions.draftsEnabled || !field.required) {
383+
baseSchema.enum.push(null);
384+
}
385+
379386
schema.add({
380387
[field.name]: localizeSchema(
381388
field,

0 commit comments

Comments
 (0)