Fix issue where external datasource action wasn't saving it's values

This commit is contained in:
Peter Clement 2021-10-19 09:45:04 +01:00
parent 54939657a0
commit 3d222a62f9
1 changed files with 18 additions and 4 deletions

View File

@ -3,22 +3,38 @@
import { Select } from "@budibase/bbui"
import DrawerBindableInput from "../../common/bindings/DrawerBindableInput.svelte"
import AutomationBindingPanel from "../../common/bindings/ServerBindingPanel.svelte"
import { createEventDispatcher } from "svelte"
const dispatch = createEventDispatcher()
export let value
export let bindings
const onChangeQuery = e => {
value.queryId = e.detail
dispatch("change", value)
}
const onChange = (e, field) => {
console.log(field)
value[field.name] = e.detail
dispatch("change", value)
}
$: query = $queries.list.find(query => query._id === value?.queryId)
$: parameters = query?.parameters ?? []
// Ensure any nullish queryId values get set to empty string so
// that the select works
$: if (value?.queryId == null) value = { queryId: "" }
$: console.log(value)
</script>
<div class="block-field">
<Select
label="Query"
bind:value={value.queryId}
on:change={onChangeQuery}
value={value.queryId}
options={$queries.list}
getOptionValue={query => query._id}
getOptionLabel={query => query.name}
@ -32,9 +48,7 @@
panel={AutomationBindingPanel}
extraThin
value={value[field.name]}
on:change={e => {
value[field.name] = e.detail
}}
on:change={e => onChange(e, field)}
label={field.name}
type="string"
{bindings}