| 84 | // ==================== 辅助函数 ==================== |
| 85 | |
| 86 | function getItemsInFolder<TItem extends ItemLike, TFolder extends FolderLike>( |
| 87 | items: TItem[], |
| 88 | folders: TFolder[], |
| 89 | folderId: string | undefined |
| 90 | ): (TItem | TFolder)[] { |
| 91 | const itemsInFolder = items.filter((item) => item.parentFolderId === folderId) |
| 92 | const subFolders = folders.filter((f) => f.parentFolderId === folderId) |
| 93 | return [...subFolders, ...itemsInFolder].sort((a, b) => (a.order ?? 0) - (b.order ?? 0)) |
| 94 | } |
| 95 | |
| 96 | function getRootItems<TItem extends ItemLike, TFolder extends FolderLike>( |
| 97 | items: TItem[], |