feat(tree-view): add showNode accessor (#1844)

Closes #1377
This commit is contained in:
metonym 2023-11-12 14:25:15 -08:00 committed by GitHub
commit 1ad4e3d385
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 150 additions and 15 deletions

View file

@ -0,0 +1,49 @@
<script>
import { Button, ButtonSet, TreeView } from "carbon-components-svelte";
const nodeSpark = { id: 3, text: "Apache Spark" };
const nodeBlockchain = { id: 8, text: "IBM Blockchain Platform" };
let treeview = null;
let children = [
{ id: 0, text: "AI / Machine learning" },
{
id: 1,
text: "Analytics",
children: [
{
id: 2,
text: "IBM Analytics Engine",
children: [nodeSpark, { id: 4, text: "Hadoop" }],
},
{ id: 5, text: "IBM Cloud SQL Query" },
{ id: 6, text: "IBM Db2 Warehouse on Cloud" },
],
},
{
id: 7,
text: "Blockchain",
children: [{ id: 8, text: "IBM Blockchain Platform" }],
},
];
</script>
<ButtonSet style="margin-bottom: var(--cds-spacing-05)">
{#each [nodeSpark, nodeBlockchain] as { id, text }}
<Button
on:click="{() => {
treeview?.showNode(id);
}}"
>
Show "{text}"
</Button>
{/each}
<Button kind="tertiary" on:click="{treeview.collapseAll}">Collapse all</Button
>
</ButtonSet>
<TreeView
bind:this="{treeview}"
labelText="Cloud Products"
children="{children}"
/>