diff --git a/CHANGELOG.md b/CHANGELOG.md index b5b8c9ac..a17fd0fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ * Add translation for `Unavailable` item status message. Refs UISACQCOMP-205. * Keep returnUrl in routing list navigation. Refs UISACQCOMP-206. * ECS - clear Location/Holding field when affiliation selected. Refs UISACQCOMP-201. +* ECS - clear Select location filters on change another Affiliation. Refs UISACQCOMP-208. ## [5.1.1](https://github.com/folio-org/stripes-acq-components/tree/v5.1.1) (2024-04-22) [Full Changelog](https://github.com/folio-org/stripes-acq-components/compare/v5.1.0...v5.1.1) diff --git a/lib/FieldHolding/FieldHolding.js b/lib/FieldHolding/FieldHolding.js index 9bb54f8a..8a89dbd0 100644 --- a/lib/FieldHolding/FieldHolding.js +++ b/lib/FieldHolding/FieldHolding.js @@ -110,7 +110,9 @@ export const FieldHolding = ({ }, [locationFieldName, onChange]); useEffect(() => { - if (previousTenantId !== tenantId) { + const shouldResetLocation = tenantId && previousTenantId && (tenantId !== previousTenantId); + + if (shouldResetLocation) { clearSelectedLocation(); onChangeHolding(undefined); } diff --git a/lib/FieldHolding/FieldHolding.test.js b/lib/FieldHolding/FieldHolding.test.js index 4fa13e71..7455fca7 100644 --- a/lib/FieldHolding/FieldHolding.test.js +++ b/lib/FieldHolding/FieldHolding.test.js @@ -88,4 +88,25 @@ describe('FieldHolding component', () => { expect(screen.getAllByText(locationsMap[holdings[0].permanentLocationId].name)[0]).toBeInTheDocument(); expect(screen.queryByText(locationsMap[holdings[1].permanentLocationId].name)).not.toBeInTheDocument(); }); + + it('should clear selected holding when tenant changes', () => { + const onChange = jest.fn(); + const { rerender } = renderFieldHolding({ tenantId: 'tenant1', onChange }); + + rerender( +