in helpers/navigation/nav_tree.js [58:83]
getNodeWithPaths(paths = []) {
const [path, ...rest] = paths;
let leaves = this.nodes.filter((node) => node.path === path);
const removeSimilarLeaves = (nodes, remainingPaths) => {
if (!remainingPaths.length) {
return;
}
const [currentPath, ...currentRemainingPaths] = remainingPaths;
nodes.forEach((node) => {
const { parent } = node;
if (parent) {
if (parent.path === currentPath) {
removeSimilarLeaves([parent], currentRemainingPaths);
} else if (parent.path === undefined) {
removeSimilarLeaves([parent], remainingPaths);
} else {
leaves = leaves.filter(({ id }) => id !== node.id);
}
}
});
};
removeSimilarLeaves(leaves, rest);
return leaves?.[0];
}