Programmatically expand/collapse TreeView nodes (#850)

* feat(tree-view): add accessors to programmatically expand/collapse nodes

* feat(tree-view): update docs/types

* test(tree-view): test updated TreeView accessors

* docs(tree-view): document TreeView accessors
This commit is contained in:
Eric Liu 2021-10-13 08:54:37 -07:00 committed by GitHub
commit c4413636a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 447 additions and 11 deletions

View file

@ -66,4 +66,30 @@ export default class TreeView extends SvelteComponentTyped<
keydown: WindowEventMap["keydown"];
},
{ labelText: {} }
> {}
> {
/**
* Programmatically expand all nodes
* @default () => { expandedIds = [...nodeIds]; }
*/
expandAll: () => void;
/**
* Programmatically collapse all nodes
* @default () => { expandedIds = []; }
*/
collapseAll: () => void;
/**
* Programmatically expand a subset of nodes.
* Expands all nodes if no argument is provided
* @default () => { expandedIds = nodes .filter((node) => !filterNode(node)) .map((node) => node.id); }
*/
expandNodes: (filterId?: (node: TreeNode) => boolean) => void;
/**
* Programmatically collapse a subset of nodes.
* Collapses all nodes if no argument is provided
* @default () => { expandedIds = nodes .filter((node) => !filterNode(node)) .map((node) => node.id); }
*/
collapseNodes: (filterId?: (node: TreeNode) => boolean) => void;
}