From f68c79a6e008fc8a92df84e71f98a04b03bca718 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 10 Jan 2024 13:07:48 +0000 Subject: [PATCH 1/5] fix: pass abstract type when extracting component for filter input --- packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue index 67837744fa..0ced9864d0 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue @@ -70,7 +70,7 @@ provide(EditModeInj, readonly(editEnabled)) provide(ReadonlyInj, ref(false)) -const checkTypeFunctions = { +const checkTypeFunctions: Record boolean> = { isSingleSelect, isMultiSelect, isDate, @@ -106,7 +106,7 @@ const checkType = (filterType: FilterType) => { return false } - return checkTypeFunction(column.value, abstractType) + return checkTypeFunction(column.value, abstractType.value) } const filterInput = computed({ From 5efe1a8750ecd2d8944b195009fdbf4c86282c29 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 10 Jan 2024 13:07:48 +0000 Subject: [PATCH 2/5] fix: add padding and proper border --- packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue index 0ced9864d0..b4dad3e74a 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue @@ -224,7 +224,7 @@ provide(IsFormInj, ref(true)) />
@@ -234,7 +234,7 @@ provide(IsFormInj, ref(true)) :disabled="filter.readOnly" placeholder="Enter a value" :column="column" - class="flex" + class="flex !rounded-lg" v-bind="componentProps" location="filter" @focus="isInputBoxOnFocus = true" From 3dadebb5670754864a0fb893ee23af95b672ba42 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 10 Jan 2024 13:07:48 +0000 Subject: [PATCH 3/5] test: pw fix for select related dropdown --- .../pages/Dashboard/common/Toolbar/Filter.ts | 30 ++++--------------- 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts index 547098c028..dd70d7d2d2 100644 --- a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts +++ b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts @@ -288,14 +288,8 @@ export class ToolbarFilterPage extends BasePage { .click(); break; case UITypes.MultiSelect: - await this.get() - .locator('.nc-filter-value-select') - .click({ - position: { - x: 1, - y: 1, - }, - }); + await this.get().locator('.nc-filter-value-select').waitFor(); + await this.get().locator('.nc-filter-value-select').click(); // eslint-disable-next-line no-case-declarations const v = value.split(','); for (let i = 0; i < v.length; i++) { @@ -306,14 +300,8 @@ export class ToolbarFilterPage extends BasePage { } break; case UITypes.SingleSelect: - await this.get() - .locator('.nc-filter-value-select') - .click({ - position: { - x: 1, - y: 1, - }, - }); + await this.get().locator('.nc-filter-value-select').waitFor(); + await this.get().locator('.nc-filter-value-select').click(); // check if value was an array // eslint-disable-next-line no-case-declarations const val = value.split(','); @@ -333,14 +321,8 @@ export class ToolbarFilterPage extends BasePage { break; case UITypes.User: if (!['is blank', 'is not blank'].includes(operation)) { - await this.get() - .locator('.nc-filter-value-select') - .click({ - position: { - x: 1, - y: 1, - }, - }); + await this.get().locator('.nc-filter-value-select').waitFor(); + await this.get().locator('.nc-filter-value-select').click(); const v = value.split(','); for (let i = 0; i < v.length; i++) { From 1b26f3d72f29b4740a2540ed52503f49af92b090 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 10 Jan 2024 13:07:48 +0000 Subject: [PATCH 4/5] test: fix for select field filter failure in CI --- .../playwright/pages/Dashboard/common/Toolbar/Filter.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts index dd70d7d2d2..ea783e0283 100644 --- a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts +++ b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts @@ -288,8 +288,7 @@ export class ToolbarFilterPage extends BasePage { .click(); break; case UITypes.MultiSelect: - await this.get().locator('.nc-filter-value-select').waitFor(); - await this.get().locator('.nc-filter-value-select').click(); + await this.get().locator('.nc-filter-value-select').locator('.ant-select-arrow').click({ force: true }); // eslint-disable-next-line no-case-declarations const v = value.split(','); for (let i = 0; i < v.length; i++) { @@ -300,8 +299,7 @@ export class ToolbarFilterPage extends BasePage { } break; case UITypes.SingleSelect: - await this.get().locator('.nc-filter-value-select').waitFor(); - await this.get().locator('.nc-filter-value-select').click(); + await this.get().locator('.nc-filter-value-select').locator('.ant-select-arrow').click({ force: true }); // check if value was an array // eslint-disable-next-line no-case-declarations const val = value.split(','); @@ -321,8 +319,7 @@ export class ToolbarFilterPage extends BasePage { break; case UITypes.User: if (!['is blank', 'is not blank'].includes(operation)) { - await this.get().locator('.nc-filter-value-select').waitFor(); - await this.get().locator('.nc-filter-value-select').click(); + await this.get().locator('.nc-filter-value-select').locator('.ant-select-arrow').click({ force: true }); const v = value.split(','); for (let i = 0; i < v.length; i++) { From cf9aba183ce61a33ba5e3d4ca2a4348ea98a8573 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Wed, 10 Jan 2024 13:07:49 +0000 Subject: [PATCH 5/5] test: CI fix for single select --- tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts index ea783e0283..bc90c3218b 100644 --- a/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts +++ b/tests/playwright/pages/Dashboard/common/Toolbar/Filter.ts @@ -299,7 +299,12 @@ export class ToolbarFilterPage extends BasePage { } break; case UITypes.SingleSelect: - await this.get().locator('.nc-filter-value-select').locator('.ant-select-arrow').click({ force: true }); + // for single select field, the drop select arrow is visible only for some operations + if ((await this.get().locator('.nc-filter-value-select').locator('.ant-select-arrow').count()) > 0) { + await this.get().locator('.nc-filter-value-select').locator('.ant-select-arrow').click({ force: true }); + } else { + await this.get().locator('.nc-filter-value-select').click({ force: true }); + } // check if value was an array // eslint-disable-next-line no-case-declarations const val = value.split(',');