@ohif/app 3.7.0-beta.1 → 3.7.0-beta.100
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.06cb87cf1c42b9f20bd2.js → 12.bundle.34050abb042540a90a3a.js} +6 -6
- package/dist/{295.bundle.957b1159fec14b9199a1.js → 125.bundle.253395f320b72180da63.js} +6 -6
- package/dist/{351.bundle.2d4bc19d8b493879dbbe.js → 181.bundle.169383e9b1a0358b44e8.js} +227 -205
- package/dist/{351.css → 181.css} +1 -1
- package/dist/{744.bundle.392a124e4ee20ad6a657.js → 19.bundle.eef637102334f1832ba9.js} +246 -385
- 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.0b9f7401294213262852.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.2305e2f8244de8ccbaee.js → 236.bundle.7768b3e29b1fd618b9ec.js} +89 -105
- package/dist/{55.bundle.5f5e5ef9087b0beee35c.js → 250.bundle.8084960e3318cda37317.js} +52 -36
- package/dist/{973.bundle.a51bb5b329263c9e75e2.js → 281.bundle.39cb630582cf8114fd5e.js} +18 -14
- package/dist/{82.bundle.da0c036b2e572719dbc5.js → 342.bundle.6edc7ac022b4218ec99f.js} +1776 -482
- package/dist/{404.bundle.902c664e3e581335a5d2.js → 359.bundle.a8f6cf2f90fe05fc346d.js} +46 -131
- package/dist/{192.bundle.4fee0d418ae32bb7ab30.js → 370.bundle.4e1276530ba7757347f5.js} +113 -99
- package/dist/{790.bundle.aa7a8bebec3483d90f3f.js → 410.bundle.5a330214c0c31cbf2551.js} +11 -9
- package/dist/{151.bundle.31ea35044218837bf73f.js → 417.bundle.af0a207c29b109f84159.js} +49 -17
- package/dist/{569.bundle.0ed8d8178ffd43fe1c34.js → 451.bundle.9fd36f52ff69594f0669.js} +98 -107
- package/dist/{581.bundle.360d26f97b37da8faec3.js → 471.bundle.b3d77b83b1593c09a504.js} +78 -98
- package/dist/{199.bundle.290ef76d4ab8358e29bb.js → 506.bundle.ac385e382f79bbf4f306.js} +11 -14
- 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.f75fd669ddfe4ecf9c1b.js +532 -0
- package/dist/{984.bundle.4e002ef9b3468bddb68b.js → 663.bundle.3863ac49f85320c8ca96.js} +68 -38
- package/dist/{205.bundle.b5a473c200dcf2bbcdb4.js → 686.bundle.dccef1f36e4bc79bcc48.js} +6 -6
- package/dist/{50.bundle.03f455d441f2138ce49e.js → 687.bundle.ebd1260565c31ab9ad08.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.7cf0fabc69d49a8a2c5d.js → 782.bundle.8c17030f76b75035564c.js} +123 -80
- package/dist/{642.bundle.89f15ef57fbad2a1019b.js → 814.bundle.cc0ed4fc75cb16e34f02.js} +6 -6
- package/dist/{707.bundle.832f50366089fd23e93b.js → 82.bundle.7a89cd8b81eb7e1e5c66.js} +1187 -808
- package/dist/{799.bundle.ca18bdf4abe4d9abea26.js → 822.bundle.0545d6dbb49515aa04ee.js} +81 -34
- package/dist/831.bundle.83658f62fcc769043605.js +16700 -0
- package/dist/{953.bundle.9e3a7225f07336bfcb41.js → 886.bundle.4b3a7f2079d085fdbcb3.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.71558794566041f37a92.js} +7110 -997
- package/dist/{208.bundle.29fe1842c33000edc75d.js → 99.bundle.c6876aaaa3ff2f1b08a1.js} +86 -105
- package/dist/_redirects +1 -1
- package/dist/app-config.js +35 -17
- package/dist/app.bundle.css +13 -12
- package/dist/{app.bundle.3ad961046deb5f47678a.js → app.bundle.dc0e89948c4f4568fe20.js} +73720 -68191
- 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 +2 -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.b76c70aeeed8b142593c.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 → 82.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,68 +13,14 @@ __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 + 65 modules
|
|
21
|
+
var src = __webpack_require__(71771);
|
|
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
26
|
const RESPONSE = {
|
|
@@ -86,18 +32,23 @@ function promptHydrateRT(_ref) {
|
|
|
86
32
|
let {
|
|
87
33
|
servicesManager,
|
|
88
34
|
rtDisplaySet,
|
|
89
|
-
|
|
90
|
-
toolGroupId = 'default'
|
|
35
|
+
viewportId,
|
|
36
|
+
toolGroupId = 'default',
|
|
37
|
+
preHydrateCallbacks,
|
|
38
|
+
hydrateRTDisplaySet
|
|
91
39
|
} = _ref;
|
|
92
40
|
const {
|
|
93
41
|
uiViewportDialogService
|
|
94
42
|
} = servicesManager.services;
|
|
95
43
|
return new Promise(async function (resolve, reject) {
|
|
96
|
-
const promptResult = await _askHydrate(uiViewportDialogService,
|
|
44
|
+
const promptResult = await _askHydrate(uiViewportDialogService, viewportId);
|
|
97
45
|
if (promptResult === RESPONSE.HYDRATE_SEG) {
|
|
98
|
-
|
|
46
|
+
preHydrateCallbacks?.forEach(callback => {
|
|
47
|
+
callback();
|
|
48
|
+
});
|
|
49
|
+
const isHydrated = await hydrateRTDisplaySet({
|
|
99
50
|
rtDisplaySet,
|
|
100
|
-
|
|
51
|
+
viewportId,
|
|
101
52
|
toolGroupId,
|
|
102
53
|
servicesManager
|
|
103
54
|
});
|
|
@@ -105,15 +56,15 @@ function promptHydrateRT(_ref) {
|
|
|
105
56
|
}
|
|
106
57
|
});
|
|
107
58
|
}
|
|
108
|
-
function _askHydrate(uiViewportDialogService,
|
|
59
|
+
function _askHydrate(uiViewportDialogService, viewportId) {
|
|
109
60
|
return new Promise(function (resolve, reject) {
|
|
110
61
|
const message = 'Do you want to open this Segmentation?';
|
|
111
62
|
const actions = [{
|
|
112
|
-
type:
|
|
63
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
113
64
|
text: 'No',
|
|
114
65
|
value: RESPONSE.CANCEL
|
|
115
66
|
}, {
|
|
116
|
-
type:
|
|
67
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.primary,
|
|
117
68
|
text: 'Yes',
|
|
118
69
|
value: RESPONSE.HYDRATE_SEG
|
|
119
70
|
}];
|
|
@@ -122,7 +73,7 @@ function _askHydrate(uiViewportDialogService, viewportIndex) {
|
|
|
122
73
|
resolve(result);
|
|
123
74
|
};
|
|
124
75
|
uiViewportDialogService.show({
|
|
125
|
-
|
|
76
|
+
viewportId,
|
|
126
77
|
type: 'info',
|
|
127
78
|
message,
|
|
128
79
|
actions,
|
|
@@ -136,7 +87,7 @@ function _askHydrate(uiViewportDialogService, viewportIndex) {
|
|
|
136
87
|
}
|
|
137
88
|
/* harmony default export */ const utils_promptHydrateRT = (promptHydrateRT);
|
|
138
89
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
139
|
-
var es = __webpack_require__(
|
|
90
|
+
var es = __webpack_require__(69190);
|
|
140
91
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/viewports/_getStatusComponent.tsx
|
|
141
92
|
|
|
142
93
|
|
|
@@ -161,18 +112,19 @@ function _getStatusComponent(_ref) {
|
|
|
161
112
|
break;
|
|
162
113
|
case false:
|
|
163
114
|
StatusIcon = () => /*#__PURE__*/react.createElement(ui_src/* Icon */.JO, {
|
|
115
|
+
className: "text-aqua-pale",
|
|
164
116
|
name: "status-untracked"
|
|
165
117
|
});
|
|
166
118
|
ToolTipMessage = () => /*#__PURE__*/react.createElement("div", null, "Click LOAD to load RTSTRUCT.");
|
|
167
119
|
}
|
|
168
120
|
const StatusArea = () => /*#__PURE__*/react.createElement("div", {
|
|
169
|
-
className: "flex h-6
|
|
121
|
+
className: "flex h-6 cursor-default text-sm leading-6 text-white"
|
|
170
122
|
}, /*#__PURE__*/react.createElement("div", {
|
|
171
|
-
className: "min-w-[45px]
|
|
123
|
+
className: "bg-customgray-100 flex min-w-[45px] items-center rounded-l-xl rounded-r p-1"
|
|
172
124
|
}, /*#__PURE__*/react.createElement(StatusIcon, null), /*#__PURE__*/react.createElement("span", {
|
|
173
125
|
className: "ml-1"
|
|
174
126
|
}, "RTSTRUCT")), !isHydrated && /*#__PURE__*/react.createElement("div", {
|
|
175
|
-
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"
|
|
176
128
|
// Using onMouseUp here because onClick is not working when the viewport is not active and is styled with pointer-events:none
|
|
177
129
|
,
|
|
178
130
|
onMouseUp: onStatusClick
|
|
@@ -187,7 +139,7 @@ function createRTToolGroupAndAddTools(ToolGroupService, customizationService, to
|
|
|
187
139
|
const {
|
|
188
140
|
tools
|
|
189
141
|
} = customizationService.get('cornerstone.overlayViewportTools') ?? {};
|
|
190
|
-
return ToolGroupService.createToolGroupAndAddTools(toolGroupId, tools
|
|
142
|
+
return ToolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
|
|
191
143
|
}
|
|
192
144
|
/* harmony default export */ const initRTToolGroup = (createRTToolGroupAndAddTools);
|
|
193
145
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/viewports/OHIFCornerstoneRTViewport.tsx
|
|
@@ -199,7 +151,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
199
151
|
|
|
200
152
|
|
|
201
153
|
|
|
202
|
-
|
|
203
154
|
const {
|
|
204
155
|
formatDate
|
|
205
156
|
} = src.utils;
|
|
@@ -209,10 +160,10 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
209
160
|
children,
|
|
210
161
|
displaySets,
|
|
211
162
|
viewportOptions,
|
|
212
|
-
viewportIndex,
|
|
213
163
|
viewportLabel,
|
|
214
164
|
servicesManager,
|
|
215
|
-
extensionManager
|
|
165
|
+
extensionManager,
|
|
166
|
+
commandsManager
|
|
216
167
|
} = props;
|
|
217
168
|
const {
|
|
218
169
|
displaySetService,
|
|
@@ -221,7 +172,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
221
172
|
uiNotificationService,
|
|
222
173
|
customizationService
|
|
223
174
|
} = servicesManager.services;
|
|
224
|
-
const
|
|
175
|
+
const viewportId = viewportOptions.viewportId;
|
|
176
|
+
const toolGroupId = `${RT_TOOLGROUP_BASE_NAME}-${viewportId}`;
|
|
225
177
|
|
|
226
178
|
// RT viewport will always have a single display set
|
|
227
179
|
if (displaySets.length > 1) {
|
|
@@ -251,7 +203,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
251
203
|
const referencedDisplaySetRef = (0,react.useRef)(null);
|
|
252
204
|
const {
|
|
253
205
|
viewports,
|
|
254
|
-
|
|
206
|
+
activeViewportId
|
|
255
207
|
} = viewportGrid;
|
|
256
208
|
const referencedDisplaySet = rtDisplaySet.getReferenceDisplaySet();
|
|
257
209
|
const referencedDisplaySetMetadata = _getReferencedDisplaySetMetadata(referencedDisplaySet);
|
|
@@ -271,6 +223,26 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
271
223
|
const onElementDisabled = () => {
|
|
272
224
|
setElement(null);
|
|
273
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
|
+
};
|
|
274
246
|
const getCornerstoneViewport = (0,react.useCallback)(() => {
|
|
275
247
|
const {
|
|
276
248
|
component: Component
|
|
@@ -291,7 +263,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
291
263
|
onElementEnabled: onElementEnabled,
|
|
292
264
|
onElementDisabled: onElementDisabled
|
|
293
265
|
}));
|
|
294
|
-
}, [
|
|
266
|
+
}, [viewportId, rtDisplaySet, toolGroupId]);
|
|
295
267
|
const onSegmentChange = (0,react.useCallback)(direction => {
|
|
296
268
|
direction = direction === 'left' ? -1 : 1;
|
|
297
269
|
const segmentationId = rtDisplaySet.displaySetInstanceUID;
|
|
@@ -317,14 +289,16 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
317
289
|
}
|
|
318
290
|
utils_promptHydrateRT({
|
|
319
291
|
servicesManager,
|
|
320
|
-
|
|
321
|
-
rtDisplaySet
|
|
292
|
+
viewportId,
|
|
293
|
+
rtDisplaySet,
|
|
294
|
+
preHydrateCallbacks: [storePresentationState],
|
|
295
|
+
hydrateRTDisplaySet
|
|
322
296
|
}).then(isHydrated => {
|
|
323
297
|
if (isHydrated) {
|
|
324
298
|
setIsHydrated(true);
|
|
325
299
|
}
|
|
326
300
|
});
|
|
327
|
-
}, [servicesManager,
|
|
301
|
+
}, [servicesManager, viewportId, rtDisplaySet, rtIsLoading]);
|
|
328
302
|
(0,react.useEffect)(() => {
|
|
329
303
|
const {
|
|
330
304
|
unsubscribe
|
|
@@ -347,11 +321,11 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
347
321
|
(0,react.useEffect)(() => {
|
|
348
322
|
const {
|
|
349
323
|
unsubscribe
|
|
350
|
-
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE,
|
|
324
|
+
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE, _ref3 => {
|
|
351
325
|
let {
|
|
352
326
|
percentComplete,
|
|
353
327
|
numSegments
|
|
354
|
-
} =
|
|
328
|
+
} = _ref3;
|
|
355
329
|
setProcessingProgress({
|
|
356
330
|
percentComplete,
|
|
357
331
|
totalSegments: numSegments
|
|
@@ -366,14 +340,14 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
366
340
|
Cleanup the SEG viewport when the viewport is destroyed
|
|
367
341
|
*/
|
|
368
342
|
(0,react.useEffect)(() => {
|
|
369
|
-
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED,
|
|
343
|
+
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED, _ref4 => {
|
|
370
344
|
let {
|
|
371
345
|
displaySetInstanceUIDs
|
|
372
|
-
} =
|
|
373
|
-
const activeViewport = viewports
|
|
346
|
+
} = _ref4;
|
|
347
|
+
const activeViewport = viewports.get(activeViewportId);
|
|
374
348
|
if (displaySetInstanceUIDs.includes(activeViewport.displaySetInstanceUID)) {
|
|
375
349
|
viewportGridService.setDisplaySetsForViewport({
|
|
376
|
-
|
|
350
|
+
viewportId: activeViewportId,
|
|
377
351
|
displaySetInstanceUIDs: []
|
|
378
352
|
});
|
|
379
353
|
}
|
|
@@ -412,7 +386,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
412
386
|
if (children && children.length) {
|
|
413
387
|
childrenWithProps = children.map((child, index) => {
|
|
414
388
|
return child && /*#__PURE__*/react.cloneElement(child, {
|
|
415
|
-
|
|
389
|
+
viewportId,
|
|
416
390
|
key: index
|
|
417
391
|
});
|
|
418
392
|
});
|
|
@@ -430,10 +404,16 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
430
404
|
SeriesNumber
|
|
431
405
|
} = referencedDisplaySetRef.current.metadata;
|
|
432
406
|
const onStatusClick = async () => {
|
|
433
|
-
|
|
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({
|
|
434
415
|
rtDisplaySet,
|
|
435
|
-
|
|
436
|
-
servicesManager
|
|
416
|
+
viewportId
|
|
437
417
|
});
|
|
438
418
|
setIsHydrated(isHydrated);
|
|
439
419
|
};
|
|
@@ -466,9 +446,9 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
466
446
|
}
|
|
467
447
|
}
|
|
468
448
|
}), /*#__PURE__*/react.createElement("div", {
|
|
469
|
-
className: "relative flex
|
|
449
|
+
className: "relative flex h-full w-full flex-row overflow-hidden"
|
|
470
450
|
}, rtIsLoading && /*#__PURE__*/react.createElement(ui_src/* LoadingIndicatorTotalPercent */.bk, {
|
|
471
|
-
className: "
|
|
451
|
+
className: "h-full w-full",
|
|
472
452
|
totalNumbers: processingProgress.totalSegments,
|
|
473
453
|
percentComplete: processingProgress.percentComplete,
|
|
474
454
|
loadingText: "Loading RTSTRUCT..."
|
|
@@ -476,7 +456,7 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
476
456
|
}
|
|
477
457
|
OHIFCornerstoneRTViewport.propTypes = {
|
|
478
458
|
displaySets: prop_types_default().arrayOf((prop_types_default()).object),
|
|
479
|
-
|
|
459
|
+
viewportId: (prop_types_default()).string.isRequired,
|
|
480
460
|
dataSource: (prop_types_default()).object,
|
|
481
461
|
children: (prop_types_default()).node,
|
|
482
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 + 65 modules
|
|
26
|
+
var src = __webpack_require__(71771);
|
|
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 {
|
|
@@ -159,11 +159,6 @@ async function loadRTStruct(extensionManager, rtStructDisplaySet, referencedDisp
|
|
|
159
159
|
NumberOfContourPoints,
|
|
160
160
|
ContourGeometricType
|
|
161
161
|
} = ContourSequenceArray[c];
|
|
162
|
-
const sopInstanceUID = ContourImageSequence.ReferencedSOPInstanceUID;
|
|
163
|
-
const imageId = _getImageId(imageIdSopInstanceUidPairs, sopInstanceUID);
|
|
164
|
-
if (!imageId) {
|
|
165
|
-
continue;
|
|
166
|
-
}
|
|
167
162
|
let isSupported = false;
|
|
168
163
|
const points = [];
|
|
169
164
|
for (let p = 0; p < NumberOfContourPoints * 3; p += 3) {
|
|
@@ -426,7 +421,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
426
421
|
|
|
427
422
|
|
|
428
423
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
429
|
-
return __webpack_require__.e(/* import() */
|
|
424
|
+
return __webpack_require__.e(/* import() */ 471).then(__webpack_require__.bind(__webpack_require__, 56471));
|
|
430
425
|
});
|
|
431
426
|
const OHIFCornerstoneRTViewport = props => {
|
|
432
427
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -452,12 +447,14 @@ const extension = {
|
|
|
452
447
|
getViewportModule(_ref) {
|
|
453
448
|
let {
|
|
454
449
|
servicesManager,
|
|
455
|
-
extensionManager
|
|
450
|
+
extensionManager,
|
|
451
|
+
commandsManager
|
|
456
452
|
} = _ref;
|
|
457
453
|
const ExtendedOHIFCornerstoneRTViewport = props => {
|
|
458
454
|
return /*#__PURE__*/react.createElement(OHIFCornerstoneRTViewport, _extends({
|
|
459
455
|
servicesManager: servicesManager,
|
|
460
|
-
extensionManager: extensionManager
|
|
456
|
+
extensionManager: extensionManager,
|
|
457
|
+
commandsManager: commandsManager
|
|
461
458
|
}, props));
|
|
462
459
|
};
|
|
463
460
|
return [{
|