forked from tsai/budibase
1 changed files with 0 additions and 83 deletions
@ -1,83 +0,0 @@ |
|||||
<script> |
|
||||
import BindingPanel from "../automation/SetupPanel/AutomationBindingPanel.svelte" |
|
||||
import { runtimeToReadableBinding, readableToRuntimeBinding } from "builderStore/dataBinding" |
|
||||
import { Body, Button, Input, Icon, Drawer } from "@budibase/bbui" |
|
||||
|
|
||||
import { createEventDispatcher } from "svelte" |
|
||||
const dispatch = createEventDispatcher() |
|
||||
|
|
||||
export let value = "" |
|
||||
export let bindings = [] |
|
||||
export let thin = true |
|
||||
export let label = "" |
|
||||
export let title = "Bindings" |
|
||||
export let placeholder |
|
||||
|
|
||||
|
|
||||
let bindingDrawer |
|
||||
|
|
||||
$: tempValue = value |
|
||||
$: readableValue = runtimeToReadableBinding(bindings, value) |
|
||||
|
|
||||
const handleClose = () => { |
|
||||
onChange(tempValue) |
|
||||
bindingDrawer.hide() |
|
||||
} |
|
||||
|
|
||||
const onChange = value => { |
|
||||
dispatch("change", readableToRuntimeBinding(bindings, value)) |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<div class="control"> |
|
||||
<Input |
|
||||
{thin} |
|
||||
{label} |
|
||||
value={readableValue} |
|
||||
on:change={event => onChange(event.target.value)} |
|
||||
{placeholder} /> |
|
||||
<div class="icon" on:click={bindingDrawer.show}> |
|
||||
<Icon name="lightning" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<Drawer bind:this={bindingDrawer} {title}> |
|
||||
<div slot="description"> |
|
||||
<Body extraSmall grey> |
|
||||
Add the objects on the left to enrich your text. |
|
||||
</Body> |
|
||||
</div> |
|
||||
<heading slot="buttons"> |
|
||||
<Button thin blue on:click={handleClose}>Save</Button> |
|
||||
</heading> |
|
||||
<div slot="body"> |
|
||||
<BindingPanel |
|
||||
{value} |
|
||||
close={handleClose} |
|
||||
on:update={event => (tempValue = event.detail)} |
|
||||
{bindings} /> |
|
||||
</div> |
|
||||
</Drawer> |
|
||||
|
|
||||
<style> |
|
||||
.icon { |
|
||||
right: 2px; |
|
||||
top: 5px; |
|
||||
bottom: 2px; |
|
||||
position: absolute; |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
box-sizing: border-box; |
|
||||
padding-left: var(--spacing-xs); |
|
||||
border-left: 1px solid var(--grey-4); |
|
||||
background-color: var(--grey-2); |
|
||||
border-top-right-radius: var(--border-radius-m); |
|
||||
border-bottom-right-radius: var(--border-radius-m); |
|
||||
color: var(--grey-7); |
|
||||
font-size: 16px; |
|
||||
margin-top: 20px; |
|
||||
} |
|
||||
.icon:hover { |
|
||||
color: var(--ink); |
|
||||
cursor: pointer; |
|
||||
} |
|
||||
</style> |
|
||||
Loading…
Reference in new issue