1
0
Fork 0
mirror of synced 2024-10-02 01:56:57 +13:00
budibase/packages/builder/src/components/backend/DataTable/DataTable.svelte

40 lines
1.1 KiB
Svelte
Raw Normal View History

2020-03-11 02:53:23 +13:00
<script>
import { backendUiStore } from "builderStore"
import CreateRowButton from "./buttons/CreateRowButton.svelte"
import CreateColumnButton from "./buttons/CreateColumnButton.svelte"
import CreateViewButton from "./buttons/CreateViewButton.svelte"
import ExportButton from "./buttons/ExportButton.svelte"
2020-03-13 03:23:29 +13:00
import * as api from "./api"
import Table from "./Table.svelte"
2020-03-11 05:06:30 +13:00
2020-03-25 00:35:46 +13:00
let data = []
let loading = false
2020-03-13 03:23:29 +13:00
$: title = $backendUiStore.selectedTable.name
$: schema = $backendUiStore.selectedTable.schema
$: tableView = {
schema,
name: $backendUiStore.selectedView.name,
}
// Fetch rows for specified table
$: {
if ($backendUiStore.selectedView?.name?.startsWith("all_")) {
loading = true
api.fetchDataForView($backendUiStore.selectedView).then(rows => {
data = rows || []
loading = false
2020-06-24 03:20:06 +12:00
})
}
}
2020-03-11 02:53:23 +13:00
</script>
<Table {title} {schema} {data} allowEditing={true} {loading}>
<CreateColumnButton />
{#if Object.keys(schema).length > 0}
<CreateRowButton />
<CreateViewButton />
<ExportButton view={tableView} />
{/if}
</Table>