diff --git a/src/redux/overlayBioEntity/overlayBioEntity.selector.ts b/src/redux/overlayBioEntity/overlayBioEntity.selector.ts index 2b96a5389302e6acce4f654a67fb7ed4d23abe98..b1276a7c7ad2a55cfde6cec91eac22e85c47ad67 100644 --- a/src/redux/overlayBioEntity/overlayBioEntity.selector.ts +++ b/src/redux/overlayBioEntity/overlayBioEntity.selector.ts @@ -1,6 +1,7 @@ import { OverlayBioEntityRender } from '@/types/OLrendering'; import { createSelector } from '@reduxjs/toolkit'; import { allSubmapConnectionsBioEntitySelector } from '@/redux/bioEntity/bioEntity.selectors'; +import { mapModelIdSelector } from '@/redux/map/map.selectors'; import { currentSearchedBioEntityId } from '../drawer/drawer.selectors'; import { currentModelIdSelector } from '../models/models.selectors'; import { @@ -86,9 +87,18 @@ export const isOverlayActiveSelector = createSelector( ); export const isOverlayLoadingSelector = createSelector( - [overlayBioEntitySelector, (_, overlayId: number): number => overlayId], - ({ overlaysId, data }, overlayId) => - overlaysId.includes(overlayId) && data[overlayId] && !Object.keys(data[overlayId]).length, + [overlayBioEntitySelector, mapModelIdSelector, (_, overlayId: number): number => overlayId], + ({ overlaysId, data }, mapId, overlayId) => { + let result = false; + if (overlaysId.includes(overlayId)) { + if (data[overlayId] && !Object.keys(data[overlayId]).length) { + result = true; + } else if (data[overlayId] && !data[overlayId][mapId]) { + result = true; + } + } + return result; + }, ); export const activeOverlaysSelector = createSelector(