diff --git a/platform/core/src/services/ViewportGridService/ViewportGridService.ts b/platform/core/src/services/ViewportGridService/ViewportGridService.ts index 1eb8bb6b2..7359f3c4a 100644 --- a/platform/core/src/services/ViewportGridService/ViewportGridService.ts +++ b/platform/core/src/services/ViewportGridService/ViewportGridService.ts @@ -1,5 +1,10 @@ import { PubSubService } from '../_shared/pubSubServiceInterface'; +type PresentationIdProvider = ( + id: string, + { viewport, viewports, isUpdatingSameViewport } +) => unknown; + class ViewportGridService extends PubSubService { public static readonly EVENTS = { ACTIVE_VIEWPORT_ID_CHANGED: 'event::activeviewportidchanged', @@ -20,10 +25,7 @@ class ViewportGridService extends PubSubService { serviceImplementation = {}; servicesManager: AppTypes.ServicesManager; - presentationIdProviders: Map< - string, - (id: string, { viewport, viewports, isUpdatingSameViewport, servicesManager }) => unknown - >; + presentationIdProviders: Map; constructor({ servicesManager }) { super(ViewportGridService.EVENTS); @@ -32,13 +34,17 @@ class ViewportGridService extends PubSubService { this.presentationIdProviders = new Map(); } - public addPresentationIdProvider( - id: string, - provider: (id: string, { viewport, viewports, isUpdatingSameViewport }) => unknown - ): void { + public addPresentationIdProvider(id: string, provider: PresentationIdProvider): void { this.presentationIdProviders.set(id, provider); } + /** + * Gets the presentation provider with the given id. + */ + public getPresentationIdProvider(id: string): PresentationIdProvider { + return this.presentationIdProviders.get(id); + } + public setIsReferenceViewable(viewportId: string, isReferenceViewable: boolean): void { this.serviceImplementation._setIsReferenceViewable(viewportId, isReferenceViewable); }