fix tree nodes sort

This commit is contained in:
Philipinho
2025-04-23 09:53:19 +01:00
parent de5f90309c
commit e99f32ae9b

View File

@ -11,11 +11,13 @@ export type SharedPageTreeNode = {
parentPageId: string; parentPageId: string;
hasChildren: boolean; hasChildren: boolean;
children: SharedPageTreeNode[]; children: SharedPageTreeNode[];
label: string, label: string;
value: string, value: string;
}; };
export function buildSharedPageTree(pages: Partial<IPage[]>): SharedPageTreeNode[] { export function buildSharedPageTree(
pages: Partial<IPage[]>,
): SharedPageTreeNode[] {
const pageMap: Record<string, SharedPageTreeNode> = {}; const pageMap: Record<string, SharedPageTreeNode> = {};
// Initialize each page as a tree node and store it in a map. // Initialize each page as a tree node and store it in a map.
@ -30,7 +32,7 @@ export function buildSharedPageTree(pages: Partial<IPage[]>): SharedPageTreeNode
hasChildren: false, hasChildren: false,
spaceId: page.spaceId, spaceId: page.spaceId,
parentPageId: page.parentPageId, parentPageId: page.parentPageId,
label: page.title || 'untitled', label: page.title || "untitled",
value: page.id, value: page.id,
children: [], children: [],
}; };
@ -55,6 +57,12 @@ export function buildSharedPageTree(pages: Partial<IPage[]>): SharedPageTreeNode
} }
}); });
// Return the sorted tree. function sortTree(nodes: SharedPageTreeNode[]): SharedPageTreeNode[] {
return sortPositionKeys(tree); return sortPositionKeys(nodes).map((node: SharedPageTreeNode) => ({
...node,
children: sortTree(node.children),
}));
}
return sortTree(tree);
} }