@ohif/app 3.7.0-beta.43 → 3.7.0-beta.44
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/{150.bundle.94cbce497cafacd4a7d7.js → 150.bundle.7be19d85d4a4427162b9.js} +2 -1
- package/dist/{181.bundle.817ca1ba6479fca5fd15.js → 181.bundle.f4289d6b1c5d35831e37.js} +4 -31
- package/dist/{506.bundle.44629077a406500707ea.js → 506.bundle.65256204be221475de80.js} +4 -2
- package/dist/{678.bundle.13062f7926c30056aee1.js → 678.bundle.5289463d7f419d56f8f1.js} +40 -0
- package/dist/{810.bundle.b3e2cf57e00d35a12f30.js → 810.bundle.b8f43b6b094a0720e994.js} +30 -7
- package/dist/{821.bundle.d4120df6baeed120be9e.js → 821.bundle.fcfa6ec47f096018c0e9.js} +2 -2
- package/dist/{869.bundle.c9c018e6757410919ed8.js → 869.bundle.6375669c18e0907b248d.js} +30 -9
- package/dist/{app.bundle.2905ffdd301e3c34286e.js → app.bundle.9c84ff949c1d4b8f555f.js} +22 -8
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{12.bundle.f46296f27a36e6b95f76.js → 12.bundle.e8a38369f1a90100362f.js} +0 -0
- /package/dist/{128.bundle.963d34d21c01231fc804.js → 128.bundle.c4be183e141214e291da.js} +0 -0
- /package/dist/{236.bundle.3c5f844ce9de4ec0777d.js → 236.bundle.b8ef36ef4c5e4e5c3d2b.js} +0 -0
- /package/dist/{281.bundle.ac92bd142441f317f308.js → 281.bundle.d394ad2bcce3cf7b325f.js} +0 -0
- /package/dist/{30.bundle.8fb93818b3a58f29f7e3.js → 30.bundle.21b1175bc35138643825.js} +0 -0
- /package/dist/{348.bundle.323f57efcc2239950451.js → 348.bundle.fdc18553ec7c1b4f6a80.js} +0 -0
- /package/dist/{359.bundle.3ae0f07b1c428eeb00a8.js → 359.bundle.f3867a42352f85e846bb.js} +0 -0
- /package/dist/{378.bundle.c908a6194c50544b45db.js → 378.bundle.b7a073e9ed3fce6e27a5.js} +0 -0
- /package/dist/{410.bundle.b3cbeff9c619149a2234.js → 410.bundle.8ae97aeddb3375a6d6c6.js} +0 -0
- /package/dist/{663.bundle.2dcb8a60d59464f4e563.js → 663.bundle.5188b8ef1cd9a46373d9.js} +0 -0
- /package/dist/{782.bundle.c511611d980f9aa6563b.js → 782.bundle.0b55dd2b0e7c80102eec.js} +0 -0
- /package/dist/{814.bundle.8391ddacf39d7c699c5f.js → 814.bundle.9f6f3b71096482162688.js} +0 -0
|
@@ -631,7 +631,8 @@ const extension = {
|
|
|
631
631
|
const ExtendedOHIFCornerstoneSEGViewport = props => {
|
|
632
632
|
return /*#__PURE__*/react.createElement(OHIFCornerstoneSEGViewport, _extends({
|
|
633
633
|
servicesManager: servicesManager,
|
|
634
|
-
extensionManager: extensionManager
|
|
634
|
+
extensionManager: extensionManager,
|
|
635
|
+
commandsManager: commandsManager
|
|
635
636
|
}, props));
|
|
636
637
|
};
|
|
637
638
|
return [{
|
|
@@ -1132,6 +1132,7 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1132
1132
|
viewportOptions,
|
|
1133
1133
|
displaySetOptions,
|
|
1134
1134
|
servicesManager,
|
|
1135
|
+
commandsManager,
|
|
1135
1136
|
onElementEnabled,
|
|
1136
1137
|
onElementDisabled,
|
|
1137
1138
|
isJumpToMeasurementDisabled,
|
|
@@ -1168,35 +1169,6 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1168
1169
|
setImageScrollBarHeight();
|
|
1169
1170
|
}
|
|
1170
1171
|
}, [elementRef]);
|
|
1171
|
-
const storePresentation = () => {
|
|
1172
|
-
const currentPresentation = cornerstoneViewportService.getPresentation(viewportIndex);
|
|
1173
|
-
if (!currentPresentation || !currentPresentation.presentationIds) return;
|
|
1174
|
-
const {
|
|
1175
|
-
lutPresentationStore,
|
|
1176
|
-
positionPresentationStore
|
|
1177
|
-
} = stateSyncService.getState();
|
|
1178
|
-
const {
|
|
1179
|
-
presentationIds
|
|
1180
|
-
} = currentPresentation;
|
|
1181
|
-
const {
|
|
1182
|
-
lutPresentationId,
|
|
1183
|
-
positionPresentationId
|
|
1184
|
-
} = presentationIds || {};
|
|
1185
|
-
const storeState = {};
|
|
1186
|
-
if (lutPresentationId) {
|
|
1187
|
-
storeState.lutPresentationStore = {
|
|
1188
|
-
...lutPresentationStore,
|
|
1189
|
-
[lutPresentationId]: currentPresentation
|
|
1190
|
-
};
|
|
1191
|
-
}
|
|
1192
|
-
if (positionPresentationId) {
|
|
1193
|
-
storeState.positionPresentationStore = {
|
|
1194
|
-
...positionPresentationStore,
|
|
1195
|
-
[positionPresentationId]: currentPresentation
|
|
1196
|
-
};
|
|
1197
|
-
}
|
|
1198
|
-
stateSyncService.store(storeState);
|
|
1199
|
-
};
|
|
1200
1172
|
const cleanUpServices = (0,react.useCallback)(() => {
|
|
1201
1173
|
const viewportInfo = cornerstoneViewportService.getViewportInfoByIndex(viewportIndex);
|
|
1202
1174
|
if (!viewportInfo) {
|
|
@@ -1237,7 +1209,9 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1237
1209
|
dist_esm.eventTarget.addEventListener(dist_esm.Enums.Events.ELEMENT_ENABLED, elementEnabledHandler);
|
|
1238
1210
|
setImageScrollBarHeight();
|
|
1239
1211
|
return () => {
|
|
1240
|
-
storePresentation
|
|
1212
|
+
commandsManager.runCommand('storePresentation', {
|
|
1213
|
+
viewportIndex
|
|
1214
|
+
});
|
|
1241
1215
|
cleanUpServices();
|
|
1242
1216
|
const viewportInfo = cornerstoneViewportService.getViewportInfoByIndex(viewportIndex);
|
|
1243
1217
|
cornerstoneViewportService.disableElement(viewportIndex);
|
|
@@ -1329,7 +1303,6 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
|
|
|
1329
1303
|
unsubscribeFromJumpToMeasurementEvents();
|
|
1330
1304
|
};
|
|
1331
1305
|
}, [displaySets, elementRef, viewportIndex]);
|
|
1332
|
-
console.debug('OHIFCornerstoneViewport rendering');
|
|
1333
1306
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
1334
1307
|
className: "viewport-wrapper"
|
|
1335
1308
|
}, /*#__PURE__*/react.createElement(index_esm/* default */.ZP, {
|
|
@@ -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 [{
|
|
@@ -4432,6 +4432,7 @@ function commandsModule(_ref) {
|
|
|
4432
4432
|
toolGroupService,
|
|
4433
4433
|
cineService,
|
|
4434
4434
|
toolbarService,
|
|
4435
|
+
stateSyncService,
|
|
4435
4436
|
uiDialogService,
|
|
4436
4437
|
cornerstoneViewportService,
|
|
4437
4438
|
uiNotificationService,
|
|
@@ -5033,6 +5034,40 @@ function commandsModule(_ref) {
|
|
|
5033
5034
|
);
|
|
5034
5035
|
|
|
5035
5036
|
toolGroup.setToolEnabled(dist_esm.ReferenceLinesTool.toolName);
|
|
5037
|
+
},
|
|
5038
|
+
storePresentation: _ref18 => {
|
|
5039
|
+
let {
|
|
5040
|
+
viewportIndex
|
|
5041
|
+
} = _ref18;
|
|
5042
|
+
const presentation = cornerstoneViewportService.getPresentation(viewportIndex);
|
|
5043
|
+
if (!presentation || !presentation.presentationIds) {
|
|
5044
|
+
return;
|
|
5045
|
+
}
|
|
5046
|
+
const {
|
|
5047
|
+
lutPresentationStore,
|
|
5048
|
+
positionPresentationStore
|
|
5049
|
+
} = stateSyncService.getState();
|
|
5050
|
+
const {
|
|
5051
|
+
presentationIds
|
|
5052
|
+
} = presentation;
|
|
5053
|
+
const {
|
|
5054
|
+
lutPresentationId,
|
|
5055
|
+
positionPresentationId
|
|
5056
|
+
} = presentationIds || {};
|
|
5057
|
+
const storeState = {};
|
|
5058
|
+
if (lutPresentationId) {
|
|
5059
|
+
storeState.lutPresentationStore = {
|
|
5060
|
+
...lutPresentationStore,
|
|
5061
|
+
[lutPresentationId]: presentation
|
|
5062
|
+
};
|
|
5063
|
+
}
|
|
5064
|
+
if (positionPresentationId) {
|
|
5065
|
+
storeState.positionPresentationStore = {
|
|
5066
|
+
...positionPresentationStore,
|
|
5067
|
+
[positionPresentationId]: presentation
|
|
5068
|
+
};
|
|
5069
|
+
}
|
|
5070
|
+
stateSyncService.store(storeState);
|
|
5036
5071
|
}
|
|
5037
5072
|
};
|
|
5038
5073
|
const definitions = {
|
|
@@ -5169,6 +5204,11 @@ function commandsModule(_ref) {
|
|
|
5169
5204
|
},
|
|
5170
5205
|
toggleReferenceLines: {
|
|
5171
5206
|
commandFn: actions.toggleReferenceLines
|
|
5207
|
+
},
|
|
5208
|
+
storePresentation: {
|
|
5209
|
+
commandFn: actions.storePresentation,
|
|
5210
|
+
storeContexts: [],
|
|
5211
|
+
options: {}
|
|
5172
5212
|
}
|
|
5173
5213
|
};
|
|
5174
5214
|
return {
|
|
@@ -88,7 +88,8 @@ function promptHydrateRT(_ref) {
|
|
|
88
88
|
servicesManager,
|
|
89
89
|
rtDisplaySet,
|
|
90
90
|
viewportIndex,
|
|
91
|
-
toolGroupId = 'default'
|
|
91
|
+
toolGroupId = 'default',
|
|
92
|
+
preHydrateCallbacks
|
|
92
93
|
} = _ref;
|
|
93
94
|
const {
|
|
94
95
|
uiViewportDialogService
|
|
@@ -96,6 +97,9 @@ function promptHydrateRT(_ref) {
|
|
|
96
97
|
return new Promise(async function (resolve, reject) {
|
|
97
98
|
const promptResult = await _askHydrate(uiViewportDialogService, viewportIndex);
|
|
98
99
|
if (promptResult === RESPONSE.HYDRATE_SEG) {
|
|
100
|
+
preHydrateCallbacks?.forEach(callback => {
|
|
101
|
+
callback();
|
|
102
|
+
});
|
|
99
103
|
const isHydrated = await _hydrateRT({
|
|
100
104
|
rtDisplaySet,
|
|
101
105
|
viewportIndex,
|
|
@@ -213,7 +217,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
213
217
|
viewportIndex,
|
|
214
218
|
viewportLabel,
|
|
215
219
|
servicesManager,
|
|
216
|
-
extensionManager
|
|
220
|
+
extensionManager,
|
|
221
|
+
commandsManager
|
|
217
222
|
} = props;
|
|
218
223
|
const {
|
|
219
224
|
displaySetService,
|
|
@@ -272,6 +277,16 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
272
277
|
const onElementDisabled = () => {
|
|
273
278
|
setElement(null);
|
|
274
279
|
};
|
|
280
|
+
const storePresentationState = (0,react.useCallback)(() => {
|
|
281
|
+
viewportGrid?.viewports.forEach(_ref => {
|
|
282
|
+
let {
|
|
283
|
+
viewportIndex
|
|
284
|
+
} = _ref;
|
|
285
|
+
commandsManager.runCommand('storePresentation', {
|
|
286
|
+
viewportIndex
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
}, [viewportGrid]);
|
|
275
290
|
const getCornerstoneViewport = (0,react.useCallback)(() => {
|
|
276
291
|
const {
|
|
277
292
|
component: Component
|
|
@@ -319,7 +334,8 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
319
334
|
utils_promptHydrateRT({
|
|
320
335
|
servicesManager,
|
|
321
336
|
viewportIndex,
|
|
322
|
-
rtDisplaySet
|
|
337
|
+
rtDisplaySet,
|
|
338
|
+
preHydrateCallbacks: [storePresentationState]
|
|
323
339
|
}).then(isHydrated => {
|
|
324
340
|
if (isHydrated) {
|
|
325
341
|
setIsHydrated(true);
|
|
@@ -348,11 +364,11 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
348
364
|
(0,react.useEffect)(() => {
|
|
349
365
|
const {
|
|
350
366
|
unsubscribe
|
|
351
|
-
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE,
|
|
367
|
+
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE, _ref2 => {
|
|
352
368
|
let {
|
|
353
369
|
percentComplete,
|
|
354
370
|
numSegments
|
|
355
|
-
} =
|
|
371
|
+
} = _ref2;
|
|
356
372
|
setProcessingProgress({
|
|
357
373
|
percentComplete,
|
|
358
374
|
totalSegments: numSegments
|
|
@@ -367,10 +383,10 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
367
383
|
Cleanup the SEG viewport when the viewport is destroyed
|
|
368
384
|
*/
|
|
369
385
|
(0,react.useEffect)(() => {
|
|
370
|
-
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED,
|
|
386
|
+
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED, _ref3 => {
|
|
371
387
|
let {
|
|
372
388
|
displaySetInstanceUIDs
|
|
373
|
-
} =
|
|
389
|
+
} = _ref3;
|
|
374
390
|
const activeViewport = viewports[activeViewportIndex];
|
|
375
391
|
if (displaySetInstanceUIDs.includes(activeViewport.displaySetInstanceUID)) {
|
|
376
392
|
viewportGridService.setDisplaySetsForViewport({
|
|
@@ -431,6 +447,13 @@ function OHIFCornerstoneRTViewport(props) {
|
|
|
431
447
|
SeriesNumber
|
|
432
448
|
} = referencedDisplaySetRef.current.metadata;
|
|
433
449
|
const onStatusClick = async () => {
|
|
450
|
+
// Before hydrating a RT and make it added to all viewports in the grid
|
|
451
|
+
// that share the same frameOfReferenceUID, we need to store the viewport grid
|
|
452
|
+
// presentation state, so that we can restore it after hydrating the RT. This is
|
|
453
|
+
// required if the user has changed the viewport (other viewport than RT viewport)
|
|
454
|
+
// presentation state (w/l and invert) and then opens the RT. If we don't store
|
|
455
|
+
// the presentation state, the viewport will be reset to the default presentation
|
|
456
|
+
storePresentationState();
|
|
434
457
|
const isHydrated = await _hydrateRT({
|
|
435
458
|
rtDisplaySet,
|
|
436
459
|
viewportIndex,
|
|
@@ -2177,8 +2177,8 @@ function ViewerLayout(_ref) {
|
|
|
2177
2177
|
hotkeyDefinitions,
|
|
2178
2178
|
hotkeyDefaults
|
|
2179
2179
|
} = hotkeysManager;
|
|
2180
|
-
const versionNumber = "3.7.0-beta.
|
|
2181
|
-
const commitHash = "
|
|
2180
|
+
const versionNumber = "3.7.0-beta.44";
|
|
2181
|
+
const commitHash = "8adf663248e9f0456a9373961b928ee069ee1d0e";
|
|
2182
2182
|
const menuOptions = [{
|
|
2183
2183
|
title: t('Header:About'),
|
|
2184
2184
|
icon: 'info',
|
|
@@ -96,7 +96,8 @@ function promptHydrateSEG(_ref) {
|
|
|
96
96
|
let {
|
|
97
97
|
servicesManager,
|
|
98
98
|
segDisplaySet,
|
|
99
|
-
viewportIndex
|
|
99
|
+
viewportIndex,
|
|
100
|
+
preHydrateCallbacks
|
|
100
101
|
} = _ref;
|
|
101
102
|
const {
|
|
102
103
|
uiViewportDialogService
|
|
@@ -104,6 +105,9 @@ function promptHydrateSEG(_ref) {
|
|
|
104
105
|
return new Promise(async function (resolve, reject) {
|
|
105
106
|
const promptResult = await _askHydrate(uiViewportDialogService, viewportIndex);
|
|
106
107
|
if (promptResult === RESPONSE.HYDRATE_SEG) {
|
|
108
|
+
preHydrateCallbacks?.forEach(callback => {
|
|
109
|
+
callback();
|
|
110
|
+
});
|
|
107
111
|
const isHydrated = await _hydrateSEG({
|
|
108
112
|
segDisplaySet,
|
|
109
113
|
viewportIndex,
|
|
@@ -211,7 +215,8 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
211
215
|
viewportIndex,
|
|
212
216
|
viewportLabel,
|
|
213
217
|
servicesManager,
|
|
214
|
-
extensionManager
|
|
218
|
+
extensionManager,
|
|
219
|
+
commandsManager
|
|
215
220
|
} = props;
|
|
216
221
|
const {
|
|
217
222
|
t
|
|
@@ -233,7 +238,6 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
233
238
|
const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
|
|
234
239
|
|
|
235
240
|
// States
|
|
236
|
-
const [isToolGroupCreated, setToolGroupCreated] = (0,react.useState)(false);
|
|
237
241
|
const [selectedSegment, setSelectedSegment] = (0,react.useState)(1);
|
|
238
242
|
|
|
239
243
|
// Hydration means that the SEG is opened and segments are loaded into the
|
|
@@ -273,6 +277,16 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
273
277
|
const onElementDisabled = () => {
|
|
274
278
|
setElement(null);
|
|
275
279
|
};
|
|
280
|
+
const storePresentationState = (0,react.useCallback)(() => {
|
|
281
|
+
viewportGrid?.viewports.forEach(_ref => {
|
|
282
|
+
let {
|
|
283
|
+
viewportIndex
|
|
284
|
+
} = _ref;
|
|
285
|
+
commandsManager.runCommand('storePresentation', {
|
|
286
|
+
viewportIndex
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
}, [viewportGrid]);
|
|
276
290
|
const getCornerstoneViewport = (0,react.useCallback)(() => {
|
|
277
291
|
const {
|
|
278
292
|
component: Component
|
|
@@ -322,7 +336,8 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
322
336
|
utils_promptHydrateSEG({
|
|
323
337
|
servicesManager,
|
|
324
338
|
viewportIndex,
|
|
325
|
-
segDisplaySet
|
|
339
|
+
segDisplaySet,
|
|
340
|
+
preHydrateCallbacks: [storePresentationState]
|
|
326
341
|
}).then(isHydrated => {
|
|
327
342
|
if (isHydrated) {
|
|
328
343
|
setIsHydrated(true);
|
|
@@ -351,11 +366,11 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
351
366
|
(0,react.useEffect)(() => {
|
|
352
367
|
const {
|
|
353
368
|
unsubscribe
|
|
354
|
-
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE,
|
|
369
|
+
} = segmentationService.subscribe(segmentationService.EVENTS.SEGMENT_LOADING_COMPLETE, _ref2 => {
|
|
355
370
|
let {
|
|
356
371
|
percentComplete,
|
|
357
372
|
numSegments
|
|
358
|
-
} =
|
|
373
|
+
} = _ref2;
|
|
359
374
|
setProcessingProgress({
|
|
360
375
|
percentComplete,
|
|
361
376
|
totalSegments: numSegments
|
|
@@ -370,10 +385,10 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
370
385
|
Cleanup the SEG viewport when the viewport is destroyed
|
|
371
386
|
*/
|
|
372
387
|
(0,react.useEffect)(() => {
|
|
373
|
-
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED,
|
|
388
|
+
const onDisplaySetsRemovedSubscription = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_REMOVED, _ref3 => {
|
|
374
389
|
let {
|
|
375
390
|
displaySetInstanceUIDs
|
|
376
|
-
} =
|
|
391
|
+
} = _ref3;
|
|
377
392
|
const activeViewport = viewports[activeViewportIndex];
|
|
378
393
|
if (displaySetInstanceUIDs.includes(activeViewport.displaySetInstanceUID)) {
|
|
379
394
|
viewportGridService.setDisplaySetsForViewport({
|
|
@@ -395,7 +410,6 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
395
410
|
// This creates a custom tool group which has the lifetime of this view
|
|
396
411
|
// only, and does NOT interfere with currently displayed segmentations.
|
|
397
412
|
toolGroup = initSEGToolGroup(toolGroupService, customizationService, toolGroupId);
|
|
398
|
-
setToolGroupCreated(true);
|
|
399
413
|
return () => {
|
|
400
414
|
// remove the segmentation representations if seg displayset changed
|
|
401
415
|
segmentationService.removeSegmentationRepresentationFromToolGroup(toolGroupId);
|
|
@@ -438,6 +452,13 @@ function OHIFCornerstoneSEGViewport(props) {
|
|
|
438
452
|
SpacingBetweenSlices
|
|
439
453
|
} = referencedDisplaySetRef.current.metadata;
|
|
440
454
|
const onStatusClick = async () => {
|
|
455
|
+
// Before hydrating a SEG and make it added to all viewports in the grid
|
|
456
|
+
// that share the same frameOfReferenceUID, we need to store the viewport grid
|
|
457
|
+
// presentation state, so that we can restore it after hydrating the SEG. This is
|
|
458
|
+
// required if the user has changed the viewport (other viewport than SEG viewport)
|
|
459
|
+
// presentation state (w/l and invert) and then opens the SEG. If we don't store
|
|
460
|
+
// the presentation state, the viewport will be reset to the default presentation
|
|
461
|
+
storePresentationState();
|
|
441
462
|
const isHydrated = await _hydrateSEG({
|
|
442
463
|
segDisplaySet,
|
|
443
464
|
viewportIndex,
|
|
@@ -957,8 +957,8 @@ function WorkList(_ref) {
|
|
|
957
957
|
};
|
|
958
958
|
});
|
|
959
959
|
const hasStudies = numOfStudies > 0;
|
|
960
|
-
const versionNumber = "3.7.0-beta.
|
|
961
|
-
const commitHash = "
|
|
960
|
+
const versionNumber = "3.7.0-beta.44";
|
|
961
|
+
const commitHash = "8adf663248e9f0456a9373961b928ee069ee1d0e";
|
|
962
962
|
const menuOptions = [{
|
|
963
963
|
title: t('Header:About'),
|
|
964
964
|
icon: 'info',
|
|
@@ -6945,7 +6945,7 @@ const detectionOptions = {
|
|
|
6945
6945
|
}
|
|
6946
6946
|
});
|
|
6947
6947
|
;// CONCATENATED MODULE: ../../i18n/package.json
|
|
6948
|
-
const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.
|
|
6948
|
+
const package_namespaceObject = JSON.parse('{"i8":"3.7.0-beta.43"}');
|
|
6949
6949
|
;// CONCATENATED MODULE: ../../i18n/src/utils.js
|
|
6950
6950
|
const languagesMap = {
|
|
6951
6951
|
ar: 'Arabic',
|
|
@@ -48386,8 +48386,14 @@ const DEFAULT = 'default';
|
|
|
48386
48386
|
// dragged and dropped the view in twice. For example, it allows displaying
|
|
48387
48387
|
// bone, brain and soft tissue views of a single display set, and to still
|
|
48388
48388
|
// remember the specific changes to each viewport.
|
|
48389
|
-
const addUniqueIndex = (arr, key, viewports) => {
|
|
48389
|
+
const addUniqueIndex = (arr, key, viewports, isUpdatingSameViewport) => {
|
|
48390
48390
|
arr.push(0);
|
|
48391
|
+
|
|
48392
|
+
// If we are updating the viewport, we should not increment the index
|
|
48393
|
+
if (isUpdatingSameViewport) {
|
|
48394
|
+
return;
|
|
48395
|
+
}
|
|
48396
|
+
|
|
48391
48397
|
// The 128 is just a value that is larger than how many viewports we
|
|
48392
48398
|
// display at once, used as an upper bound on how many unique presentation
|
|
48393
48399
|
// ID's might exist for a single display set at once.
|
|
@@ -48476,8 +48482,17 @@ const getPresentationIds = (viewport, viewports) => {
|
|
|
48476
48482
|
positionPresentationArr.push(uid);
|
|
48477
48483
|
lutPresentationArr.push(uid);
|
|
48478
48484
|
}
|
|
48479
|
-
|
|
48480
|
-
|
|
48485
|
+
|
|
48486
|
+
// only add unique index if the viewport is getting inserted and not updated
|
|
48487
|
+
const isUpdatingSameViewport = viewports.some(v => {
|
|
48488
|
+
return v.displaySetInstanceUIDs.toString() === viewport.displaySetInstanceUIDs.toString() && v.viewportIndex === viewport.viewportIndex;
|
|
48489
|
+
});
|
|
48490
|
+
|
|
48491
|
+
// if it is updating the viewport we should not increment the index since
|
|
48492
|
+
// it might be a layer on the fusion or a SEG layer that is added on
|
|
48493
|
+
// top of the original display set
|
|
48494
|
+
addUniqueIndex(positionPresentationArr, 'positionPresentationId', viewports, isUpdatingSameViewport);
|
|
48495
|
+
addUniqueIndex(lutPresentationArr, 'lutPresentationId', viewports, isUpdatingSameViewport);
|
|
48481
48496
|
const lutPresentationId = lutPresentationArr.join(JOIN_STR);
|
|
48482
48497
|
const positionPresentationId = positionPresentationArr.join(JOIN_STR);
|
|
48483
48498
|
return {
|
|
@@ -55410,7 +55425,6 @@ const ContextMenu = _ref => {
|
|
|
55410
55425
|
...props
|
|
55411
55426
|
} = _ref;
|
|
55412
55427
|
if (!items) {
|
|
55413
|
-
console.warn('No items for context menu');
|
|
55414
55428
|
return null;
|
|
55415
55429
|
}
|
|
55416
55430
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
|
|
@@ -152777,7 +152791,7 @@ var selectOrdinal = function selectOrdinal() {
|
|
|
152777
152791
|
/******/ // This function allow to reference async chunks
|
|
152778
152792
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
152779
152793
|
/******/ // return url for filenames based on template
|
|
152780
|
-
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"
|
|
152794
|
+
/******/ return "" + (chunkId === 18 ? "dicom-microscopy-viewer" : chunkId) + ".bundle." + {"12":"e8a38369f1a90100362f","18":"44f7fedc03a58d5911d1","23":"e008ad788170f2ed5569","30":"21b1175bc35138643825","125":"1ae4c6313c31cd0502cc","128":"c4be183e141214e291da","150":"7be19d85d4a4427162b9","181":"f4289d6b1c5d35831e37","202":"ac1e5e25d4daf54581b1","220":"f7e1c96c94245e70f2be","236":"b8ef36ef4c5e4e5c3d2b","250":"ee4bcf159c4d610acc3e","281":"d394ad2bcce3cf7b325f","348":"fdc18553ec7c1b4f6a80","359":"f3867a42352f85e846bb","378":"b7a073e9ed3fce6e27a5","410":"8ae97aeddb3375a6d6c6","417":"720dc8f3a6e99f378aa9","506":"65256204be221475de80","579":"8fc434a0c13d3f662d42","604":"a51f83e64004bca5f497","663":"5188b8ef1cd9a46373d9","677":"ec5f2b4707db33bd4d8e","678":"5289463d7f419d56f8f1","686":"70565410179f1e7d22e6","754":"8a16fc8ad21fe00c2e15","774":"8ba82ee206266eb2da5e","775":"2285e7e0e67878948c0d","782":"0b55dd2b0e7c80102eec","810":"b8f43b6b094a0720e994","814":"9f6f3b71096482162688","821":"fcfa6ec47f096018c0e9","822":"34b66f1c1b27e7884df7","869":"6375669c18e0907b248d","886":"1c9ef0b3494270b34bda","925":"a2f1103d968c53a2b8fb"}[chunkId] + ".js";
|
|
152781
152795
|
/******/ };
|
|
152782
152796
|
/******/ })();
|
|
152783
152797
|
/******/
|
package/dist/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><meta name="mobile-web-app-capable" content="yes"/><meta name="application-name" content="OHIF Viewer"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta name="apple-mobile-web-app-title" content="@ohif/app"/><meta name="msapplication-TileColor" content="#fff"/><meta name="msapplication-TileImage" content="/assets/mstile-144x144.png"/><meta name="msapplication-config" content="/assets/browserconfig.xml"/><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script>window.PUBLIC_URL = '/';</script><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><meta name="mobile-web-app-capable" content="yes"/><meta name="application-name" content="OHIF Viewer"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta name="apple-mobile-web-app-title" content="@ohif/app"/><meta name="msapplication-TileColor" content="#fff"/><meta name="msapplication-TileImage" content="/assets/mstile-144x144.png"/><meta name="msapplication-config" content="/assets/browserconfig.xml"/><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" href="/assets/favicon.ico"/><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"/><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"/><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"/><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"/><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"/><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-320x460.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 480px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x920.png"/><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-640x1096.png"/><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-750x1294.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1182x2208.png"/><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3)" href="/assets/apple-touch-startup-image-1242x2148.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-748x1024.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 1)" href="/assets/apple-touch-startup-image-768x1004.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1496x2048.png"/><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" href="/assets/apple-touch-startup-image-1536x2008.png"/><link rel="icon" type="image/png" sizes="228x228" href="/assets/coast-228x228.png"/><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"/><script>window.PUBLIC_URL = '/';</script><script rel="preload" as="script" src="/app-config.js"></script><script rel="preload" as="script" type="module" src="/init-service-worker.js"></script><title>OHIF Viewer</title><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css?family=Inter:100,300,400,500,700&display=swap" rel="stylesheet" rel="preload" as="style"/><script defer="defer" src="/app.bundle.9c84ff949c1d4b8f555f.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
package/dist/sw.js
CHANGED
|
@@ -51,7 +51,7 @@ self.addEventListener('message', event => {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.
|
|
54
|
+
workbox.precaching.precacheAndRoute([{'revision':null,'url':'/12.bundle.e8a38369f1a90100362f.js'},{'revision':null,'url':'/125.bundle.1ae4c6313c31cd0502cc.js'},{'revision':null,'url':'/128.bundle.c4be183e141214e291da.js'},{'revision':null,'url':'/150.bundle.7be19d85d4a4427162b9.js'},{'revision':null,'url':'/181.bundle.f4289d6b1c5d35831e37.js'},{'revision':'8079c6447e119ba0680e8fab5875745d','url':'/181.css'},{'revision':null,'url':'/202.bundle.ac1e5e25d4daf54581b1.js'},{'revision':null,'url':'/220.bundle.f7e1c96c94245e70f2be.js'},{'revision':null,'url':'/23.bundle.e008ad788170f2ed5569.js'},{'revision':null,'url':'/236.bundle.b8ef36ef4c5e4e5c3d2b.js'},{'revision':null,'url':'/250.bundle.ee4bcf159c4d610acc3e.js'},{'revision':'0afb25509c7f072fbd7eda42c6895dbf','url':'/250.css'},{'revision':null,'url':'/281.bundle.d394ad2bcce3cf7b325f.js'},{'revision':null,'url':'/30.bundle.21b1175bc35138643825.js'},{'revision':null,'url':'/348.bundle.fdc18553ec7c1b4f6a80.js'},{'revision':null,'url':'/359.bundle.f3867a42352f85e846bb.js'},{'revision':'c4ea120c6da08aa75348edfa3e57ece9','url':'/36785fbd89b0e17f6099.wasm'},{'revision':null,'url':'/378.bundle.b7a073e9ed3fce6e27a5.js'},{'revision':null,'url':'/410.bundle.8ae97aeddb3375a6d6c6.js'},{'revision':null,'url':'/417.bundle.720dc8f3a6e99f378aa9.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/506.bundle.65256204be221475de80.js'},{'revision':'51b8ed55f5b8d448837222f03bdd6de8','url':'/579.css'},{'revision':null,'url':'/604.bundle.a51f83e64004bca5f497.js'},{'revision':'62b4ae8445d191d5aab5503ce475724d','url':'/610.min.worker.js'},{'revision':'3c2206525c18cd87dd28082949a4e43e','url':'/610.min.worker.js.map'},{'revision':'5800265b6831396572fb5d32c6bd8eef','url':'/62ab5d58a2bea7b5a1dc.wasm'},{'revision':'ce10eced3ce34e663d86569b27f5bffb','url':'/65916ef3def695744bda.wasm'},{'revision':null,'url':'/663.bundle.5188b8ef1cd9a46373d9.js'},{'revision':null,'url':'/677.bundle.ec5f2b4707db33bd4d8e.js'},{'revision':null,'url':'/678.bundle.5289463d7f419d56f8f1.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/678.css'},{'revision':null,'url':'/686.bundle.70565410179f1e7d22e6.js'},{'revision':null,'url':'/754.bundle.8a16fc8ad21fe00c2e15.js'},{'revision':'cf3e4d4fa8884275461c195421812256','url':'/75788f12450d4c5ed494.wasm'},{'revision':'cc4a3a4da4ac1b863a714f93c66c6ef2','url':'/75a0c2dfe07b824c7d21.wasm'},{'revision':null,'url':'/774.bundle.8ba82ee206266eb2da5e.js'},{'revision':null,'url':'/775.bundle.2285e7e0e67878948c0d.js'},{'revision':null,'url':'/782.bundle.0b55dd2b0e7c80102eec.js'},{'revision':null,'url':'/810.bundle.b8f43b6b094a0720e994.js'},{'revision':null,'url':'/814.bundle.9f6f3b71096482162688.js'},{'revision':null,'url':'/821.bundle.fcfa6ec47f096018c0e9.js'},{'revision':null,'url':'/822.bundle.34b66f1c1b27e7884df7.js'},{'revision':null,'url':'/869.bundle.6375669c18e0907b248d.js'},{'revision':null,'url':'/886.bundle.1c9ef0b3494270b34bda.js'},{'revision':null,'url':'/925.bundle.a2f1103d968c53a2b8fb.js'},{'revision':'74c9647440e51f149ad12923d6ead952','url':'/945.min.worker.js'},{'revision':'cdf6f0457d4af2cef04fc41816241bc1','url':'/945.min.worker.js.map'},{'revision':'d1895aa7a4595dc279c382e5a31ef9f4','url':'/_headers'},{'revision':'6839a719b6810111d8097998b11293a1','url':'/_redirects'},{'revision':'75b0852380bfab6b77ed10924d558d63','url':'/app-config.js'},{'revision':'8423a6bab758b3cb4da4a235d81a1e99','url':'/app.bundle.css'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'cfea70d7ddc8f06f276ea0c85c4b2adf','url':'/assets/yandex-browser-manifest.json'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/b6b803111e2d06a825bd.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':'c92fc2d7174c9b592394d71e98b94b6c','url':'/cornerstoneDICOMImageLoader.min.js'},{'revision':'d3b0b8548ddeb0f8fd6daf92866ff249','url':'/cornerstoneDICOMImageLoader.min.js.map'},{'revision':null,'url':'/dicom-microscopy-viewer.bundle.44f7fedc03a58d5911d1.js'},{'revision':'9d8c85b42d04bb117a3b583d654fbb08','url':'/dicomMicroscopyViewer.min.js'},{'revision':'450494c199cf8dd8e8c34d5e98bf5334','url':'/dicomMicroscopyViewer.min.js.LICENSE.txt'},{'revision':'0ca44a1b8719e835645ffa804a9d1395','url':'/es6-shim.min.js'},{'revision':'20a413c13d5bf54b67f399a7657fb54a','url':'/google.js'},{'revision':'e18e37dee15c8079874608a22f73e0d9','url':'/index.html'},{'revision':'feee2d4ed9d00c64f0e4d6a46608fecf','url':'/index.worker.e62ecca63f1a2e124230.worker.js'},{'revision':'beaf37c564436e46bbcd825f0330cdbf','url':'/index.worker.e62ecca63f1a2e124230.worker.js.map'},{'revision':'71cec55513e051f0778ad89be760c11a','url':'/index.worker.min.worker.js'},{'revision':'fd1116add443fee52a935df926396e0f','url':'/index.worker.min.worker.js.map'},{'revision':'c4c4be134438c4cc55613210f3913526','url':'/init-service-worker.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'754d698a7b334af57c00f29723fd9751','url':'/oidc-client.min.js'},{'revision':'d05a380d50b74e629738ae6f62fb7e78','url':'/polyfill.min.js'},{'revision':'f528b6861c82ee4415fce0821fd695c1','url':'/silent-refresh.html'}]);
|
|
55
55
|
|
|
56
56
|
// TODO: Cache API
|
|
57
57
|
// https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/cache-api
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohif/app",
|
|
3
|
-
"version": "3.7.0-beta.
|
|
3
|
+
"version": "3.7.0-beta.44",
|
|
4
4
|
"productVersion": "3.4.0",
|
|
5
5
|
"description": "OHIF Viewer",
|
|
6
6
|
"author": "OHIF Contributors",
|
|
@@ -51,22 +51,22 @@
|
|
|
51
51
|
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
|
52
52
|
"@cornerstonejs/codec-openjph": "^2.4.2",
|
|
53
53
|
"@cornerstonejs/dicom-image-loader": "^1.9.3",
|
|
54
|
-
"@ohif/core": "3.7.0-beta.
|
|
55
|
-
"@ohif/extension-cornerstone": "3.7.0-beta.
|
|
56
|
-
"@ohif/extension-cornerstone-dicom-rt": "3.7.0-beta.
|
|
57
|
-
"@ohif/extension-cornerstone-dicom-seg": "3.7.0-beta.
|
|
58
|
-
"@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.
|
|
59
|
-
"@ohif/extension-default": "3.7.0-beta.
|
|
60
|
-
"@ohif/extension-dicom-microscopy": "3.7.0-beta.
|
|
61
|
-
"@ohif/extension-dicom-pdf": "3.7.0-beta.
|
|
62
|
-
"@ohif/extension-dicom-video": "3.7.0-beta.
|
|
63
|
-
"@ohif/extension-test": "3.7.0-beta.
|
|
64
|
-
"@ohif/i18n": "3.7.0-beta.
|
|
65
|
-
"@ohif/mode-basic-dev-mode": "3.7.0-beta.
|
|
66
|
-
"@ohif/mode-longitudinal": "3.7.0-beta.
|
|
67
|
-
"@ohif/mode-microscopy": "3.7.0-beta.
|
|
68
|
-
"@ohif/mode-test": "3.7.0-beta.
|
|
69
|
-
"@ohif/ui": "3.7.0-beta.
|
|
54
|
+
"@ohif/core": "3.7.0-beta.44",
|
|
55
|
+
"@ohif/extension-cornerstone": "3.7.0-beta.44",
|
|
56
|
+
"@ohif/extension-cornerstone-dicom-rt": "3.7.0-beta.44",
|
|
57
|
+
"@ohif/extension-cornerstone-dicom-seg": "3.7.0-beta.44",
|
|
58
|
+
"@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.44",
|
|
59
|
+
"@ohif/extension-default": "3.7.0-beta.44",
|
|
60
|
+
"@ohif/extension-dicom-microscopy": "3.7.0-beta.44",
|
|
61
|
+
"@ohif/extension-dicom-pdf": "3.7.0-beta.44",
|
|
62
|
+
"@ohif/extension-dicom-video": "3.7.0-beta.44",
|
|
63
|
+
"@ohif/extension-test": "3.7.0-beta.44",
|
|
64
|
+
"@ohif/i18n": "3.7.0-beta.44",
|
|
65
|
+
"@ohif/mode-basic-dev-mode": "3.7.0-beta.44",
|
|
66
|
+
"@ohif/mode-longitudinal": "3.7.0-beta.44",
|
|
67
|
+
"@ohif/mode-microscopy": "3.7.0-beta.44",
|
|
68
|
+
"@ohif/mode-test": "3.7.0-beta.44",
|
|
69
|
+
"@ohif/ui": "3.7.0-beta.44",
|
|
70
70
|
"@types/react": "^17.0.38",
|
|
71
71
|
"classnames": "^2.3.2",
|
|
72
72
|
"core-js": "^3.16.1",
|
|
@@ -106,5 +106,5 @@
|
|
|
106
106
|
"webpack-cli": "^4.7.2",
|
|
107
107
|
"webpack-merge": "^5.7.3"
|
|
108
108
|
},
|
|
109
|
-
"gitHead": "
|
|
109
|
+
"gitHead": "9ae3d9f769bbe4784a503ab5556a9917be51f055"
|
|
110
110
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|