diff --git a/packages/builder/cypress/integration/createTable.spec.js b/packages/builder/cypress/integration/createTable.spec.js index d9b593171d..eda72ba36d 100644 --- a/packages/builder/cypress/integration/createTable.spec.js +++ b/packages/builder/cypress/integration/createTable.spec.js @@ -61,10 +61,10 @@ context("Create a Table", () => { }) it("deletes a table", () => { - cy.get(".ri-more-line") + cy.get(".actions > :nth-child(1) > .icon > .spectrum-Icon > use") .first() .click({ force: true }) - cy.get("[data-cy=delete-table]").click() + cy.get(".spectrum-Menu > :nth-child(2)").click() cy.contains("Delete Table").click() cy.contains("dog").should("not.exist") }) diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index 8a40a42001..70d2f1644a 100644 --- a/packages/builder/cypress/support/commands.js +++ b/packages/builder/cypress/support/commands.js @@ -9,10 +9,7 @@ export function checkIfElementExists(el) { return new Promise(resolve => { /// here if ele exists or not cy.get("body").then(body => { - const found = body.find(el) - console.log(found) - console.log(found.length) - if (found.length > 0) { + if (body.find(el).length > 0) { resolve(true) } else { resolve(false) @@ -51,7 +48,6 @@ Cypress.Commands.add("createApp", name => { cy.visit(`localhost:${Cypress.env("PORT")}/builder`) cy.wait(500) isFirstApp().then(isFirst => { - console.log(isFirst) const buttonText = isFirst ? "Create app" : "Create new app" cy.contains(buttonText).click() cy.get("body").then(() => { diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index 00e53a8c64..f68cc95e24 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -99,6 +99,7 @@ tables.deleteField(field) notifications.success(`Column ${field.name} deleted.`) confirmDeleteDialog.hide() + hide() deletion = false } } diff --git a/packages/builder/src/stores/backend/tables.js b/packages/builder/src/stores/backend/tables.js index faecf0d753..34bd5a9a24 100644 --- a/packages/builder/src/stores/backend/tables.js +++ b/packages/builder/src/stores/backend/tables.js @@ -101,6 +101,12 @@ export function createTablesStore() { // Optionally set display column if (primaryDisplay) { state.draft.primaryDisplay = field.name + } else if (state.draft.primaryDisplay === originalName) { + const fields = Object.keys(state.draft.schema) + // pick another display column randomly if unselecting + state.draft.primaryDisplay = fields.filter( + name => name !== originalName || name !== field + )[0] } if (indexes) { diff --git a/packages/server/src/api/controllers/table/index.js b/packages/server/src/api/controllers/table/index.js index 4299727135..335f87f1e5 100644 --- a/packages/server/src/api/controllers/table/index.js +++ b/packages/server/src/api/controllers/table/index.js @@ -75,8 +75,6 @@ exports.save = async function (ctx) { /* istanbul ignore next */ if (_rename && tableToSave.schema[_rename.updated].type === FieldTypes.LINK) { ctx.throw(400, "Cannot rename a linked column.") - } else if (_rename && tableToSave.primaryDisplay === _rename.old) { - ctx.throw(400, "Cannot rename the display column.") } tableToSave = await tableSaveFunctions.mid(tableToSave)