diff --git a/extensions/cornerstone-dicom-pmap/package.json b/extensions/cornerstone-dicom-pmap/package.json
index 4e014a814..7a9ed139a 100644
--- a/extensions/cornerstone-dicom-pmap/package.json
+++ b/extensions/cornerstone-dicom-pmap/package.json
@@ -46,8 +46,8 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
- "@cornerstonejs/adapters": "^2.2.3",
- "@cornerstonejs/core": "^2.2.3",
+ "@cornerstonejs/adapters": "^2.2.4",
+ "@cornerstonejs/core": "^2.2.4",
"@kitware/vtk.js": "32.1.0",
"react-color": "^2.19.3"
}
diff --git a/extensions/cornerstone-dicom-seg/package.json b/extensions/cornerstone-dicom-seg/package.json
index cac5d095b..6e473017a 100644
--- a/extensions/cornerstone-dicom-seg/package.json
+++ b/extensions/cornerstone-dicom-seg/package.json
@@ -46,8 +46,8 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
- "@cornerstonejs/adapters": "^2.2.3",
- "@cornerstonejs/core": "^2.2.3",
+ "@cornerstonejs/adapters": "^2.2.4",
+ "@cornerstonejs/core": "^2.2.4",
"@kitware/vtk.js": "32.1.0",
"react-color": "^2.19.3"
}
diff --git a/extensions/cornerstone-dicom-sr/package.json b/extensions/cornerstone-dicom-sr/package.json
index c1f9b2717..7a1cfdf7a 100644
--- a/extensions/cornerstone-dicom-sr/package.json
+++ b/extensions/cornerstone-dicom-sr/package.json
@@ -46,9 +46,9 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
- "@cornerstonejs/adapters": "^2.2.3",
- "@cornerstonejs/core": "^2.2.3",
- "@cornerstonejs/tools": "^2.2.3",
+ "@cornerstonejs/adapters": "^2.2.4",
+ "@cornerstonejs/core": "^2.2.4",
+ "@cornerstonejs/tools": "^2.2.4",
"classnames": "^2.3.2"
}
}
diff --git a/extensions/cornerstone-dynamic-volume/package.json b/extensions/cornerstone-dynamic-volume/package.json
index c4df2f701..7ff82be96 100644
--- a/extensions/cornerstone-dynamic-volume/package.json
+++ b/extensions/cornerstone-dynamic-volume/package.json
@@ -42,8 +42,8 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
- "@cornerstonejs/core": "^2.2.3",
- "@cornerstonejs/tools": "^2.2.3",
+ "@cornerstonejs/core": "^2.2.4",
+ "@cornerstonejs/tools": "^2.2.4",
"classnames": "^2.3.2"
}
}
diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json
index 2b8eef9d9..66dcd1436 100644
--- a/extensions/cornerstone/package.json
+++ b/extensions/cornerstone/package.json
@@ -38,7 +38,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.4",
"@cornerstonejs/codec-openjph": "^2.4.5",
- "@cornerstonejs/dicom-image-loader": "^2.2.3",
+ "@cornerstonejs/dicom-image-loader": "^2.2.4",
"@icr/polyseg-wasm": "^0.4.0",
"@ohif/core": "3.9.0",
"@ohif/ui": "3.9.0",
@@ -55,9 +55,9 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
- "@cornerstonejs/adapters": "^2.2.3",
- "@cornerstonejs/core": "^2.2.3",
- "@cornerstonejs/tools": "^2.2.3",
+ "@cornerstonejs/adapters": "^2.2.4",
+ "@cornerstonejs/core": "^2.2.4",
+ "@cornerstonejs/tools": "^2.2.4",
"@icr/polyseg-wasm": "^0.4.0",
"@kitware/vtk.js": "32.1.0",
"html2canvas": "^1.4.1",
diff --git a/extensions/measurement-tracking/package.json b/extensions/measurement-tracking/package.json
index 370611e6d..1be1b9e6c 100644
--- a/extensions/measurement-tracking/package.json
+++ b/extensions/measurement-tracking/package.json
@@ -32,8 +32,8 @@
"start": "yarn run dev"
},
"peerDependencies": {
- "@cornerstonejs/core": "^2.2.3",
- "@cornerstonejs/tools": "^2.2.3",
+ "@cornerstonejs/core": "^2.2.4",
+ "@cornerstonejs/tools": "^2.2.4",
"@ohif/core": "3.9.0",
"@ohif/extension-cornerstone-dicom-sr": "3.9.0",
"@ohif/extension-default": "3.9.0",
diff --git a/extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking.tsx b/extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking.tsx
index 619c5d653..353548026 100644
--- a/extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking.tsx
+++ b/extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking.tsx
@@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react';
import { PanelMeasurement } from '@ohif/extension-cornerstone';
-import { useViewportGrid } from '@ohif/ui';
+import { useViewportGrid, ButtonEnums, Dialog } from '@ohif/ui';
import { StudySummary } from '@ohif/ui-next';
import { Button, Icons } from '@ohif/ui-next';
import { DicomMetadataStore, utils } from '@ohif/core';
@@ -23,7 +23,7 @@ function PanelMeasurementTableTracking({
}: withAppTypes) {
const [viewportGrid] = useViewportGrid();
const { t } = useTranslation('MeasurementTable');
- const { measurementService, customizationService } = servicesManager.services;
+ const { measurementService, customizationService, uiDialogService } = servicesManager.services;
const [trackedMeasurements, sendTrackedMeasurementsEvent] = useTrackedMeasurements();
const { trackedStudy, trackedSeries } = trackedMeasurements.context;
const [displayStudySummary, setDisplayStudySummary] = useState(
@@ -140,7 +140,47 @@ function PanelMeasurementTableTracking({
variant="ghost"
className="pl-0.5"
onClick={() => {
- measurementService.clearMeasurements();
+ uiDialogService.create({
+ id: 'delete-all-measurements',
+ centralize: true,
+ isDraggable: false,
+ showOverlay: true,
+ content: Dialog,
+ contentProps: {
+ title: 'Delete All Measurements',
+ body: () => (
+
+
Are you sure you want to delete all measurements?
+
This action cannot be undone.
+
+ ),
+ actions: [
+ {
+ id: 'cancel',
+ text: 'Cancel',
+ type: ButtonEnums.type.secondary,
+ },
+ {
+ id: 'yes',
+ text: 'Delete All',
+ type: ButtonEnums.type.primary,
+ classes: ['delete-all-yes-button'],
+ },
+ ],
+ onClose: () => uiDialogService.dismiss({ id: 'delete-all-measurements' }),
+ onSubmit: async ({ action }) => {
+ switch (action.id) {
+ case 'yes':
+ measurementService.clearMeasurements();
+ uiDialogService.dismiss({ id: 'delete-all-measurements' });
+ break;
+ case 'cancel':
+ uiDialogService.dismiss({ id: 'delete-all-measurements' });
+ break;
+ }
+ },
+ },
+ });
}}
>
diff --git a/platform/app/package.json b/platform/app/package.json
index e3969388e..8628196da 100644
--- a/platform/app/package.json
+++ b/platform/app/package.json
@@ -53,7 +53,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.4",
"@cornerstonejs/codec-openjph": "^2.4.5",
- "@cornerstonejs/dicom-image-loader": "^2.2.3",
+ "@cornerstonejs/dicom-image-loader": "^2.2.4",
"@emotion/serialize": "^1.1.3",
"@ohif/core": "3.9.0",
"@ohif/extension-cornerstone": "3.9.0",
diff --git a/platform/core/package.json b/platform/core/package.json
index da4ac8c47..c3d11f929 100644
--- a/platform/core/package.json
+++ b/platform/core/package.json
@@ -37,7 +37,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.4",
"@cornerstonejs/codec-openjph": "^2.4.5",
- "@cornerstonejs/dicom-image-loader": "^2.2.3",
+ "@cornerstonejs/dicom-image-loader": "^2.2.4",
"@ohif/ui": "3.9.0",
"cornerstone-math": "0.1.9",
"dicom-parser": "^1.8.21"
diff --git a/platform/core/src/services/UIDialogService/UIDialogService.ts b/platform/core/src/services/UIDialogService/UIDialogService.ts
index 079a1943a..c9aa4750f 100644
--- a/platform/core/src/services/UIDialogService/UIDialogService.ts
+++ b/platform/core/src/services/UIDialogService/UIDialogService.ts
@@ -28,14 +28,14 @@ class UIDialogService extends PubSubService {
id,
content,
contentProps,
- onStart,
- onDrag,
- onStop,
+ onStart = () => {},
+ onDrag = () => {},
+ onStop = () => {},
centralize = false,
preservePosition = true,
isDraggable = true,
showOverlay = false,
- defaultPosition,
+ defaultPosition = { x: 0, y: 0 },
}) {
return this.serviceImplementation._create({
id,
diff --git a/version.txt b/version.txt
index b72ad011f..33f465d1a 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-3.9.0
\ No newline at end of file
+3.9.1
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index cfe857ef1..2565a5062 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2580,10 +2580,10 @@
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
-"@cornerstonejs/adapters@^2.2.3":
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-2.2.3.tgz#6dc37ec2b002c8a1406924c4545509d0bda575af"
- integrity sha512-hVUsE2bghSshQGjRszksBk+2UdzGyOzzqNU7+OtJkMHkmiEWvZoBYNlEp7w/hQsF6bKaHnsc0zJGZ3txho65sQ==
+"@cornerstonejs/adapters@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-2.2.4.tgz#6f5edf17dc5f76cb6c80d67a4b70c38c1ca05700"
+ integrity sha512-sWatnhu93NjaT8MsrJIsexpxzFrUmtxrS6lSBca9CWNDMLR1t8boff6fmvGKE8TYbQkPQZrytRJBSw5O6pWdMg==
dependencies:
"@babel/runtime-corejs2" "^7.17.8"
buffer "^6.0.3"
@@ -2616,19 +2616,19 @@
resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-openjph/-/codec-openjph-2.4.5.tgz#8690b61a86fa53ef38a70eee9d665a79229517c0"
integrity sha512-MZCUy8VG0VG5Nl1l58+g+kH3LujAzLYTfJqkwpWI2gjSrGXnP6lgwyy4GmPRZWVoS40/B1LDNALK905cNWm+sg==
-"@cornerstonejs/core@^2.2.3":
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-2.2.3.tgz#e6fe86e38b41269eb6347de1b2445a5d80d00e1a"
- integrity sha512-dq+CYUY2sk/Kpwc2lpnbr+9/9upKhzU/F4phdaVR0OfFlQRSJuv0lyI3lgyDw31ZsNt7H6LWcx5DtMTO+ZFtJg==
+"@cornerstonejs/core@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-2.2.4.tgz#eeb4e383a332e43186299cb19ddd46dad1013437"
+ integrity sha512-nw14sTuz02o2W8a0WT0dH4J1B7iZ4KZU5r0KDnYkpDHjL1Y30lmSt098Pxb4Z9Xj+GJYunlWv962RtVhnWbSZA==
dependencies:
"@kitware/vtk.js" "32.1.0"
comlink "^4.4.1"
gl-matrix "^3.4.3"
-"@cornerstonejs/dicom-image-loader@^2.2.3":
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-2.2.3.tgz#021a312f37afdd924b13762780bfa9ebcfa3a10e"
- integrity sha512-OvReDd+hgO9O9TFeXv8sEntDva+I4tb4vR0SVJ97u39ye6NEWHCb4PJ6bLZIQ2yNpKQqUDlS5LQc5At+QxfkDA==
+"@cornerstonejs/dicom-image-loader@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-2.2.4.tgz#117635b11a0230381fe31a5119271b472f7048d5"
+ integrity sha512-DwRZrTaVrrH7aGqFibcL+Ijnygtd3sxovxREzHWqGrmmxpwsm+aA9Z5nXeg58hk5Kvd0Zt8iwlrtcnTeD2DPiw==
dependencies:
"@cornerstonejs/codec-charls" "^1.2.3"
"@cornerstonejs/codec-libjpeg-turbo-8bit" "^1.2.2"
@@ -2639,10 +2639,10 @@
pako "^2.0.4"
uuid "^9.0.0"
-"@cornerstonejs/tools@^2.2.3":
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-2.2.3.tgz#31b04918861a2e76249eb62340f63ae7645ca7c1"
- integrity sha512-GyMz7LwssYk0D8ao4OPrWlob8jIKzEHYEJdYQbZ72rTOKHbpmu147rUjQ3AiihL5T1lftFsV4t9kTfUTHd2ZBA==
+"@cornerstonejs/tools@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-2.2.4.tgz#3fa5e99daffc73434d7385885dda09e17820756c"
+ integrity sha512-pEqJzAp4/ZtVmWqPG7C/hH/09dt6OBoRq5fiEJE/mxJXbe77FeDq5zQy8Irv7IkDpXpnc8kL+6L9Zb5awc3uRA==
dependencies:
"@types/offscreencanvas" "2019.7.3"
comlink "^4.4.1"