@elastic-suite/gally-admin-components
Version:
Components package for gally admin BO
21 lines (19 loc) • 536 B
text/typescript
import { ICategory } from '@elastic-suite/gally-admin-shared'
export function findCategory(
category: ICategory,
categories: ICategory[]
): ICategory {
let foundCategory
function recursiveFind(element: ICategory): boolean {
if (element.id === category.id) {
foundCategory = element
return true
}
if (element.children && element.children.length > 0) {
return element.children.some(recursiveFind)
}
return false
}
categories.some(recursiveFind)
return foundCategory ?? categories[0]
}