From d99e1a5a531ae69ec289bddacb9ce04449748094 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 18 Feb 2021 16:58:10 +0000 Subject: [PATCH] design updates, changing query verb names to HTTP verbs --- .../popovers/ManageAccessPopover.svelte | 4 +- .../IntegrationConfigForm.svelte | 30 +++- .../TableIntegrationMenu/index.svelte | 22 ++- .../modals/CreateQueryModal.svelte | 61 -------- .../popovers/EditDatasourcePopover.svelte | 1 - .../popovers/EditQueryParamsPopover.svelte | 12 +- .../popovers/EditQueryPopover.svelte | 1 - .../integration/KeyValueBuilder.svelte | 2 +- .../integration/QueryFieldsBuilder.svelte | 33 +++-- .../integration/QueryParameterBuilder.svelte | 21 ++- .../components/integration/QueryViewer.svelte | 140 +++++++++--------- .../pages/[application]/data/_layout.svelte | 5 +- .../[selectedDatasource]/[query]/index.svelte | 2 + .../[selectedDatasource]/index.svelte | 37 +++-- packages/server/src/integrations/airtable.js | 1 + packages/server/src/integrations/arangodb.js | 1 + packages/server/src/integrations/couchdb.js | 1 + packages/server/src/integrations/dynamodb.js | 1 + .../server/src/integrations/elasticsearch.js | 1 + .../src/integrations/microsoftSqlServer.js | 1 + packages/server/src/integrations/mongodb.js | 3 + packages/server/src/integrations/mysql.js | 1 + packages/server/src/integrations/postgres.js | 1 + packages/server/src/integrations/rest.js | 30 +++- packages/server/src/integrations/s3.js | 1 + 25 files changed, 224 insertions(+), 189 deletions(-) delete mode 100644 packages/builder/src/components/backend/DatasourceNavigator/modals/CreateQueryModal.svelte diff --git a/packages/builder/src/components/backend/DataTable/popovers/ManageAccessPopover.svelte b/packages/builder/src/components/backend/DataTable/popovers/ManageAccessPopover.svelte index e8f6f6df0b..ee8162c8d4 100644 --- a/packages/builder/src/components/backend/DataTable/popovers/ManageAccessPopover.svelte +++ b/packages/builder/src/components/backend/DataTable/popovers/ManageAccessPopover.svelte @@ -30,7 +30,9 @@
Who Can Access This Data?
- +
diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte index f92224e39a..0239981a83 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/IntegrationConfigForm.svelte @@ -1,15 +1,33 @@
{#each Object.keys(integration) as configKey} - - +
+ {#if typeof integration[configKey] === 'object'} + + + {:else} + + + {/if} +
{/each} + + diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte index dbe289caba..fe42a1dd9e 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte @@ -2,7 +2,8 @@ import { onMount } from "svelte" import { backendUiStore } from "builderStore" import api from "builderStore/api" - import { Input, TextArea, Spacer } from "@budibase/bbui" + import { Input, Label, TextArea, Spacer } from "@budibase/bbui" + import KeyValueBuilder from "components/integration/KeyValueBuilder.svelte" import ICONS from "../icons" export let integration = {} @@ -50,16 +51,21 @@ {/each}
- {#if schema} + +--> diff --git a/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte index 92a541ac1d..dc07b31645 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte @@ -3,7 +3,6 @@ import { notifier } from "builderStore/store/notifications" import { DropdownMenu, Button, Input } from "@budibase/bbui" import ConfirmDialog from "components/common/ConfirmDialog.svelte" - import IntegrationConfigForm from "../TableIntegrationMenu//IntegrationConfigForm.svelte" import { DropdownContainer, DropdownItem } from "components/common/Dropdowns" export let query diff --git a/packages/builder/src/components/integration/KeyValueBuilder.svelte b/packages/builder/src/components/integration/KeyValueBuilder.svelte index 7b4962edcb..53f698e3f8 100644 --- a/packages/builder/src/components/integration/KeyValueBuilder.svelte +++ b/packages/builder/src/components/integration/KeyValueBuilder.svelte @@ -3,7 +3,7 @@ export let object = {} - let fields = [] + let fields = Object.entries(object).map(([name, value]) => ({ name, value })) $: object = fields.reduce( (acc, next) => ({ ...acc, [next.name]: next.value }), diff --git a/packages/builder/src/components/integration/QueryFieldsBuilder.svelte b/packages/builder/src/components/integration/QueryFieldsBuilder.svelte index 972bc2c373..9168a01d11 100644 --- a/packages/builder/src/components/integration/QueryFieldsBuilder.svelte +++ b/packages/builder/src/components/integration/QueryFieldsBuilder.svelte @@ -22,35 +22,36 @@ function updateCustomFields({ detail }) { fields.customData = detail.value } -
{#each schemaKeys as field} - {#if schema.fields[field]?.type === "object"} + {#if schema.fields[field]?.type === 'object'}
- +
- {:else if schema.fields[field]?.type === "json"} + {:else if schema.fields[field]?.type === 'json'}
fields[field] = detail.value} + on:change={({ detail }) => (fields[field] = detail.value)} readOnly={!editable} value={fields[field]} />
{:else} - +
+ + +
{/if} {/each}
@@ -73,4 +74,10 @@ align-items: center; } + .horizontal { + display: grid; + grid-template-columns: 20% 1fr; + grid-gap: var(--spacing-l); + align-items: center; + } diff --git a/packages/builder/src/components/integration/QueryParameterBuilder.svelte b/packages/builder/src/components/integration/QueryParameterBuilder.svelte index d7eaa3bec1..8b9a3f2ba9 100644 --- a/packages/builder/src/components/integration/QueryParameterBuilder.svelte +++ b/packages/builder/src/components/integration/QueryParameterBuilder.svelte @@ -1,5 +1,5 @@
- Parameters +
+ Parameters + {#if !bindable} + + {/if} +
+ + Parameters come in two parts: the parameter name, and a default/fallback + value. +
{#each parameters as parameter, idx} @@ -59,9 +68,6 @@ {/if} {/each}
- {#if !bindable} - - {/if}
diff --git a/packages/builder/src/pages/[application]/data/_layout.svelte b/packages/builder/src/pages/[application]/data/_layout.svelte index ccf55ab602..84b3e2a29a 100644 --- a/packages/builder/src/pages/[application]/data/_layout.svelte +++ b/packages/builder/src/pages/[application]/data/_layout.svelte @@ -8,11 +8,11 @@ const tabs = [ { - title: "Tables", + title: "Internal", key: "table", }, { - title: "Data Sources", + title: "External", key: "datasource", }, ] @@ -67,6 +67,7 @@ justify-content: flex-start; align-items: stretch; gap: var(--spacing-l); + background: var(--background); } .nav { diff --git a/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte b/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte index c2419dd9a6..b7ea3b8218 100644 --- a/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte +++ b/packages/builder/src/pages/[application]/data/datasource/[selectedDatasource]/[query]/index.svelte @@ -36,6 +36,8 @@