budibase/packages/builder/src/components/design/PropertiesPanel/PropertyControls/TableViewFieldSelect.svelte

36 lines
1.0 KiB
Svelte
Raw Normal View History

<script>
import OptionSelect from "./OptionSelect.svelte"
import { backendUiStore } from "builderStore"
import MultiOptionSelect from "./MultiOptionSelect.svelte"
export let componentInstance = {}
export let value = ""
export let onChange = () => {}
export let multiselect = false
const tables = $backendUiStore.tables
2021-01-18 16:37:32 +01:00
const queries = $backendUiStore.queries
let options = []
2021-01-18 16:40:26 +01:00
$: table =
componentInstance.datasource?.type === "table"
? tables.find(m => m._id === componentInstance.datasource.tableId)
: queries.find(query => query._id === componentInstance.datasource._id)
2020-10-09 13:24:18 +02:00
$: type = componentInstance.datasource.type
2021-01-18 16:37:32 +01:00
$: if (table) {
2020-10-09 13:24:18 +02:00
options =
2021-01-18 16:37:32 +01:00
type === "table" || type === "link" || type === "query"
? Object.keys(table.schema)
: Object.keys(table.views[componentInstance.datasource.name].schema)
}
</script>
{#if multiselect}
<MultiOptionSelect {value} {onChange} {options} />
{:else}
<OptionSelect {value} {onChange} {options} />
{/if}