fix: Sort nodes correctly in useCollectionTrees. closes #6102

This commit is contained in:
Tom Moor
2023-11-05 12:38:15 -05:00
parent 7c319c17c6
commit 733bd39ae4
2 changed files with 11 additions and 8 deletions

View File

@@ -7,25 +7,25 @@ type Sort = {
};
export const sortNavigationNodes = (
documents: NavigationNode[],
nodes: NavigationNode[],
sort: Sort,
sortChildren = true
): NavigationNode[] => {
// "index" field is manually sorted and is represented by the documentStructure
// already saved in the database, no further sort is needed
if (sort.field === "index") {
return documents;
return nodes;
}
const orderedDocs = naturalSort(documents, sort.field, {
const orderedDocs = naturalSort(nodes, sort.field, {
direction: sort.direction,
});
return orderedDocs.map((document) => ({
...document,
return orderedDocs.map((node) => ({
...node,
children: sortChildren
? sortNavigationNodes(document.children, sort, sortChildren)
: document.children,
? sortNavigationNodes(node.children, sort, sortChildren)
: node.children,
}));
};