feat(viewport): Added getter for presentation id provider. (#5053)

This commit is contained in:
Joe Boccanfuso 2025-05-16 13:22:09 -04:00 committed by GitHub
parent cf1018c779
commit 338bd865c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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<string, PresentationIdProvider>;
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);
}