|
|
|
@ -1,20 +1,28 @@ |
|
|
|
<script> |
|
|
|
import { Label, Input, Layout, Toggle } from "@budibase/bbui" |
|
|
|
import { Label, Input, Layout, Toggle, Button } from "@budibase/bbui" |
|
|
|
import KeyValueBuilder from "components/integration/KeyValueBuilder.svelte" |
|
|
|
import { capitalise } from "helpers" |
|
|
|
|
|
|
|
export let integration |
|
|
|
export let schema |
|
|
|
let addButton |
|
|
|
</script> |
|
|
|
|
|
|
|
<form> |
|
|
|
<Layout gap="S"> |
|
|
|
{#each Object.keys(schema) as configKey} |
|
|
|
{#if schema[configKey].type === "object"} |
|
|
|
<Label>{capitalise(configKey)}</Label> |
|
|
|
<div class="form-row ssl"> |
|
|
|
<Label>{capitalise(configKey)}</Label> |
|
|
|
<Button secondary thin outline on:click={addButton.addEntry()} |
|
|
|
>Add</Button |
|
|
|
> |
|
|
|
</div> |
|
|
|
<KeyValueBuilder |
|
|
|
bind:this={addButton} |
|
|
|
defaults={schema[configKey].default} |
|
|
|
bind:object={integration[configKey]} |
|
|
|
noAddButton={true} |
|
|
|
/> |
|
|
|
{:else if schema[configKey].type === "boolean"} |
|
|
|
<div class="form-row"> |
|
|
|
@ -42,4 +50,11 @@ |
|
|
|
grid-gap: var(--spacing-l); |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
|
|
|
|
.form-row.ssl { |
|
|
|
display: grid; |
|
|
|
grid-template-columns: 20% 20%; |
|
|
|
grid-gap: var(--spacing-l); |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|