From 6a9d825c462e18bde7307e98488792306c38925f Mon Sep 17 00:00:00 2001 From: Aleksandr Voznesenskii Date: Wed, 16 Mar 2022 16:02:15 +0100 Subject: [PATCH 1/6] fix(RecsListTable): Reset filters button behavior update --- src/Components/RecsListTable/RecsListTable.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Components/RecsListTable/RecsListTable.js b/src/Components/RecsListTable/RecsListTable.js index 0c9c870e..1ae7bd7d 100644 --- a/src/Components/RecsListTable/RecsListTable.js +++ b/src/Components/RecsListTable/RecsListTable.js @@ -419,11 +419,13 @@ const RecsListTable = ({ query }) => { }; const activeFiltersConfig = { + showDeleteButton: true, deleteTitle: intl.formatMessage(messages.resetFilters), filters: buildFilterChips(), onDelete: (_event, itemsToRemove, isAll) => { - if (isAll) { + if (isAll || filters === RECS_LIST_INITIAL_STATE) { updateFilters(RECS_LIST_INITIAL_STATE); + refetch(); } else { itemsToRemove.map((item) => { const newFilter = { From b7301642449c53793681cd5f1f5cd5758b1298ee Mon Sep 17 00:00:00 2001 From: Aleksandr Voznesenskii Date: Thu, 17 Mar 2022 13:00:00 +0100 Subject: [PATCH 2/6] fix(RecsListTable): updated the Reset filters button fixed tests that were failing due to the changes --- src/Components/RecsListTable/RecsListTable.js | 2 +- src/Components/RecsListTable/RecsListTable.spec.ct.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Components/RecsListTable/RecsListTable.js b/src/Components/RecsListTable/RecsListTable.js index 1ae7bd7d..5c372da9 100644 --- a/src/Components/RecsListTable/RecsListTable.js +++ b/src/Components/RecsListTable/RecsListTable.js @@ -423,7 +423,7 @@ const RecsListTable = ({ query }) => { deleteTitle: intl.formatMessage(messages.resetFilters), filters: buildFilterChips(), onDelete: (_event, itemsToRemove, isAll) => { - if (isAll || filters === RECS_LIST_INITIAL_STATE) { + if (isAll) { updateFilters(RECS_LIST_INITIAL_STATE); refetch(); } else { diff --git a/src/Components/RecsListTable/RecsListTable.spec.ct.js b/src/Components/RecsListTable/RecsListTable.spec.ct.js index 8f38384e..314916bf 100644 --- a/src/Components/RecsListTable/RecsListTable.spec.ct.js +++ b/src/Components/RecsListTable/RecsListTable.spec.ct.js @@ -126,6 +126,7 @@ describe('successful non-empty recommendations list table', () => { isUninitialized: false, isSuccess: true, data: data, + refetch: cy.stub(), }} /> From 9d0467db2672d6b19b9cf77fa1e334f5aa3d27e2 Mon Sep 17 00:00:00 2001 From: Aleksandr Voznesenskii Date: Thu, 17 Mar 2022 13:36:36 +0100 Subject: [PATCH 3/6] fix(RecsListPage): updated the Reset Filters code --- src/Components/RecsListTable/RecsListTable.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Components/RecsListTable/RecsListTable.js b/src/Components/RecsListTable/RecsListTable.js index 5c372da9..9b3a5842 100644 --- a/src/Components/RecsListTable/RecsListTable.js +++ b/src/Components/RecsListTable/RecsListTable.js @@ -423,7 +423,10 @@ const RecsListTable = ({ query }) => { deleteTitle: intl.formatMessage(messages.resetFilters), filters: buildFilterChips(), onDelete: (_event, itemsToRemove, isAll) => { - if (isAll) { + if ( + (filters == RECS_LIST_INITIAL_STATE && isAll) || + (itemsToRemove.length === 0 && isAll) + ) { updateFilters(RECS_LIST_INITIAL_STATE); refetch(); } else { From 0a65b01cecb4f658c068673fd33a3a11ead4fb04 Mon Sep 17 00:00:00 2001 From: Aleksandr Voznesenskii Date: Thu, 17 Mar 2022 14:53:01 +0100 Subject: [PATCH 4/6] updated the IF check for the reset filters button --- src/Components/RecsListTable/RecsListTable.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Components/RecsListTable/RecsListTable.js b/src/Components/RecsListTable/RecsListTable.js index 9b3a5842..bd0e1e3c 100644 --- a/src/Components/RecsListTable/RecsListTable.js +++ b/src/Components/RecsListTable/RecsListTable.js @@ -418,14 +418,23 @@ const RecsListTable = ({ query }) => { return pruneFilters(localFilters, FILTER_CATEGORIES); }; + console.log(RECS_LIST_INITIAL_STATE); const activeFiltersConfig = { showDeleteButton: true, deleteTitle: intl.formatMessage(messages.resetFilters), filters: buildFilterChips(), onDelete: (_event, itemsToRemove, isAll) => { if ( - (filters == RECS_LIST_INITIAL_STATE && isAll) || - (itemsToRemove.length === 0 && isAll) + itemsToRemove.length === 2 && + itemsToRemove[0].chips[0].name.props.children === '1 or more' && + itemsToRemove[1].chips[0].name.props.children === 'Enabled' && + isAll + ) { + refetch(); + } else if ( + (itemsToRemove.length === 0 && isAll) || + (itemsToRemove.length === 1 && isAll) || + isAll ) { updateFilters(RECS_LIST_INITIAL_STATE); refetch(); From 559cad2b447c783626a97c1cf322e00dbb1f80e7 Mon Sep 17 00:00:00 2001 From: Aleksandr Voznesenskii Date: Fri, 18 Mar 2022 12:03:22 +0100 Subject: [PATCH 5/6] Rewrote the if check using lodash library Repaired 2 tests that were broken --- src/Components/RecsListTable/RecsListTable.js | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/src/Components/RecsListTable/RecsListTable.js b/src/Components/RecsListTable/RecsListTable.js index bd0e1e3c..cf385316 100644 --- a/src/Components/RecsListTable/RecsListTable.js +++ b/src/Components/RecsListTable/RecsListTable.js @@ -19,6 +19,7 @@ import { PaginationVariant, } from '@patternfly/react-core/dist/js/components/Pagination'; import { Stack } from '@patternfly/react-core/dist/js/layouts/Stack'; +import { isEqual } from 'lodash'; import { Tooltip, TooltipPosition, @@ -418,26 +419,17 @@ const RecsListTable = ({ query }) => { return pruneFilters(localFilters, FILTER_CATEGORIES); }; - console.log(RECS_LIST_INITIAL_STATE); const activeFiltersConfig = { showDeleteButton: true, deleteTitle: intl.formatMessage(messages.resetFilters), filters: buildFilterChips(), onDelete: (_event, itemsToRemove, isAll) => { - if ( - itemsToRemove.length === 2 && - itemsToRemove[0].chips[0].name.props.children === '1 or more' && - itemsToRemove[1].chips[0].name.props.children === 'Enabled' && - isAll - ) { - refetch(); - } else if ( - (itemsToRemove.length === 0 && isAll) || - (itemsToRemove.length === 1 && isAll) || - isAll - ) { - updateFilters(RECS_LIST_INITIAL_STATE); - refetch(); + if (isAll) { + if (isEqual(filters, RECS_LIST_INITIAL_STATE)) { + refetch(); + } else { + updateFilters(RECS_LIST_INITIAL_STATE); + } } else { itemsToRemove.map((item) => { const newFilter = { From 6b8268540ab5e896e4a86981429502257a0339d6 Mon Sep 17 00:00:00 2001 From: Aleksandr Voznesenskii Date: Mon, 21 Mar 2022 11:15:28 +0100 Subject: [PATCH 6/6] Updated lodash import --- src/Components/RecsListTable/RecsListTable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/RecsListTable/RecsListTable.js b/src/Components/RecsListTable/RecsListTable.js index cf385316..baca7087 100644 --- a/src/Components/RecsListTable/RecsListTable.js +++ b/src/Components/RecsListTable/RecsListTable.js @@ -19,7 +19,7 @@ import { PaginationVariant, } from '@patternfly/react-core/dist/js/components/Pagination'; import { Stack } from '@patternfly/react-core/dist/js/layouts/Stack'; -import { isEqual } from 'lodash'; +import isEqual from 'lodash/isEqual'; import { Tooltip, TooltipPosition,