Skip to content
Snippets Groups Projects

refactor(vector-map): modify redux to store element of multiple models

7 files
+ 57
51
Compare changes
  • Side-by-side
  • Inline
Files
7
@@ -12,7 +12,10 @@ import {
lineTypesSelector,
} from '@/redux/shapes/shapes.selectors';
import { MapInstance } from '@/types/map';
import { modelElementsForCurrentModelSelector } from '@/redux/modelElements/modelElements.selector';
import {
modelElementsForCurrentModelSelector,
modelElementsLoadingSelector,
} from '@/redux/modelElements/modelElements.selector';
import { currentModelIdSelector } from '@/redux/models/models.selectors';
import { getModelElementsForModel } from '@/redux/modelElements/modelElements.thunks';
import { useAppDispatch } from '@/redux/hooks/useAppDispatch';
@@ -61,6 +64,8 @@ export const useOlMapReactionsLayer = ({
const markersRender = parseSurfaceMarkersToBioEntityRender(currentMarkers);
const bioEntities = useAppSelector(overlayBioEntitiesForCurrentModelSelector);
const reactionsForCurrentModel = useAppSelector(newReactionsForCurrentModelSelector);
const modelElementsLoading = useAppSelector(modelElementsLoadingSelector);
const modelElementsForCurrentModel = useAppSelector(modelElementsForCurrentModelSelector);
const debouncedBioEntities = useDebouncedValue(bioEntities, 1000);
const { getOverlayBioEntityColorByAvailableProperties } = useGetOverlayColor();
@@ -79,13 +84,13 @@ export const useOlMapReactionsLayer = ({
if (!currentModelId) {
return;
}
if (!modelElementsForCurrentModel) {
if (modelElementsLoading !== 'succeeded') {
dispatch(getModelElementsForModel(currentModelId));
}
if (!reactionsForCurrentModel) {
dispatch(getNewReactionsForModel(currentModelId));
}
}, [currentModelId, dispatch, reactionsForCurrentModel, modelElementsForCurrentModel]);
}, [currentModelId, dispatch, reactionsForCurrentModel, modelElementsLoading]);
useEffect(() => {
if (overlaysOrder.length) {
Loading