From 338bd865c3bc660bd5b377020977181939002856 Mon Sep 17 00:00:00 2001 From: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com> Date: Fri, 16 May 2025 13:22:09 -0400 Subject: [PATCH] feat(viewport): Added getter for presentation id provider. (#5053) --- .../ViewportGridService.ts | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) 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); }