fix(Image Download): various bug fixes for image download (#3396)

- prevent non-cornerstone viewports from showing the image download dialogue
- passing the rendering engine id to ToolGroup.addViewport
- fixed the keep/dismiss aspect feature
This commit is contained in:
Joe Boccanfuso 2023-05-16 14:50:34 -04:00 committed by GitHub
parent 1881ce5cbc
commit 052653f3b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 6 deletions

View File

@ -368,6 +368,21 @@ function commandsModule({
},
showDownloadViewportModal: () => {
const { activeViewportIndex } = viewportGridService.getState();
if (
!cornerstoneViewportService.getCornerstoneViewportByIndex(
activeViewportIndex
)
) {
// Cannot download a non-cornerstone viewport (image).
uiNotificationService.show({
title: 'Download Image',
message: 'Image cannot be downloaded',
type: 'error',
});
return;
}
const { uiModalService } = servicesManager.services;
if (uiModalService) {

View File

@ -217,7 +217,7 @@ const CornerstoneViewportDownloadForm = ({
);
// add the viewport to the toolGroup
toolGroup.addViewport(downloadViewportId);
toolGroup.addViewport(downloadViewportId, renderingEngineId);
Object.keys(toolGroup._toolInstances).forEach(toolName => {
// make all tools Enabled so that they can not be interacted with

View File

@ -95,11 +95,11 @@ const ViewportDownloadForm = ({
const onKeepAspectToggle = () => {
const { width, height } = dimensions;
const aspectMultiplier = { ...aspectMultiplier };
if (!keepAspect) {
const base = Math.min(width, height);
aspectMultiplier.width = width / base;
aspectMultiplier.height = height / base;
const aspectMultiplier = {
width: width / height,
height: height / width,
};
setAspectMultiplier(aspectMultiplier);
}
@ -379,7 +379,7 @@ const ViewportDownloadForm = ({
<div className="mt-8">
<div
className="p-4 rounded bg-secondary-dark border-secondary-primary"
className="p-4 rounded bg-secondary-dark border-secondary-primary w-max-content min-w-full"
data-cy="image-preview"
>
<Typography variant="h5">{t('Image preview')}</Typography>