@ohif/app 3.8.0-beta.8 → 3.8.0-beta.80
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/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
- package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.787f5a848ed632a4d5fc.js} +90 -112
- package/dist/141.bundle.556b4c1e4cab770417ac.js +8620 -0
- package/dist/{687.bundle.9065db35c01823286f08.js → 164.bundle.d4598e491783753a8b6b.js} +22 -38
- package/dist/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/183.bundle.72bf18ad23ee6624986d.js +30394 -0
- package/dist/{506.bundle.5731bb4349e266491225.js → 188.bundle.b80554ec7df7dcd435a5.js} +23 -28
- package/dist/{342.bundle.e7c3d500f86fdfcc62b5.js → 206.bundle.f957e0d1cdff66dbac69.js} +1963 -1142
- package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
- package/dist/217.bundle.be1cc412f8e26be87d21.js +115079 -0
- package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.6f734abf8fa85b1a310d.js} +107 -127
- package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
- package/dist/{19.bundle.f77c5787b6d8ac0b638b.js → 325.bundle.84909a08305556e9f924.js} +479 -371
- package/dist/335.bundle.c39d4aefe33aecab958f.js +2590 -0
- package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.e6d0bba29351b5650a8c.js} +566 -868
- package/dist/{776.bundle.a2dedb405a12ffd7699b.js → 41.bundle.7c943bb857ed37831905.js} +7295 -3536
- package/dist/422.bundle.bd6529c536f59807fbee.js +881 -0
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 433.bundle.4c77c1fe8fc90ac14218.js} +14737 -27555
- package/dist/445.bundle.38c6d2af64e41cd7c614.js +7835 -0
- package/dist/{126.bundle.6e7111d58bcc937ffd80.js → 448.bundle.deedeff5744e77510734.js} +362 -430
- package/dist/487.bundle.7890ca42826941ebcd60.js +1875 -0
- package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.7c94543955552475c56a.js} +98 -127
- package/dist/{663.bundle.d7be28450db14266cdd0.js → 540.bundle.079d43a6717e95c24392.js} +225 -188
- package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1c1f57118560046649c1.js} +37 -62
- package/dist/574.bundle.be075ac52fb52b442a8b.js +2641 -0
- package/dist/{181.css → 574.css} +1 -1
- package/dist/{410.bundle.15c855b0ff4a1a674fb8.js → 594.bundle.0b1165661dd638820082.js} +183 -221
- package/dist/{221.bundle.aef554202c58483cb34e.js → 633.bundle.c1658e76f104cbd14cab.js} +349 -552
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
- package/dist/699.bundle.4f01772e7ce6637de339.js +768 -0
- package/dist/702.bundle.963481fbf871984b646f.js +8426 -0
- package/dist/722.bundle.afab1fe6bfcd569130ac.js +1083 -0
- package/dist/{359.bundle.45ecb3d28e8c22142606.js → 724.bundle.e5794460c391ee9cba2c.js} +164 -259
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.0b3d9277d22fe7e15b89.js} +512 -879
- package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
- package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.c0ee6e1d4d97e1353213.js} +77 -96
- package/dist/{236.bundle.4e9924934a747afac132.js → 889.bundle.7858e4b7ca1a2b12b64f.js} +207 -199
- package/dist/{281.bundle.deb7492d143e7768d8bf.js → 905.bundle.170908fe660fc6b40649.js} +157 -124
- package/dist/{814.bundle.c8c951d20039b63b865a.js → 907.bundle.dee4e30420caf07caea6.js} +16 -30
- package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
- package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
- package/dist/94.bundle.c452d9b0645277c2cf4e.js +784 -0
- package/dist/{12.bundle.b5ca13e5363f170ecb3b.js → 961.bundle.aaaaaba0ec015a3b85d8.js} +20 -33
- package/dist/app-config.js +1 -0
- package/dist/{app.bundle.a978edc59b9d82f2eb22.js → app.bundle.6c090a2d6d3ccc97a81d.js} +183240 -87650
- package/dist/app.bundle.css +16 -13
- package/dist/assets/images/CT-AAA.png +0 -0
- package/dist/assets/images/CT-AAA2.png +0 -0
- package/dist/assets/images/CT-Air.png +0 -0
- package/dist/assets/images/CT-Bone.png +0 -0
- package/dist/assets/images/CT-Bones.png +0 -0
- package/dist/assets/images/CT-Cardiac.png +0 -0
- package/dist/assets/images/CT-Cardiac2.png +0 -0
- package/dist/assets/images/CT-Cardiac3.png +0 -0
- package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
- package/dist/assets/images/CT-Chest-Vessels.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
- package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
- package/dist/assets/images/CT-Fat.png +0 -0
- package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
- package/dist/assets/images/CT-Lung.png +0 -0
- package/dist/assets/images/CT-MIP.png +0 -0
- package/dist/assets/images/CT-Muscle.png +0 -0
- package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
- package/dist/assets/images/CT-Soft-Tissue.png +0 -0
- package/dist/assets/images/DTI-FA-Brain.png +0 -0
- package/dist/assets/images/MR-Angio.png +0 -0
- package/dist/assets/images/MR-Default.png +0 -0
- package/dist/assets/images/MR-MIP.png +0 -0
- package/dist/assets/images/MR-T2-Brain.png +0 -0
- package/dist/assets/images/VolumeRendering.png +0 -0
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
- package/dist/histogram-worker.bundle.829e14ec12c2b41a4323.js +359 -0
- package/dist/index.html +1 -1
- package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
- package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
- package/dist/polySeg.bundle.63011312c3c79e717ea9.js +249 -0
- package/dist/serve.json +12 -0
- package/dist/sw.js +1 -1
- package/package.json +26 -22
- package/dist/181.bundle.a62b9f0ec692299acb35.js +0 -1527
- package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
- package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
- package/dist/613.bundle.9e7072e5b575354fe51e.js +0 -532
- package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
- package/dist/75788f12450d4c5ed494.wasm +0 -0
- package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
- package/dist/788.bundle.207ac23c0dfa70cbe3fb.js +0 -2682
- package/dist/82.bundle.d6fdcca0f67540bb226a.js +0 -1049
- package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
- /package/dist/{19.css → 325.css} +0 -0
- /package/dist/{776.css → 41.css} +0 -0
- /package/dist/{579.css → 481.css} +0 -0
- /package/dist/{250.css → 544.css} +0 -0
- /package/dist/{221.css → 633.css} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[121],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 23121:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -13,14 +13,12 @@ __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__(41766);
|
|
17
17
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
18
|
-
var prop_types = __webpack_require__(
|
|
18
|
+
var prop_types = __webpack_require__(11374);
|
|
19
19
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
20
|
-
// EXTERNAL MODULE: ../../
|
|
21
|
-
var src = __webpack_require__(
|
|
22
|
-
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
23
|
-
var ui_src = __webpack_require__(22582);
|
|
20
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 785 modules
|
|
21
|
+
var src = __webpack_require__(5085);
|
|
24
22
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
|
|
25
23
|
|
|
26
24
|
const RESPONSE = {
|
|
@@ -28,15 +26,14 @@ const RESPONSE = {
|
|
|
28
26
|
CANCEL: 0,
|
|
29
27
|
HYDRATE_SEG: 5
|
|
30
28
|
};
|
|
31
|
-
function promptHydrateRT(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
} = _ref;
|
|
29
|
+
function promptHydrateRT({
|
|
30
|
+
servicesManager,
|
|
31
|
+
rtDisplaySet,
|
|
32
|
+
viewportId,
|
|
33
|
+
toolGroupId = 'default',
|
|
34
|
+
preHydrateCallbacks,
|
|
35
|
+
hydrateRTDisplaySet
|
|
36
|
+
}) {
|
|
40
37
|
const {
|
|
41
38
|
uiViewportDialogService
|
|
42
39
|
} = servicesManager.services;
|
|
@@ -60,11 +57,11 @@ function _askHydrate(uiViewportDialogService, viewportId) {
|
|
|
60
57
|
return new Promise(function (resolve, reject) {
|
|
61
58
|
const message = 'Do you want to open this Segmentation?';
|
|
62
59
|
const actions = [{
|
|
63
|
-
type:
|
|
60
|
+
type: src/* ButtonEnums.type */.Ny.NW.secondary,
|
|
64
61
|
text: 'No',
|
|
65
62
|
value: RESPONSE.CANCEL
|
|
66
63
|
}, {
|
|
67
|
-
type:
|
|
64
|
+
type: src/* ButtonEnums.type */.Ny.NW.primary,
|
|
68
65
|
text: 'Yes',
|
|
69
66
|
value: RESPONSE.HYDRATE_SEG
|
|
70
67
|
}];
|
|
@@ -81,55 +78,61 @@ function _askHydrate(uiViewportDialogService, viewportId) {
|
|
|
81
78
|
onOutsideClick: () => {
|
|
82
79
|
uiViewportDialogService.hide();
|
|
83
80
|
resolve(RESPONSE.CANCEL);
|
|
81
|
+
},
|
|
82
|
+
onKeyPress: event => {
|
|
83
|
+
if (event.key === 'Enter') {
|
|
84
|
+
onSubmit(RESPONSE.HYDRATE_SEG);
|
|
85
|
+
}
|
|
84
86
|
}
|
|
85
87
|
});
|
|
86
88
|
});
|
|
87
89
|
}
|
|
88
90
|
/* harmony default export */ const utils_promptHydrateRT = (promptHydrateRT);
|
|
89
91
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
90
|
-
var es = __webpack_require__(
|
|
92
|
+
var es = __webpack_require__(80619);
|
|
91
93
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/viewports/_getStatusComponent.tsx
|
|
92
94
|
|
|
93
95
|
|
|
94
96
|
|
|
95
|
-
function _getStatusComponent(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
} = _ref;
|
|
97
|
+
function _getStatusComponent({
|
|
98
|
+
isHydrated,
|
|
99
|
+
onStatusClick
|
|
100
|
+
}) {
|
|
100
101
|
let ToolTipMessage = null;
|
|
101
102
|
let StatusIcon = null;
|
|
102
|
-
const {
|
|
103
|
-
t
|
|
104
|
-
} = (0,es/* useTranslation */.$G)('Common');
|
|
105
|
-
const loadStr = t('LOAD');
|
|
106
103
|
switch (isHydrated) {
|
|
107
104
|
case true:
|
|
108
|
-
StatusIcon = () => /*#__PURE__*/react.createElement(
|
|
105
|
+
StatusIcon = () => /*#__PURE__*/react.createElement(src/* Icon */.In, {
|
|
109
106
|
name: "status-alert"
|
|
110
107
|
});
|
|
111
108
|
ToolTipMessage = () => /*#__PURE__*/react.createElement("div", null, "This Segmentation is loaded in the segmentation panel");
|
|
112
109
|
break;
|
|
113
110
|
case false:
|
|
114
|
-
StatusIcon = () => /*#__PURE__*/react.createElement(
|
|
111
|
+
StatusIcon = () => /*#__PURE__*/react.createElement(src/* Icon */.In, {
|
|
115
112
|
className: "text-aqua-pale",
|
|
116
113
|
name: "status-untracked"
|
|
117
114
|
});
|
|
118
115
|
ToolTipMessage = () => /*#__PURE__*/react.createElement("div", null, "Click LOAD to load RTSTRUCT.");
|
|
119
116
|
}
|
|
120
|
-
const StatusArea = () =>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
117
|
+
const StatusArea = () => {
|
|
118
|
+
const {
|
|
119
|
+
t
|
|
120
|
+
} = (0,es/* useTranslation */.Bd)('Common');
|
|
121
|
+
const loadStr = t('LOAD');
|
|
122
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
123
|
+
className: "flex h-6 cursor-default text-sm leading-6 text-white"
|
|
124
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
125
|
+
className: "bg-customgray-100 flex min-w-[45px] items-center rounded-l-xl rounded-r p-1"
|
|
126
|
+
}, /*#__PURE__*/react.createElement(StatusIcon, null), /*#__PURE__*/react.createElement("span", {
|
|
127
|
+
className: "ml-1"
|
|
128
|
+
}, "RTSTRUCT")), !isHydrated && /*#__PURE__*/react.createElement("div", {
|
|
129
|
+
className: "bg-primary-main hover:bg-primary-light ml-1 cursor-pointer rounded px-1.5 hover:text-black"
|
|
130
|
+
// Using onMouseUp here because onClick is not working when the viewport is not active and is styled with pointer-events:none
|
|
131
|
+
,
|
|
132
|
+
onMouseUp: onStatusClick
|
|
133
|
+
}, loadStr));
|
|
134
|
+
};
|
|
135
|
+
return /*#__PURE__*/react.createElement(react.Fragment, null, ToolTipMessage && /*#__PURE__*/react.createElement(src/* Tooltip */.m_, {
|
|
133
136
|
content: /*#__PURE__*/react.createElement(ToolTipMessage, null),
|
|
134
137
|
position: "bottom-left"
|
|
135
138
|
}, /*#__PURE__*/react.createElement(StatusArea, null)), !ToolTipMessage && /*#__PURE__*/react.createElement(StatusArea, null));
|
|
@@ -150,17 +153,12 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
150
153
|
|
|
151
154
|
|
|
152
155
|
|
|
153
|
-
|
|
154
|
-
const {
|
|
155
|
-
formatDate
|
|
156
|
-
} = src.utils;
|
|
157
156
|
const RT_TOOLGROUP_BASE_NAME = 'RTToolGroup';
|
|
158
157
|
function OHIFCornerstoneRTViewport(props) {
|
|
159
158
|
const {
|
|
160
159
|
children,
|
|
161
160
|
displaySets,
|
|
162
161
|
viewportOptions,
|
|
163
|
-
viewportLabel,
|
|
164
162
|
servicesManager,
|
|
165
163
|
extensionManager,
|
|
166
164
|
commandsManager
|
|
@@ -170,7 +168,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
170
168
|
toolGroupService,
|
|
171
169
|
segmentationService,
|
|
172
170
|
uiNotificationService,
|
|
173
|
-
customizationService
|
|
171
|
+
customizationService,
|
|
172
|
+
viewportActionCornersService
|
|
174
173
|
} = servicesManager.services;
|
|
175
174
|
const viewportId = viewportOptions.viewportId;
|
|
176
175
|
const toolGroupId = `${RT_TOOLGROUP_BASE_NAME}-${viewportId}`;
|
|
@@ -180,7 +179,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
180
179
|
throw new Error('RT viewport should only have a single display set');
|
|
181
180
|
}
|
|
182
181
|
const rtDisplaySet = displaySets[0];
|
|
183
|
-
const [viewportGrid, viewportGridService] = (0,
|
|
182
|
+
const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.ih)();
|
|
184
183
|
|
|
185
184
|
// States
|
|
186
185
|
const [isToolGroupCreated, setToolGroupCreated] = (0,react.useState)(false);
|
|
@@ -224,20 +223,18 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
224
223
|
setElement(null);
|
|
225
224
|
};
|
|
226
225
|
const storePresentationState = (0,react.useCallback)(() => {
|
|
227
|
-
viewportGrid?.viewports.forEach(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
} = _ref;
|
|
226
|
+
viewportGrid?.viewports.forEach(({
|
|
227
|
+
viewportId
|
|
228
|
+
}) => {
|
|
231
229
|
commandsManager.runCommand('storePresentation', {
|
|
232
230
|
viewportId
|
|
233
231
|
});
|
|
234
232
|
});
|
|
235
233
|
}, [viewportGrid]);
|
|
236
|
-
const hydrateRTDisplaySet =
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
} = _ref2;
|
|
234
|
+
const hydrateRTDisplaySet = ({
|
|
235
|
+
rtDisplaySet,
|
|
236
|
+
viewportId
|
|
237
|
+
}) => {
|
|
241
238
|
commandsManager.runCommand('loadSegmentationDisplaySetsForViewport', {
|
|
242
239
|
displaySets: [rtDisplaySet],
|
|
243
240
|
viewportId
|
|
@@ -265,7 +262,6 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
265
262
|
}));
|
|
266
263
|
}, [viewportId, rtDisplaySet, toolGroupId]);
|
|
267
264
|
const onSegmentChange = (0,react.useCallback)(direction => {
|
|
268
|
-
direction = direction === 'left' ? -1 : 1;
|
|
269
265
|
const segmentationId = rtDisplaySet.displaySetInstanceUID;
|
|
270
266
|
const segmentation = segmentationService.getSegmentation(segmentationId);
|
|
271
267
|
const {
|
|
@@ -300,6 +296,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
300
296
|
});
|
|
301
297
|
}, [servicesManager, viewportId, rtDisplaySet, rtIsLoading]);
|
|
302
298
|
(0,react.useEffect)(() => {
|
|
299
|
+
// I'm not sure what is this, since in RT we support Overlapping segments
|
|
300
|
+
// via contours
|
|
303
301
|
const {
|
|
304
302
|
unsubscribe
|
|
305
303
|
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENTATION_LOADING_COMPLETE, evt => {
|
|
@@ -321,11 +319,10 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
321
319
|
(0,react.useEffect)(() => {
|
|
322
320
|
const {
|
|
323
321
|
unsubscribe
|
|
324
|
-
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE,
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
} = _ref3;
|
|
322
|
+
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE, ({
|
|
323
|
+
percentComplete,
|
|
324
|
+
numSegments
|
|
325
|
+
}) => {
|
|
329
326
|
setProcessingProgress({
|
|
330
327
|
percentComplete,
|
|
331
328
|
totalSegments: numSegments
|
|
@@ -340,10 +337,9 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
340
337
|
Cleanup the SEG viewport when the viewport is destroyed
|
|
341
338
|
*/
|
|
342
339
|
(0,react.useEffect)(() => {
|
|
343
|
-
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED,
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
} = _ref4;
|
|
340
|
+
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED, ({
|
|
341
|
+
displaySetInstanceUIDs
|
|
342
|
+
}) => {
|
|
347
343
|
const activeViewport = viewports.get(activeViewportId);
|
|
348
344
|
if (displaySetInstanceUIDs.includes(activeViewport.displaySetInstanceUID)) {
|
|
349
345
|
viewportGridService.setDisplaySetsForViewport({
|
|
@@ -391,19 +387,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
391
387
|
});
|
|
392
388
|
});
|
|
393
389
|
}
|
|
394
|
-
const {
|
|
395
|
-
PatientID,
|
|
396
|
-
PatientName,
|
|
397
|
-
PatientSex,
|
|
398
|
-
PatientAge,
|
|
399
|
-
SliceThickness,
|
|
400
|
-
ManufacturerModelName,
|
|
401
|
-
StudyDate,
|
|
402
|
-
SeriesDescription,
|
|
403
|
-
SpacingBetweenSlices,
|
|
404
|
-
SeriesNumber
|
|
405
|
-
} = referencedDisplaySetRef.current.metadata;
|
|
406
|
-
const onStatusClick = async () => {
|
|
390
|
+
const onStatusClick = (0,react.useCallback)(async () => {
|
|
407
391
|
// Before hydrating a RT and make it added to all viewports in the grid
|
|
408
392
|
// that share the same frameOfReferenceUID, we need to store the viewport grid
|
|
409
393
|
// presentation state, so that we can restore it after hydrating the RT. This is
|
|
@@ -416,38 +400,32 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
416
400
|
viewportId
|
|
417
401
|
});
|
|
418
402
|
setIsHydrated(isHydrated);
|
|
419
|
-
};
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
onArrowsClick: onSegmentChange,
|
|
426
|
-
getStatusComponent: () => {
|
|
427
|
-
return _getStatusComponent({
|
|
403
|
+
}, [hydrateRTDisplaySet, rtDisplaySet, storePresentationState, viewportId]);
|
|
404
|
+
(0,react.useEffect)(() => {
|
|
405
|
+
viewportActionCornersService.setComponents([{
|
|
406
|
+
viewportId,
|
|
407
|
+
id: 'viewportStatusComponent',
|
|
408
|
+
component: _getStatusComponent({
|
|
428
409
|
isHydrated,
|
|
429
410
|
onStatusClick
|
|
430
|
-
})
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
}), /*#__PURE__*/react.createElement("div", {
|
|
411
|
+
}),
|
|
412
|
+
indexPriority: -100,
|
|
413
|
+
location: viewportActionCornersService.LOCATIONS.topLeft
|
|
414
|
+
}, {
|
|
415
|
+
viewportId,
|
|
416
|
+
id: 'viewportActionArrowsComponent',
|
|
417
|
+
component: /*#__PURE__*/react.createElement(src/* ViewportActionArrows */.$I, {
|
|
418
|
+
key: "actionArrows",
|
|
419
|
+
onArrowsClick: onSegmentChange,
|
|
420
|
+
className: viewportId === activeViewportId ? 'visible' : 'invisible group-hover:visible'
|
|
421
|
+
}),
|
|
422
|
+
indexPriority: 0,
|
|
423
|
+
location: viewportActionCornersService.LOCATIONS.topRight
|
|
424
|
+
}]);
|
|
425
|
+
}, [activeViewportId, isHydrated, onSegmentChange, onStatusClick, viewportActionCornersService, viewportId]);
|
|
426
|
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
449
427
|
className: "relative flex h-full w-full flex-row overflow-hidden"
|
|
450
|
-
}, rtIsLoading && /*#__PURE__*/react.createElement(
|
|
428
|
+
}, rtIsLoading && /*#__PURE__*/react.createElement(src/* LoadingIndicatorTotalPercent */.pT, {
|
|
451
429
|
className: "h-full w-full",
|
|
452
430
|
totalNumbers: processingProgress.totalSegments,
|
|
453
431
|
percentComplete: processingProgress.percentComplete,
|