diff options
-rw-r--r-- | src/client/util/SerializationHelper.ts | 2 | ||||
-rw-r--r-- | src/new_fields/util.ts | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/client/util/SerializationHelper.ts b/src/client/util/SerializationHelper.ts index a7246d7c4..17ae407c4 100644 --- a/src/client/util/SerializationHelper.ts +++ b/src/client/util/SerializationHelper.ts @@ -9,7 +9,7 @@ export namespace SerializationHelper { export function Serialize(obj: Field): any { if (obj === undefined || obj === null) { - return undefined; + return null; } if (typeof obj !== 'object') { diff --git a/src/new_fields/util.ts b/src/new_fields/util.ts index b5e50d501..47e467041 100644 --- a/src/new_fields/util.ts +++ b/src/new_fields/util.ts @@ -50,6 +50,7 @@ const _setterImpl = action(function (target: any, prop: string | symbol | number target.__fields[prop] = value; } if (value === undefined) target[Update]({ '$unset': { ["fields." + prop]: "" } }); + if (typeof value === "object" && !(value instanceof ObjectField)) debugger; else target[Update]({ '$set': { ["fields." + prop]: value instanceof ObjectField ? SerializationHelper.Serialize(value) : (value === undefined ? null : value) } }); UndoManager.AddEvent({ redo: () => receiver[prop] = value, |