fix wrong tree sync bug (#514)

This commit is contained in:
Philip Okugbe
2024-11-28 19:39:38 +00:00
committed by GitHub
parent f178e6654f
commit 311d81bc71
2 changed files with 23 additions and 19 deletions

View File

@ -191,7 +191,7 @@ export default function SpaceTree({ spaceId, readOnly }: SpaceTreeProps) {
<div ref={mergedRef} className={classes.treeContainer}> <div ref={mergedRef} className={classes.treeContainer}>
{rootElement.current && ( {rootElement.current && (
<Tree <Tree
data={data} data={data.filter((node) => node?.spaceId === spaceId)}
disableDrag={readOnly} disableDrag={readOnly}
disableDrop={readOnly} disableDrop={readOnly}
disableEdit={readOnly} disableEdit={readOnly}

View File

@ -46,30 +46,34 @@ export const useTreeSocket = () => {
break; break;
case 'moveTreeNode': case 'moveTreeNode':
// move node // move node
treeApi.move({ if (treeApi.find(event.payload.id)) {
id: event.payload.id, treeApi.move({
parentId: event.payload.parentId, id: event.payload.id,
index: event.payload.index parentId: event.payload.parentId,
}); index: event.payload.index
});
// update node position // update node position
treeApi.update({ treeApi.update({
id: event.payload.id, id: event.payload.id,
changes: { changes: {
position: event.payload.position, position: event.payload.position,
} }
}); });
setTreeData(treeApi.data); setTreeData(treeApi.data);
}
break; break;
case "deleteTreeNode": case "deleteTreeNode":
treeApi.drop({ id: event.payload.node.id }); if (treeApi.find(event.payload.node.id)){
setTreeData(treeApi.data); treeApi.drop({ id: event.payload.node.id });
setTreeData(treeApi.data);
queryClient.invalidateQueries({ queryClient.invalidateQueries({
queryKey: ['pages', event.payload.node.slugId].filter(Boolean), queryKey: ['pages', event.payload.node.slugId].filter(Boolean),
}); });
}
break; break;
} }
}); });