fix: PatternExplorer — exclude root id from node paths so they match taxonomy_path
enrichTree was building paths starting with 'root', but patterns store paths like ['geopolitical', 'armed_conflict', ...] — no root prefix. Fix: start enriching root children with parentPath=[] instead of ['root']. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -308,10 +308,12 @@ function enrichTree(node: any, parentPath: string[] = []): TaxonomyNode {
|
|||||||
|
|
||||||
function TreeView({ patterns }: { patterns: Pattern[] }) {
|
function TreeView({ patterns }: { patterns: Pattern[] }) {
|
||||||
const { data: taxonomyData } = usePatternTaxonomy()
|
const { data: taxonomyData } = usePatternTaxonomy()
|
||||||
// API returns { tree: {...}, patterns: [...] } — extract the tree and enrich nodes with path arrays
|
// API returns { tree: {...}, patterns: [...] } — extract the tree and enrich nodes with path arrays.
|
||||||
|
// Start enriching from root's children with [] so paths match pattern taxonomy_path (no "root" prefix).
|
||||||
const taxonomy: TaxonomyNode | undefined = useMemo(() => {
|
const taxonomy: TaxonomyNode | undefined = useMemo(() => {
|
||||||
const raw = (taxonomyData as any)?.tree
|
const raw = (taxonomyData as any)?.tree
|
||||||
return raw ? enrichTree(raw) : undefined
|
if (!raw) return undefined
|
||||||
|
return { ...raw, path: [], children: (raw.children ?? []).map((c: any) => enrichTree(c, [])) }
|
||||||
}, [taxonomyData])
|
}, [taxonomyData])
|
||||||
|
|
||||||
const [selectedPath, setSelectedPath] = useState<string[]>([])
|
const [selectedPath, setSelectedPath] = useState<string[]>([])
|
||||||
|
|||||||
Reference in New Issue
Block a user