forked from tsai/budibase
3 changed files with 52 additions and 3 deletions
@ -0,0 +1,39 @@ |
|||
<script> |
|||
import { Multiselect } from "@budibase/bbui" |
|||
|
|||
export let options = [] |
|||
export let value = [] |
|||
export let styleBindingProperty |
|||
export let onChange = () => {} |
|||
|
|||
let boundValue = getValidOptions(value, options) |
|||
$: setValue(boundValue) |
|||
$: sanitiseOptions(options) |
|||
|
|||
function getValidOptions(selectedOptions, allOptions) { |
|||
return selectedOptions.filter(val => allOptions.indexOf(val) !== -1) |
|||
} |
|||
|
|||
function setValue(val) { |
|||
console.log(val) |
|||
onChange(val) |
|||
} |
|||
|
|||
function sanitiseOptions(options) { |
|||
boundValue = getValidOptions(value, options) |
|||
} |
|||
</script> |
|||
|
|||
<div> |
|||
<Multiselect extraThin secondary bind:value={boundValue}> |
|||
{#each options as option} |
|||
<option value={option}>{option}</option> |
|||
{/each} |
|||
</Multiselect> |
|||
</div> |
|||
|
|||
<style> |
|||
div { |
|||
flex: 1 1 auto; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,5 @@ |
|||
<script> |
|||
import TableViewFieldSelect from "./TableViewFieldSelect.svelte" |
|||
</script> |
|||
|
|||
<TableViewFieldSelect {...$$props} multiselect /> |
|||
Loading…
Reference in new issue