From 6344233a3a22f90cb5aaa8379097fa553d3cc2d6 Mon Sep 17 00:00:00 2001 From: Alisher Musurmonov <alisher_musurmonov1@epam.com> Date: Thu, 16 Nov 2023 15:11:05 +0500 Subject: [PATCH] improve useFetchDonors hook --- lib/Donors/Donors.js | 2 +- lib/Donors/DonorsContainer.js | 10 +--------- lib/Donors/DonorsLookup.js | 2 -- lib/Donors/hooks/useFetchDonors/useFetchDonors.js | 7 +++++-- 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/lib/Donors/Donors.js b/lib/Donors/Donors.js index 32d34c5b..69365a09 100644 --- a/lib/Donors/Donors.js +++ b/lib/Donors/Donors.js @@ -14,7 +14,7 @@ import { useFetchDonors } from './hooks'; export function Donors({ name, donorOrganizationIds, onChange, ...rest }) { const [donorIds, setDonorIds] = useState(donorOrganizationIds); - const { donors, isLoading } = useFetchDonors(donorIds); + const { donors, isLoading } = useFetchDonors(donorIds, { keepPreviousData: true }); useEffect(() => { setDonorIds(donorOrganizationIds); diff --git a/lib/Donors/DonorsContainer.js b/lib/Donors/DonorsContainer.js index 319868f3..25286c6a 100644 --- a/lib/Donors/DonorsContainer.js +++ b/lib/Donors/DonorsContainer.js @@ -5,10 +5,7 @@ import { useIntl } from 'react-intl'; import { useStripes } from '@folio/stripes/core'; -import { - defaultContainerVisibleColumns, - pluginVisibleColumns, -} from './constants'; +import { defaultContainerVisibleColumns } from './constants'; import { DonorsList } from './DonorsList'; import { DonorsLookup } from './DonorsLookup'; import { getDonorsFormatter } from './utils'; @@ -21,7 +18,6 @@ export function DonorsContainer({ formatter, id, onRemove, - pluginVisibleColumns: pluginVisibleColumnsProp, setDonorIds, searchLabel, showTriggerButton, @@ -84,8 +80,6 @@ export function DonorsContainer({ onAddDonors={onAddDonors} name={id} searchLabel={searchLabel} - visibleColumns={pluginVisibleColumnsProp} - {...rest} /> ) } @@ -105,12 +99,10 @@ DonorsContainer.propTypes = { setDonorIds: PropTypes.func.isRequired, showTriggerButton: PropTypes.bool, visibleColumns: PropTypes.arrayOf(PropTypes.string), - pluginVisibleColumns: PropTypes.arrayOf(PropTypes.string), }; DonorsContainer.defaultProps = { onRemove: noop, showTriggerButton: true, visibleColumns: defaultContainerVisibleColumns, - pluginVisibleColumns, }; diff --git a/lib/Donors/DonorsLookup.js b/lib/Donors/DonorsLookup.js index 3a853834..51783418 100644 --- a/lib/Donors/DonorsLookup.js +++ b/lib/Donors/DonorsLookup.js @@ -21,7 +21,6 @@ export const DonorsLookup = ({ onAddDonors, searchLabel, visibleColumns, - ...rest }) => { const stripes = useStripes(); @@ -44,7 +43,6 @@ export const DonorsLookup = ({ visibleFilters={visibleFilters} isMultiSelect sortableColumns={sortableColumns} - {...rest} > <span data-test-add-donor> <FormattedMessage id="stripes-acq-components.donors.noFindOrganizationPlugin" /> diff --git a/lib/Donors/hooks/useFetchDonors/useFetchDonors.js b/lib/Donors/hooks/useFetchDonors/useFetchDonors.js index ae7c10e1..6f9e5dd1 100644 --- a/lib/Donors/hooks/useFetchDonors/useFetchDonors.js +++ b/lib/Donors/hooks/useFetchDonors/useFetchDonors.js @@ -9,7 +9,7 @@ import { VENDORS_API } from '../../../constants'; import { batchRequest } from '../../../utils'; import { DEFAULT_DATA } from './constants'; -export const useFetchDonors = (donorOrganizationIds = DEFAULT_DATA) => { +export const useFetchDonors = (donorOrganizationIds = DEFAULT_DATA, options = {}) => { const ky = useOkapiKy(); const namespace = useNamespace({ key: 'fetch-donors-list' }); @@ -24,7 +24,10 @@ export const useFetchDonors = (donorOrganizationIds = DEFAULT_DATA) => { donorOrganizationIds, ); }, - { enabled: Boolean(donorOrganizationIds.length) }, + { + enabled: Boolean(donorOrganizationIds.length), + ...options, + }, ); return ({