From bfbbacc087b05fc235e3427ace3bf74c34048923 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Thu, 29 Jul 2021 11:22:45 +0200 Subject: [PATCH 1/3] Collapse and expand database connections --- .../DatasourceNavigator.svelte | 20 ++++++++++++++++++- .../src/components/common/NavItem.svelte | 10 +++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) 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} From c22afdaf0f613d9af9101dfc2952303f45b4d779 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Wed, 15 Sep 2021 18:16:22 +0200 Subject: [PATCH 2/3] fix tests --- packages/builder/cypress/support/commands.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index 261b840577..2b27b294fb 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.get(".icon.arrow").eq(0).click() + 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.get(".icon.arrow").eq(0).click() cy.contains(".nav-item", tableName).click() cy.contains("Create column").click() From c318a1b3be2a47b5207fe3ab62efad3922eba298 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Thu, 16 Sep 2021 10:03:57 +0200 Subject: [PATCH 3/3] fix tests by ensuring the budibase connection is expanded --- packages/builder/cypress/support/commands.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index 2b27b294fb..8bda515fbc 100644 --- a/packages/builder/cypress/support/commands.js +++ b/packages/builder/cypress/support/commands.js @@ -37,7 +37,7 @@ Cypress.Commands.add("createApp", name => { cy.contains("Create app").click() }) .then(() => { - cy.get(".icon.arrow").eq(0).click() + cy.expandBudibaseConnection() cy.get(".nav-item.selected > .content").should("be.visible") }) }) @@ -82,7 +82,7 @@ Cypress.Commands.add("createTable", tableName => { Cypress.Commands.add("addColumn", (tableName, columnName, type) => { // Select Table - //cy.get(".icon.arrow").eq(0).click() + 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() +})