mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-10-27 01: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 -----------------
|
// ---------------- 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) {
|
function buildWorkflowTree(workflows, folders) {
|
||||||
const map = {};
|
const map = {};
|
||||||
const rootNode = { id: "root", label: "Workflows", path: "", isFolder: true, children: [] };
|
const rootNode = { id: "root", label: "Workflows", path: "", isFolder: true, children: [] };
|
||||||
@@ -107,6 +120,7 @@ function buildWorkflowTree(workflows, folders) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
sortTree(rootNode);
|
||||||
return { root: [rootNode], map };
|
return { root: [rootNode], map };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -439,6 +453,7 @@ function buildFileTree(rootLabel, items, folders) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
sortTree(rootNode);
|
||||||
return { root: [rootNode], map };
|
return { root: [rootNode], map };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user