diff --git a/common/reviews/api/core.api.md b/common/reviews/api/core.api.md index 1db6938a1d..9fdc419ee4 100644 --- a/common/reviews/api/core.api.md +++ b/common/reviews/api/core.api.md @@ -284,6 +284,7 @@ type ColormapModifiedEvent = CustomEvent_2; type ColormapModifiedEventDetail = { viewportId: string; colormap: ColormapPublic; + volumeId?: string; }; // @public (undocumented) diff --git a/packages/core/src/RenderingEngine/BaseVolumeViewport.ts b/packages/core/src/RenderingEngine/BaseVolumeViewport.ts index f443395d01..9366034254 100644 --- a/packages/core/src/RenderingEngine/BaseVolumeViewport.ts +++ b/packages/core/src/RenderingEngine/BaseVolumeViewport.ts @@ -287,7 +287,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport { if (!suppressEvents) { const eventDetail = { viewportId: this.id, - colormap + colormap, + volumeId }; triggerEvent(this.element, Events.COLORMAP_MODIFIED, eventDetail); } diff --git a/packages/core/src/types/EventTypes.ts b/packages/core/src/types/EventTypes.ts index 27b7b259a8..2cc06b4cca 100644 --- a/packages/core/src/types/EventTypes.ts +++ b/packages/core/src/types/EventTypes.ts @@ -54,6 +54,8 @@ type ColormapModifiedEventDetail = { viewportId: string; /** The new colormap */ colormap: ColormapPublic; + /** Unique ID for the volume in the cache */ + volumeId?: string; } /** diff --git a/packages/tools/src/utilities/voi/colorbar/ViewportColorbar.ts b/packages/tools/src/utilities/voi/colorbar/ViewportColorbar.ts index f9470cb9d4..052391a752 100644 --- a/packages/tools/src/utilities/voi/colorbar/ViewportColorbar.ts +++ b/packages/tools/src/utilities/voi/colorbar/ViewportColorbar.ts @@ -174,10 +174,10 @@ class ViewportColorbar extends Colorbar { private _viewportColormapModifiedCallback = ( evt: Types.EventTypes.ColormapModifiedEvent ) => { - const { viewportId, colormap } = evt.detail; + const { viewportId, colormap, volumeId } = evt.detail; const { viewport } = this.enabledElement; - if (viewportId !== viewport.id) { + if (viewportId !== viewport.id || volumeId !== this._volumeId) { return; }