Handle deleted blocks

This commit is contained in:
Hakan Shehu
2024-10-28 09:42:09 +01:00
parent 3797946bc0
commit 11c6d6ac4a

View File

@@ -209,7 +209,10 @@ export const applyChangeToYDoc = (doc: Y.Doc, blocks: NodeBlock[]) => {
}
const contentMap = attributesMap.get('content') as Y.Map<any>;
const blockIds = new Set<string>();
for (const block of blocks) {
blockIds.add(block.id);
if (!contentMap.has(block.id)) {
contentMap.set(block.id, new Y.Map());
}
@@ -217,6 +220,14 @@ export const applyChangeToYDoc = (doc: Y.Doc, blocks: NodeBlock[]) => {
const blockMap = contentMap.get(block.id) as Y.Map<any>;
applyBlockChangesToYDoc(blockMap, block);
}
const deletedBlockIds = Array.from(contentMap.keys()).filter(
(id) => !blockIds.has(id),
);
for (const id of deletedBlockIds) {
contentMap.delete(id);
}
};
const applyBlockChangesToYDoc = (blockMap: Y.Map<any>, block: NodeBlock) => {