check for children

This commit is contained in:
Mads Rasmussen
2024-03-01 20:34:15 +01:00
parent 6f187d7cb1
commit 58f9e8771e

View File

@@ -15,9 +15,7 @@ export class UmbMockFileSystemTreeManager<T extends Omit<FileSystemTreeItemPrese
total: number;
} {
const items = this.#db.getAll().filter((item) => item.parent === null);
const paged = pagedResult(items, skip, take);
const treeItems = paged.items.map((item) => createFileSystemTreeItem(item));
return { items: treeItems, total: paged.total };
return this.#pagedTreeResult({ items, skip, take });
}
getChildrenOf({ parentPath, skip = 0, take = 100 }: { parentPath: string; skip?: number; take?: number }): {
@@ -25,8 +23,19 @@ export class UmbMockFileSystemTreeManager<T extends Omit<FileSystemTreeItemPrese
total: number;
} {
const items = this.#db.getAll().filter((item) => item.parent?.path === parentPath);
return this.#pagedTreeResult({ items, skip, take });
}
#pagedTreeResult({ items, skip, take }: { items: Array<T>; skip: number; take: number }) {
const paged = pagedResult(items, skip, take);
const treeItems = paged.items.map((item) => createFileSystemTreeItem(item));
return { items: treeItems, total: paged.total };
const treeItemsHasChildren = treeItems.map((item) => {
const children = this.#db.getAll().filter((child) => child.parent?.path === item.path);
return {
...item,
hasChildren: children.length > 0,
};
});
return { items: treeItemsHasChildren, total: paged.total };
}
}