@ohif/app 3.7.0-beta.9 → 3.7.0-beta.91
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.0edb40e9d9467dd3a189.js → 12.bundle.e8d2ae45df74384fd980.js} +6 -6
- package/dist/{295.bundle.957b1159fec14b9199a1.js → 125.bundle.253395f320b72180da63.js} +6 -6
- package/dist/{351.bundle.0742237651aef9694a65.js → 181.bundle.73fc96c6b3ab1fabedc8.js} +226 -204
- package/dist/{351.css → 181.css} +1 -1
- package/dist/{744.bundle.c459c690581bc8a522d8.js → 19.bundle.839e1ef2a3468da3ae6e.js} +240 -375
- package/dist/{606.bundle.5d876f5f3dd8287f0a28.js → 202.bundle.96bbb4547a346fe3921f.js} +1420 -750
- package/dist/{926.bundle.dbc9d0e591cb9217fda2.js → 220.bundle.f7e1c96c94245e70f2be.js} +990 -400
- package/dist/221.bundle.39ad5abb775af5702ddb.js +1723 -0
- package/dist/221.css +2 -0
- package/dist/{664.bundle.09abae984223969d1bde.js → 23.bundle.e008ad788170f2ed5569.js} +5 -6
- package/dist/{976.bundle.3f8bfb620791f4508420.js → 236.bundle.a24efa76d228c38e56d0.js} +88 -104
- package/dist/{55.bundle.550a823e75eb608e8d5e.js → 250.bundle.4bebed43526c7e06344f.js} +52 -36
- package/dist/{973.bundle.5aa91607481865ead93f.js → 281.bundle.b50f5766fb3f79b2ed9d.js} +18 -14
- package/dist/{82.bundle.978be6f7595202cd342b.js → 342.bundle.40cf206d7cddf20933eb.js} +1765 -476
- package/dist/{404.bundle.83acdec604ed84f4b772.js → 359.bundle.b13a62377d68750cbf34.js} +46 -131
- package/dist/{192.bundle.655fc9c5aeff41110aa9.js → 370.bundle.f25928b95a42ac10c7a7.js} +113 -99
- package/dist/{790.bundle.08e37fd3b64af8dd8e78.js → 410.bundle.cc5008512de45d69e1cb.js} +11 -9
- package/dist/{151.bundle.31ea35044218837bf73f.js → 417.bundle.af0a207c29b109f84159.js} +49 -17
- package/dist/{569.bundle.c8e771a8d28e237b32be.js → 451.bundle.1c714bfb8b66d3a5adfb.js} +86 -106
- package/dist/{581.bundle.dc6197189f7c88c27d4c.js → 471.bundle.4aaec34d87b0c93687c1.js} +78 -99
- package/dist/{199.bundle.251f86c6e2eee85c49a5.js → 506.bundle.817e9b84a97639aa147d.js} +11 -9
- package/dist/{531.bundle.2a82fb1d69e5b57cc72b.js → 530.bundle.a03b6f942ace3e1baa1e.js} +726 -447
- package/dist/579.css +1 -0
- package/dist/{935.bundle.deeffff0e4f7b528e3c3.js → 604.bundle.a51f83e64004bca5f497.js} +2 -3
- package/dist/613.bundle.37227666b898dfdfe9c1.js +532 -0
- package/dist/{984.bundle.0c8b7d8388a662ad5ebc.js → 663.bundle.73495b93aa8cb540241c.js} +68 -38
- package/dist/{205.bundle.b5a473c200dcf2bbcdb4.js → 686.bundle.dccef1f36e4bc79bcc48.js} +6 -6
- package/dist/{50.bundle.bec52570fe00c2ccced8.js → 687.bundle.3d415b0f43c3e19ef6ef.js} +218 -9
- package/dist/{331.bundle.bd0c13931a21d53086c9.js → 743.bundle.4bfe6e562ffb2c22708f.js} +26281 -21326
- package/dist/{728.bundle.d13856835357400fef82.js → 774.bundle.7528cba56a1407357144.js} +95 -64
- package/dist/{381.bundle.0905e683605fcbc0895f.js → 775.bundle.2285e7e0e67878948c0d.js} +16 -16
- package/dist/{283.bundle.b43e001c27e02b0199aa.js → 782.bundle.4bf97e067cf8067f2239.js} +117 -67
- package/dist/{642.bundle.1ab1e9ea67caeaedb189.js → 814.bundle.9d5edb8094787e02f22f.js} +6 -6
- package/dist/{799.bundle.758558e64147e5aad612.js → 822.bundle.00de6455c18be0307b41.js} +81 -34
- package/dist/831.bundle.83658f62fcc769043605.js +16700 -0
- package/dist/{707.bundle.9622c314b0ea3488d69a.js → 877.bundle.b83c182be6ee497d2df7.js} +1022 -708
- package/dist/{953.bundle.3b0189ebc11cf0946f18.js → 886.bundle.7324d84913daffb6a4c4.js} +34 -29
- package/dist/945.min.worker.js +1 -1
- package/dist/945.min.worker.js.map +1 -1
- package/dist/{270.bundle.4564621556b0f963a004.js → 957.bundle.8c09a01840ab8aa32734.js} +7093 -987
- package/dist/{208.bundle.05451122c341d80d3c22.js → 99.bundle.e6844ea7f331fd2ae35a.js} +85 -104
- package/dist/_redirects +1 -1
- package/dist/app-config.js +35 -17
- package/dist/{app.bundle.d2ebd2fcc8b88864ebeb.js → app.bundle.6c7d9f72689fc7c05040.js} +71939 -66734
- package/dist/app.bundle.css +13 -12
- package/dist/assets/yandex-browser-manifest.json +1 -1
- 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.2c146384eb9466d02ff8.js} +5 -4
- package/dist/es6-shim.min.js +3569 -2
- package/dist/google.js +8 -7
- 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/init-service-worker.js +3 -5
- package/dist/oidc-client.min.js +10857 -39
- package/dist/polyfill.min.js +184 -1
- package/dist/silent-refresh.html +18 -9
- package/dist/sw.js +1 -1
- package/package.json +20 -22
- package/dist/616.bundle.d0581701281977bea39b.js +0 -685
- package/dist/780.bundle.fd0f13dc92e9caa0581e.js +0 -4769
- package/dist/index.worker.1c69152d710fa7b84bce.worker.js.map +0 -1
- /package/dist/{806.css → 19.css} +0 -0
- /package/dist/{55.css → 250.css} +0 -0
- /package/dist/{707.css → 877.css} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[471],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 56471:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -13,71 +13,16 @@ __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/prop-types/index.js
|
|
18
|
-
var prop_types = __webpack_require__(
|
|
18
|
+
var prop_types = __webpack_require__(3827);
|
|
19
19
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
20
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
21
|
-
var src = __webpack_require__(
|
|
22
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
23
|
-
var ui_src = __webpack_require__(
|
|
24
|
-
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/_hydrateRT.ts
|
|
25
|
-
async function _hydrateRTDisplaySet(_ref) {
|
|
26
|
-
let {
|
|
27
|
-
rtDisplaySet,
|
|
28
|
-
viewportIndex,
|
|
29
|
-
servicesManager
|
|
30
|
-
} = _ref;
|
|
31
|
-
const {
|
|
32
|
-
segmentationService,
|
|
33
|
-
hangingProtocolService,
|
|
34
|
-
viewportGridService
|
|
35
|
-
} = servicesManager.services;
|
|
36
|
-
const displaySetInstanceUID = rtDisplaySet.referencedDisplaySetInstanceUID;
|
|
37
|
-
let segmentationId = null;
|
|
38
|
-
|
|
39
|
-
// We need the hydration to notify panels about the new segmentation added
|
|
40
|
-
const suppressEvents = false;
|
|
41
|
-
segmentationId = await segmentationService.createSegmentationForRTDisplaySet(rtDisplaySet, segmentationId, suppressEvents);
|
|
42
|
-
segmentationService.hydrateSegmentation(rtDisplaySet.displaySetInstanceUID);
|
|
43
|
-
const {
|
|
44
|
-
viewports
|
|
45
|
-
} = viewportGridService.getState();
|
|
46
|
-
const updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportIndex, displaySetInstanceUID);
|
|
47
|
-
viewportGridService.setDisplaySetsForViewports(updatedViewports);
|
|
48
|
-
|
|
49
|
-
// Todo: fix this after we have a better way for stack viewport segmentations
|
|
50
|
-
|
|
51
|
-
// check every viewport in the viewports to see if the displaySetInstanceUID
|
|
52
|
-
// is being displayed, if so we need to update the viewport to use volume viewport
|
|
53
|
-
// (if already is not using it) since Cornerstone3D currently only supports
|
|
54
|
-
// volume viewport for segmentation
|
|
55
|
-
viewports.forEach((viewport, index) => {
|
|
56
|
-
if (index === viewportIndex) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const shouldDisplaySeg = segmentationService.shouldRenderSegmentation(viewport.displaySetInstanceUIDs, rtDisplaySet.displaySetInstanceUID);
|
|
60
|
-
if (shouldDisplaySeg) {
|
|
61
|
-
updatedViewports.push({
|
|
62
|
-
viewportIndex: index,
|
|
63
|
-
displaySetInstanceUIDs: viewport.displaySetInstanceUIDs,
|
|
64
|
-
viewportOptions: {
|
|
65
|
-
initialImageOptions: {
|
|
66
|
-
preset: 'middle'
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
// Do the entire update at once
|
|
74
|
-
viewportGridService.setDisplaySetsForViewports(updatedViewports);
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
/* harmony default export */ const _hydrateRT = (_hydrateRTDisplaySet);
|
|
20
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 64 modules
|
|
21
|
+
var src = __webpack_require__(67869);
|
|
22
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
|
|
23
|
+
var ui_src = __webpack_require__(71783);
|
|
78
24
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
|
|
79
25
|
|
|
80
|
-
|
|
81
26
|
const RESPONSE = {
|
|
82
27
|
NO_NEVER: -1,
|
|
83
28
|
CANCEL: 0,
|
|
@@ -87,18 +32,23 @@ function promptHydrateRT(_ref) {
|
|
|
87
32
|
let {
|
|
88
33
|
servicesManager,
|
|
89
34
|
rtDisplaySet,
|
|
90
|
-
|
|
91
|
-
toolGroupId = 'default'
|
|
35
|
+
viewportId,
|
|
36
|
+
toolGroupId = 'default',
|
|
37
|
+
preHydrateCallbacks,
|
|
38
|
+
hydrateRTDisplaySet
|
|
92
39
|
} = _ref;
|
|
93
40
|
const {
|
|
94
41
|
uiViewportDialogService
|
|
95
42
|
} = servicesManager.services;
|
|
96
43
|
return new Promise(async function (resolve, reject) {
|
|
97
|
-
const promptResult = await _askHydrate(uiViewportDialogService,
|
|
44
|
+
const promptResult = await _askHydrate(uiViewportDialogService, viewportId);
|
|
98
45
|
if (promptResult === RESPONSE.HYDRATE_SEG) {
|
|
99
|
-
|
|
46
|
+
preHydrateCallbacks?.forEach(callback => {
|
|
47
|
+
callback();
|
|
48
|
+
});
|
|
49
|
+
const isHydrated = await hydrateRTDisplaySet({
|
|
100
50
|
rtDisplaySet,
|
|
101
|
-
|
|
51
|
+
viewportId,
|
|
102
52
|
toolGroupId,
|
|
103
53
|
servicesManager
|
|
104
54
|
});
|
|
@@ -106,15 +56,15 @@ function promptHydrateRT(_ref) {
|
|
|
106
56
|
}
|
|
107
57
|
});
|
|
108
58
|
}
|
|
109
|
-
function _askHydrate(uiViewportDialogService,
|
|
59
|
+
function _askHydrate(uiViewportDialogService, viewportId) {
|
|
110
60
|
return new Promise(function (resolve, reject) {
|
|
111
61
|
const message = 'Do you want to open this Segmentation?';
|
|
112
62
|
const actions = [{
|
|
113
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
63
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
114
64
|
text: 'No',
|
|
115
65
|
value: RESPONSE.CANCEL
|
|
116
66
|
}, {
|
|
117
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
67
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.primary,
|
|
118
68
|
text: 'Yes',
|
|
119
69
|
value: RESPONSE.HYDRATE_SEG
|
|
120
70
|
}];
|
|
@@ -123,7 +73,7 @@ function _askHydrate(uiViewportDialogService, viewportIndex) {
|
|
|
123
73
|
resolve(result);
|
|
124
74
|
};
|
|
125
75
|
uiViewportDialogService.show({
|
|
126
|
-
|
|
76
|
+
viewportId,
|
|
127
77
|
type: 'info',
|
|
128
78
|
message,
|
|
129
79
|
actions,
|
|
@@ -137,7 +87,7 @@ function _askHydrate(uiViewportDialogService, viewportIndex) {
|
|
|
137
87
|
}
|
|
138
88
|
/* harmony default export */ const utils_promptHydrateRT = (promptHydrateRT);
|
|
139
89
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
140
|
-
var es = __webpack_require__(
|
|
90
|
+
var es = __webpack_require__(69190);
|
|
141
91
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/viewports/_getStatusComponent.tsx
|
|
142
92
|
|
|
143
93
|
|
|
@@ -162,18 +112,19 @@ function _getStatusComponent(_ref) {
|
|
|
162
112
|
break;
|
|
163
113
|
case false:
|
|
164
114
|
StatusIcon = () => /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
|
|
115
|
+
className: "text-aqua-pale",
|
|
165
116
|
name: "status-untracked"
|
|
166
117
|
});
|
|
167
118
|
ToolTipMessage = () => /*#__PURE__*/react.createElement("div", null, "Click LOAD to load RTSTRUCT.");
|
|
168
119
|
}
|
|
169
120
|
const StatusArea = () => /*#__PURE__*/react.createElement("div", {
|
|
170
|
-
className: "flex h-6
|
|
121
|
+
className: "flex h-6 cursor-default text-sm leading-6 text-white"
|
|
171
122
|
}, /*#__PURE__*/react.createElement("div", {
|
|
172
|
-
className: "min-w-[45px]
|
|
123
|
+
className: "bg-customgray-100 flex min-w-[45px] items-center rounded-l-xl rounded-r p-1"
|
|
173
124
|
}, /*#__PURE__*/react.createElement(StatusIcon, null), /*#__PURE__*/react.createElement("span", {
|
|
174
125
|
className: "ml-1"
|
|
175
126
|
}, "RTSTRUCT")), !isHydrated && /*#__PURE__*/react.createElement("div", {
|
|
176
|
-
className: "ml-1 px-1.5
|
|
127
|
+
className: "bg-primary-main hover:bg-primary-light ml-1 cursor-pointer rounded px-1.5 hover:text-black"
|
|
177
128
|
// Using onMouseUp here because onClick is not working when the viewport is not active and is styled with pointer-events:none
|
|
178
129
|
,
|
|
179
130
|
onMouseUp: onStatusClick
|
|
@@ -188,7 +139,7 @@ function createRTToolGroupAndAddTools(ToolGroupService, customizationService, to
|
|
|
188
139
|
const {
|
|
189
140
|
tools
|
|
190
141
|
} = customizationService.get('cornerstone.overlayViewportTools') ?? {};
|
|
191
|
-
return ToolGroupService.createToolGroupAndAddTools(toolGroupId, tools
|
|
142
|
+
return ToolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
|
|
192
143
|
}
|
|
193
144
|
/* harmony default export */ const initRTToolGroup = (createRTToolGroupAndAddTools);
|
|
194
145
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/viewports/OHIFCornerstoneRTViewport.tsx
|
|
@@ -200,7 +151,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
200
151
|
|
|
201
152
|
|
|
202
153
|
|
|
203
|
-
|
|
204
154
|
const {
|
|
205
155
|
formatDate
|
|
206
156
|
} = src.utils;
|
|
@@ -210,10 +160,10 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
210
160
|
children,
|
|
211
161
|
displaySets,
|
|
212
162
|
viewportOptions,
|
|
213
|
-
viewportIndex,
|
|
214
163
|
viewportLabel,
|
|
215
164
|
servicesManager,
|
|
216
|
-
extensionManager
|
|
165
|
+
extensionManager,
|
|
166
|
+
commandsManager
|
|
217
167
|
} = props;
|
|
218
168
|
const {
|
|
219
169
|
displaySetService,
|
|
@@ -222,7 +172,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
222
172
|
uiNotificationService,
|
|
223
173
|
customizationService
|
|
224
174
|
} = servicesManager.services;
|
|
225
|
-
const
|
|
175
|
+
const viewportId = viewportOptions.viewportId;
|
|
176
|
+
const toolGroupId = `${RT_TOOLGROUP_BASE_NAME}-${viewportId}`;
|
|
226
177
|
|
|
227
178
|
// RT viewport will always have a single display set
|
|
228
179
|
if (displaySets.length > 1) {
|
|
@@ -252,7 +203,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
252
203
|
const referencedDisplaySetRef = (0,react.useRef)(null);
|
|
253
204
|
const {
|
|
254
205
|
viewports,
|
|
255
|
-
|
|
206
|
+
activeViewportId
|
|
256
207
|
} = viewportGrid;
|
|
257
208
|
const referencedDisplaySet = rtDisplaySet.getReferenceDisplaySet();
|
|
258
209
|
const referencedDisplaySetMetadata = _getReferencedDisplaySetMetadata(referencedDisplaySet);
|
|
@@ -272,6 +223,26 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
272
223
|
const onElementDisabled = () => {
|
|
273
224
|
setElement(null);
|
|
274
225
|
};
|
|
226
|
+
const storePresentationState = (0,react.useCallback)(() => {
|
|
227
|
+
viewportGrid?.viewports.forEach(_ref => {
|
|
228
|
+
let {
|
|
229
|
+
viewportId
|
|
230
|
+
} = _ref;
|
|
231
|
+
commandsManager.runCommand('storePresentation', {
|
|
232
|
+
viewportId
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
}, [viewportGrid]);
|
|
236
|
+
const hydrateRTDisplaySet = _ref2 => {
|
|
237
|
+
let {
|
|
238
|
+
rtDisplaySet,
|
|
239
|
+
viewportId
|
|
240
|
+
} = _ref2;
|
|
241
|
+
commandsManager.runCommand('loadSegmentationDisplaySetsForViewport', {
|
|
242
|
+
displaySets: [rtDisplaySet],
|
|
243
|
+
viewportId
|
|
244
|
+
});
|
|
245
|
+
};
|
|
275
246
|
const getCornerstoneViewport = (0,react.useCallback)(() => {
|
|
276
247
|
const {
|
|
277
248
|
component: Component
|
|
@@ -292,7 +263,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
292
263
|
onElementEnabled: onElementEnabled,
|
|
293
264
|
onElementDisabled: onElementDisabled
|
|
294
265
|
}));
|
|
295
|
-
}, [
|
|
266
|
+
}, [viewportId, rtDisplaySet, toolGroupId]);
|
|
296
267
|
const onSegmentChange = (0,react.useCallback)(direction => {
|
|
297
268
|
direction = direction === 'left' ? -1 : 1;
|
|
298
269
|
const segmentationId = rtDisplaySet.displaySetInstanceUID;
|
|
@@ -318,14 +289,16 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
318
289
|
}
|
|
319
290
|
utils_promptHydrateRT({
|
|
320
291
|
servicesManager,
|
|
321
|
-
|
|
322
|
-
rtDisplaySet
|
|
292
|
+
viewportId,
|
|
293
|
+
rtDisplaySet,
|
|
294
|
+
preHydrateCallbacks: [storePresentationState],
|
|
295
|
+
hydrateRTDisplaySet
|
|
323
296
|
}).then(isHydrated => {
|
|
324
297
|
if (isHydrated) {
|
|
325
298
|
setIsHydrated(true);
|
|
326
299
|
}
|
|
327
300
|
});
|
|
328
|
-
}, [servicesManager,
|
|
301
|
+
}, [servicesManager, viewportId, rtDisplaySet, rtIsLoading]);
|
|
329
302
|
(0,react.useEffect)(() => {
|
|
330
303
|
const {
|
|
331
304
|
unsubscribe
|
|
@@ -348,11 +321,11 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
348
321
|
(0,react.useEffect)(() => {
|
|
349
322
|
const {
|
|
350
323
|
unsubscribe
|
|
351
|
-
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE,
|
|
324
|
+
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE, _ref3 => {
|
|
352
325
|
let {
|
|
353
326
|
percentComplete,
|
|
354
327
|
numSegments
|
|
355
|
-
} =
|
|
328
|
+
} = _ref3;
|
|
356
329
|
setProcessingProgress({
|
|
357
330
|
percentComplete,
|
|
358
331
|
totalSegments: numSegments
|
|
@@ -367,14 +340,14 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
367
340
|
Cleanup the SEG viewport when the viewport is destroyed
|
|
368
341
|
*/
|
|
369
342
|
(0,react.useEffect)(() => {
|
|
370
|
-
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED,
|
|
343
|
+
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED, _ref4 => {
|
|
371
344
|
let {
|
|
372
345
|
displaySetInstanceUIDs
|
|
373
|
-
} =
|
|
374
|
-
const activeViewport = viewports
|
|
346
|
+
} = _ref4;
|
|
347
|
+
const activeViewport = viewports.get(activeViewportId);
|
|
375
348
|
if (displaySetInstanceUIDs.includes(activeViewport.displaySetInstanceUID)) {
|
|
376
349
|
viewportGridService.setDisplaySetsForViewport({
|
|
377
|
-
|
|
350
|
+
viewportId: activeViewportId,
|
|
378
351
|
displaySetInstanceUIDs: []
|
|
379
352
|
});
|
|
380
353
|
}
|
|
@@ -413,7 +386,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
413
386
|
if (children && children.length) {
|
|
414
387
|
childrenWithProps = children.map((child, index) => {
|
|
415
388
|
return child && /*#__PURE__*/react.cloneElement(child, {
|
|
416
|
-
|
|
389
|
+
viewportId,
|
|
417
390
|
key: index
|
|
418
391
|
});
|
|
419
392
|
});
|
|
@@ -431,10 +404,16 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
431
404
|
SeriesNumber
|
|
432
405
|
} = referencedDisplaySetRef.current.metadata;
|
|
433
406
|
const onStatusClick = async () => {
|
|
434
|
-
|
|
407
|
+
// Before hydrating a RT and make it added to all viewports in the grid
|
|
408
|
+
// that share the same frameOfReferenceUID, we need to store the viewport grid
|
|
409
|
+
// presentation state, so that we can restore it after hydrating the RT. This is
|
|
410
|
+
// required if the user has changed the viewport (other viewport than RT viewport)
|
|
411
|
+
// presentation state (w/l and invert) and then opens the RT. If we don't store
|
|
412
|
+
// the presentation state, the viewport will be reset to the default presentation
|
|
413
|
+
storePresentationState();
|
|
414
|
+
const isHydrated = await hydrateRTDisplaySet({
|
|
435
415
|
rtDisplaySet,
|
|
436
|
-
|
|
437
|
-
servicesManager
|
|
416
|
+
viewportId
|
|
438
417
|
});
|
|
439
418
|
setIsHydrated(isHydrated);
|
|
440
419
|
};
|
|
@@ -467,9 +446,9 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
467
446
|
}
|
|
468
447
|
}
|
|
469
448
|
}), /*#__PURE__*/react.createElement("div", {
|
|
470
|
-
className: "relative flex
|
|
449
|
+
className: "relative flex h-full w-full flex-row overflow-hidden"
|
|
471
450
|
}, rtIsLoading && /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorTotalPercent */.bk, {
|
|
472
|
-
className: "
|
|
451
|
+
className: "h-full w-full",
|
|
473
452
|
totalNumbers: processingProgress.totalSegments,
|
|
474
453
|
percentComplete: processingProgress.percentComplete,
|
|
475
454
|
loadingText: "Loading RTSTRUCT..."
|
|
@@ -477,7 +456,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
477
456
|
}
|
|
478
457
|
OHIFCornerstoneRTViewport.propTypes = {
|
|
479
458
|
displaySets: prop_types_default().arrayOf((prop_types_default()).object),
|
|
480
|
-
|
|
459
|
+
viewportId: (prop_types_default()).string.isRequired,
|
|
481
460
|
dataSource: (prop_types_default()).object,
|
|
482
461
|
children: (prop_types_default()).node,
|
|
483
462
|
customProps: (prop_types_default()).object
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[506],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 53506:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -21,11 +21,11 @@ const SOPClassHandlerName = 'dicom-rt';
|
|
|
21
21
|
const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
|
|
22
22
|
|
|
23
23
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
24
|
-
var react = __webpack_require__(
|
|
25
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
26
|
-
var src = __webpack_require__(
|
|
24
|
+
var react = __webpack_require__(43001);
|
|
25
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 64 modules
|
|
26
|
+
var src = __webpack_require__(67869);
|
|
27
27
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
28
|
-
var dcmjs_es = __webpack_require__(
|
|
28
|
+
var dcmjs_es = __webpack_require__(67540);
|
|
29
29
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/loadRTStruct.js
|
|
30
30
|
|
|
31
31
|
const {
|
|
@@ -421,7 +421,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
421
421
|
|
|
422
422
|
|
|
423
423
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
424
|
-
return __webpack_require__.e(/* import() */
|
|
424
|
+
return __webpack_require__.e(/* import() */ 471).then(__webpack_require__.bind(__webpack_require__, 56471));
|
|
425
425
|
});
|
|
426
426
|
const OHIFCornerstoneRTViewport = props => {
|
|
427
427
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -447,12 +447,14 @@ const extension = {
|
|
|
447
447
|
getViewportModule(_ref) {
|
|
448
448
|
let {
|
|
449
449
|
servicesManager,
|
|
450
|
-
extensionManager
|
|
450
|
+
extensionManager,
|
|
451
|
+
commandsManager
|
|
451
452
|
} = _ref;
|
|
452
453
|
const ExtendedOHIFCornerstoneRTViewport = props => {
|
|
453
454
|
return /*#__PURE__*/react.createElement(OHIFCornerstoneRTViewport, _extends({
|
|
454
455
|
servicesManager: servicesManager,
|
|
455
|
-
extensionManager: extensionManager
|
|
456
|
+
extensionManager: extensionManager,
|
|
457
|
+
commandsManager: commandsManager
|
|
456
458
|
}, props));
|
|
457
459
|
};
|
|
458
460
|
return [{
|