Merge branch 'master' of github.com:Budibase/budibase into form-builder
This commit is contained in:
commit
b8fb2ba43c
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"version": "0.5.3",
|
"version": "0.6.2",
|
||||||
"npmClient": "yarn",
|
"npmClient": "yarn",
|
||||||
"packages": [
|
"packages": [
|
||||||
"packages/*"
|
"packages/*"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/builder",
|
"name": "@budibase/builder",
|
||||||
"version": "0.5.3",
|
"version": "0.6.2",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -64,9 +64,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/bbui": "^1.55.2",
|
"@budibase/bbui": "^1.55.2",
|
||||||
"@budibase/client": "^0.5.3",
|
"@budibase/client": "^0.6.2",
|
||||||
"@budibase/colorpicker": "^1.0.1",
|
"@budibase/colorpicker": "^1.0.1",
|
||||||
"@budibase/string-templates": "^0.5.3",
|
"@budibase/string-templates": "^0.6.2",
|
||||||
"@budibase/svelte-ag-grid": "^0.0.16",
|
"@budibase/svelte-ag-grid": "^0.0.16",
|
||||||
"@sentry/browser": "5.19.1",
|
"@sentry/browser": "5.19.1",
|
||||||
"@svelteschool/svelte-forms": "^0.7.0",
|
"@svelteschool/svelte-forms": "^0.7.0",
|
||||||
|
|
|
@ -20,12 +20,9 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div on:click|stopPropagation bind:this={anchor}>
|
<div on:click|stopPropagation bind:this={anchor}>
|
||||||
<TextButton
|
<TextButton text on:click={dropdown.show} active={false}>
|
||||||
text
|
<Icon name="add" />
|
||||||
on:click={dropdown.show}
|
Add Parameters
|
||||||
active={false}>
|
|
||||||
<Icon name="add" />
|
|
||||||
Add Parameters
|
|
||||||
</TextButton>
|
</TextButton>
|
||||||
<DropdownMenu align="right" {anchor} bind:this={dropdown}>
|
<DropdownMenu align="right" {anchor} bind:this={dropdown}>
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
|
@ -39,4 +36,4 @@
|
||||||
padding: var(--spacing-xl);
|
padding: var(--spacing-xl);
|
||||||
min-width: 600px;
|
min-width: 600px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { notificationStore } from "builderStore/store/notifications"
|
import { notificationStore } from "builderStore/store/notifications"
|
||||||
import { flip } from 'svelte/animate';
|
import { flip } from "svelte/animate"
|
||||||
import { fly } from "svelte/transition"
|
import { fly } from "svelte/transition"
|
||||||
|
|
||||||
export let themes = {
|
export let themes = {
|
||||||
|
|
|
@ -33,6 +33,9 @@
|
||||||
parameters: {},
|
parameters: {},
|
||||||
[EVENT_TYPE_KEY]: actionType.name,
|
[EVENT_TYPE_KEY]: actionType.name,
|
||||||
}
|
}
|
||||||
|
if (!actions) {
|
||||||
|
actions = []
|
||||||
|
}
|
||||||
actions.push(newAction)
|
actions.push(newAction)
|
||||||
selectedAction = newAction
|
selectedAction = newAction
|
||||||
actions = actions
|
actions = actions
|
||||||
|
@ -73,7 +76,8 @@
|
||||||
<div class="action-container">
|
<div class="action-container">
|
||||||
<div class="action-header" on:click={selectAction(action)}>
|
<div class="action-header" on:click={selectAction(action)}>
|
||||||
<span class:selected={action === selectedAction}>
|
<span class:selected={action === selectedAction}>
|
||||||
{index + 1}. {action[EVENT_TYPE_KEY]}
|
{index + 1}.
|
||||||
|
{action[EVENT_TYPE_KEY]}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<i
|
<i
|
||||||
|
|
|
@ -34,15 +34,17 @@
|
||||||
}))
|
}))
|
||||||
return [...acc, ...viewsArr]
|
return [...acc, ...viewsArr]
|
||||||
}, [])
|
}, [])
|
||||||
$: queries = $backendUiStore.queries.filter(query => query.queryVerb === "read").map(query => ({
|
$: queries = $backendUiStore.queries
|
||||||
label: query.name,
|
.filter(query => query.queryVerb === "read")
|
||||||
name: query.name,
|
.map(query => ({
|
||||||
tableId: query._id,
|
label: query.name,
|
||||||
...query,
|
name: query.name,
|
||||||
schema: query.schema,
|
tableId: query._id,
|
||||||
parameters: query.parameters,
|
...query,
|
||||||
type: "query",
|
schema: query.schema,
|
||||||
}))
|
parameters: query.parameters,
|
||||||
|
type: "query",
|
||||||
|
}))
|
||||||
$: bindableProperties = getBindableProperties(
|
$: bindableProperties = getBindableProperties(
|
||||||
$currentAsset.props,
|
$currentAsset.props,
|
||||||
$store.selectedComponentId
|
$store.selectedComponentId
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<form on:submit|preventDefault>
|
<form on:submit|preventDefault>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
{#each schemaKeys as field}
|
{#each schemaKeys as field}
|
||||||
<Input
|
<Input
|
||||||
placeholder="Enter {field} name"
|
placeholder="Enter {field} name"
|
||||||
outline
|
outline
|
||||||
|
@ -33,8 +33,8 @@
|
||||||
type={schema.fields[field]?.type}
|
type={schema.fields[field]?.type}
|
||||||
required={schema.fields[field]?.required}
|
required={schema.fields[field]?.required}
|
||||||
bind:value={fields[field]} />
|
bind:value={fields[field]} />
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{#if schema.customisable}
|
{#if schema.customisable}
|
||||||
<Editor
|
<Editor
|
||||||
|
|
|
@ -135,17 +135,22 @@
|
||||||
<Input placeholder="✎ Edit Query Name" bind:value={query.name} />
|
<Input placeholder="✎ Edit Query Name" bind:value={query.name} />
|
||||||
</div>
|
</div>
|
||||||
{#if config}
|
{#if config}
|
||||||
<div class="props">
|
<div class="props">
|
||||||
<div class="query-type">Query type: <span class="query-type-span">{config[query.queryVerb].type}</span></div>
|
<div class="query-type">
|
||||||
<div class="select">
|
Query type:
|
||||||
<Select primary thin bind:value={query.queryVerb}>
|
<span class="query-type-span">{config[query.queryVerb].type}</span>
|
||||||
{#each Object.keys(config) as queryVerb}
|
</div>
|
||||||
<option value={queryVerb}>{queryVerb}</option>
|
<div class="select">
|
||||||
{/each}
|
<Select primary thin bind:value={query.queryVerb}>
|
||||||
</Select>
|
{#each Object.keys(config) as queryVerb}
|
||||||
</div>
|
<option value={queryVerb}>{queryVerb}</option>
|
||||||
|
{/each}
|
||||||
|
</Select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<EditQueryParamsPopover bind:parameters={query.parameters} bindable={false} />
|
<EditQueryParamsPopover
|
||||||
|
bind:parameters={query.parameters}
|
||||||
|
bindable={false} />
|
||||||
{/if}
|
{/if}
|
||||||
</header>
|
</header>
|
||||||
<Spacer extraLarge />
|
<Spacer extraLarge />
|
||||||
|
@ -182,7 +187,11 @@
|
||||||
{#each fields as field, idx}
|
{#each fields as field, idx}
|
||||||
<Spacer small />
|
<Spacer small />
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<Input outline placeholder="Field Name" type={'text'} bind:value={field.name} />
|
<Input
|
||||||
|
outline
|
||||||
|
placeholder="Field Name"
|
||||||
|
type={'text'}
|
||||||
|
bind:value={field.name} />
|
||||||
<Select thin border bind:value={field.type}>
|
<Select thin border bind:value={field.type}>
|
||||||
<option value={''}>Select a field type</option>
|
<option value={''}>Select a field type</option>
|
||||||
<option value={'STRING'}>Text</option>
|
<option value={'STRING'}>Text</option>
|
||||||
|
@ -195,8 +204,8 @@
|
||||||
on:click={() => deleteField(idx)} />
|
on:click={() => deleteField(idx)} />
|
||||||
</div>
|
</div>
|
||||||
{/each}
|
{/each}
|
||||||
<Spacer small />
|
<Spacer small />
|
||||||
<Button thin secondary on:click={newField}>Add Field</Button>
|
<Button thin secondary on:click={newField}>Add Field</Button>
|
||||||
{/if}
|
{/if}
|
||||||
</Switcher>
|
</Switcher>
|
||||||
{/if}
|
{/if}
|
||||||
|
@ -206,7 +215,6 @@
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.input {
|
.input {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
{#if schema}
|
{#if schema}
|
||||||
{#key query._id}
|
{#key query._id}
|
||||||
{#if schema.type === QueryTypes.SQL}
|
{#if schema.type === QueryTypes.SQL}
|
||||||
|
|
|
@ -58,7 +58,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/client",
|
"name": "@budibase/client",
|
||||||
"version": "0.5.3",
|
"version": "0.6.2",
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"main": "dist/budibase-client.js",
|
"main": "dist/budibase-client.js",
|
||||||
"module": "dist/budibase-client.js",
|
"module": "dist/budibase-client.js",
|
||||||
|
@ -9,14 +9,14 @@
|
||||||
"dev:builder": "rollup -cw"
|
"dev:builder": "rollup -cw"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/string-templates": "^0.5.3",
|
"@budibase/string-templates": "^0.6.2",
|
||||||
"deep-equal": "^2.0.1",
|
"deep-equal": "^2.0.1",
|
||||||
"regexparam": "^1.3.0",
|
"regexparam": "^1.3.0",
|
||||||
"shortid": "^2.2.15",
|
"shortid": "^2.2.15",
|
||||||
"svelte-spa-router": "^3.0.5"
|
"svelte-spa-router": "^3.0.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@budibase/standard-components": "^0.5.3",
|
"@budibase/standard-components": "^0.6.2",
|
||||||
"@rollup/plugin-commonjs": "^16.0.0",
|
"@rollup/plugin-commonjs": "^16.0.0",
|
||||||
"@rollup/plugin-node-resolve": "^10.0.0",
|
"@rollup/plugin-node-resolve": "^10.0.0",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
|
|
|
@ -4,18 +4,12 @@
|
||||||
import Component from "./Component.svelte"
|
import Component from "./Component.svelte"
|
||||||
import NotificationDisplay from "./NotificationDisplay.svelte"
|
import NotificationDisplay from "./NotificationDisplay.svelte"
|
||||||
import SDK from "../sdk"
|
import SDK from "../sdk"
|
||||||
import {
|
import { createDataStore, initialise, screenStore } from "../store"
|
||||||
createDataStore,
|
|
||||||
initialise,
|
|
||||||
screenStore,
|
|
||||||
builderStore,
|
|
||||||
} from "../store"
|
|
||||||
|
|
||||||
// Provide contexts
|
// Provide contexts
|
||||||
setContext("sdk", SDK)
|
setContext("sdk", SDK)
|
||||||
setContext("component", writable({}))
|
setContext("component", writable({}))
|
||||||
setContext("data", createDataStore())
|
setContext("data", createDataStore())
|
||||||
setContext("screenslot", false)
|
|
||||||
|
|
||||||
let loaded = false
|
let loaded = false
|
||||||
|
|
||||||
|
|
|
@ -1,60 +1,59 @@
|
||||||
<script>
|
<script>
|
||||||
import { flip } from 'svelte/animate';
|
import { flip } from "svelte/animate"
|
||||||
import { fly } from "svelte/transition"
|
import { fly } from "svelte/transition"
|
||||||
import { getContext } from "svelte"
|
import { getContext } from "svelte"
|
||||||
const { notifications } = getContext("sdk")
|
const { notifications } = getContext("sdk")
|
||||||
|
|
||||||
export let themes = {
|
export let themes = {
|
||||||
danger: "#E26D69",
|
danger: "#E26D69",
|
||||||
success: "#84C991",
|
success: "#84C991",
|
||||||
warning: "#f0ad4e",
|
warning: "#f0ad4e",
|
||||||
info: "#5bc0de",
|
info: "#5bc0de",
|
||||||
default: "#aaaaaa",
|
default: "#aaaaaa",
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="notifications">
|
<div class="notifications">
|
||||||
{#each $notifications as notification (notification.id)}
|
{#each $notifications as notification (notification.id)}
|
||||||
<div
|
<div
|
||||||
animate:flip
|
animate:flip
|
||||||
class="toast"
|
class="toast"
|
||||||
style="background: {themes[notification.type]};"
|
style="background: {themes[notification.type]};"
|
||||||
transition:fly={{ y: -30 }}>
|
transition:fly={{ y: -30 }}>
|
||||||
<div class="content">{notification.message}</div>
|
<div class="content">{notification.message}</div>
|
||||||
{#if notification.icon}<i class={notification.icon} />{/if}
|
{#if notification.icon}<i class={notification.icon} />{/if}
|
||||||
</div>
|
</div>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.notifications {
|
.notifications {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toast {
|
.toast {
|
||||||
flex: 0 0 auto;
|
flex: 0 0 auto;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
border-radius: var(--border-radius-s);
|
border-radius: var(--border-radius-s);
|
||||||
/* The toasts now support being auto sized, so this static width could be removed */
|
/* The toasts now support being auto sized, so this static width could be removed */
|
||||||
width: 40vw;
|
width: 40vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
display: block;
|
display: block;
|
||||||
color: white;
|
color: white;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/server",
|
"name": "@budibase/server",
|
||||||
"email": "hi@budibase.com",
|
"email": "hi@budibase.com",
|
||||||
"version": "0.5.3",
|
"version": "0.6.2",
|
||||||
"description": "Budibase Web Server",
|
"description": "Budibase Web Server",
|
||||||
"main": "src/electron.js",
|
"main": "src/electron.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -49,8 +49,8 @@
|
||||||
"author": "Budibase",
|
"author": "Budibase",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/client": "^0.5.3",
|
"@budibase/client": "^0.6.2",
|
||||||
"@budibase/string-templates": "^0.5.3",
|
"@budibase/string-templates": "^0.6.2",
|
||||||
"@elastic/elasticsearch": "^7.10.0",
|
"@elastic/elasticsearch": "^7.10.0",
|
||||||
"@koa/router": "^8.0.0",
|
"@koa/router": "^8.0.0",
|
||||||
"@sendgrid/mail": "^7.1.1",
|
"@sendgrid/mail": "^7.1.1",
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
*
|
|
||||||
!dist/*
|
|
||||||
!components.json
|
|
|
@ -10,6 +10,11 @@
|
||||||
"start:dev": "sirv public --single --dev",
|
"start:dev": "sirv public --single --dev",
|
||||||
"dev:builder": "rollup -cw"
|
"dev:builder": "rollup -cw"
|
||||||
},
|
},
|
||||||
|
"files": [
|
||||||
|
"manifest.json",
|
||||||
|
"package.json",
|
||||||
|
"dist"
|
||||||
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rollup/plugin-alias": "^3.1.1",
|
"@rollup/plugin-alias": "^3.1.1",
|
||||||
"@rollup/plugin-commonjs": "^16.0.0",
|
"@rollup/plugin-commonjs": "^16.0.0",
|
||||||
|
@ -30,7 +35,7 @@
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"svelte"
|
"svelte"
|
||||||
],
|
],
|
||||||
"version": "0.5.3",
|
"version": "0.6.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"gitHead": "62ebf3cedcd7e9b2494b4f8cbcfb90927609b491",
|
"gitHead": "62ebf3cedcd7e9b2494b4f8cbcfb90927609b491",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/string-templates",
|
"name": "@budibase/string-templates",
|
||||||
"version": "0.5.3",
|
"version": "0.6.2",
|
||||||
"description": "Handlebars wrapper for Budibase templating.",
|
"description": "Handlebars wrapper for Budibase templating.",
|
||||||
"main": "dist/bundle.js",
|
"main": "dist/bundle.js",
|
||||||
"module": "dist/bundle.js",
|
"module": "dist/bundle.js",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/deployment",
|
"name": "@budibase/deployment",
|
||||||
"email": "hi@budibase.com",
|
"email": "hi@budibase.com",
|
||||||
"version": "0.5.3",
|
"version": "0.6.2",
|
||||||
"description": "Budibase Deployment Server",
|
"description": "Budibase Deployment Server",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
Loading…
Reference in New Issue