1
0
Fork 0
mirror of synced 2024-09-21 11:53:49 +12:00
budibase/packages/builder/src/components/integration/index.svelte

66 lines
1.5 KiB
Svelte
Raw Normal View History

2020-12-19 07:19:43 +13:00
<script>
2021-01-08 02:13:46 +13:00
import { TextArea, Label, Input, Heading } from "@budibase/bbui"
import Editor from "./QueryEditor.svelte"
2020-12-19 07:19:43 +13:00
2021-01-07 01:28:51 +13:00
const CAPTURE_VAR_INSIDE_MUSTACHE = /{{([^}]+)}}/g
2020-12-19 07:19:43 +13:00
const QueryTypes = {
SQL: "sql",
}
export let query
2020-12-31 00:46:37 +13:00
2021-01-08 02:13:46 +13:00
// TODO: bind these to the query
let parameters = []
$: query.parameters = parameters.reduce(
(acc, next) => ({ [next.key]: next.value, ...acc }),
{}
)
function newQueryParameter() {
parameters = [...parameters, {}]
}
function deleteQueryParameter(idx) {
parameters.splice(idx, 1)
parameters = parameters
}
2020-12-19 07:19:43 +13:00
</script>
2021-01-08 02:13:46 +13:00
<Heading extraSmall black>Parameters</Heading>
2021-01-07 01:28:51 +13:00
2021-01-08 02:13:46 +13:00
{#if query.queryType === QueryTypes.SQL}
<section>
<div class="parameters">
<Label extraSmall grey>Parameter Name</Label>
<Label extraSmall grey>Default Value</Label>
<!-- CLEAR ALL PARAMS OR SOMETHING -->
<i class="ri-close-circle-line delete" on:click={console.log} />
{#each parameters as parameter, idx}
<Input thin bind:value={parameter.key} />
<Input thin bind:value={parameter.value} />
<i
class="ri-close-circle-line delete"
on:click={() => deleteQueryParameter(idx)} />
{/each}
<i class="ri-add-circle-line" on:click={newQueryParameter} />
</div>
</section>
<Editor label="Query" bind:value={query.queryString} />
2020-12-19 07:19:43 +13:00
{/if}
2021-01-08 02:13:46 +13:00
<style>
.parameters {
display: grid;
grid-template-columns: 1fr 1fr 5%;
grid-gap: 10px;
align-items: center;
}
section {
margin-bottom: var(--spacing-xl);
}
</style>