@ohif/app 3.7.0-beta.5 → 3.7.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{917.bundle.24fc5ca2280d2980bf0f.js → 12.bundle.d02c9736f7bdaabbf1df.js} +6 -6
- package/dist/{295.bundle.957b1159fec14b9199a1.js → 125.bundle.1ae4c6313c31cd0502cc.js} +4 -4
- package/dist/{208.bundle.e50761cf714ac772d9cc.js → 128.bundle.4b39b6452213ebee2101.js} +6 -6
- package/dist/{616.bundle.cbb2e0a23b1343b6441f.js → 150.bundle.4ff43d080c1803b2ccf6.js} +148 -104
- package/dist/{351.bundle.0742237651aef9694a65.js → 181.bundle.234fef330d4fe6baca8b.js} +139 -128
- package/dist/{351.css → 181.css} +1 -1
- package/dist/{606.bundle.5d876f5f3dd8287f0a28.js → 202.bundle.ac1e5e25d4daf54581b1.js} +3705 -981
- package/dist/{926.bundle.dbc9d0e591cb9217fda2.js → 220.bundle.f7e1c96c94245e70f2be.js} +990 -400
- package/dist/{664.bundle.09abae984223969d1bde.js → 23.bundle.e008ad788170f2ed5569.js} +5 -6
- package/dist/{976.bundle.3b8f97b61cdfa7dc32e3.js → 236.bundle.bce2af055e7783bd5df2.js} +38 -24
- package/dist/{55.bundle.550a823e75eb608e8d5e.js → 250.bundle.a523e899f4fb640949f9.js} +37 -25
- package/dist/{82.bundle.0456c9e58fa89b131f14.js → 260.bundle.32abfef92f05f0492bd7.js} +695 -159
- package/dist/{973.bundle.77245411064eaa3ee79a.js → 281.bundle.8b2abf41fb9774a672af.js} +18 -14
- package/dist/{744.bundle.81246dc9f043a17fde8a.js → 30.bundle.910818cf3256bcbe1e7b.js} +77 -89
- package/dist/{192.bundle.6dc1f92074738663620f.js → 348.bundle.90111e66d54917f1b2c2.js} +18 -14
- package/dist/{404.bundle.b7b371a30ca5bc5a0554.js → 359.bundle.86327c3bb486584e88a8.js} +13 -19
- package/dist/{50.bundle.135ada11018fff84d66b.js → 378.bundle.f7018f5e9dc009c1600b.js} +10 -8
- package/dist/{790.bundle.ca48b21507b91b675810.js → 410.bundle.92d296d4b09d8e82f386.js} +6 -6
- package/dist/{151.bundle.31ea35044218837bf73f.js → 417.bundle.720dc8f3a6e99f378aa9.js} +9 -11
- package/dist/{569.bundle.21f8ad57c06a210448b5.js → 451.bundle.9941d9134fcf747d452a.js} +62 -81
- package/dist/{581.bundle.dc6197189f7c88c27d4c.js → 471.bundle.c9e618aeda78362776aa.js} +43 -72
- package/dist/{199.bundle.dff92336f7bc36f2e484.js → 506.bundle.e7e138496747d049843e.js} +79 -15
- package/dist/{935.bundle.deeffff0e4f7b528e3c3.js → 604.bundle.a51f83e64004bca5f497.js} +2 -3
- package/dist/{984.bundle.0301a876361809048be0.js → 663.bundle.8f1eb54994e740164a70.js} +52 -35
- package/dist/{531.bundle.2a82fb1d69e5b57cc72b.js → 677.bundle.ec5f2b4707db33bd4d8e.js} +731 -447
- package/dist/{707.bundle.7068a46e5be26fe60fce.js → 678.bundle.fc6b51e7a4f17c57f311.js} +238 -247
- package/dist/{205.bundle.b5a473c200dcf2bbcdb4.js → 686.bundle.70565410179f1e7d22e6.js} +4 -4
- package/dist/{331.bundle.bd0c13931a21d53086c9.js → 754.bundle.8a16fc8ad21fe00c2e15.js} +12346 -7519
- package/dist/{728.bundle.d13856835357400fef82.js → 774.bundle.8ba82ee206266eb2da5e.js} +90 -63
- package/dist/{381.bundle.0905e683605fcbc0895f.js → 775.bundle.2285e7e0e67878948c0d.js} +16 -16
- package/dist/{283.bundle.f06203ec47c287f44cea.js → 782.bundle.4bcf99c54d62bacf5195.js} +57 -26
- package/dist/{642.bundle.e8d980d4ba95b0b2665f.js → 814.bundle.c0d69af52c06e4409f38.js} +6 -6
- package/dist/{799.bundle.758558e64147e5aad612.js → 822.bundle.d40c439da659f0e8500d.js} +65 -16
- package/dist/{953.bundle.3b0189ebc11cf0946f18.js → 886.bundle.68ef58774a6837f57631.js} +11 -10
- package/dist/{270.bundle.4564621556b0f963a004.js → 925.bundle.a2f1103d968c53a2b8fb.js} +626 -544
- package/dist/945.min.worker.js +1 -1
- package/dist/945.min.worker.js.map +1 -1
- package/dist/app-config.js +7 -7
- package/dist/{app.bundle.3ab8624d0394f1b10a0d.js → app.bundle.cbf4363d789f3e24553e.js} +59258 -59602
- package/dist/app.bundle.css +9 -9
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/{dicom-microscopy-viewer.bundle.aa60bdf008c32c39cfd7.js → dicom-microscopy-viewer.bundle.44f7fedc03a58d5911d1.js} +3 -3
- package/dist/google.js +6 -5
- package/dist/index.html +1 -1
- package/dist/{index.worker.1c69152d710fa7b84bce.worker.js → index.worker.e62ecca63f1a2e124230.worker.js} +2 -2
- package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +1 -0
- package/dist/sw.js +1 -1
- package/package.json +19 -20
- package/dist/780.bundle.fd0f13dc92e9caa0581e.js +0 -4769
- package/dist/index.worker.1c69152d710fa7b84bce.worker.js.map +0 -1
- /package/dist/{55.css → 250.css} +0 -0
- /package/dist/{806.css → 579.css} +0 -0
- /package/dist/{707.css → 678.css} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[181],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 86181:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -13,22 +13,22 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
16
|
-
var react = __webpack_require__(
|
|
16
|
+
var react = __webpack_require__(43001);
|
|
17
17
|
// EXTERNAL MODULE: ../../../node_modules/react-resize-detector/build/index.esm.js
|
|
18
|
-
var index_esm = __webpack_require__(
|
|
18
|
+
var index_esm = __webpack_require__(7023);
|
|
19
19
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
20
|
-
var prop_types = __webpack_require__(
|
|
20
|
+
var prop_types = __webpack_require__(3827);
|
|
21
21
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
22
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js +
|
|
23
|
-
var esm = __webpack_require__(
|
|
24
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js +
|
|
25
|
-
var dist_esm = __webpack_require__(
|
|
26
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
27
|
-
var src = __webpack_require__(
|
|
28
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
29
|
-
var ui_src = __webpack_require__(
|
|
22
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 323 modules
|
|
23
|
+
var esm = __webpack_require__(26925);
|
|
24
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 337 modules
|
|
25
|
+
var dist_esm = __webpack_require__(45754);
|
|
26
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 104 modules
|
|
27
|
+
var src = __webpack_require__(24966);
|
|
28
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 456 modules
|
|
29
|
+
var ui_src = __webpack_require__(60082);
|
|
30
30
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
|
|
31
|
-
var state = __webpack_require__(
|
|
31
|
+
var state = __webpack_require__(73704);
|
|
32
32
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css
|
|
33
33
|
// extracted by mini-css-extract-plugin
|
|
34
34
|
|
|
@@ -160,9 +160,9 @@ CornerstoneImageScrollbar.propTypes = {
|
|
|
160
160
|
};
|
|
161
161
|
/* harmony default export */ const ViewportImageScrollbar = (CornerstoneImageScrollbar);
|
|
162
162
|
// EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 10 modules
|
|
163
|
-
var gl_matrix_esm = __webpack_require__(
|
|
163
|
+
var gl_matrix_esm = __webpack_require__(45451);
|
|
164
164
|
// EXTERNAL MODULE: ../../../node_modules/moment/moment.js
|
|
165
|
-
var moment = __webpack_require__(
|
|
165
|
+
var moment = __webpack_require__(71271);
|
|
166
166
|
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
|
|
167
167
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/Overlays/utils.ts
|
|
168
168
|
|
|
@@ -634,7 +634,7 @@ CustomizableViewportOverlay.propTypes = {
|
|
|
634
634
|
};
|
|
635
635
|
/* harmony default export */ const Overlays_CustomizableViewportOverlay = (CustomizableViewportOverlay);
|
|
636
636
|
// EXTERNAL MODULE: ../../../node_modules/classnames/index.js
|
|
637
|
-
var classnames = __webpack_require__(
|
|
637
|
+
var classnames = __webpack_require__(44921);
|
|
638
638
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
639
639
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.css
|
|
640
640
|
// extracted by mini-css-extract-plugin
|
|
@@ -963,7 +963,100 @@ function CornerstoneOverlays(props) {
|
|
|
963
963
|
}
|
|
964
964
|
/* harmony default export */ const Overlays_CornerstoneOverlays = (CornerstoneOverlays);
|
|
965
965
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/utils/getSOPInstanceAttributes.js
|
|
966
|
-
var getSOPInstanceAttributes = __webpack_require__(
|
|
966
|
+
var getSOPInstanceAttributes = __webpack_require__(87172);
|
|
967
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/components/CinePlayer/CinePlayer.tsx
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
function WrappedCinePlayer(_ref) {
|
|
972
|
+
let {
|
|
973
|
+
enabledVPElement,
|
|
974
|
+
viewportIndex,
|
|
975
|
+
servicesManager
|
|
976
|
+
} = _ref;
|
|
977
|
+
const {
|
|
978
|
+
toolbarService,
|
|
979
|
+
customizationService
|
|
980
|
+
} = servicesManager.services;
|
|
981
|
+
const [{
|
|
982
|
+
isCineEnabled,
|
|
983
|
+
cines
|
|
984
|
+
}, cineService] = (0,ui_src/* useCine */.vQ)();
|
|
985
|
+
const [{
|
|
986
|
+
activeViewportIndex
|
|
987
|
+
}] = (0,ui_src/* useViewportGrid */.O_)();
|
|
988
|
+
const {
|
|
989
|
+
component: CinePlayerComponent = ui_src/* CinePlayer */.H6
|
|
990
|
+
} = customizationService.get('cinePlayer') ?? {};
|
|
991
|
+
const handleCineClose = () => {
|
|
992
|
+
toolbarService.recordInteraction({
|
|
993
|
+
groupId: 'MoreTools',
|
|
994
|
+
itemId: 'cine',
|
|
995
|
+
interactionType: 'toggle',
|
|
996
|
+
commands: [{
|
|
997
|
+
commandName: 'toggleCine',
|
|
998
|
+
commandOptions: {},
|
|
999
|
+
context: 'CORNERSTONE'
|
|
1000
|
+
}]
|
|
1001
|
+
});
|
|
1002
|
+
};
|
|
1003
|
+
const cineHandler = () => {
|
|
1004
|
+
if (!cines || !cines[viewportIndex] || !enabledVPElement) {
|
|
1005
|
+
return;
|
|
1006
|
+
}
|
|
1007
|
+
const cine = cines[viewportIndex];
|
|
1008
|
+
const isPlaying = cine.isPlaying || false;
|
|
1009
|
+
const frameRate = cine.frameRate || 24;
|
|
1010
|
+
const validFrameRate = Math.max(frameRate, 1);
|
|
1011
|
+
if (isPlaying) {
|
|
1012
|
+
cineService.playClip(enabledVPElement, {
|
|
1013
|
+
framesPerSecond: validFrameRate
|
|
1014
|
+
});
|
|
1015
|
+
} else {
|
|
1016
|
+
cineService.stopClip(enabledVPElement);
|
|
1017
|
+
}
|
|
1018
|
+
};
|
|
1019
|
+
(0,react.useEffect)(() => {
|
|
1020
|
+
dist_esm.eventTarget.addEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, cineHandler);
|
|
1021
|
+
return () => {
|
|
1022
|
+
cineService.setCine({
|
|
1023
|
+
id: viewportIndex,
|
|
1024
|
+
isPlaying: false
|
|
1025
|
+
});
|
|
1026
|
+
dist_esm.eventTarget.removeEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, cineHandler);
|
|
1027
|
+
};
|
|
1028
|
+
}, [enabledVPElement]);
|
|
1029
|
+
(0,react.useEffect)(() => {
|
|
1030
|
+
if (!cines || !cines[viewportIndex] || !enabledVPElement) {
|
|
1031
|
+
return;
|
|
1032
|
+
}
|
|
1033
|
+
cineHandler();
|
|
1034
|
+
return () => {
|
|
1035
|
+
if (enabledVPElement && cines?.[viewportIndex]?.isPlaying) {
|
|
1036
|
+
cineService.stopClip(enabledVPElement);
|
|
1037
|
+
}
|
|
1038
|
+
};
|
|
1039
|
+
}, [cines, viewportIndex, cineService, enabledVPElement, cineHandler]);
|
|
1040
|
+
const cine = cines[viewportIndex];
|
|
1041
|
+
const isPlaying = cine && cine.isPlaying || false;
|
|
1042
|
+
return isCineEnabled && /*#__PURE__*/react.createElement(CinePlayerComponent, {
|
|
1043
|
+
className: "absolute left-1/2 -translate-x-1/2 bottom-3",
|
|
1044
|
+
isPlaying: isPlaying,
|
|
1045
|
+
onClose: handleCineClose,
|
|
1046
|
+
onPlayPauseChange: isPlaying => cineService.setCine({
|
|
1047
|
+
id: activeViewportIndex,
|
|
1048
|
+
isPlaying
|
|
1049
|
+
}),
|
|
1050
|
+
onFrameRateChange: frameRate => cineService.setCine({
|
|
1051
|
+
id: activeViewportIndex,
|
|
1052
|
+
frameRate
|
|
1053
|
+
})
|
|
1054
|
+
});
|
|
1055
|
+
}
|
|
1056
|
+
/* harmony default export */ const CinePlayer = (WrappedCinePlayer);
|
|
1057
|
+
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/components/CinePlayer/index.ts
|
|
1058
|
+
|
|
1059
|
+
/* harmony default export */ const components_CinePlayer = (CinePlayer);
|
|
967
1060
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.tsx
|
|
968
1061
|
|
|
969
1062
|
|
|
@@ -976,6 +1069,7 @@ var getSOPInstanceAttributes = __webpack_require__(63130);
|
|
|
976
1069
|
|
|
977
1070
|
|
|
978
1071
|
|
|
1072
|
+
|
|
979
1073
|
const STACK = 'stack';
|
|
980
1074
|
|
|
981
1075
|
/**
|
|
@@ -1038,21 +1132,16 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1038
1132
|
viewportOptions,
|
|
1039
1133
|
displaySetOptions,
|
|
1040
1134
|
servicesManager,
|
|
1135
|
+
commandsManager,
|
|
1041
1136
|
onElementEnabled,
|
|
1042
1137
|
onElementDisabled,
|
|
1138
|
+
isJumpToMeasurementDisabled,
|
|
1043
1139
|
// Note: you SHOULD NOT use the initialImageIdOrIndex for manipulation
|
|
1044
1140
|
// of the imageData in the OHIFCornerstoneViewport. This prop is used
|
|
1045
1141
|
// to set the initial state of the viewport's first image to render
|
|
1046
1142
|
initialImageIndex
|
|
1047
1143
|
} = props;
|
|
1048
1144
|
const [scrollbarHeight, setScrollbarHeight] = (0,react.useState)('100px');
|
|
1049
|
-
const [{
|
|
1050
|
-
isCineEnabled,
|
|
1051
|
-
cines
|
|
1052
|
-
}, cineService] = (0,ui_src/* useCine */.vQ)();
|
|
1053
|
-
const [{
|
|
1054
|
-
activeViewportIndex
|
|
1055
|
-
}] = (0,ui_src/* useViewportGrid */.O_)();
|
|
1056
1145
|
const [enabledVPElement, setEnabledVPElement] = (0,react.useState)(null);
|
|
1057
1146
|
const elementRef = (0,react.useRef)();
|
|
1058
1147
|
const {
|
|
@@ -1067,58 +1156,6 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1067
1156
|
stateSyncService
|
|
1068
1157
|
} = servicesManager.services;
|
|
1069
1158
|
const [viewportDialogState] = (0,ui_src/* useViewportDialog */.en)();
|
|
1070
|
-
const cineHandler = () => {
|
|
1071
|
-
if (!cines || !cines[viewportIndex] || !enabledVPElement) {
|
|
1072
|
-
return;
|
|
1073
|
-
}
|
|
1074
|
-
const cine = cines[viewportIndex];
|
|
1075
|
-
const isPlaying = cine.isPlaying || false;
|
|
1076
|
-
const frameRate = cine.frameRate || 24;
|
|
1077
|
-
const validFrameRate = Math.max(frameRate, 1);
|
|
1078
|
-
if (isPlaying) {
|
|
1079
|
-
cineService.playClip(enabledVPElement, {
|
|
1080
|
-
framesPerSecond: validFrameRate
|
|
1081
|
-
});
|
|
1082
|
-
} else {
|
|
1083
|
-
cineService.stopClip(enabledVPElement);
|
|
1084
|
-
}
|
|
1085
|
-
};
|
|
1086
|
-
(0,react.useEffect)(() => {
|
|
1087
|
-
dist_esm.eventTarget.addEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, cineHandler);
|
|
1088
|
-
return () => {
|
|
1089
|
-
cineService.setCine({
|
|
1090
|
-
id: viewportIndex,
|
|
1091
|
-
isPlaying: false
|
|
1092
|
-
});
|
|
1093
|
-
dist_esm.eventTarget.removeEventListener(dist_esm.Enums.Events.STACK_VIEWPORT_NEW_STACK, cineHandler);
|
|
1094
|
-
};
|
|
1095
|
-
}, [enabledVPElement]);
|
|
1096
|
-
(0,react.useEffect)(() => {
|
|
1097
|
-
if (!cines || !cines[viewportIndex] || !enabledVPElement) {
|
|
1098
|
-
return;
|
|
1099
|
-
}
|
|
1100
|
-
cineHandler();
|
|
1101
|
-
return () => {
|
|
1102
|
-
if (enabledVPElement && cines?.[viewportIndex]?.isPlaying) {
|
|
1103
|
-
cineService.stopClip(enabledVPElement);
|
|
1104
|
-
}
|
|
1105
|
-
};
|
|
1106
|
-
}, [cines, viewportIndex, cineService, enabledVPElement, cineHandler]);
|
|
1107
|
-
const cine = cines[viewportIndex];
|
|
1108
|
-
const isPlaying = cine && cine.isPlaying || false;
|
|
1109
|
-
const handleCineClose = () => {
|
|
1110
|
-
toolbarService.recordInteraction({
|
|
1111
|
-
groupId: 'MoreTools',
|
|
1112
|
-
itemId: 'cine',
|
|
1113
|
-
interactionType: 'toggle',
|
|
1114
|
-
commands: [{
|
|
1115
|
-
commandName: 'toggleCine',
|
|
1116
|
-
commandOptions: {},
|
|
1117
|
-
context: 'CORNERSTONE'
|
|
1118
|
-
}]
|
|
1119
|
-
});
|
|
1120
|
-
};
|
|
1121
|
-
|
|
1122
1159
|
// useCallback for scroll bar height calculation
|
|
1123
1160
|
const setImageScrollBarHeight = (0,react.useCallback)(() => {
|
|
1124
1161
|
const scrollbarHeight = `${elementRef.current.clientHeight - 20}px`;
|
|
@@ -1132,35 +1169,6 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1132
1169
|
setImageScrollBarHeight();
|
|
1133
1170
|
}
|
|
1134
1171
|
}, [elementRef]);
|
|
1135
|
-
const storePresentation = () => {
|
|
1136
|
-
const currentPresentation = cornerstoneViewportService.getPresentation(viewportIndex);
|
|
1137
|
-
if (!currentPresentation || !currentPresentation.presentationIds) return;
|
|
1138
|
-
const {
|
|
1139
|
-
lutPresentationStore,
|
|
1140
|
-
positionPresentationStore
|
|
1141
|
-
} = stateSyncService.getState();
|
|
1142
|
-
const {
|
|
1143
|
-
presentationIds
|
|
1144
|
-
} = currentPresentation;
|
|
1145
|
-
const {
|
|
1146
|
-
lutPresentationId,
|
|
1147
|
-
positionPresentationId
|
|
1148
|
-
} = presentationIds || {};
|
|
1149
|
-
const storeState = {};
|
|
1150
|
-
if (lutPresentationId) {
|
|
1151
|
-
storeState.lutPresentationStore = {
|
|
1152
|
-
...lutPresentationStore,
|
|
1153
|
-
[lutPresentationId]: currentPresentation
|
|
1154
|
-
};
|
|
1155
|
-
}
|
|
1156
|
-
if (positionPresentationId) {
|
|
1157
|
-
storeState.positionPresentationStore = {
|
|
1158
|
-
...positionPresentationStore,
|
|
1159
|
-
[positionPresentationId]: currentPresentation
|
|
1160
|
-
};
|
|
1161
|
-
}
|
|
1162
|
-
stateSyncService.store(storeState);
|
|
1163
|
-
};
|
|
1164
1172
|
const cleanUpServices = (0,react.useCallback)(() => {
|
|
1165
1173
|
const viewportInfo = cornerstoneViewportService.getViewportInfoByIndex(viewportIndex);
|
|
1166
1174
|
if (!viewportInfo) {
|
|
@@ -1201,7 +1209,9 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1201
1209
|
dist_esm.eventTarget.addEventListener(dist_esm.Enums.Events.ELEMENT_ENABLED, elementEnabledHandler);
|
|
1202
1210
|
setImageScrollBarHeight();
|
|
1203
1211
|
return () => {
|
|
1204
|
-
storePresentation
|
|
1212
|
+
commandsManager.runCommand('storePresentation', {
|
|
1213
|
+
viewportIndex
|
|
1214
|
+
});
|
|
1205
1215
|
cleanUpServices();
|
|
1206
1216
|
const viewportInfo = cornerstoneViewportService.getViewportInfoByIndex(viewportIndex);
|
|
1207
1217
|
cornerstoneViewportService.disableElement(viewportIndex);
|
|
@@ -1284,6 +1294,9 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1284
1294
|
* the cache for jumping to see if there is any jump queued, then we jump to the correct slice.
|
|
1285
1295
|
*/
|
|
1286
1296
|
(0,react.useEffect)(() => {
|
|
1297
|
+
if (isJumpToMeasurementDisabled) {
|
|
1298
|
+
return;
|
|
1299
|
+
}
|
|
1287
1300
|
const unsubscribeFromJumpToMeasurementEvents = _subscribeToJumpToMeasurementEvents(measurementService, displaySetService, elementRef, viewportIndex, displaySets, viewportGridService, cornerstoneViewportService);
|
|
1288
1301
|
_checkForCachedJumpToMeasurementEvents(measurementService, displaySetService, elementRef, viewportIndex, displaySets, viewportGridService, cornerstoneViewportService);
|
|
1289
1302
|
return () => {
|
|
@@ -1293,12 +1306,8 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1293
1306
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
1294
1307
|
className: "viewport-wrapper"
|
|
1295
1308
|
}, /*#__PURE__*/react.createElement(index_esm/* default */.ZP, {
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
skipOnMount: true // Todo: make these configurable
|
|
1299
|
-
,
|
|
1300
|
-
refreshMode: 'debounce',
|
|
1301
|
-
refreshRate: 200 // transition amount in side panel
|
|
1309
|
+
refreshMode: "debounce",
|
|
1310
|
+
refreshRate: 50 // Wait 50 ms after last move to render
|
|
1302
1311
|
,
|
|
1303
1312
|
onResize: onResize,
|
|
1304
1313
|
targetRef: elementRef.current
|
|
@@ -1317,18 +1326,10 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1317
1326
|
element: elementRef.current,
|
|
1318
1327
|
scrollbarHeight: scrollbarHeight,
|
|
1319
1328
|
servicesManager: servicesManager
|
|
1320
|
-
}),
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
onPlayPauseChange: isPlaying => cineService.setCine({
|
|
1325
|
-
id: activeViewportIndex,
|
|
1326
|
-
isPlaying
|
|
1327
|
-
}),
|
|
1328
|
-
onFrameRateChange: frameRate => cineService.setCine({
|
|
1329
|
-
id: activeViewportIndex,
|
|
1330
|
-
frameRate
|
|
1331
|
-
})
|
|
1329
|
+
}), /*#__PURE__*/react.createElement(components_CinePlayer, {
|
|
1330
|
+
enabledVPElement: enabledVPElement,
|
|
1331
|
+
viewportIndex: viewportIndex,
|
|
1332
|
+
servicesManager: servicesManager
|
|
1332
1333
|
})), /*#__PURE__*/react.createElement("div", {
|
|
1333
1334
|
className: "absolute w-full"
|
|
1334
1335
|
}, viewportDialogState.viewportIndex === viewportIndex && /*#__PURE__*/react.createElement(ui_src/* Notification */.P_, {
|
|
@@ -1351,7 +1352,9 @@ function _subscribeToJumpToMeasurementEvents(measurementService, displaySetServi
|
|
|
1351
1352
|
measurement,
|
|
1352
1353
|
isConsumed
|
|
1353
1354
|
} = props;
|
|
1354
|
-
if (!measurement || isConsumed)
|
|
1355
|
+
if (!measurement || isConsumed) {
|
|
1356
|
+
return;
|
|
1357
|
+
}
|
|
1355
1358
|
if (cacheJumpToMeasurementEvent.cornerstoneViewport === undefined) {
|
|
1356
1359
|
// Decide on which viewport should handle this
|
|
1357
1360
|
cacheJumpToMeasurementEvent.cornerstoneViewport = cornerstoneViewportService.getViewportIndexToJump(jumpIndex, measurement.displaySetInstanceUID, {
|
|
@@ -1368,13 +1371,17 @@ function _subscribeToJumpToMeasurementEvents(measurementService, displaySetServi
|
|
|
1368
1371
|
|
|
1369
1372
|
// Check if there is a queued jumpToMeasurement event
|
|
1370
1373
|
function _checkForCachedJumpToMeasurementEvents(measurementService, displaySetService, elementRef, viewportIndex, displaySets, viewportGridService, cornerstoneViewportService) {
|
|
1371
|
-
if (!cacheJumpToMeasurementEvent)
|
|
1374
|
+
if (!cacheJumpToMeasurementEvent) {
|
|
1375
|
+
return;
|
|
1376
|
+
}
|
|
1372
1377
|
if (cacheJumpToMeasurementEvent.isConsumed) {
|
|
1373
1378
|
cacheJumpToMeasurementEvent = null;
|
|
1374
1379
|
return;
|
|
1375
1380
|
}
|
|
1376
1381
|
const displaysUIDs = displaySets.map(displaySet => displaySet.displaySetInstanceUID);
|
|
1377
|
-
if (!displaysUIDs?.length)
|
|
1382
|
+
if (!displaysUIDs?.length) {
|
|
1383
|
+
return;
|
|
1384
|
+
}
|
|
1378
1385
|
|
|
1379
1386
|
// Jump to measurement if the measurement exists
|
|
1380
1387
|
const {
|
|
@@ -1451,6 +1458,9 @@ function _jumpToMeasurement(measurement, targetElementRef, viewportIndex, measur
|
|
|
1451
1458
|
|
|
1452
1459
|
// Component displayName
|
|
1453
1460
|
OHIFCornerstoneViewport.displayName = 'OHIFCornerstoneViewport';
|
|
1461
|
+
OHIFCornerstoneViewport.defaultProps = {
|
|
1462
|
+
isJumpToMeasurementDisabled: false
|
|
1463
|
+
};
|
|
1454
1464
|
OHIFCornerstoneViewport.propTypes = {
|
|
1455
1465
|
viewportIndex: (prop_types_default()).number.isRequired,
|
|
1456
1466
|
displaySets: (prop_types_default()).array.isRequired,
|
|
@@ -1459,6 +1469,7 @@ OHIFCornerstoneViewport.propTypes = {
|
|
|
1459
1469
|
displaySetOptions: prop_types_default().arrayOf((prop_types_default()).any),
|
|
1460
1470
|
servicesManager: (prop_types_default()).object.isRequired,
|
|
1461
1471
|
onElementEnabled: (prop_types_default()).func,
|
|
1472
|
+
isJumpToMeasurementDisabled: (prop_types_default()).bool,
|
|
1462
1473
|
// Note: you SHOULD NOT use the initialImageIdOrIndex for manipulation
|
|
1463
1474
|
// of the imageData in the OHIFCornerstoneViewport. This prop is used
|
|
1464
1475
|
// to set the initial state of the viewport's first image to render
|
package/dist/{351.css → 181.css}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viewport-wrapper{height:100%;position:relative;width:100%}.cornerstone-viewport-element{background-color:#000;height:100%;outline:0!important;overflow:hidden;position:relative;width:100%}
|
|
2
2
|
.viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
|
|
3
3
|
.ViewportOrientationMarkers{--marker-width:100px;--marker-height:100px;--scrollbar-width:20px;font-size:15px;line-height:18px;pointer-events:none}.ViewportOrientationMarkers .orientation-marker{position:absolute}.ViewportOrientationMarkers .top-mid{left:50%;top:.6rem}.ViewportOrientationMarkers .left-mid{left:5px;top:47%}.ViewportOrientationMarkers .right-mid{left:calc(100% - var(--marker-width) - var(--scrollbar-width));top:47%}.ViewportOrientationMarkers .bottom-mid{left:47%;top:calc(100% - var(--marker-height) - .6rem)}.ViewportOrientationMarkers .right-mid .orientation-marker-value{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;min-width:var(--marker-width)}.ViewportOrientationMarkers .bottom-mid .orientation-marker-value{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;min-height:var(--marker-height)}
|