From c05450483f00d98cb74f216a8dbd58a8e1e0f96f Mon Sep 17 00:00:00 2001 From: Lukas Harbarth Date: Tue, 10 Dec 2024 12:06:31 +0100 Subject: [PATCH 1/2] fix(FilterBar): correct callback values for `onFiltersDialogSelectionChange` --- .../src/components/FilterBar/FilterBar.cy.tsx | 54 +++++++++++++++++++ .../src/components/FilterBar/FilterDialog.tsx | 2 +- 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/packages/main/src/components/FilterBar/FilterBar.cy.tsx b/packages/main/src/components/FilterBar/FilterBar.cy.tsx index d5a85fb6aa6..d91a4780aea 100644 --- a/packages/main/src/components/FilterBar/FilterBar.cy.tsx +++ b/packages/main/src/components/FilterBar/FilterBar.cy.tsx @@ -298,6 +298,60 @@ describe('FilterBar.cy.tsx', () => { }); }); + it('select-all without required', () => { + const TestComp = (props) => { + const [selectedFilters, setSelectedFilters] = useState(''); + const [savedVisibleFilters, setSavedVisibleFilters] = useState(''); + + const handleSelectionChange: FilterBarPropTypes['onFiltersDialogSelectionChange'] = (e) => { + setSelectedFilters(Array.from(e.selectedFilterKeys).join(' ')); + }; + const handleSave: FilterBarPropTypes['onFiltersDialogSave'] = (e) => { + setSavedVisibleFilters(e.detail.selectedFilterKeys.join(' ')); + }; + return ( + <> + + + + + + + + + + + +
+ Selected: + {selectedFilters} +
+ Saved: + {savedVisibleFilters} + + ); + }; + + cy.mount(); + + cy.findByTestId('selected', '0 1 2'); + cy.get('[text="Filters"]').click({ force: true }); + cy.get('[ui5-checkbox]').first().click(); + cy.findByTestId('selected', ''); + cy.get('[ui5-checkbox]').eq(1).click(); + cy.findByTestId('selected', '0'); + cy.get('[ui5-checkbox]').first().click(); + cy.get('[ui5-checkbox]').first().click(); + + cy.findByText('OK').click(); + cy.findByTestId('selected', ''); + }); + // todo selection, group + list view it('Dialog search', () => { cy.mount( diff --git a/packages/main/src/components/FilterBar/FilterDialog.tsx b/packages/main/src/components/FilterBar/FilterDialog.tsx index 17bcde54415..e6ea7ff0b58 100644 --- a/packages/main/src/components/FilterBar/FilterDialog.tsx +++ b/packages/main/src/components/FilterBar/FilterDialog.tsx @@ -373,7 +373,7 @@ export const FilterDialog = (props: FilterDialogPropTypes) => { }; useEffect(() => { - if (selectedFilters?.length) { + if (selectedFilters) { selectionChangePayloadRef.current = { selectedFilterKeys: selectedFilters }; } }, [selectedFilters]); From fc8c433a9dc726e811482ca72ddc14dfaf5f1636 Mon Sep 17 00:00:00 2001 From: Lukas Harbarth Date: Tue, 10 Dec 2024 12:08:16 +0100 Subject: [PATCH 2/2] Update FilterBar.cy.tsx --- packages/main/src/components/FilterBar/FilterBar.cy.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/main/src/components/FilterBar/FilterBar.cy.tsx b/packages/main/src/components/FilterBar/FilterBar.cy.tsx index d91a4780aea..def4c7b2b87 100644 --- a/packages/main/src/components/FilterBar/FilterBar.cy.tsx +++ b/packages/main/src/components/FilterBar/FilterBar.cy.tsx @@ -349,7 +349,12 @@ describe('FilterBar.cy.tsx', () => { cy.get('[ui5-checkbox]').first().click(); cy.findByText('OK').click(); - cy.findByTestId('selected', ''); + cy.findByTestId('saved', ''); + + cy.get('[text="Filters"]').click({ force: true }); + cy.get('[ui5-checkbox]').first().click(); + cy.findByText('OK').click(); + cy.findByTestId('saved', '0 1 2'); }); // todo selection, group + list view