mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
Re-work toHierarchy
utility
Refactor `toHiearchy` to be more generic, performant - Use callback to "pick" generic parent ID property instead of requiring that `pid` be hardcoded` - Account for edge cases of an invalid parent ID - Use Map to store node children for lookups - Use one pass instead of removing empty nodes at the very end - DX: use generics to type `toHierarchy` - Make `toHierarchy` even more generic (reusable with `RecursiveList`) Co-Authored-By: Bram <bramhavers@gmail.com>
This commit is contained in:
parent
651779d602
commit
5f1e8de1e1
29 changed files with 414 additions and 273 deletions
7
types/TreeView/TreeView.svelte.d.ts
vendored
7
types/TreeView/TreeView.svelte.d.ts
vendored
|
@ -15,7 +15,7 @@ type $RestProps = SvelteHTMLElements["ul"];
|
|||
|
||||
type $Props = {
|
||||
/**
|
||||
* Provide a nested array of nodes to render
|
||||
* Provide an array of nodes to render
|
||||
* @default []
|
||||
*/
|
||||
nodes?: Array<TreeNode>;
|
||||
|
@ -94,11 +94,6 @@ export default class TreeView extends SvelteComponentTyped<
|
|||
*/
|
||||
collapseAll: () => void;
|
||||
|
||||
/**
|
||||
* Create a nested array from a flat array
|
||||
*/
|
||||
toHierarchy: (flatArray: TreeNode[] & { pid?: any }[]) => TreeNode[];
|
||||
|
||||
/**
|
||||
* Programmatically expand a subset of nodes.
|
||||
* Expands all nodes if no argument is provided
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue