aboutsummaryrefslogtreecommitdiff
path: root/src/new_fields/util.ts
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-06-08 09:18:46 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-06-08 09:18:46 -0400
commit39be491bf3c750902250a0afe0321a05b7643026 (patch)
tree54efa68a347369f9837b9b8e11b194a1719d79a5 /src/new_fields/util.ts
parent7c32a4f51fd921a0a093bc285e22a5a617c4ad83 (diff)
fixed deletion of keys to actually remove them on the server. added '=' syntax on kvp to set on proto. := sets a computed script. =:= sets computed script on proto
Diffstat (limited to 'src/new_fields/util.ts')
-rw-r--r--src/new_fields/util.ts3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/new_fields/util.ts b/src/new_fields/util.ts
index ad07d05a3..fe0da2e7a 100644
--- a/src/new_fields/util.ts
+++ b/src/new_fields/util.ts
@@ -44,7 +44,8 @@ export const setter = action(function (target: any, prop: string | symbol | numb
} else {
target.__fields[prop] = value;
}
- target[Update]({ '$set': { ["fields." + prop]: value instanceof ObjectField ? SerializationHelper.Serialize(value) : (value === undefined ? null : value) } });
+ if (value === undefined) target[Update]({ '$unset': { ["fields." + prop]: "" } });
+ else target[Update]({ '$set': { ["fields." + prop]: value instanceof ObjectField ? SerializationHelper.Serialize(value) : (value === undefined ? null : value) } });
UndoManager.AddEvent({
redo: () => receiver[prop] = value,
undo: () => receiver[prop] = curValue