1
0
Fork 0
mirror of synced 2024-08-23 14:01:34 +12:00
budibase/packages/builder/src/components/integration/QueryEditor.svelte

51 lines
1,019 B
Svelte
Raw Normal View History

2020-12-31 00:46:37 +13:00
<script>
import cm from "./codemirror"
import { onMount, createEventDispatcher } from "svelte"
const dispatch = createEventDispatcher()
export let value
export let mode = "sql"
let editor
let codemirror
2021-01-08 02:13:46 +13:00
// $: codemirror && codemirror.setValue(value)
console.log("Running init")
$: console.log("Running reactive")
2020-12-31 00:46:37 +13:00
onMount(async () => {
codemirror = cm.fromTextArea(editor, {
lineNumbers: true,
mode,
lineWrapping: true,
indentUnit: 2,
tabSize: 2,
autoCloseBrackets: true,
autoCloseTags: true,
extraKeys: {
"Ctrl-/": "toggleComment",
},
})
codemirror.on("change", instance => {
const code = instance.getValue()
value = code
2021-01-08 02:13:46 +13:00
dispatch("change", code)
2020-12-31 00:46:37 +13:00
})
})
</script>
<textarea bind:value bind:this={editor} />
2021-01-08 02:13:46 +13:00
<style>
textarea {
background: var(--background);
border-radius: var(--border-radius-m);
}
2021-01-09 07:22:03 +13:00
:global(.CodeMirror) {
border-radius: var(--border-radius-m);
}
2021-01-08 02:13:46 +13:00
</style>