diff --git a/lerna.json b/lerna.json index dd7190c4b2..417a4bbf5e 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.125-alpha.7", + "version": "0.9.125-alpha.10", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index ec75651638..2a38e2dc3f 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.125-alpha.7", + "version": "0.9.125-alpha.10", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index f7e06046af..3df72757d4 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.125-alpha.7", + "version": "0.9.125-alpha.10", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index 261b840577..8bda515fbc 100644 --- a/packages/builder/cypress/support/commands.js +++ b/packages/builder/cypress/support/commands.js @@ -37,9 +37,8 @@ Cypress.Commands.add("createApp", name => { cy.contains("Create app").click() }) .then(() => { - cy.get(".selected > .content", { - timeout: 20000, - }).should("be.visible") + cy.expandBudibaseConnection() + cy.get(".nav-item.selected > .content").should("be.visible") }) }) @@ -83,6 +82,7 @@ Cypress.Commands.add("createTable", tableName => { Cypress.Commands.add("addColumn", (tableName, columnName, type) => { // Select Table + cy.selectTable(tableName) cy.contains(".nav-item", tableName).click() cy.contains("Create column").click() @@ -161,3 +161,15 @@ Cypress.Commands.add("createScreen", (screenName, route) => { cy.get(".spectrum-Button--cta").click() }) }) + +Cypress.Commands.add("expandBudibaseConnection", () => { + if (Cypress.$(".nav-item > .content > .opened").length === 0) { + // expand the Budibase DB connection string + cy.get(".icon.arrow").eq(0).click() + } +}) + +Cypress.Commands.add("selectTable", tableName => { + cy.expandBudibaseConnection() + cy.contains(".nav-item", tableName).click() +}) diff --git a/packages/builder/package.json b/packages/builder/package.json index 14b0d84795..7a1481f5e2 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.125-alpha.7", + "version": "0.9.125-alpha.10", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.125-alpha.7", - "@budibase/client": "^0.9.125-alpha.7", + "@budibase/bbui": "^0.9.125-alpha.10", + "@budibase/client": "^0.9.125-alpha.10", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.125-alpha.7", + "@budibase/string-templates": "^0.9.125-alpha.10", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte b/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte index 42ea30dbb0..84c737eb67 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte @@ -9,7 +9,10 @@ import TableNavigator from "components/backend/TableNavigator/TableNavigator.svelte" import ICONS from "./icons" + let openDataSources = [] + function selectDatasource(datasource) { + toggleNode(datasource) datasources.select(datasource._id) $goto(`./datasource/${datasource._id}`) } @@ -19,6 +22,15 @@ $goto(`./datasource/${query.datasourceId}/${query._id}`) } + function toggleNode(datasource) { + const isOpen = openDataSources.includes(datasource._id) + if (isOpen) { + openDataSources = openDataSources.filter(id => datasource._id !== id) + } else { + openDataSources = [...openDataSources, datasource._id] + } + } + onMount(() => { datasources.fetch() queries.fetch() @@ -31,8 +43,11 @@ 0} text={datasource.name} + opened={openDataSources.includes(datasource._id)} selected={$datasources.selected === datasource._id} + withArrow={true} on:click={() => selectDatasource(datasource)} + on:iconClick={() => toggleNode(datasource)} >
- + {#if openDataSources.includes(datasource._id)} + + {/if} {#each $queries.list.filter(query => query.datasourceId === datasource._id) as query} onClickQuery(query)} > diff --git a/packages/builder/src/components/common/NavItem.svelte b/packages/builder/src/components/common/NavItem.svelte index 977369299d..ec7994be84 100644 --- a/packages/builder/src/components/common/NavItem.svelte +++ b/packages/builder/src/components/common/NavItem.svelte @@ -1,5 +1,6 @@
{#if withArrow} -
+
{/if} diff --git a/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte b/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte index 494050f690..33ef0c6ea4 100644 --- a/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte +++ b/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte @@ -1,5 +1,5 @@