MCPcopy Index your code
hub / github.com/angular/components / buildItems

Function buildItems

src/aria/private/tree/tree.spec.ts:74–107  ·  view source on GitHub ↗
(
      treeData: TestTreeItem<V>[],
      parent: TreeItemPattern<V> | TreePattern<V>,
    )

Source from the content-addressed store, hash-verified

72 let nextId = 0;
73
74 function buildItems(
75 treeData: TestTreeItem<V>[],
76 parent: TreeItemPattern<V> | TreePattern<V>,
77 ): TreeItemPattern<V>[] {
78 const levelItems: TreeItemPattern<V>[] = [];
79
80 for (const node of treeData) {
81 const itemId = `treeitem-${nextId++}`;
82 const element = createTreeItemElement(itemId);
83 const itemPatternInputs: TestTreeItemInputs<V> = {
84 id: signal(itemId),
85 value: signal(node.value),
86 element: signal(element),
87 disabled: signal(node.disabled),
88 selectable: signal(node.selectable),
89 expanded: signal(node.expanded),
90 searchTerm: signal(String(node.value)),
91 parent: signal(parent),
92 hasChildren: signal((node.children ?? []).length > 0),
93 children: signal<TreeItemPattern<V>[]>([]),
94 tree: signal(tree),
95 };
96
97 const item = new TreeItemPattern(itemPatternInputs);
98 itemPatternInputsMap.set(itemId, itemPatternInputs);
99
100 items.set([...items(), item]);
101 levelItems.push(item);
102
103 const childItems = buildItems(node.children ?? [], item);
104 itemPatternInputs.children.set(childItems);
105 }
106 return levelItems;
107 }
108
109 // Build tree items recursively.
110 buildItems(treeData, tree as TreePattern<V>);

Callers 1

createTreeFunction · 0.85

Calls 4

signalFunction · 0.90
createTreeItemElementFunction · 0.85
setMethod · 0.80
pushMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…