@ohif/app 3.8.0-beta.5 → 3.8.0-beta.50

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.
Files changed (55) hide show
  1. package/dist/{12.bundle.1c0fcebb2e63f538b03b.js → 12.bundle.aebca43849fb89e4487c.js} +9 -11
  2. package/dist/{125.bundle.253395f320b72180da63.js → 125.bundle.df666cb677e5a8982157.js} +4 -5
  3. package/dist/{663.bundle.68a67d3504dc24cccc1a.js → 170.bundle.c897981826842ee375b5.js} +97 -89
  4. package/dist/{181.bundle.2ddc6f90740895a3949c.js → 181.bundle.aff453c348111303ceac.js} +107 -74
  5. package/dist/181.css +1 -1
  6. package/dist/{370.bundle.085badd6055e8feea84f.js → 185.bundle.87b32cd8145a37e8d07b.js} +338 -209
  7. package/dist/{19.bundle.05ccf775cb70682dfcdf.js → 19.bundle.89cb082532a16f04ce74.js} +127 -136
  8. package/dist/{99.bundle.51efd3493cd1de6bf63c.js → 199.bundle.08204857a65f29ec5dca.js} +215 -162
  9. package/dist/202.bundle.495cba6bbee744cf8f72.js +18239 -0
  10. package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
  11. package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 223.bundle.d4ac6ef2cfe47a9c4afc.js} +4422 -3671
  12. package/dist/{23.bundle.e008ad788170f2ed5569.js → 23.bundle.9d989522a6e4fdcb9c72.js} +1 -1
  13. package/dist/{250.bundle.8084960e3318cda37317.js → 250.bundle.577da106dd763c7bf9d0.js} +22 -27
  14. package/dist/{281.bundle.64640869327edc0d2cae.js → 281.bundle.987f88c6aea8b8bc35e4.js} +23 -25
  15. package/dist/{82.bundle.9e269153bafc15562988.js → 290.bundle.fac1e48a4027ad949764.js} +1244 -695
  16. package/dist/{359.bundle.e2f5680a854894c32944.js → 359.bundle.deef89c05907539f5718.js} +27 -30
  17. package/dist/{410.bundle.8bb12b01e1f838340950.js → 410.bundle.0c7d688cd70a4980fdbb.js} +24 -28
  18. package/dist/{417.bundle.af0a207c29b109f84159.js → 417.bundle.5c66801d23d0e98c00e6.js} +2 -2
  19. package/dist/{451.bundle.9fd36f52ff69594f0669.js → 451.bundle.311cd3be9916e08450e9.js} +28 -41
  20. package/dist/{221.bundle.da7732c6f158b6f2b0d8.js → 466.bundle.e0169e052354437a4fd0.js} +161 -151
  21. package/dist/{471.bundle.b3d77b83b1593c09a504.js → 471.bundle.eeb78105b59e688832a6.js} +31 -35
  22. package/dist/{788.bundle.428c065311327135d817.js → 483.bundle.17425951eb8bd48dce01.js} +131 -180
  23. package/dist/{506.bundle.c3d01c4b6cc01096ce9e.js → 506.bundle.65012c25d91e5be25425.js} +13 -18
  24. package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 530.bundle.f904325ef4195d69ac0e.js} +10 -3
  25. package/dist/{613.bundle.de79995392c3fd2e9637.js → 613.bundle.a1e84b764ea6f872169a.js} +76 -50
  26. package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 661.bundle.949c984fe2f9f753b65c.js} +1851 -8944
  27. package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 686.bundle.62c827fe4f0d054c164e.js} +4 -5
  28. package/dist/{687.bundle.763e03b2624b6cc03ad2.js → 687.bundle.72ba0b232154d01b3b5c.js} +19 -35
  29. package/dist/{342.bundle.22d2df5cf6d83b24acee.js → 738.bundle.443a3c3dd2aaa0d02a38.js} +925 -554
  30. package/dist/{814.bundle.d45ba7f8b856fbd4e75d.js → 814.bundle.f6d799e21bcc5b5b0ab3.js} +9 -11
  31. package/dist/{822.bundle.891f2e57b1b7bc2f4cb4.js → 822.bundle.8b745e28bc9eb9afbc61.js} +14 -16
  32. package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 831.bundle.127a3064e8844d6d2c82.js} +1 -368
  33. package/dist/{886.bundle.d5116d9b8ea4964b68a0.js → 886.bundle.94a4536167d0f8cae1ae.js} +19 -23
  34. package/dist/95.bundle.2236101be3cc36b322e8.js +8769 -0
  35. package/dist/{236.bundle.09d155c6f44b5a44e4bf.js → 965.bundle.527f031a2bf5fc4202a0.js} +104 -126
  36. package/dist/{app.bundle.671d2bb084d88c0cf3b7.js → app.bundle.be53f58aee6b64f5a624.js} +185194 -61390
  37. package/dist/app.bundle.css +11 -11
  38. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  39. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  40. package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.a7d5060eead13771e784.js} +1 -1
  41. package/dist/index.html +1 -1
  42. package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
  43. package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
  44. package/dist/serve.json +12 -0
  45. package/dist/sw.js +1 -1
  46. package/package.json +21 -21
  47. package/dist/202.bundle.d3490836f71e001dd30f.js +0 -6336
  48. package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
  49. package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
  50. package/dist/75788f12450d4c5ed494.wasm +0 -0
  51. package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
  52. package/dist/957.bundle.9ea4506963ef8b2d84ba.js +0 -30077
  53. package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  54. /package/dist/{82.css → 290.css} +0 -0
  55. /package/dist/{221.css → 466.css} +0 -0
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[181],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[181],{
3
3
 
4
4
  /***/ 86181:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
@@ -19,14 +19,14 @@ var index_esm = __webpack_require__(7023);
19
19
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
20
20
  var prop_types = __webpack_require__(3827);
21
21
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
22
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 348 modules
23
- var esm = __webpack_require__(14957);
24
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 331 modules
25
- var dist_esm = __webpack_require__(3743);
22
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 454 modules
23
+ var esm = __webpack_require__(76634);
24
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 376 modules
25
+ var dist_esm = __webpack_require__(64225);
26
26
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
27
27
  var src = __webpack_require__(71771);
28
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
29
- var ui_src = __webpack_require__(71783);
28
+ // EXTERNAL MODULE: ../../ui/src/index.js + 487 modules
29
+ var ui_src = __webpack_require__(18414);
30
30
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
31
31
  var state = __webpack_require__(73704);
32
32
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/OHIFCornerstoneViewport.css
@@ -38,16 +38,15 @@ var state = __webpack_require__(73704);
38
38
 
39
39
 
40
40
 
41
- function CornerstoneImageScrollbar(_ref) {
42
- let {
43
- viewportData,
44
- viewportId,
45
- element,
46
- imageSliceData,
47
- setImageSliceData,
48
- scrollbarHeight,
49
- servicesManager
50
- } = _ref;
41
+ function CornerstoneImageScrollbar({
42
+ viewportData,
43
+ viewportId,
44
+ element,
45
+ imageSliceData,
46
+ setImageSliceData,
47
+ scrollbarHeight,
48
+ servicesManager
49
+ }) {
51
50
  const {
52
51
  cineService,
53
52
  cornerstoneViewportService
@@ -183,8 +182,7 @@ function isValidNumber(value) {
183
182
  * @param {number} precision
184
183
  * @returns {number} formatted number.
185
184
  */
186
- function formatNumberPrecision(number) {
187
- let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
185
+ function formatNumberPrecision(number, precision = 0) {
188
186
  if (number !== null) {
189
187
  return parseFloat(number).toFixed(precision);
190
188
  }
@@ -197,8 +195,7 @@ function formatNumberPrecision(number) {
197
195
  * @param {string} strFormat
198
196
  * @returns {string} formatted date.
199
197
  */
200
- function formatDICOMDate(date) {
201
- let strFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'MMM D, YYYY';
198
+ function formatDICOMDate(date, strFormat = 'MMM D, YYYY') {
202
199
  return moment_default()(date, 'YYYYMMDD').format(strFormat);
203
200
  }
204
201
 
@@ -215,8 +212,7 @@ function formatDICOMDate(date) {
215
212
  * @param {string} strFormat
216
213
  * @returns {string} formatted name.
217
214
  */
218
- function formatDICOMTime(time) {
219
- let strFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'HH:mm:ss';
215
+ function formatDICOMTime(time, strFormat = 'HH:mm:ss') {
220
216
  return moment_default()(time, 'HH:mm:ss').format(strFormat);
221
217
  }
222
218
 
@@ -269,11 +265,10 @@ const EPSILON = 1e-4;
269
265
  /**
270
266
  * Window Level / Center Overlay item
271
267
  */
272
- function VOIOverlayItem(_ref) {
273
- let {
274
- voi,
275
- customization
276
- } = _ref;
268
+ function VOIOverlayItem({
269
+ voi,
270
+ customization
271
+ }) {
277
272
  const {
278
273
  windowWidth,
279
274
  windowCenter
@@ -300,11 +295,10 @@ function VOIOverlayItem(_ref) {
300
295
  /**
301
296
  * Zoom Level Overlay item
302
297
  */
303
- function ZoomOverlayItem(_ref2) {
304
- let {
305
- scale,
306
- customization
307
- } = _ref2;
298
+ function ZoomOverlayItem({
299
+ scale,
300
+ customization
301
+ }) {
308
302
  return /*#__PURE__*/react.createElement("div", {
309
303
  className: "overlay-item flex flex-row",
310
304
  style: {
@@ -320,12 +314,11 @@ function ZoomOverlayItem(_ref2) {
320
314
  /**
321
315
  * Instance Number Overlay Item
322
316
  */
323
- function InstanceNumberOverlayItem(_ref3) {
324
- let {
325
- instanceNumber,
326
- imageSliceData,
327
- customization
328
- } = _ref3;
317
+ function InstanceNumberOverlayItem({
318
+ instanceNumber,
319
+ imageSliceData,
320
+ customization
321
+ }) {
329
322
  const {
330
323
  imageIndex,
331
324
  numberOfSlices
@@ -345,14 +338,13 @@ function InstanceNumberOverlayItem(_ref3) {
345
338
  /**
346
339
  * Customizable Viewport Overlay
347
340
  */
348
- function CustomizableViewportOverlay(_ref4) {
349
- let {
350
- element,
351
- viewportData,
352
- imageSliceData,
353
- viewportId,
354
- servicesManager
355
- } = _ref4;
341
+ function CustomizableViewportOverlay({
342
+ element,
343
+ viewportData,
344
+ imageSliceData,
345
+ viewportId,
346
+ servicesManager
347
+ }) {
356
348
  const {
357
349
  toolbarService,
358
350
  cornerstoneViewportService,
@@ -632,7 +624,7 @@ CustomizableViewportOverlay.propTypes = {
632
624
  };
633
625
  /* harmony default export */ const Overlays_CustomizableViewportOverlay = (CustomizableViewportOverlay);
634
626
  // EXTERNAL MODULE: ../../../node_modules/classnames/index.js
635
- var classnames = __webpack_require__(44921);
627
+ var classnames = __webpack_require__(33901);
636
628
  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
637
629
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.css
638
630
  // extracted by mini-css-extract-plugin
@@ -649,15 +641,14 @@ const {
649
641
  getOrientationStringLPS,
650
642
  invertOrientationStringLPS
651
643
  } = esm.utilities.orientation;
652
- function ViewportOrientationMarkers(_ref) {
653
- let {
654
- element,
655
- viewportData,
656
- imageSliceData,
657
- viewportId,
658
- servicesManager,
659
- orientationMarkers = ['top', 'left']
660
- } = _ref;
644
+ function ViewportOrientationMarkers({
645
+ element,
646
+ viewportData,
647
+ imageSliceData,
648
+ viewportId,
649
+ servicesManager,
650
+ orientationMarkers = ['top', 'left']
651
+ }) {
661
652
  // Rotation is in degrees
662
653
  const [rotation, setRotation] = (0,react.useState)(0);
663
654
  const [flipHorizontal, setFlipHorizontal] = (0,react.useState)(false);
@@ -818,11 +809,10 @@ function _getOrientationMarkers(rowCosines, columnCosines, rotation, flipVertica
818
809
 
819
810
 
820
811
 
821
- function ViewportImageSliceLoadingIndicator(_ref) {
822
- let {
823
- viewportData,
824
- element
825
- } = _ref;
812
+ function ViewportImageSliceLoadingIndicator({
813
+ viewportData,
814
+ element
815
+ }) {
826
816
  const [loading, setLoading] = (0,react.useState)(false);
827
817
  const [error, setError] = (0,react.useState)(false);
828
818
  const loadIndicatorRef = (0,react.useRef)(null);
@@ -969,12 +959,11 @@ var state_0 = __webpack_require__(62657);
969
959
 
970
960
 
971
961
 
972
- function WrappedCinePlayer(_ref) {
973
- let {
974
- enabledVPElement,
975
- viewportId,
976
- servicesManager
977
- } = _ref;
962
+ function WrappedCinePlayer({
963
+ enabledVPElement,
964
+ viewportId,
965
+ servicesManager
966
+ }) {
978
967
  const {
979
968
  toolbarService,
980
969
  customizationService,
@@ -1227,6 +1216,11 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
1227
1216
  const syncGroups = viewportInfo.getSyncGroups();
1228
1217
  toolGroupService.addViewportToToolGroup(viewportId, renderingEngineId, toolGroupId);
1229
1218
  syncGroupService.addViewportToSyncGroup(viewportId, renderingEngineId, syncGroups);
1219
+ const synchronizersStore = stateSyncService.getState().synchronizersStore;
1220
+ if (synchronizersStore?.[viewportId]?.length) {
1221
+ // If the viewport used to have a synchronizer, re apply it again
1222
+ _rehydrateSynchronizers(synchronizersStore, viewportId, syncGroupService);
1223
+ }
1230
1224
  if (onElementEnabled) {
1231
1225
  onElementEnabled(evt);
1232
1226
  }
@@ -1242,13 +1236,17 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
1242
1236
  if (!viewportInfo) {
1243
1237
  return;
1244
1238
  }
1245
- cleanUpServices(viewportInfo);
1246
1239
  cornerstoneViewportService.storePresentation({
1247
1240
  viewportId
1248
1241
  });
1242
+
1243
+ // This should be done after the store presentation since synchronizers
1244
+ // will get cleaned up and they need the viewportInfo to be present
1245
+ cleanUpServices(viewportInfo);
1249
1246
  if (onElementDisabled) {
1250
1247
  onElementDisabled(viewportInfo);
1251
1248
  }
1249
+ cornerstoneViewportService.disableElement(viewportId);
1252
1250
  dist_esm.eventTarget.removeEventListener(dist_esm.Enums.Events.ELEMENT_ENABLED, elementEnabledHandler);
1253
1251
  };
1254
1252
  }, []);
@@ -1264,11 +1262,10 @@ const OHIFCornerstoneViewport = /*#__PURE__*/react.memo(props => {
1264
1262
  (0,react.useEffect)(() => {
1265
1263
  const {
1266
1264
  unsubscribe
1267
- } = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SET_SERIES_METADATA_INVALIDATED, async _ref => {
1268
- let {
1269
- displaySetInstanceUID: invalidatedDisplaySetInstanceUID,
1270
- invalidateData
1271
- } = _ref;
1265
+ } = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SET_SERIES_METADATA_INVALIDATED, async ({
1266
+ displaySetInstanceUID: invalidatedDisplaySetInstanceUID,
1267
+ invalidateData
1268
+ }) => {
1272
1269
  if (!invalidateData) {
1273
1270
  return;
1274
1271
  }
@@ -1501,6 +1498,42 @@ function _jumpToMeasurement(measurement, targetElementRef, viewportId, measureme
1501
1498
  cacheJumpToMeasurementEvent = null;
1502
1499
  }
1503
1500
  }
1501
+ function _rehydrateSynchronizers(synchronizersStore, viewportId, syncGroupService) {
1502
+ synchronizersStore[viewportId].forEach(synchronizerObj => {
1503
+ if (!synchronizerObj.id) {
1504
+ return;
1505
+ }
1506
+ const {
1507
+ id,
1508
+ sourceViewports,
1509
+ targetViewports
1510
+ } = synchronizerObj;
1511
+ const synchronizer = syncGroupService.getSynchronizer(id);
1512
+ if (!synchronizer) {
1513
+ return;
1514
+ }
1515
+ const sourceViewportInfo = sourceViewports.find(sourceViewport => sourceViewport.viewportId === viewportId);
1516
+ const targetViewportInfo = targetViewports.find(targetViewport => targetViewport.viewportId === viewportId);
1517
+ const isSourceViewportInSynchronizer = synchronizer.getSourceViewports().find(sourceViewport => sourceViewport.viewportId === viewportId);
1518
+ const isTargetViewportInSynchronizer = synchronizer.getTargetViewports().find(targetViewport => targetViewport.viewportId === viewportId);
1519
+
1520
+ // if the viewport was previously a source viewport, add it again
1521
+ if (sourceViewportInfo && !isSourceViewportInSynchronizer) {
1522
+ synchronizer.addSource({
1523
+ viewportId: sourceViewportInfo.viewportId,
1524
+ renderingEngineId: sourceViewportInfo.renderingEngineId
1525
+ });
1526
+ }
1527
+
1528
+ // if the viewport was previously a target viewport, add it again
1529
+ if (targetViewportInfo && !isTargetViewportInSynchronizer) {
1530
+ synchronizer.addTarget({
1531
+ viewportId: targetViewportInfo.viewportId,
1532
+ renderingEngineId: targetViewportInfo.renderingEngineId
1533
+ });
1534
+ }
1535
+ });
1536
+ }
1504
1537
 
1505
1538
  // Component displayName
1506
1539
  OHIFCornerstoneViewport.displayName = 'OHIFCornerstoneViewport';
package/dist/181.css CHANGED
@@ -1,3 +1,3 @@
1
- .viewport-wrapper{height:100%;position:relative;width:100%}.cornerstone-viewport-element{background-color:#000;height:100%;outline:0!important;overflow:hidden;position:relative;width:100%}
1
+ .cornerstone-viewport-element,.viewport-wrapper{height:100%;position:relative;width:100%}.cornerstone-viewport-element{background-color:#000;outline:0!important;overflow:hidden}
2
2
  .viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
3
3
  .ViewportOrientationMarkers{--marker-width:100px;--marker-height:100px;--scrollbar-width:20px;font-size:15px;line-height:18px;pointer-events:none}.ViewportOrientationMarkers .orientation-marker{position:absolute}.ViewportOrientationMarkers .top-mid{left:50%;top:.6rem}.ViewportOrientationMarkers .left-mid{left:5px;top:47%}.ViewportOrientationMarkers .right-mid{left:calc(100% - var(--marker-width) - var(--scrollbar-width));top:47%}.ViewportOrientationMarkers .bottom-mid{left:47%;top:calc(100% - var(--marker-height) - .6rem)}.ViewportOrientationMarkers .right-mid .orientation-marker-value{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;min-width:var(--marker-width)}.ViewportOrientationMarkers .bottom-mid .orientation-marker-value{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;min-height:var(--marker-height)}