2020-06-03 10:26:06 +12:00
|
|
|
<script>
|
2020-11-18 01:08:24 +13:00
|
|
|
import { onMount, setContext } from "svelte"
|
|
|
|
import {
|
|
|
|
fetchDatasource,
|
|
|
|
createDataProviderContext,
|
|
|
|
fetchTableDefinition,
|
|
|
|
ContextTypes,
|
|
|
|
} from "@budibase/component-sdk"
|
2020-08-27 04:03:30 +12:00
|
|
|
import { isEmpty } from "lodash/fp"
|
2020-06-03 10:26:06 +12:00
|
|
|
|
2020-08-27 04:03:30 +12:00
|
|
|
export let datasource = []
|
2020-06-03 10:26:06 +12:00
|
|
|
|
|
|
|
let target
|
2020-11-18 01:08:24 +13:00
|
|
|
|
|
|
|
const dataProviderContext = createDataProviderContext()
|
|
|
|
setContext(ContextTypes.DataProvider, dataProviderContext)
|
2020-06-03 10:26:06 +12:00
|
|
|
|
2020-08-27 04:03:30 +12:00
|
|
|
onMount(async () => {
|
|
|
|
if (!isEmpty(datasource)) {
|
2020-11-18 01:08:24 +13:00
|
|
|
const rows = await fetchDatasource(datasource)
|
|
|
|
dataProviderContext.actions.setRows(rows)
|
|
|
|
if (datasource.tableId) {
|
|
|
|
const tableDefinition = await fetchTableDefinition(datasource.tableId)
|
|
|
|
dataProviderContext.actions.setTable(tableDefinition)
|
|
|
|
}
|
2020-06-03 10:26:06 +12:00
|
|
|
}
|
|
|
|
})
|
|
|
|
</script>
|
|
|
|
|
2020-07-08 08:29:20 +12:00
|
|
|
<section bind:this={target} />
|