From fe579a3543606161083d8d2d50c09b9d179da1c6 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:03:58 +0530 Subject: [PATCH 01/11] test: remove wait from LTAR Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- scripts/cypress/integration/common/3f_link_to_another_record.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cypress/integration/common/3f_link_to_another_record.js b/scripts/cypress/integration/common/3f_link_to_another_record.js index 8e072ee185..6c040384dc 100644 --- a/scripts/cypress/integration/common/3f_link_to_another_record.js +++ b/scripts/cypress/integration/common/3f_link_to_another_record.js @@ -6,7 +6,7 @@ export const genTest = (apiType, dbType) => { if (!isTestSuiteActive(apiType, dbType)) return; // tbd: this needs a proper fix - let waitTime = 2000; + let waitTime = 0; let clear; describe(`${apiType.toUpperCase()} api - Link to another record`, () => { From 71b7d1ddffa71e68c7b979fe7c20445c1e93f994 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Sun, 2 Oct 2022 22:10:44 +0530 Subject: [PATCH 02/11] test: use closeTableTab() across files Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- .../common/00_pre_configurations.js | 7 +----- .../integration/common/3c_lookup_column.js | 11 -------- .../integration/common/3d_rollup_column.js | 10 -------- .../integration/common/5a_user_role.js | 9 +------ .../integration/common/9a_QuickTest.js | 4 +-- scripts/cypress/support/commands.js | 25 ++++++++++++------- .../cypress/support/page_objects/mainPage.js | 12 +-------- .../support/page_objects/navigation.js | 14 +---------- 8 files changed, 21 insertions(+), 71 deletions(-) diff --git a/scripts/cypress/integration/common/00_pre_configurations.js b/scripts/cypress/integration/common/00_pre_configurations.js index baff649a0d..a600f7e275 100644 --- a/scripts/cypress/integration/common/00_pre_configurations.js +++ b/scripts/cypress/integration/common/00_pre_configurations.js @@ -243,12 +243,7 @@ export const genTest = (apiType, dbType) => { // wait for tab to be rendered completely cy.wait(2000); - - cy.getSettled("button.ant-tabs-tab-remove") - .should("be.visible") - .click(); - cy.get("button.ant-tabs-tab-remove").should("not.exist"); - cy.wait(2000); + cy.closeTableTab(); // first instance of updating local storage information cy.saveLocalStorage(); diff --git a/scripts/cypress/integration/common/3c_lookup_column.js b/scripts/cypress/integration/common/3c_lookup_column.js index 7980380009..4777dbd79a 100644 --- a/scripts/cypress/integration/common/3c_lookup_column.js +++ b/scripts/cypress/integration/common/3c_lookup_column.js @@ -11,18 +11,7 @@ export const genTest = (apiType, dbType) => { cy.get("label").contains(label).parents(".ant-row").click(); }; - // Run once before test- create project (rest/graphql) - // // before(() => { - // cy.fileHook(); - // mainPage.tabReset(); - // // open a table to work on views - // // - // - // // // close team & auth tab - // // cy.get('button.ant-tabs-tab-remove').should('exist').click(); - // - // cy.openTableTab("City", 25); // }); beforeEach(() => { diff --git a/scripts/cypress/integration/common/3d_rollup_column.js b/scripts/cypress/integration/common/3d_rollup_column.js index 30d35e5ce9..972cdb4ebf 100644 --- a/scripts/cypress/integration/common/3d_rollup_column.js +++ b/scripts/cypress/integration/common/3d_rollup_column.js @@ -11,17 +11,7 @@ export const genTest = (apiType, dbType) => { cy.get("label").contains(label).parents(".ant-row").click(); }; - // Run once before test- create project (rest/graphql) - // // before(() => { - // cy.fileHook(); - // mainPage.tabReset(); - // - // // // close team & auth tab - // // cy.get('button.ant-tabs-tab-remove').should('exist').click(); - // // open a table to work on views - // // - // cy.openTableTab("Country", 25); // }); beforeEach(() => { diff --git a/scripts/cypress/integration/common/5a_user_role.js b/scripts/cypress/integration/common/5a_user_role.js index 85d0a48b8f..336fc0a28a 100644 --- a/scripts/cypress/integration/common/5a_user_role.js +++ b/scripts/cypress/integration/common/5a_user_role.js @@ -145,14 +145,7 @@ export const genTest = (apiType, dbType) => { } if (roleType === "creator") { - // kludge: wait for page load to finish - // close team & auth tab - // cy.wait(500); - // cy.get("button.ant-tabs-tab-remove").should("exist").click(); - cy.getSettled("button.ant-tabs-tab-remove") - .should("be.visible") - .click(); - cy.wait(2000); + cy.closeTableTab(); } cy.saveLocalStorage(); diff --git a/scripts/cypress/integration/common/9a_QuickTest.js b/scripts/cypress/integration/common/9a_QuickTest.js index 6487b4c297..97af0e9666 100644 --- a/scripts/cypress/integration/common/9a_QuickTest.js +++ b/scripts/cypress/integration/common/9a_QuickTest.js @@ -113,9 +113,7 @@ export const genTest = (apiType, dbType, testMode) => { // kludge: wait for page load to finish cy.wait(2000); - // close team & auth tab - cy.get("button.ant-tabs-tab-remove").should("exist").click(); - cy.wait(2000); + cy.closeTableTab(); } else { cy.restoreLocalStorage(); } diff --git a/scripts/cypress/support/commands.js b/scripts/cypress/support/commands.js index 2c32a5d676..3ad20e6961 100644 --- a/scripts/cypress/support/commands.js +++ b/scripts/cypress/support/commands.js @@ -189,17 +189,24 @@ Cypress.Commands.add("openTableTab", (tn, rc) => { Cypress.Commands.add("closeTableTab", (tn) => { cy.task("log", `[closeTableTab] ${tn}`); - cy.get(".ant-tabs-tab-btn") - .contains(tn) - .should("exist") - .parent() - .parent() - .parent() - .find("button") - .click(); + if (tn) { + // request to close specific tab + cy.get(".ant-tabs-tab-btn") + .contains(tn) + .should("exist") + .parent() + .parent() + .parent() + .find("button") + .click(); + } else { + // lone tab active; close it + cy.getSettled("button.ant-tabs-tab-remove").should("be.visible").click(); + cy.get("button.ant-tabs-tab-remove").should("not.exist"); + } // subsequent tab open commands will fail if tab is not closed completely - cy.wait(2000) + cy.wait(2000); }); Cypress.Commands.add("openOrCreateGqlProject", (_args) => { diff --git a/scripts/cypress/support/page_objects/mainPage.js b/scripts/cypress/support/page_objects/mainPage.js index 0d0eef2833..ab4f9f0692 100644 --- a/scripts/cypress/support/page_objects/mainPage.js +++ b/scripts/cypress/support/page_objects/mainPage.js @@ -615,17 +615,7 @@ export class _mainPage { }); } - tabReset() { - // temporary disable (kludge) - // mainPage.toolBarTopLeft(mainPage.HOME).click({ force: true }); - // cy.get(".project-row").should("exist").click({ force: true }); - // projectsPage.waitHomePageLoad(); - // option-2 - // cy.openTableTab("Country", 0); - // cy.get(".mdi-close").click({ multiple: true }); - // cy.get("button.ant-tabs-tab-remove").click({ multiple: true }); - // cy.get('.ant-tabs-tab-remove').should('not.exist') - } + tabReset() {} toggleRightSidebar() { cy.get(".nc-toggle-right-navbar").should("exist").click(); diff --git a/scripts/cypress/support/page_objects/navigation.js b/scripts/cypress/support/page_objects/navigation.js index 0437237500..3814513129 100644 --- a/scripts/cypress/support/page_objects/navigation.js +++ b/scripts/cypress/support/page_objects/navigation.js @@ -70,16 +70,6 @@ export class _loginPage { loginAndOpenProject(apiType, dbType) { loginPage.signIn(roles.owner.credentials); projectsPage.openConfiguredProject(apiType, dbType); - // if (dbType === "mysql") { - // projectsPage.openProject(staticProjects.externalREST.basic.name); - // } else if (dbType === "xcdb") { - // projectsPage.openProject(staticProjects.sampleREST.basic.name); - // } else if (dbType === "postgres") { - // projectsPage.openProject(staticProjects.pgExternalREST.basic.name); - // } - // - // // close team & auth tab - // cy.get('button.ant-tabs-tab-remove').should('exist').click(); } } @@ -108,9 +98,7 @@ export class _projectsPage { cy.wait("@waitForPageLoad"); // close team & auth tab - cy.getSettled("button.ant-tabs-tab-remove").should("be.visible").click(); - cy.get("button.ant-tabs-tab-remove").should("not.exist"); - cy.wait(2000); + cy.closeTableTab(); } // Open existing project From cb0bf402f15ac1e5ed1354d0bf74aa7b4e88004a Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Sun, 2 Oct 2022 22:35:33 +0530 Subject: [PATCH 03/11] test: cleanup Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- .../common/1b_table_column_operations.js | 4 +-- .../integration/common/3c_lookup_column.js | 4 +-- .../integration/common/3d_rollup_column.js | 4 +-- .../integration/common/3e_duration_column.js | 8 ++---- .../common/3f_link_to_another_record.js | 25 ------------------- scripts/cypress/support/commands.js | 6 +++++ .../support/page_objects/navigation.js | 8 ++---- 7 files changed, 13 insertions(+), 46 deletions(-) diff --git a/scripts/cypress/integration/common/1b_table_column_operations.js b/scripts/cypress/integration/common/1b_table_column_operations.js index f1d53f0895..e01b1a97a4 100644 --- a/scripts/cypress/integration/common/1b_table_column_operations.js +++ b/scripts/cypress/integration/common/1b_table_column_operations.js @@ -75,9 +75,7 @@ export const genTest = (apiType, dbType) => { .find(".nc-column-edit") .click(); - // fix me! wait till the modal rendering (input highlight) is completed - // focus shifts back to the input field to select text after the dropdown is rendered - cy.wait(500); + cy.inputHighlightRenderWait(); // change column type and verify // cy.get(".nc-column-type-input").last().click(); diff --git a/scripts/cypress/integration/common/3c_lookup_column.js b/scripts/cypress/integration/common/3c_lookup_column.js index 4777dbd79a..6f76e89c6f 100644 --- a/scripts/cypress/integration/common/3c_lookup_column.js +++ b/scripts/cypress/integration/common/3c_lookup_column.js @@ -49,9 +49,7 @@ export const genTest = (apiType, dbType) => { .contains("Lookup") .click(); - // fix me! wait till the modal rendering (input highlight) is completed - // focus shifts back to the input field to select text after the dropdown is rendered - cy.wait(500); + cy.inputHighlightRenderWait(); // Configure Child table & column names fetchParentFromLabel("Child table"); diff --git a/scripts/cypress/integration/common/3d_rollup_column.js b/scripts/cypress/integration/common/3d_rollup_column.js index 972cdb4ebf..28af98540d 100644 --- a/scripts/cypress/integration/common/3d_rollup_column.js +++ b/scripts/cypress/integration/common/3d_rollup_column.js @@ -54,9 +54,7 @@ export const genTest = (apiType, dbType) => { .contains("Rollup") .click(); - // fix me! wait till the modal rendering (input highlight) is completed - // focus shifts back to the input field to select text after the dropdown is rendered - cy.wait(500); + cy.inputHighlightRenderWait(); // Configure Child table & column names fetchParentFromLabel("Child table"); diff --git a/scripts/cypress/integration/common/3e_duration_column.js b/scripts/cypress/integration/common/3e_duration_column.js index ce7691d5ca..8824b1eaf0 100644 --- a/scripts/cypress/integration/common/3e_duration_column.js +++ b/scripts/cypress/integration/common/3e_duration_column.js @@ -57,9 +57,7 @@ export const genTest = (apiType, dbType) => { .contains("Duration") .click(); - // fix me! wait till the modal rendering (input highlight) is completed - // focus shifts back to the input field to select text after the dropdown is rendered - cy.wait(500); + cy.inputHighlightRenderWait(); // Configure Duration format fetchParentFromLabel("Duration Format"); @@ -101,9 +99,7 @@ export const genTest = (apiType, dbType) => { .clear() .type(newName); - // fix me! wait till the modal rendering (input highlight) is completed - // focus shifts back to the input field to select text after the dropdown is rendered - cy.wait(500); + cy.inputHighlightRenderWait(); // Configure Duration format fetchParentFromLabel("Duration Format"); diff --git a/scripts/cypress/integration/common/3f_link_to_another_record.js b/scripts/cypress/integration/common/3f_link_to_another_record.js index 6c040384dc..7414773786 100644 --- a/scripts/cypress/integration/common/3f_link_to_another_record.js +++ b/scripts/cypress/integration/common/3f_link_to_another_record.js @@ -185,7 +185,6 @@ export const genTest = (apiType, dbType) => { // Click on `Add new row` button cy.get(".nc-add-new-row-btn:visible").should("exist"); cy.get(".nc-add-new-row-btn").click(); - cy.wait(waitTime); // Title cy.get(".nc-expand-col-Title") @@ -205,32 +204,26 @@ export const genTest = (apiType, dbType) => { .find(".nc-action-icon") .should("exist") .click({ force: true }); - cy.wait(waitTime); cy.wait("@waitForCardLoad"); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(0) .click(); - cy.wait(waitTime); // MM cy.get(".nc-expand-col-Sheet1.List").find(".ant-btn-primary").click(); - cy.wait(waitTime); cy.wait("@waitForCardLoad"); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(0) .click(); - cy.wait(waitTime); // HM cy.get(".nc-expand-col-Link2-1hm").find(".ant-btn-primary").click(); - cy.wait(waitTime); cy.wait("@waitForCardLoad"); cy.getActiveModal().find(".ant-card").should("exist").eq(0).click(); - cy.wait(waitTime); // Save row cy.getActiveDrawer(".nc-drawer-expanded-form") @@ -256,13 +249,11 @@ export const genTest = (apiType, dbType) => { .getCell("Sheet1", 2) .find(".nc-action-icon") .click({ force: true }); - cy.wait(waitTime); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(1) .click(); - cy.wait(waitTime); // MM mainPage @@ -270,13 +261,11 @@ export const genTest = (apiType, dbType) => { .find(".nc-action-icon") .last() .click({ force: true }); - cy.wait(waitTime); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(1) .click(); - cy.wait(waitTime); // HM mainPage @@ -284,13 +273,11 @@ export const genTest = (apiType, dbType) => { .find(".nc-action-icon") .last() .click({ force: true }); - cy.wait(waitTime); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(1) .click(); - cy.wait(waitTime); }); // Existing row, expand record @@ -300,49 +287,37 @@ export const genTest = (apiType, dbType) => { addRow(3, "2c"); - cy.wait(waitTime); cy.get(".nc-row-expand").eq(2).click({ force: true }); - cy.wait(waitTime); // wait for page render to complete cy.get('button:contains("Save row"):visible').should("exist"); // BT - cy.wait(waitTime); cy.get(".nc-expand-col-Sheet1") .find(".nc-action-icon") .should("exist") .click({ force: true }); - cy.wait(waitTime); - // cy.wait("@waitForCardLoad"); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(2) .click(); - cy.wait(waitTime); // MM cy.get(".nc-expand-col-Sheet1.List").find(".ant-btn-primary").click(); - cy.wait(waitTime); - // cy.wait("@waitForCardLoad"); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(2) .click(); - cy.wait(waitTime); // HM cy.get(".nc-expand-col-Link2-1hm").find(".ant-btn-primary").click(); - cy.wait(waitTime); - // cy.wait("@waitForCardLoad"); cy.getActiveModal(".nc-modal-link-record") .find(".ant-card") .should("exist") .eq(2) .click(); - cy.wait(waitTime); cy.getActiveDrawer(".nc-drawer-expanded-form") .find("button") diff --git a/scripts/cypress/support/commands.js b/scripts/cypress/support/commands.js index 3ad20e6961..a1734a933a 100644 --- a/scripts/cypress/support/commands.js +++ b/scripts/cypress/support/commands.js @@ -410,6 +410,12 @@ Cypress.Commands.add("toastWait", (msg) => { ); }); +Cypress.Commands.add("inputHighlightRenderWait", (selector) => { + // fix me! wait till the modal rendering (input highlight) is completed + // focus shifts back to the input field to select text after the dropdown is rendered + cy.wait(500); +}); + // vn: view name // rc: expected row count. validate row count if rc!=0 Cypress.Commands.add("openViewsTab", (vn, rc) => { diff --git a/scripts/cypress/support/page_objects/navigation.js b/scripts/cypress/support/page_objects/navigation.js index 3814513129..938350a238 100644 --- a/scripts/cypress/support/page_objects/navigation.js +++ b/scripts/cypress/support/page_objects/navigation.js @@ -139,9 +139,7 @@ export class _projectsPage { cy.get(".nc-metadb-project-name").should("exist"); cy.contains("button", "Create").should("exist"); - // fix me! wait till the modal rendering (input highlight) is completed - // focus shifts back to the input field to select text after the dropdown is rendered - cy.wait(1000); + cy.inputHighlightRenderWait(); // feed project name cy.get(".nc-metadb-project-name", { timeout: 20000 }) @@ -171,9 +169,7 @@ export class _projectsPage { cy.get(".nc-extdb-proj-name").should("exist"); cy.get(".nc-extdb-btn-test-connection").should("exist"); - // fix me! wait till the modal rendering (input highlight) is completed - // focus shifts back to the input field to select text after the dropdown is rendered - cy.wait(1000); + cy.inputHighlightRenderWait(); cy.get(".nc-extdb-proj-name").clear().type(projectName); From b854b4004649429916bca90ec17f9cff7a360d6d Mon Sep 17 00:00:00 2001 From: Shashank Bhat G S <76593166+shashankbhatgs@users.noreply.github.com> Date: Mon, 3 Oct 2022 18:20:28 +0530 Subject: [PATCH 04/11] [DOCS] Add LICENSE link to ReadMe --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 5dfca4057e..bc3f188f61 100644 --- a/README.md +++ b/README.md @@ -263,6 +263,7 @@ Access Dashboard using : [http://localhost:8080/dashboard](http://localhost:8080 - [Contributing](#contributing) - [Why are we building this?](#why-are-we-building-this) - [Our Mission](#our-mission) +- [License](#license) - [Contributors](#contributors) # Features @@ -323,6 +324,11 @@ Most internet businesses equip themselves with either spreadsheet or a database # Our Mission Our mission is to provide the most powerful no-code interface for databases which is open source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on internet. +# License +

+This project is Licensed under the GNU License. Please go through the License atleast once before making your contribution.

+
+ # Contributors [//]: contributor-faces From 0e990408cd87b76b3aee2ad16ef8ebde6e781c3e Mon Sep 17 00:00:00 2001 From: Naveen MR Date: Mon, 3 Oct 2022 16:48:11 +0100 Subject: [PATCH 05/11] update readme.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bc3f188f61..b31be1e977 100644 --- a/README.md +++ b/README.md @@ -326,7 +326,7 @@ Our mission is to provide the most powerful no-code interface for databases whic # License

-This project is Licensed under the GNU License. Please go through the License atleast once before making your contribution.

+This project is licensed under the AGPLv3.


# Contributors From 1df271d9ba37a44c111122d88094cf61bde5bbaa Mon Sep 17 00:00:00 2001 From: Naveen MR Date: Mon, 3 Oct 2022 16:48:34 +0100 Subject: [PATCH 06/11] update readme.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b31be1e977..7f80e9901e 100644 --- a/README.md +++ b/README.md @@ -326,7 +326,7 @@ Our mission is to provide the most powerful no-code interface for databases whic # License

-This project is licensed under the AGPLv3.

+This project is licensed under the license AGPLv3.


# Contributors From 69ba15e4e58993ec3fefd777365830942121221a Mon Sep 17 00:00:00 2001 From: Naveen MR Date: Mon, 3 Oct 2022 16:49:11 +0100 Subject: [PATCH 07/11] update readme.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f80e9901e..afae6b7373 100644 --- a/README.md +++ b/README.md @@ -326,7 +326,7 @@ Our mission is to provide the most powerful no-code interface for databases whic # License

-This project is licensed under the license AGPLv3.

+This project is licensed under AGPLv3.


# Contributors From b85a24b88c91c951b15a27273151ab425979ca03 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sat, 1 Oct 2022 11:46:10 +0200 Subject: [PATCH 08/11] refactor(nc-gui): update logo animation --- packages/nc-gui/assets/style.scss | 2 +- packages/nc-gui/components/general/NocoIcon.vue | 14 +++++++++++--- packages/nc-gui/pages/forgot-password.vue | 5 +---- packages/nc-gui/pages/index/index/[projectId].vue | 2 +- .../nc-gui/pages/index/index/create-external.vue | 2 +- packages/nc-gui/pages/index/index/create.vue | 2 +- packages/nc-gui/pages/signin.vue | 5 +---- packages/nc-gui/pages/signup/[[token]].vue | 5 +---- 8 files changed, 18 insertions(+), 19 deletions(-) diff --git a/packages/nc-gui/assets/style.scss b/packages/nc-gui/assets/style.scss index f1d7e48405..8efde1f0d2 100644 --- a/packages/nc-gui/assets/style.scss +++ b/packages/nc-gui/assets/style.scss @@ -100,7 +100,7 @@ a { } .animated-bg-gradient { - background: linear-gradient(122deg, #6f3381, #81c7d4, #fedfe1, #9ee59e); + background: linear-gradient(122deg, #6f3381, #ec4899, #fedfe1, #4351e8); background-size: 800% 800%; -webkit-animation: gradient 4s ease infinite; diff --git a/packages/nc-gui/components/general/NocoIcon.vue b/packages/nc-gui/components/general/NocoIcon.vue index b7d54dd9e9..8b2ae0a1bd 100644 --- a/packages/nc-gui/components/general/NocoIcon.vue +++ b/packages/nc-gui/components/general/NocoIcon.vue @@ -2,13 +2,21 @@ interface Props { width?: number height?: number + animate?: boolean } -const { width = 90, height = 90 } = defineProps() +const { width = 90, height = 90, animate = false } = defineProps() diff --git a/packages/nc-gui/pages/forgot-password.vue b/packages/nc-gui/pages/forgot-password.vue index 5bb1ce1232..cb5e1e6798 100644 --- a/packages/nc-gui/pages/forgot-password.vue +++ b/packages/nc-gui/pages/forgot-password.vue @@ -55,10 +55,7 @@ function resetError() {
- +

{{ $t('title.resetPassword') }}

diff --git a/packages/nc-gui/pages/index/index/[projectId].vue b/packages/nc-gui/pages/index/index/[projectId].vue index d8d529348a..d57bfb1d7f 100644 --- a/packages/nc-gui/pages/index/index/[projectId].vue +++ b/packages/nc-gui/pages/index/index/[projectId].vue @@ -68,7 +68,7 @@ onMounted(async () => {
- +
{
- +
{
- +
- +

{{ $t('general.signIn') }}

diff --git a/packages/nc-gui/pages/signup/[[token]].vue b/packages/nc-gui/pages/signup/[[token]].vue index 52e6905ca4..918482b20e 100644 --- a/packages/nc-gui/pages/signup/[[token]].vue +++ b/packages/nc-gui/pages/signup/[[token]].vue @@ -85,10 +85,7 @@ function resetError() {
- +

{{ $t('general.signUp') }} From 02805348d2a5d44237c584d50690d5fae27da0ae Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Fri, 30 Sep 2022 09:52:32 +0200 Subject: [PATCH 09/11] feat(nc-gui): add search tables input to tree view --- packages/nc-gui/assets/style.scss | 22 +++++++++++++ .../nc-gui/components/dashboard/TreeView.vue | 31 ++++++++++++++----- .../pages/[projectType]/[projectId]/index.vue | 2 +- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/packages/nc-gui/assets/style.scss b/packages/nc-gui/assets/style.scss index f1d7e48405..3caa6abf4c 100644 --- a/packages/nc-gui/assets/style.scss +++ b/packages/nc-gui/assets/style.scss @@ -168,6 +168,28 @@ a { transform: translate(-100%, 0); } +.slide-right-enter-active, +.slide-right-leave-active { + transition: all 400ms ease; +} + +.slide-right-enter-from, +.slide-right-leave-to { + transform: translate(100%, 0%); + opacity: 0; +} + +.slide-left-enter-active, +.slide-left-leave-active { + transition: all 400ms ease; +} + +.slide-left-enter-from, +.slide-left-leave-to { + transform: translate(-100%, 0%); + opacity: 0; +} + .glow-enter-active, .glow-leave-active { @apply transition-all duration-300 ease-in-out; diff --git a/packages/nc-gui/components/dashboard/TreeView.vue b/packages/nc-gui/components/dashboard/TreeView.vue index d8a0c5ae63..6bba577e05 100644 --- a/packages/nc-gui/components/dashboard/TreeView.vue +++ b/packages/nc-gui/components/dashboard/TreeView.vue @@ -14,6 +14,7 @@ import { useProject, useTable, useTabs, + useToggle, useUIPermission, watchEffect, } from '#imports' @@ -33,6 +34,8 @@ const { deleteTable } = useTable() const { isUIAllowed } = useUIPermission() +const [searchActive, toggleSearchActive] = useToggle() + const isLocked = inject('TreeViewIsLockedInj') let key = $ref(0) @@ -126,8 +129,6 @@ const contextMenuTarget = reactive<{ type?: 'table' | 'main'; value?: any }>({}) const setMenuContext = (type: 'table' | 'main', value?: any) => { contextMenuTarget.type = type contextMenuTarget.value = value - - // $e('c:table:create:navdraw:right-click') } const reloadTables = async () => { @@ -215,12 +216,26 @@ function openTableCreateDialog() {
-
- - {{ $t('objects.tables') }} - - - +
+ + + + + {{ $t('objects.tables') }} + + + + + + + + +
diff --git a/packages/nc-gui/pages/[projectType]/[projectId]/index.vue b/packages/nc-gui/pages/[projectType]/[projectId]/index.vue index a2781409d7..e92b11b5d0 100644 --- a/packages/nc-gui/pages/[projectType]/[projectId]/index.vue +++ b/packages/nc-gui/pages/[projectType]/[projectId]/index.vue @@ -186,7 +186,7 @@ onBeforeUnmount(reset) >
Date: Tue, 4 Oct 2022 16:27:00 +0700 Subject: [PATCH 10/11] Update README.md Adding Logo Nocodb To Make Readme more aesthetic & Users Familiar With Nocodb's logo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index afae6b7373..bbac6c92a2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- NocoDB
+
NocoDB

The Open Source Airtable Alternative

From 84552d99561c9e68c2fcc4a0ad29ea988fc52031 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Wed, 5 Oct 2022 00:33:01 +0200 Subject: [PATCH 11/11] fix(nc-gui): ring opacity --- packages/nc-gui/assets/style.scss | 10 +++---- .../components/cell/attachment/Carousel.vue | 2 +- .../components/cell/attachment/Modal.vue | 6 ++-- .../components/cell/attachment/index.vue | 4 +-- .../nc-gui/components/dashboard/TreeView.vue | 2 +- .../nc-gui/components/general/MiniSidebar.vue | 2 +- packages/nc-gui/layouts/base.vue | 6 ++-- .../[projectType]/form/[viewId]/index.vue | 20 +------------ packages/nc-gui/pages/forgot-password.vue | 24 ++-------------- .../nc-gui/pages/index/index/[projectId].vue | 24 ++-------------- packages/nc-gui/pages/index/index/create.vue | 22 ++------------- packages/nc-gui/pages/index/index/index.vue | 4 +-- packages/nc-gui/pages/index/user/index.vue | 8 ++---- packages/nc-gui/pages/signin.vue | 24 ++-------------- packages/nc-gui/pages/signup/[[token]].vue | 28 ++++--------------- packages/nc-gui/windi.config.ts | 4 +++ 16 files changed, 41 insertions(+), 149 deletions(-) diff --git a/packages/nc-gui/assets/style.scss b/packages/nc-gui/assets/style.scss index c01000b6af..7df65992f7 100644 --- a/packages/nc-gui/assets/style.scss +++ b/packages/nc-gui/assets/style.scss @@ -87,7 +87,7 @@ a { } // for highlighting toolbar menu item -.nc-active-btn > .ant-btn{ +.nc-active-btn > .ant-btn { @apply bg-primary bg-opacity-20 hover:(bg-primary bg-opacity-20); } @@ -205,10 +205,10 @@ a { } .scaling-btn { - @apply z-1 relative color-transition border border-gray-300 rounded-md p-3 bg-gray-100/50 text-white; + @apply z-1 relative color-transition rounded-md px-4 py-2 text-white; &::after { - @apply rounded-md absolute top-0 left-0 right-0 bottom-0 transition-all duration-150 ease-in-out bg-primary; + @apply ring-opacity-100 ring-[2px] ring-slate-300 rounded absolute top-0 left-0 right-0 bottom-0 transition-all duration-150 ease-in-out bg-primary bg-opacity-100; content: ''; z-index: -1; } @@ -255,7 +255,7 @@ a { } .ant-dropdown-menu-item, .ant-menu-item { - @apply !py-0 active:(ring ring-accent); + @apply !py-0 active:(ring ring-accent ring-opacity-100); } .ant-dropdown-menu-title-content, @@ -263,7 +263,7 @@ a { @apply !py-0; } -.ant-dropdown-menu-submenu-title{ +.ant-dropdown-menu-submenu-title { @apply !pr-2; } diff --git a/packages/nc-gui/components/cell/attachment/Carousel.vue b/packages/nc-gui/components/cell/attachment/Carousel.vue index 85d28c8b5e..7b9b866b90 100644 --- a/packages/nc-gui/components/cell/attachment/Carousel.vue +++ b/packages/nc-gui/components/cell/attachment/Carousel.vue @@ -55,7 +55,7 @@ onClickOutside(carouselRef, () => {

{{ selectedImage && selectedImage.title }}

diff --git a/packages/nc-gui/components/cell/attachment/Modal.vue b/packages/nc-gui/components/cell/attachment/Modal.vue index f8937b9821..614acc1a39 100644 --- a/packages/nc-gui/components/cell/attachment/Modal.vue +++ b/packages/nc-gui/components/cell/attachment/Modal.vue @@ -89,7 +89,7 @@ function onClick(item: Record) {
Drop here
@@ -161,7 +161,7 @@ function onClick(item: Record) { .nc-attach-file { @apply select-none cursor-pointer color-transition flex items-center gap-1 border-1 p-2 rounded @apply hover:(bg-primary bg-opacity-10 text-primary ring); - @apply active:(ring-accent bg-primary bg-opacity-20); + @apply active:(ring-accent ring-opacity-100 bg-primary bg-opacity-20); } .nc-attachment-item { @@ -182,7 +182,7 @@ function onClick(item: Record) { } &:active::after { - @apply ring ring-accent shadow transform scale-103; + @apply ring ring-accent ring-opacity-100 shadow transform scale-103; } } } diff --git a/packages/nc-gui/components/cell/attachment/index.vue b/packages/nc-gui/components/cell/attachment/index.vue index 6cce014d47..c601770a64 100644 --- a/packages/nc-gui/components/cell/attachment/index.vue +++ b/packages/nc-gui/components/cell/attachment/index.vue @@ -135,7 +135,7 @@ const { isSharedForm } = useSmartsheetStoreOrThrow() v-model="isOverDropZone" inline :target="currentCellRef" - class="text-white text-lg ring ring-accent bg-gray-700/75 flex items-center justify-center gap-2 backdrop-blur-xl" + class="group cursor-pointer flex gap-1 items-center active:(ring ring-accent ring-opacity-100) rounded border-1 p-1 shadow-sm hover:(bg-primary bg-opacity-10) dark:(!bg-slate-500)" > Drop here
@@ -217,7 +217,7 @@ const { isSharedForm } = useSmartsheetStoreOrThrow() .nc-cell { .nc-attachment-cell { .nc-attachment { - @apply w-[50px] h-[50px] min-h-[50px] min-w-[50px]; + @apply w-[50px] h-[50px] min-h-[50px] min-w-[50px] ring-1 ring-gray-300 rounded; } .ghost, diff --git a/packages/nc-gui/components/dashboard/TreeView.vue b/packages/nc-gui/components/dashboard/TreeView.vue index 6bba577e05..14c7e8d551 100644 --- a/packages/nc-gui/components/dashboard/TreeView.vue +++ b/packages/nc-gui/components/dashboard/TreeView.vue @@ -522,7 +522,7 @@ function openTableCreateDialog() { } :deep(.ant-dropdown-menu-item) { - @apply !py-0 active:(ring ring-accent); + @apply !py-0 active:(ring ring-accent ring-opacity-100); } :deep(.ant-dropdown-menu-title-content) { diff --git a/packages/nc-gui/components/general/MiniSidebar.vue b/packages/nc-gui/components/general/MiniSidebar.vue index aa1f87d878..d023994430 100644 --- a/packages/nc-gui/components/general/MiniSidebar.vue +++ b/packages/nc-gui/components/general/MiniSidebar.vue @@ -78,7 +78,7 @@ const logout = () => { - +
{ diff --git a/packages/nc-gui/pages/[projectType]/form/[viewId]/index.vue b/packages/nc-gui/pages/[projectType]/form/[viewId]/index.vue index 3092002803..10003bdaf4 100644 --- a/packages/nc-gui/pages/[projectType]/form/[viewId]/index.vue +++ b/packages/nc-gui/pages/[projectType]/form/[viewId]/index.vue @@ -121,7 +121,7 @@ function isRequired(_columnObj: Record, required = false) {
-
@@ -162,23 +162,5 @@ function isRequired(_columnObj: Record, required = false) { .nc-input { @apply w-full rounded p-2 min-h-[40px] flex items-center border-solid border-1 border-primary; } - - .submit { - @apply z-1 relative color-transition rounded p-3 text-white shadow-sm; - - &::after { - @apply rounded absolute top-0 left-0 right-0 bottom-0 transition-all duration-150 ease-in-out bg-primary; - content: ''; - z-index: -1; - } - - &:hover::after { - @apply transform scale-110 ring ring-accent; - } - - &:active::after { - @apply ring ring-accent; - } - } } diff --git a/packages/nc-gui/pages/forgot-password.vue b/packages/nc-gui/pages/forgot-password.vue index cb5e1e6798..63e5226bc8 100644 --- a/packages/nc-gui/pages/forgot-password.vue +++ b/packages/nc-gui/pages/forgot-password.vue @@ -55,7 +55,7 @@ function resetError() {
- +

{{ $t('title.resetPassword') }}

@@ -89,7 +89,7 @@ function resetError() {
-
@@ -172,7 +172,7 @@ function resetError() { .signup { .ant-input-affix-wrapper, .ant-input { - @apply !appearance-none my-1 border-1 border-solid border-primary/50 rounded; + @apply !appearance-none my-1 border-1 border-solid border-primary border-opacity-50 rounded; } .password { @@ -180,23 +180,5 @@ function resetError() { @apply !border-none !m-0; } } - - .submit { - @apply z-1 relative color-transition rounded p-3 text-white shadow; - - &::after { - @apply rounded absolute top-0 left-0 right-0 bottom-0 transition-all duration-150 ease-in-out bg-primary; - content: ''; - z-index: -1; - } - - &:hover::after { - @apply transform scale-110 ring ring-accent; - } - - &:active::after { - @apply ring ring-accent; - } - } } diff --git a/packages/nc-gui/windi.config.ts b/packages/nc-gui/windi.config.ts index 5762ea30d4..306b909724 100644 --- a/packages/nc-gui/windi.config.ts +++ b/packages/nc-gui/windi.config.ts @@ -65,6 +65,10 @@ export default defineConfig({ primary: 'rgba(var(--color-primary), var(--tw-bg-opacity))', accent: 'rgba(var(--color-accent), var(--tw-bg-opacity))', }, + ringColor: { + primary: 'rgba(var(--color-primary), var(--tw-ring-opacity))', + accent: 'rgba(var(--color-accent), var(--tw-ring-opacity))', + }, colors: { ...windiColors, ...themeColors,