budibase/packages/builder/src/components/userInterface/PropControl.svelte

47 lines
1.1 KiB
Svelte
Raw Normal View History

2019-08-16 16:48:45 +02:00
<script>
2020-05-18 12:01:09 +02:00
import { store } from "builderStore"
2020-02-03 10:50:30 +01:00
import Checkbox from "../common/Checkbox.svelte"
import Textbox from "../common/Textbox.svelte"
import Dropdown from "../common/Dropdown.svelte"
import StateBindingControl from "./StateBindingControl.svelte"
export let index
export let prop_name
export let prop_value
export let prop_definition = {}
2019-08-16 16:48:45 +02:00
</script>
2020-02-03 10:50:30 +01:00
<div class="root">
{#if prop_definition.type !== 'event'}
<h5>{prop_name}</h5>
2020-02-03 10:50:30 +01:00
<StateBindingControl
value={prop_value}
2020-05-07 15:59:06 +02:00
type={prop_definition.type || prop_definition}
options={prop_definition.options}
styleBindingProperty={prop_definition.styleBindingProperty}
2020-05-07 23:15:09 +02:00
onChanged={v => store.setComponentProp(prop_name, v)} />
2020-02-03 10:50:30 +01:00
{/if}
2019-08-16 16:48:45 +02:00
</div>
<style>
2020-02-03 10:50:30 +01:00
.root {
height: 40px;
margin-bottom: 15px;
display: grid;
grid-template-rows: 1fr;
grid-template-columns: 70px 1fr;
grid-gap: 10px;
align-items: baseline;
2020-02-03 10:50:30 +01:00
}
h5 {
word-wrap: break-word;
font-size: 13px;
font-weight: 400;
color: var(--ink);
opacity: 0.8;
padding-top: 13px;
2020-02-03 10:50:30 +01:00
margin-bottom: 0;
}
2020-01-21 15:50:35 +01:00
</style>