diff --git a/CHANGELOG b/CHANGELOG index 62ff5d3a8bd75178d13c07d978ab5888fa735522..164d439725d7d6f8d161cd2947ce7a78e6de63c5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +minerva-front (18.0.5) stable; urgency=medium + * Bug fix: anchor overlays were disappearing after clicking on anchor and + outside of the anchor (#319) + + -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 27 Nov 2024 13:00:00 +0200 + minerva-front (18.0.4) stable; urgency=medium * Bug fix: link to search result from overview image caused map not to load (#318) diff --git a/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.test.tsx b/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.test.tsx index 0180c8a68058e01002993b279d338b03ff0b027b..b8bc885aedc1f6e0382d6355baf871510edc85cd 100644 --- a/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.test.tsx +++ b/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.test.tsx @@ -49,7 +49,7 @@ describe('ClearAnchorsButton - component', () => { { payload: undefined, type: 'contextMenu/closeContextMenu' }, { payload: undefined, type: 'reactions/resetReactionsData' }, { payload: undefined, type: 'search/clearSearchData' }, - { payload: undefined, type: 'bioEntityContents/clearBioEntitiesData' }, + { payload: undefined, type: 'bioEntityContents/clearBioEntities' }, { payload: undefined, type: 'drugs/clearDrugsData' }, { payload: undefined, type: 'chemicals/clearChemicalsData' }, ]); @@ -75,7 +75,7 @@ describe('ClearAnchorsButton - component', () => { { payload: undefined, type: 'contextMenu/closeContextMenu' }, { payload: undefined, type: 'reactions/resetReactionsData' }, { payload: undefined, type: 'search/clearSearchData' }, - { payload: undefined, type: 'bioEntityContents/clearBioEntitiesData' }, + { payload: undefined, type: 'bioEntityContents/clearBioEntities' }, { payload: undefined, type: 'drugs/clearDrugsData' }, { payload: undefined, type: 'chemicals/clearChemicalsData' }, ]); diff --git a/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.tsx b/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.tsx index 3be4a77026bbe811877e473dbf4bee1ff76b86d7..0cb3417872af8ff8ebd0541c3f04d2e838c8fef1 100644 --- a/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.tsx +++ b/src/components/FunctionalArea/TopBar/ClearAnchorsButton/ClearAnchorsButton.component.tsx @@ -1,4 +1,4 @@ -import { clearBioEntitiesData } from '@/redux/bioEntity/bioEntity.slice'; +import { clearBioEntities } from '@/redux/bioEntity/bioEntity.slice'; import { clearChemicalsData } from '@/redux/chemicals/chemicals.slice'; import { closeContextMenu } from '@/redux/contextMenu/contextMenu.slice'; import { resultDrawerOpen } from '@/redux/drawer/drawer.selectors'; @@ -31,7 +31,7 @@ export const ClearAnchorsButton = (): React.ReactNode => { dispatch(clearSearchData()); // Reset old pins data - dispatch(clearBioEntitiesData()); + dispatch(clearBioEntities()); dispatch(clearDrugsData()); dispatch(clearChemicalsData()); }; diff --git a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.test.ts b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.test.ts index aae76f614efd91b111eb16846f5a3ef92ae9f222..85fc7dc10086b20a53e2d13be7e54f13b2be6a62 100644 --- a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.test.ts +++ b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.test.ts @@ -79,7 +79,7 @@ describe('handleAliasResults - util', () => { 'project/getBioEntityById/fulfilled', 'entityNumber/addNumbersToEntityNumberData', 'project/getMultiBioEntity/fulfilled', - 'bioEntityContents/clearBioEntitiesData', + 'bioEntityContents/clearBioEntities', ]); }); }); @@ -120,7 +120,7 @@ describe('handleAliasResults - util', () => { 'entityNumber/addNumbersToEntityNumberData', 'project/getMultiBioEntity/fulfilled', 'drawer/closeDrawer', - 'bioEntityContents/clearBioEntitiesData', + 'bioEntityContents/clearBioEntities', ]); }); }); diff --git a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.ts b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.ts index 02c8312ec556e43e4399fdc51860c17b18475610..c3d05abac90d5ed78f58e8dc986bf6adcb0316f8 100644 --- a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.ts +++ b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleAliasResults.ts @@ -3,7 +3,7 @@ import { AppDispatch } from '@/redux/store'; import { searchFitBounds } from '@/services/pluginsManager/map/triggerSearch/searchFitBounds'; import { ElementSearchResult } from '@/types/models'; import { PluginsEventBus } from '@/services/pluginsManager/pluginsEventBus'; -import { clearBioEntitiesData } from '@/redux/bioEntity/bioEntity.slice'; +import { clearBioEntities } from '@/redux/bioEntity/bioEntity.slice'; import { Point } from '@/types/map'; import { getMultiBioEntityByIds } from '@/redux/bioEntity/thunks/getMultiBioEntity'; import { findClosestBioEntityPoint } from './findClosestBioEntityPoint'; @@ -37,7 +37,7 @@ export const handleAliasResults = dispatch(closeDrawer()); } - dispatch(clearBioEntitiesData()); + dispatch(clearBioEntities()); return; } } diff --git a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionResults.test.ts b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionResults.test.ts index cdd0e68dbdd816071ec6f6ca2d7e4d6475100094..6fef43dfe00703c4d496acd04ae49b9f56b3ba36 100644 --- a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionResults.test.ts +++ b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionResults.test.ts @@ -212,7 +212,7 @@ describe('handleReactionResults - util', () => { 'reactions/getByIds/fulfilled', 'drawer/closeDrawer', 'reactions/resetReactionsData', - 'bioEntityContents/clearBioEntitiesData', + 'bioEntityContents/clearBioEntities', ]); }); @@ -235,7 +235,7 @@ describe('handleReactionResults - util', () => { expect(dispatchSpy).toHaveBeenCalledWith({ payload: undefined, - type: 'bioEntityContents/clearBioEntitiesData', + type: 'bioEntityContents/clearBioEntities', }); }); }); diff --git a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionSearchClickFailure.ts b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionSearchClickFailure.ts index 7368bb185bb1bf9020c5000c3f3fa193c04110c9..30c6178fd8257aa687962e7a54c7db33a8c8fbd0 100644 --- a/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionSearchClickFailure.ts +++ b/src/components/Map/MapViewer/utils/listeners/mapSingleClick/handleReactionSearchClickFailure.ts @@ -1,7 +1,7 @@ import { AppDispatch } from '@/redux/store'; import { closeDrawer } from '@/redux/drawer/drawer.slice'; import { resetReactionsData } from '@/redux/reactions/reactions.slice'; -import { clearBioEntitiesData } from '@/redux/bioEntity/bioEntity.slice'; +import { clearBioEntities } from '@/redux/bioEntity/bioEntity.slice'; export const handleReactionSearchClickFailure = ( dispatch: AppDispatch, @@ -11,5 +11,5 @@ export const handleReactionSearchClickFailure = ( dispatch(closeDrawer()); } dispatch(resetReactionsData()); - dispatch(clearBioEntitiesData()); + dispatch(clearBioEntities()); }; diff --git a/src/redux/bioEntity/bioEntity.reducers.ts b/src/redux/bioEntity/bioEntity.reducers.ts index 3f68a154b171e3d8d869381dd82587777b2bbbe1..681595c00370fa11cc494e19616210e8f81f66ad 100644 --- a/src/redux/bioEntity/bioEntity.reducers.ts +++ b/src/redux/bioEntity/bioEntity.reducers.ts @@ -107,11 +107,9 @@ export const getSubmapConnectionsBioEntityReducer = ( }); }; -export const clearBioEntitiesDataReducer = (state: BioEntityContentsState): void => { +export const clearBioEntitiesReducer = (state: BioEntityContentsState): void => { state.data = []; state.loading = 'idle'; - - state.submapConnections = BIOENTITY_SUBMAP_CONNECTIONS_INITIAL_STATE; }; export const toggleIsContentTabOpenedReducer = ( diff --git a/src/redux/bioEntity/bioEntity.slice.ts b/src/redux/bioEntity/bioEntity.slice.ts index 728467a93a220932df93ba7ed498e42184895c2f..6ccf3f2f3c2e200e11ed09a4ad09adc907121c96 100644 --- a/src/redux/bioEntity/bioEntity.slice.ts +++ b/src/redux/bioEntity/bioEntity.slice.ts @@ -1,7 +1,7 @@ import { createSlice } from '@reduxjs/toolkit'; import { BIOENTITY_INITIAL_STATE } from './bioEntity.constants'; import { - clearBioEntitiesDataReducer, + clearBioEntitiesReducer, getBioEntityContentsReducer, getMultiBioEntityContentsReducer, getSubmapConnectionsBioEntityReducer, @@ -12,7 +12,7 @@ export const bioEntityContentsSlice = createSlice({ name: 'bioEntityContents', initialState: BIOENTITY_INITIAL_STATE, reducers: { - clearBioEntitiesData: clearBioEntitiesDataReducer, + clearBioEntities: clearBioEntitiesReducer, toggleIsContentTabOpened: toggleIsContentTabOpenedReducer, }, extraReducers: builder => { @@ -22,6 +22,6 @@ export const bioEntityContentsSlice = createSlice({ }, }); -export const { clearBioEntitiesData, toggleIsContentTabOpened } = bioEntityContentsSlice.actions; +export const { clearBioEntities, toggleIsContentTabOpened } = bioEntityContentsSlice.actions; export default bioEntityContentsSlice.reducer; diff --git a/src/redux/search/search.thunks.ts b/src/redux/search/search.thunks.ts index 5d1e36e8b7c5c7a818be6981636a9935c0ee1680..b95730d28ef1660c6dca265e31f746822d7f4948 100644 --- a/src/redux/search/search.thunks.ts +++ b/src/redux/search/search.thunks.ts @@ -9,7 +9,6 @@ import { resetReactionsData } from '../reactions/reactions.slice'; import type { RootState } from '../store'; import { DATA_SEARCHING_ERROR_PREFIX } from './search.constants'; import { dispatchPluginsEvents } from './search.thunks.utils'; -import { getSubmapConnectionsBioEntity } from '../bioEntity/thunks/getSubmapConnectionsBioEntity'; type GetSearchDataProps = PerfectMultiSearchParams; @@ -34,13 +33,11 @@ export const getSearchData = createAsyncThunk< dispatch(getMultiBioEntity({ searchQueries, isPerfectMatch })), dispatch(getMultiDrugs(searchQueries)), dispatch(getMultiChemicals(searchQueries)), - dispatch(getSubmapConnectionsBioEntity()), ]); } else { await Promise.all([ dispatch(getMultiBioEntity({ searchQueries, isPerfectMatch })), dispatch(getMultiDrugs(searchQueries)), - dispatch(getSubmapConnectionsBioEntity()), ]); } diff --git a/src/services/pluginsManager/bioEntities/clearAllElements.ts b/src/services/pluginsManager/bioEntities/clearAllElements.ts index 9177d501b7078497512f2650bc677f3ca15b7fbe..ce8a4ee72e3f6d781d7dca40cffadffa729c51fc 100644 --- a/src/services/pluginsManager/bioEntities/clearAllElements.ts +++ b/src/services/pluginsManager/bioEntities/clearAllElements.ts @@ -1,4 +1,4 @@ -import { clearBioEntitiesData } from '@/redux/bioEntity/bioEntity.slice'; +import { clearBioEntities } from '@/redux/bioEntity/bioEntity.slice'; import { clearChemicalsData } from '@/redux/chemicals/chemicals.slice'; import { clearDrugsData } from '@/redux/drugs/drugs.slice'; import { setMarkersData } from '@/redux/markers/markers.slice'; @@ -10,7 +10,7 @@ export const clearAllElements = (elements: ElementName[]): void => { const { dispatch } = store; if (elements.includes('content')) { - dispatch(clearBioEntitiesData()); + dispatch(clearBioEntities()); } if (elements.includes('chemicals')) {