docs(data-table): add "Expandable and selectable" example (#1277)

* docs(data-table): add "Expandable and selectable" example

* docs(data-table): add "Batch selection" example

* docs(data-table): rework "Batch selection with initial selected rows" example

* docs(data-table): rework selectable examples to include selectedRowIds

* docs: remove extra space from pre tags
This commit is contained in:
metonym 2022-04-30 09:58:14 -07:00 committed by GitHub
commit 52eff3c5a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 108 additions and 62 deletions

View file

@ -12,9 +12,7 @@
<h1>{size}</h1>
<h6>on:change</h6>
<pre>
{JSON.stringify(events, null, 2)}
</pre>
<pre>{JSON.stringify(events, null, 2)}</pre>
<style>
p,

View file

@ -1,22 +1,7 @@
<script>
import { DataTable } from "carbon-components-svelte";
const headers = [
{ key: "name", value: "Name" },
{ key: "port", value: "Port" },
{ key: "rule", value: "Rule" },
];
const rows = [
{ id: "a", name: "Load Balancer 3", port: 3000, rule: "Round robin" },
{ id: "b", name: "Load Balancer 1", port: 443, rule: "Round robin" },
{ id: "c", name: "Load Balancer 2", port: 80, rule: "DNS delegation" },
{ id: "d", name: "Load Balancer 6", port: 3000, rule: "Round robin" },
{ id: "e", name: "Load Balancer 4", port: 443, rule: "Round robin" },
{ id: "f", name: "Load Balancer 5", port: 80, rule: "DNS delegation" },
];
let selectedRowIds = [rows[0].id, rows[1].id];
let selectedRowIds = [];
$: console.log("selectedRowIds", selectedRowIds);
</script>
@ -24,6 +9,16 @@
<DataTable
batchSelection
bind:selectedRowIds
headers="{headers}"
rows="{rows}"
headers="{[
{ key: 'name', value: 'Name' },
{ key: 'port', value: 'Port' },
{ key: 'rule', value: 'Rule' },
]}"
rows="{Array.from({ length: 6 }).map((_, i) => ({
id: i,
name: 'Load Balancer ' + (i + 1),
protocol: 'HTTP',
port: i % 3 ? (i % 2 ? 3000 : 80) : 443,
rule: i % 3 ? 'Round robin' : 'DNS delegation',
}))}"
/>

View file

@ -0,0 +1,24 @@
<script>
import { DataTable } from "carbon-components-svelte";
let selectedRowIds = [2, 4];
$: console.log("selectedRowIds", selectedRowIds);
</script>
<DataTable
batchSelection
bind:selectedRowIds
headers="{[
{ key: 'name', value: 'Name' },
{ key: 'port', value: 'Port' },
{ key: 'rule', value: 'Rule' },
]}"
rows="{Array.from({ length: 6 }).map((_, i) => ({
id: i,
name: 'Load Balancer ' + (i + 1),
protocol: 'HTTP',
port: i % 3 ? (i % 2 ? 3000 : 80) : 443,
rule: i % 3 ? 'Round robin' : 'DNS delegation',
}))}"
/>

View file

@ -0,0 +1,35 @@
<script>
import { DataTable } from "carbon-components-svelte";
let expandedRowIds = [];
let selectedRowIds = [];
$: {
console.log("expandedRowIds", expandedRowIds);
console.log("selectedRowIds", selectedRowIds);
}
</script>
<DataTable
batchExpansion
batchSelection
bind:expandedRowIds
bind:selectedRowIds
headers="{[
{ key: 'name', value: 'Name' },
{ key: 'protocol', value: 'Protocol' },
{ key: 'port', value: 'Port' },
{ key: 'rule', value: 'Rule' },
]}"
rows="{Array.from({ length: 6 }).map((_, i) => ({
id: i,
name: 'Load Balancer ' + (i + 1),
protocol: 'HTTP',
port: i % 3 ? (i % 2 ? 3000 : 80) : 443,
rule: i % 3 ? 'Round robin' : 'DNS delegation',
}))}"
>
<svelte:fragment slot="expanded-row" let:row>
<pre> {JSON.stringify(row, null, 2)}</pre>
</svelte:fragment>
</DataTable>

View file

@ -58,8 +58,6 @@
]}"
>
<svelte:fragment slot="expanded-row" let:row>
<pre>
{JSON.stringify(row, null, 2)}
</pre>
<pre>{JSON.stringify(row, null, 2)}</pre>
</svelte:fragment>
</DataTable>

View file

@ -61,8 +61,6 @@
rows="{rows}"
>
<svelte:fragment slot="expanded-row" let:row>
<pre>
{JSON.stringify(row, null, 2)}
</pre>
<pre>{JSON.stringify(row, null, 2)}</pre>
</svelte:fragment>
</DataTable>

View file

@ -1,24 +1,24 @@
<script>
import { DataTable } from "carbon-components-svelte";
const headers = [
{ key: "name", value: "Name" },
{ key: "port", value: "Port" },
{ key: "rule", value: "Rule" },
];
const rows = [
{ id: "a", name: "Load Balancer 3", port: 3000, rule: "Round robin" },
{ id: "b", name: "Load Balancer 1", port: 443, rule: "Round robin" },
{ id: "c", name: "Load Balancer 2", port: 80, rule: "DNS delegation" },
{ id: "d", name: "Load Balancer 6", port: 3000, rule: "Round robin" },
{ id: "e", name: "Load Balancer 4", port: 443, rule: "Round robin" },
{ id: "f", name: "Load Balancer 5", port: 80, rule: "DNS delegation" },
];
let selectedRowIds = [];
$: console.log("selectedRowIds", selectedRowIds);
</script>
<DataTable selectable bind:selectedRowIds headers="{headers}" rows="{rows}" />
<DataTable
selectable
bind:selectedRowIds
headers="{[
{ key: 'name', value: 'Name' },
{ key: 'port', value: 'Port' },
{ key: 'rule', value: 'Rule' },
]}"
rows="{Array.from({ length: 6 }).map((_, i) => ({
id: i,
name: 'Load Balancer ' + (i + 1),
protocol: 'HTTP',
port: i % 3 ? (i % 2 ? 3000 : 80) : 443,
rule: i % 3 ? 'Round robin' : 'DNS delegation',
}))}"
/>

View file

@ -22,6 +22,4 @@
<br />
<pre>
{JSON.stringify(events, null, 2)}
</pre>
<pre>{JSON.stringify(events, null, 2)}</pre>