Browse Source
Merge pull request #2241 from mslourens/radio_buttons
add radio buttons to standard components options picker
pull/1787/head
Martin McKeaveney
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
38 additions and
10 deletions
-
packages/standard-components/manifest.json
-
packages/standard-components/src/forms/OptionsField.svelte
|
|
|
@ -1841,6 +1841,22 @@ |
|
|
|
"key": "placeholder", |
|
|
|
"placeholder": "Choose an option" |
|
|
|
}, |
|
|
|
{ |
|
|
|
"type": "select", |
|
|
|
"label": "Type", |
|
|
|
"key": "optionsType", |
|
|
|
"placeholder": "Pick an options type", |
|
|
|
"options": [ |
|
|
|
{ |
|
|
|
"label": "Select", |
|
|
|
"value": "select" |
|
|
|
}, |
|
|
|
{ |
|
|
|
"label": "Radio buttons", |
|
|
|
"value": "radio" |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
{ |
|
|
|
"type": "boolean", |
|
|
|
"label": "Disabled", |
|
|
|
|
|
|
|
@ -1,11 +1,12 @@ |
|
|
|
<script> |
|
|
|
import { CoreSelect } from "@budibase/bbui" |
|
|
|
import { CoreSelect, RadioGroup } from "@budibase/bbui" |
|
|
|
import Field from "./Field.svelte" |
|
|
|
|
|
|
|
export let field |
|
|
|
export let label |
|
|
|
export let placeholder |
|
|
|
export let disabled = false |
|
|
|
export let optionsType = "select" |
|
|
|
|
|
|
|
let fieldState |
|
|
|
let fieldApi |
|
|
|
@ -22,14 +23,25 @@ |
|
|
|
bind:fieldSchema |
|
|
|
> |
|
|
|
{#if fieldState} |
|
|
|
<CoreSelect |
|
|
|
value={$fieldState.value} |
|
|
|
id={$fieldState.fieldId} |
|
|
|
disabled={$fieldState.disabled} |
|
|
|
error={$fieldState.error} |
|
|
|
options={fieldSchema?.constraints?.inclusion ?? []} |
|
|
|
{placeholder} |
|
|
|
on:change={e => fieldApi.setValue(e.detail)} |
|
|
|
/> |
|
|
|
{#if optionsType === "select"} |
|
|
|
<CoreSelect |
|
|
|
value={$fieldState.value} |
|
|
|
id={$fieldState.fieldId} |
|
|
|
disabled={$fieldState.disabled} |
|
|
|
error={$fieldState.error} |
|
|
|
options={fieldSchema?.constraints?.inclusion ?? []} |
|
|
|
{placeholder} |
|
|
|
on:change={e => fieldApi.setValue(e.detail)} |
|
|
|
/> |
|
|
|
{:else if optionsType === "radio"} |
|
|
|
<RadioGroup |
|
|
|
value={$fieldState.value} |
|
|
|
id={$fieldState.fieldId} |
|
|
|
disabled={$fieldState.disabled} |
|
|
|
error={$fieldState.error} |
|
|
|
options={fieldSchema?.constraints?.inclusion ?? []} |
|
|
|
on:change={e => fieldApi.setValue(e.detail)} |
|
|
|
/> |
|
|
|
{/if} |
|
|
|
{/if} |
|
|
|
</Field> |
|
|
|
|