mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-10-26 17:41:58 -06:00
Merge pull request #63 from bunny-lab-io:codex/sort-folders-and-files-alphabetically
Sort assembly trees alphabetically
This commit is contained in:
@@ -60,6 +60,19 @@ const Island = ({ title, description, icon, actions, children, sx }) => (
|
||||
);
|
||||
|
||||
// ---------------- Workflows Island -----------------
|
||||
const sortTree = (node) => {
|
||||
if (!node || !Array.isArray(node.children)) return;
|
||||
node.children.sort((a, b) => {
|
||||
const aFolder = Boolean(a.isFolder);
|
||||
const bFolder = Boolean(b.isFolder);
|
||||
if (aFolder !== bFolder) return aFolder ? -1 : 1;
|
||||
return String(a.label || "").localeCompare(String(b.label || ""), undefined, {
|
||||
sensitivity: "base"
|
||||
});
|
||||
});
|
||||
node.children.forEach(sortTree);
|
||||
};
|
||||
|
||||
function buildWorkflowTree(workflows, folders) {
|
||||
const map = {};
|
||||
const rootNode = { id: "root", label: "Workflows", path: "", isFolder: true, children: [] };
|
||||
@@ -107,6 +120,7 @@ function buildWorkflowTree(workflows, folders) {
|
||||
}
|
||||
});
|
||||
});
|
||||
sortTree(rootNode);
|
||||
return { root: [rootNode], map };
|
||||
}
|
||||
|
||||
@@ -439,6 +453,7 @@ function buildFileTree(rootLabel, items, folders) {
|
||||
}
|
||||
});
|
||||
});
|
||||
sortTree(rootNode);
|
||||
return { root: [rootNode], map };
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user