MCPcopy Create free account
hub / github.com/experdot/pointer / removeTreeFolder

Function removeTreeFolder

src/renderer/src/utils/treeUtils.ts:83–103  ·  view source on GitHub ↗
(
  tree: ConfigTree<T>,
  id: string
)

Source from the content-addressed store, hash-verified

81}
82
83export function removeTreeFolder<T extends ConfigItemBase>(
84 tree: ConfigTree<T>,
85 id: string
86): ConfigTree<T> {
87 const allFolderIds = [id, ...getAllSubFolderIds(tree.folders, id)]
88 const maxOrder = getMaxOrderAtLevel(tree.items)
89
90 let orderOffset = 0
91 const updatedItems = tree.items.map((item) => {
92 if (item.parentFolderId && allFolderIds.includes(item.parentFolderId)) {
93 orderOffset++
94 return { ...item, parentFolderId: undefined, order: maxOrder + orderOffset }
95 }
96 return item
97 })
98
99 return {
100 items: updatedItems,
101 folders: tree.folders.filter((f) => !allFolderIds.includes(f.id))
102 }
103}
104
105export function clearTreeFolder<T extends ConfigItemBase>(
106 tree: ConfigTree<T>,

Callers 1

settingsStore.tsFile · 0.90

Calls 2

getMaxOrderAtLevelFunction · 0.85
getAllSubFolderIdsFunction · 0.70

Tested by

no test coverage detected