Skip to content

Commit a5dc2c6

Browse files
committed
frame-tree: make setting a value to undefined/null just remove it from the frame desc, so that remove is possible, and for compat with syncdb.
1 parent 95ee172 commit a5dc2c6

File tree

1 file changed

+7
-2
lines changed
  • src/packages/frontend/frame-editors/frame-tree

1 file changed

+7
-2
lines changed

src/packages/frontend/frame-editors/frame-tree/tree-ops.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function set(tree: ImmutableFrameTree, obj: any): ImmutableFrameTree {
2222
return tree;
2323
}
2424
let done = false;
25-
var process = function (node) {
25+
const process = (node) => {
2626
if (node == null || done) {
2727
return node;
2828
}
@@ -31,7 +31,12 @@ export function set(tree: ImmutableFrameTree, obj: any): ImmutableFrameTree {
3131
for (const k in obj) {
3232
const v = obj[k];
3333
if (k !== "id") {
34-
node = node.set(k, fromJS(v));
34+
if (v == null) {
35+
// null or undefined means "delete", just like with syncdb
36+
node = node.delete(k);
37+
} else {
38+
node = node.set(k, fromJS(v));
39+
}
3540
}
3641
}
3742
done = true;

0 commit comments

Comments
 (0)