diff --git a/react-components/src/components/CadModelContainer/CadModelContainer.tsx b/react-components/src/components/CadModelContainer/CadModelContainer.tsx index c9fb415e714..fca8f049347 100644 --- a/react-components/src/components/CadModelContainer/CadModelContainer.tsx +++ b/react-components/src/components/CadModelContainer/CadModelContainer.tsx @@ -10,6 +10,7 @@ import { type CadModelStyling, useApplyCadModelStyling } from './useApplyCadMode import { useReveal3DResourcesCount } from '../Reveal3DResources/Reveal3DResourcesCountContext'; import { isEqual } from 'lodash'; import { modelExists } from '../../utilities/modelExists'; +import { getViewerResourceCount } from '../../utilities/getViewerResourceCount'; export type CogniteCadModelProps = { addModelOptions: AddModelOptions; @@ -44,7 +45,7 @@ export function CadModelContainer({ addModel(addModelOptions, transform) .then((model) => { onLoad?.(model); - setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length); + setRevealResourcesCount(getViewerResourceCount(viewer)); }) .catch((error) => { const errorReportFunction = onLoadError ?? defaultLoadErrorHandler; @@ -98,7 +99,7 @@ export function CadModelContainer({ return; viewer.removeModel(model); - setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length); + setRevealResourcesCount(getViewerResourceCount(viewer)); setModel(undefined); } } diff --git a/react-components/src/components/Image360CollectionContainer/Image360CollectionContainer.tsx b/react-components/src/components/Image360CollectionContainer/Image360CollectionContainer.tsx index eab9f46da98..3543f975581 100644 --- a/react-components/src/components/Image360CollectionContainer/Image360CollectionContainer.tsx +++ b/react-components/src/components/Image360CollectionContainer/Image360CollectionContainer.tsx @@ -16,6 +16,7 @@ import { DEFAULT_IMAGE360_ICON_CULLING_RADIUS } from './constants'; import { useReveal3DResourcesCount } from '../Reveal3DResources/Reveal3DResourcesCountContext'; +import { getViewerResourceCount } from '../../utilities/getViewerResourceCount'; type Image360CollectionContainerProps = { addImage360CollectionOptions: AddImage360CollectionOptions; @@ -84,7 +85,7 @@ export function Image360CollectionContainer({ modelRef.current = image360Collection; onLoad?.(image360Collection); - setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length); + setRevealResourcesCount(getViewerResourceCount(viewer)); }) .catch((error: any) => { const errorReportFunction = onLoadError ?? defaultLoadErrorHandler; @@ -124,7 +125,7 @@ export function Image360CollectionContainer({ return; viewer.remove360ImageSet(modelRef.current); - setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length); + setRevealResourcesCount(getViewerResourceCount(viewer)); modelRef.current = undefined; } } diff --git a/react-components/src/components/PointCloudContainer/PointCloudContainer.tsx b/react-components/src/components/PointCloudContainer/PointCloudContainer.tsx index f4922470b0e..d563aa4707b 100644 --- a/react-components/src/components/PointCloudContainer/PointCloudContainer.tsx +++ b/react-components/src/components/PointCloudContainer/PointCloudContainer.tsx @@ -14,6 +14,7 @@ import { type PointCloudModelStyling } from './useApplyPointCloudStyling'; import { modelExists } from '../../utilities/modelExists'; +import { getViewerResourceCount } from '../../utilities/getViewerResourceCount'; export type CognitePointCloudModelProps = { addModelOptions: AddModelOptions; @@ -47,7 +48,7 @@ export function PointCloudContainer({ addModel(modelId, revisionId, transform) .then((pointCloudModel) => { onLoad?.(pointCloudModel); - setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length); + setRevealResourcesCount(getViewerResourceCount(viewer)); }) .catch((error) => { const errorHandler = onLoadError ?? defaultLoadErrorHandler; @@ -101,7 +102,7 @@ export function PointCloudContainer({ return; viewer.removeModel(model); - setRevealResourcesCount(viewer.models.length + viewer.get360ImageCollections().length); + setRevealResourcesCount(getViewerResourceCount(viewer)); setModel(undefined); } } diff --git a/react-components/src/utilities/getViewerResourceCount.ts b/react-components/src/utilities/getViewerResourceCount.ts new file mode 100644 index 00000000000..49831a4804b --- /dev/null +++ b/react-components/src/utilities/getViewerResourceCount.ts @@ -0,0 +1,8 @@ +/*! + * Copyright 2024 Cognite AS + */ +import { type Cognite3DViewer } from '@cognite/reveal'; + +export function getViewerResourceCount(viewer: Cognite3DViewer): number { + return viewer.models.length + viewer.get360ImageCollections().length; +}