@ohif/app 3.8.0-beta.7 → 3.8.0-beta.70
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.21827fec690c01ee9ab3.js} +85 -112
- package/dist/{19.bundle.e5579df6d7b74af50b1d.js → 155.bundle.0dabe8513b605b01ac3d.js} +334 -287
- package/dist/{687.bundle.9d0330ea5d61fe3117da.js → 164.bundle.0b1a2be351543c1433e8.js} +22 -38
- package/dist/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/{506.bundle.ab8226d3d81abe874544.js → 188.bundle.81e83b073b6fd4ae0058.js} +23 -28
- package/dist/191.bundle.7d89c921abefd1140d50.js +30360 -0
- package/dist/{221.bundle.c2dc03d8fa4235dc1285.js → 2.bundle.04dbbf67a52fe109749c.js} +351 -546
- package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
- package/dist/290.bundle.952de53057f98e2c5ef0.js +8883 -0
- package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.3a0d5062d65296c4bf5d.js} +102 -127
- package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
- package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.6e49f63ea7cea4645c0a.js} +544 -860
- package/dist/41.bundle.6ec0794a483e9a30eb94.js +831 -0
- package/dist/425.bundle.ffcdde2143a5757926b9.js +2957 -0
- package/dist/425.css +2 -0
- package/dist/{126.bundle.42df2dafc9c0310da188.js → 448.bundle.9177b9d909654efbc8d5.js} +316 -427
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 504.bundle.993d7e2dec36257d4ce4.js} +14338 -27291
- package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.566bfd08dccb4cf6d98b.js} +75 -105
- package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1110b24e96863d719a95.js} +39 -56
- package/dist/{663.bundle.9f359963019cd8ccf8f9.js → 559.bundle.4f111410af43324629ca.js} +151 -147
- package/dist/{181.bundle.a62b9f0ec692299acb35.js → 574.bundle.83afbc7922736fc6846d.js} +1246 -289
- package/dist/{181.css → 574.css} +1 -1
- package/dist/{410.bundle.38c9d3820e152e89288e.js → 594.bundle.ffeebda1bb9a81182a80.js} +183 -221
- package/dist/{776.bundle.004382036bdbd8ee2b95.js → 595.bundle.1c1a50c4ff87763b786a.js} +3128 -1028
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
- package/dist/699.bundle.db05df7b8e2ad605e928.js +767 -0
- package/dist/{359.bundle.8abe0036a7bf6b5fd115.js → 724.bundle.eada9d6c23678a5a2947.js} +130 -254
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.c8de818cf1a3ff0cf7d2.js} +512 -879
- package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
- package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.959ef65b18c1d3b5e2b4.js} +77 -96
- package/dist/{236.bundle.c9e70d55e7b2574c1ecd.js → 889.bundle.67c6e5f988c9b1d289ef.js} +198 -197
- package/dist/{342.bundle.d9668551811e3a88aaa4.js → 90.bundle.f41c8c4fc78cdfd4de30.js} +1430 -1055
- package/dist/{281.bundle.16a2933086a57e60c96c.js → 905.bundle.eb821474b36b96b897f9.js} +155 -122
- package/dist/{814.bundle.a1aba9c1e3d336008351.js → 907.bundle.ca904d9747480a0e4bf1.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/{12.bundle.37a8b47d2ae587cb9226.js → 961.bundle.65967b1a4af002af1d1d.js} +16 -31
- package/dist/987.bundle.6bdfb3cd8762b8889632.js +122950 -0
- package/dist/app-config.js +1 -0
- package/dist/app.bundle.css +15 -13
- package/dist/{app.bundle.437d085e13599d1e1ced.js → app.bundle.e21e5afd46fb064cb5de.js} +147713 -61638
- 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/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.e7b4c29fb9173e8567b8.js +252 -0
- package/dist/serve.json +12 -0
- package/dist/sw.js +1 -1
- package/package.json +25 -22
- package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
- package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
- package/dist/613.bundle.aed640a7900dbcb688f5.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.dcd53828d1bb2ac64d04.js +0 -2682
- package/dist/82.bundle.5a94dd7645e5c5476f59.js +0 -1049
- package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
- /package/dist/{19.css → 155.css} +0 -0
- /package/dist/{221.css → 2.css} +0 -0
- /package/dist/{579.css → 481.css} +0 -0
- /package/dist/{250.css → 544.css} +0 -0
- /package/dist/{776.css → 595.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 + 542 modules
|
|
21
|
+
var src = __webpack_require__(48804);
|
|
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
|
}];
|
|
@@ -87,49 +84,50 @@ function _askHydrate(uiViewportDialogService, viewportId) {
|
|
|
87
84
|
}
|
|
88
85
|
/* harmony default export */ const utils_promptHydrateRT = (promptHydrateRT);
|
|
89
86
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
90
|
-
var es = __webpack_require__(
|
|
87
|
+
var es = __webpack_require__(80619);
|
|
91
88
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/viewports/_getStatusComponent.tsx
|
|
92
89
|
|
|
93
90
|
|
|
94
91
|
|
|
95
|
-
function _getStatusComponent(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
} = _ref;
|
|
92
|
+
function _getStatusComponent({
|
|
93
|
+
isHydrated,
|
|
94
|
+
onStatusClick
|
|
95
|
+
}) {
|
|
100
96
|
let ToolTipMessage = null;
|
|
101
97
|
let StatusIcon = null;
|
|
102
|
-
const {
|
|
103
|
-
t
|
|
104
|
-
} = (0,es/* useTranslation */.$G)('Common');
|
|
105
|
-
const loadStr = t('LOAD');
|
|
106
98
|
switch (isHydrated) {
|
|
107
99
|
case true:
|
|
108
|
-
StatusIcon = () => /*#__PURE__*/react.createElement(
|
|
100
|
+
StatusIcon = () => /*#__PURE__*/react.createElement(src/* Icon */.In, {
|
|
109
101
|
name: "status-alert"
|
|
110
102
|
});
|
|
111
103
|
ToolTipMessage = () => /*#__PURE__*/react.createElement("div", null, "This Segmentation is loaded in the segmentation panel");
|
|
112
104
|
break;
|
|
113
105
|
case false:
|
|
114
|
-
StatusIcon = () => /*#__PURE__*/react.createElement(
|
|
106
|
+
StatusIcon = () => /*#__PURE__*/react.createElement(src/* Icon */.In, {
|
|
115
107
|
className: "text-aqua-pale",
|
|
116
108
|
name: "status-untracked"
|
|
117
109
|
});
|
|
118
110
|
ToolTipMessage = () => /*#__PURE__*/react.createElement("div", null, "Click LOAD to load RTSTRUCT.");
|
|
119
111
|
}
|
|
120
|
-
const StatusArea = () =>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
112
|
+
const StatusArea = () => {
|
|
113
|
+
const {
|
|
114
|
+
t
|
|
115
|
+
} = (0,es/* useTranslation */.Bd)('Common');
|
|
116
|
+
const loadStr = t('LOAD');
|
|
117
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
118
|
+
className: "flex h-6 cursor-default text-sm leading-6 text-white"
|
|
119
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
120
|
+
className: "bg-customgray-100 flex min-w-[45px] items-center rounded-l-xl rounded-r p-1"
|
|
121
|
+
}, /*#__PURE__*/react.createElement(StatusIcon, null), /*#__PURE__*/react.createElement("span", {
|
|
122
|
+
className: "ml-1"
|
|
123
|
+
}, "RTSTRUCT")), !isHydrated && /*#__PURE__*/react.createElement("div", {
|
|
124
|
+
className: "bg-primary-main hover:bg-primary-light ml-1 cursor-pointer rounded px-1.5 hover:text-black"
|
|
125
|
+
// Using onMouseUp here because onClick is not working when the viewport is not active and is styled with pointer-events:none
|
|
126
|
+
,
|
|
127
|
+
onMouseUp: onStatusClick
|
|
128
|
+
}, loadStr));
|
|
129
|
+
};
|
|
130
|
+
return /*#__PURE__*/react.createElement(react.Fragment, null, ToolTipMessage && /*#__PURE__*/react.createElement(src/* Tooltip */.m_, {
|
|
133
131
|
content: /*#__PURE__*/react.createElement(ToolTipMessage, null),
|
|
134
132
|
position: "bottom-left"
|
|
135
133
|
}, /*#__PURE__*/react.createElement(StatusArea, null)), !ToolTipMessage && /*#__PURE__*/react.createElement(StatusArea, null));
|
|
@@ -150,17 +148,12 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
150
148
|
|
|
151
149
|
|
|
152
150
|
|
|
153
|
-
|
|
154
|
-
const {
|
|
155
|
-
formatDate
|
|
156
|
-
} = src.utils;
|
|
157
151
|
const RT_TOOLGROUP_BASE_NAME = 'RTToolGroup';
|
|
158
152
|
function OHIFCornerstoneRTViewport(props) {
|
|
159
153
|
const {
|
|
160
154
|
children,
|
|
161
155
|
displaySets,
|
|
162
156
|
viewportOptions,
|
|
163
|
-
viewportLabel,
|
|
164
157
|
servicesManager,
|
|
165
158
|
extensionManager,
|
|
166
159
|
commandsManager
|
|
@@ -170,7 +163,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
170
163
|
toolGroupService,
|
|
171
164
|
segmentationService,
|
|
172
165
|
uiNotificationService,
|
|
173
|
-
customizationService
|
|
166
|
+
customizationService,
|
|
167
|
+
viewportActionCornersService
|
|
174
168
|
} = servicesManager.services;
|
|
175
169
|
const viewportId = viewportOptions.viewportId;
|
|
176
170
|
const toolGroupId = `${RT_TOOLGROUP_BASE_NAME}-${viewportId}`;
|
|
@@ -180,7 +174,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
180
174
|
throw new Error('RT viewport should only have a single display set');
|
|
181
175
|
}
|
|
182
176
|
const rtDisplaySet = displaySets[0];
|
|
183
|
-
const [viewportGrid, viewportGridService] = (0,
|
|
177
|
+
const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.ih)();
|
|
184
178
|
|
|
185
179
|
// States
|
|
186
180
|
const [isToolGroupCreated, setToolGroupCreated] = (0,react.useState)(false);
|
|
@@ -224,20 +218,18 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
224
218
|
setElement(null);
|
|
225
219
|
};
|
|
226
220
|
const storePresentationState = (0,react.useCallback)(() => {
|
|
227
|
-
viewportGrid?.viewports.forEach(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
} = _ref;
|
|
221
|
+
viewportGrid?.viewports.forEach(({
|
|
222
|
+
viewportId
|
|
223
|
+
}) => {
|
|
231
224
|
commandsManager.runCommand('storePresentation', {
|
|
232
225
|
viewportId
|
|
233
226
|
});
|
|
234
227
|
});
|
|
235
228
|
}, [viewportGrid]);
|
|
236
|
-
const hydrateRTDisplaySet =
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
} = _ref2;
|
|
229
|
+
const hydrateRTDisplaySet = ({
|
|
230
|
+
rtDisplaySet,
|
|
231
|
+
viewportId
|
|
232
|
+
}) => {
|
|
241
233
|
commandsManager.runCommand('loadSegmentationDisplaySetsForViewport', {
|
|
242
234
|
displaySets: [rtDisplaySet],
|
|
243
235
|
viewportId
|
|
@@ -265,7 +257,6 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
265
257
|
}));
|
|
266
258
|
}, [viewportId, rtDisplaySet, toolGroupId]);
|
|
267
259
|
const onSegmentChange = (0,react.useCallback)(direction => {
|
|
268
|
-
direction = direction === 'left' ? -1 : 1;
|
|
269
260
|
const segmentationId = rtDisplaySet.displaySetInstanceUID;
|
|
270
261
|
const segmentation = segmentationService.getSegmentation(segmentationId);
|
|
271
262
|
const {
|
|
@@ -300,6 +291,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
300
291
|
});
|
|
301
292
|
}, [servicesManager, viewportId, rtDisplaySet, rtIsLoading]);
|
|
302
293
|
(0,react.useEffect)(() => {
|
|
294
|
+
// I'm not sure what is this, since in RT we support Overlapping segments
|
|
295
|
+
// via contours
|
|
303
296
|
const {
|
|
304
297
|
unsubscribe
|
|
305
298
|
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENTATION_LOADING_COMPLETE, evt => {
|
|
@@ -321,11 +314,10 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
321
314
|
(0,react.useEffect)(() => {
|
|
322
315
|
const {
|
|
323
316
|
unsubscribe
|
|
324
|
-
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE,
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
} = _ref3;
|
|
317
|
+
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE, ({
|
|
318
|
+
percentComplete,
|
|
319
|
+
numSegments
|
|
320
|
+
}) => {
|
|
329
321
|
setProcessingProgress({
|
|
330
322
|
percentComplete,
|
|
331
323
|
totalSegments: numSegments
|
|
@@ -340,10 +332,9 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
340
332
|
Cleanup the SEG viewport when the viewport is destroyed
|
|
341
333
|
*/
|
|
342
334
|
(0,react.useEffect)(() => {
|
|
343
|
-
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED,
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
} = _ref4;
|
|
335
|
+
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED, ({
|
|
336
|
+
displaySetInstanceUIDs
|
|
337
|
+
}) => {
|
|
347
338
|
const activeViewport = viewports.get(activeViewportId);
|
|
348
339
|
if (displaySetInstanceUIDs.includes(activeViewport.displaySetInstanceUID)) {
|
|
349
340
|
viewportGridService.setDisplaySetsForViewport({
|
|
@@ -391,19 +382,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
391
382
|
});
|
|
392
383
|
});
|
|
393
384
|
}
|
|
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 () => {
|
|
385
|
+
const onStatusClick = (0,react.useCallback)(async () => {
|
|
407
386
|
// Before hydrating a RT and make it added to all viewports in the grid
|
|
408
387
|
// that share the same frameOfReferenceUID, we need to store the viewport grid
|
|
409
388
|
// presentation state, so that we can restore it after hydrating the RT. This is
|
|
@@ -416,38 +395,32 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
416
395
|
viewportId
|
|
417
396
|
});
|
|
418
397
|
setIsHydrated(isHydrated);
|
|
419
|
-
};
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
onArrowsClick: onSegmentChange,
|
|
426
|
-
getStatusComponent: () => {
|
|
427
|
-
return _getStatusComponent({
|
|
398
|
+
}, [hydrateRTDisplaySet, rtDisplaySet, storePresentationState, viewportId]);
|
|
399
|
+
(0,react.useEffect)(() => {
|
|
400
|
+
viewportActionCornersService.setComponents([{
|
|
401
|
+
viewportId,
|
|
402
|
+
id: 'viewportStatusComponent',
|
|
403
|
+
component: _getStatusComponent({
|
|
428
404
|
isHydrated,
|
|
429
405
|
onStatusClick
|
|
430
|
-
})
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
}), /*#__PURE__*/react.createElement("div", {
|
|
406
|
+
}),
|
|
407
|
+
indexPriority: -100,
|
|
408
|
+
location: viewportActionCornersService.LOCATIONS.topLeft
|
|
409
|
+
}, {
|
|
410
|
+
viewportId,
|
|
411
|
+
id: 'viewportActionArrowsComponent',
|
|
412
|
+
component: /*#__PURE__*/react.createElement(src/* ViewportActionArrows */.$I, {
|
|
413
|
+
key: "actionArrows",
|
|
414
|
+
onArrowsClick: onSegmentChange,
|
|
415
|
+
className: viewportId === activeViewportId ? 'visible' : 'invisible group-hover:visible'
|
|
416
|
+
}),
|
|
417
|
+
indexPriority: 0,
|
|
418
|
+
location: viewportActionCornersService.LOCATIONS.topRight
|
|
419
|
+
}]);
|
|
420
|
+
}, [activeViewportId, isHydrated, onSegmentChange, onStatusClick, viewportActionCornersService, viewportId]);
|
|
421
|
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
449
422
|
className: "relative flex h-full w-full flex-row overflow-hidden"
|
|
450
|
-
}, rtIsLoading && /*#__PURE__*/react.createElement(
|
|
423
|
+
}, rtIsLoading && /*#__PURE__*/react.createElement(src/* LoadingIndicatorTotalPercent */.pT, {
|
|
451
424
|
className: "h-full w-full",
|
|
452
425
|
totalNumbers: processingProgress.totalSegments,
|
|
453
426
|
percentComplete: processingProgress.percentComplete,
|