@ohif/app 3.7.0-beta.8 → 3.7.0-beta.80

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 (66) hide show
  1. package/dist/{917.bundle.d238efac58b7fe8fd1a3.js → 12.bundle.4a052141b46dec16862d.js} +6 -6
  2. package/dist/{295.bundle.957b1159fec14b9199a1.js → 125.bundle.253395f320b72180da63.js} +6 -6
  3. package/dist/{208.bundle.37c2a73b3387e657568c.js → 128.bundle.5198a2266456afecd420.js} +41 -59
  4. package/dist/{351.bundle.0742237651aef9694a65.js → 181.bundle.fa57199595cf28f44c7b.js} +226 -204
  5. package/dist/{351.css → 181.css} +1 -1
  6. package/dist/{744.bundle.23011553706b687f67e4.js → 19.bundle.75ec1ec14786e136b7b3.js} +240 -375
  7. package/dist/{606.bundle.5d876f5f3dd8287f0a28.js → 202.bundle.96bbb4547a346fe3921f.js} +1420 -750
  8. package/dist/{926.bundle.dbc9d0e591cb9217fda2.js → 220.bundle.f7e1c96c94245e70f2be.js} +990 -400
  9. package/dist/221.bundle.8a81cea315fa7697c0e0.js +1722 -0
  10. package/dist/221.css +2 -0
  11. package/dist/{664.bundle.09abae984223969d1bde.js → 23.bundle.e008ad788170f2ed5569.js} +5 -6
  12. package/dist/{976.bundle.dcbddf56a7d8f388bb8a.js → 236.bundle.d2da6d1991e1229bf913.js} +87 -103
  13. package/dist/{55.bundle.550a823e75eb608e8d5e.js → 250.bundle.36909d7bc681d66087d1.js} +52 -36
  14. package/dist/{973.bundle.03b016e6095622adf12f.js → 281.bundle.21a9e3178ddebe01b958.js} +18 -14
  15. package/dist/{82.bundle.10c2133333748ec6fba0.js → 342.bundle.70da5239bd664aa5d41a.js} +1768 -475
  16. package/dist/{192.bundle.2dc14a6e3c4c6be913b0.js → 348.bundle.8c5b950d30e5aa992290.js} +86 -73
  17. package/dist/{404.bundle.5d57295bc05206092d42.js → 359.bundle.d2a3abe1a5cd3ca3cd8e.js} +46 -131
  18. package/dist/{790.bundle.cedf27deeed29266a92b.js → 410.bundle.be538faa9c7fad92189b.js} +11 -9
  19. package/dist/{151.bundle.31ea35044218837bf73f.js → 417.bundle.af0a207c29b109f84159.js} +49 -17
  20. package/dist/{569.bundle.c8e771a8d28e237b32be.js → 451.bundle.dc0d14c3724464cca2bf.js} +86 -106
  21. package/dist/{581.bundle.dc6197189f7c88c27d4c.js → 471.bundle.2206d4c0ac2ad0df2362.js} +78 -99
  22. package/dist/{199.bundle.e4ac6606dd62e42e9da4.js → 506.bundle.97e53732423192fee818.js} +11 -9
  23. package/dist/{531.bundle.2a82fb1d69e5b57cc72b.js → 530.bundle.a03b6f942ace3e1baa1e.js} +726 -447
  24. package/dist/579.css +1 -0
  25. package/dist/{935.bundle.deeffff0e4f7b528e3c3.js → 604.bundle.a51f83e64004bca5f497.js} +2 -3
  26. package/dist/613.bundle.549d71231abfed24a2dc.js +532 -0
  27. package/dist/{984.bundle.e7dcbd3b8992748823fb.js → 663.bundle.b0f98b6e7221b1b9cf6a.js} +68 -38
  28. package/dist/{205.bundle.b5a473c200dcf2bbcdb4.js → 686.bundle.dccef1f36e4bc79bcc48.js} +6 -6
  29. package/dist/{50.bundle.424f8d05f1bebaafcf2c.js → 687.bundle.ab0ffdccae4610b00224.js} +218 -9
  30. package/dist/{331.bundle.bd0c13931a21d53086c9.js → 754.bundle.e3ce6855d8d4d187f224.js} +12423 -7549
  31. package/dist/{728.bundle.d13856835357400fef82.js → 774.bundle.d365320749c4f67cda70.js} +93 -64
  32. package/dist/{381.bundle.0905e683605fcbc0895f.js → 775.bundle.2285e7e0e67878948c0d.js} +16 -16
  33. package/dist/{270.bundle.4564621556b0f963a004.js → 777.bundle.ae3fdb8a470caecc0c6a.js} +1330 -929
  34. package/dist/{283.bundle.085cddb2f16e430677b0.js → 782.bundle.ee8dba2e8582b55cb38d.js} +117 -67
  35. package/dist/{642.bundle.25e56df5f0bcd2c729b4.js → 814.bundle.eec4458e893e6055f0fc.js} +6 -6
  36. package/dist/{799.bundle.758558e64147e5aad612.js → 822.bundle.5fca45a4f40f5259aec5.js} +81 -34
  37. package/dist/831.bundle.83658f62fcc769043605.js +16700 -0
  38. package/dist/{953.bundle.3b0189ebc11cf0946f18.js → 886.bundle.a9de117c3a42b7907cf6.js} +34 -29
  39. package/dist/945.min.worker.js +1 -1
  40. package/dist/945.min.worker.js.map +1 -1
  41. package/dist/{707.bundle.17a9d7352409b6269596.js → 967.bundle.cce1d004b2ff178b1a8e.js} +895 -572
  42. package/dist/_redirects +1 -1
  43. package/dist/app-config.js +35 -17
  44. package/dist/{app.bundle.837996a8f7dd2aaac338.js → app.bundle.681f66ab37cef811e68b.js} +73339 -68140
  45. package/dist/app.bundle.css +13 -12
  46. package/dist/assets/yandex-browser-manifest.json +1 -1
  47. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  48. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  49. package/dist/{dicom-microscopy-viewer.bundle.aa60bdf008c32c39cfd7.js → dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js} +5 -4
  50. package/dist/es6-shim.min.js +3569 -2
  51. package/dist/google.js +8 -7
  52. package/dist/index.html +1 -1
  53. package/dist/{index.worker.1c69152d710fa7b84bce.worker.js → index.worker.e62ecca63f1a2e124230.worker.js} +2 -2
  54. package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +1 -0
  55. package/dist/init-service-worker.js +3 -5
  56. package/dist/oidc-client.min.js +10857 -39
  57. package/dist/polyfill.min.js +184 -1
  58. package/dist/silent-refresh.html +18 -9
  59. package/dist/sw.js +1 -1
  60. package/package.json +20 -21
  61. package/dist/616.bundle.eb4887184da6c57bf7a3.js +0 -685
  62. package/dist/780.bundle.fd0f13dc92e9caa0581e.js +0 -4769
  63. package/dist/index.worker.1c69152d710fa7b84bce.worker.js.map +0 -1
  64. /package/dist/{806.css → 19.css} +0 -0
  65. /package/dist/{55.css → 250.css} +0 -0
  66. /package/dist/{707.css → 967.css} +0 -0
package/dist/221.css ADDED
@@ -0,0 +1,2 @@
1
+ .dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
2
+ .chrome-picker{background:#090c29!important}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[664],{
2
+ (self["webpackChunk"] = self["webpackChunk"] || []).push([[23],{
3
3
 
4
- /***/ 14664:
4
+ /***/ 7023:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8
8
  /* harmony export */ ZP: () => (/* binding */ ResizeDetector)
9
9
  /* harmony export */ });
10
10
  /* unused harmony exports useResizeDetector, withResizeDetector */
11
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32735);
12
- /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12788);
11
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43001);
12
+ /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14347);
13
13
  /*! *****************************************************************************
14
14
  Copyright (c) Microsoft Corporation.
15
15
 
@@ -893,8 +893,7 @@ function useResizeDetector(props) {
893
893
  };
894
894
  }, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, onResize, observerOptions, ref.current]);
895
895
  return __assign({ ref: ref }, size);
896
- }//# sourceMappingURL=index.esm.js.map
897
-
896
+ }
898
897
 
899
898
  /***/ })
900
899
 
@@ -1,6 +1,6 @@
1
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[976],{
1
+ (self["webpackChunk"] = self["webpackChunk"] || []).push([[236],{
2
2
 
3
- /***/ 77594:
3
+ /***/ 80965:
4
4
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5
5
 
6
6
  "use strict";
@@ -19,15 +19,15 @@ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-dicom-microsc
19
19
  const id = package_namespaceObject.u2;
20
20
 
21
21
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
22
- var react = __webpack_require__(32735);
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
24
- var src = __webpack_require__(28619);
25
- // EXTERNAL MODULE: ../../core/src/index.ts + 101 modules
26
- var core_src = __webpack_require__(48501);
22
+ var react = __webpack_require__(43001);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
24
+ var src = __webpack_require__(71783);
25
+ // EXTERNAL MODULE: ../../core/src/index.ts + 75 modules
26
+ var core_src = __webpack_require__(34491);
27
27
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
28
- var es = __webpack_require__(21572);
29
- // EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 972 modules
30
- var esm = __webpack_require__(29926);
28
+ var es = __webpack_require__(69190);
29
+ // EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 982 modules
30
+ var esm = __webpack_require__(55220);
31
31
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/coordinateFormatScoord3d2Geometry.js
32
32
 
33
33
 
@@ -61,7 +61,9 @@ function coordinateFormatScoord3d2Geometry(coordinates, pyramid) {
61
61
  return coordinates;
62
62
  }
63
63
  function _getPixelSpacing(metadata) {
64
- if (metadata.PixelSpacing) return metadata.PixelSpacing;
64
+ if (metadata.PixelSpacing) {
65
+ return metadata.PixelSpacing;
66
+ }
65
67
  const functionalGroup = metadata.SharedFunctionalGroupsSequence[0];
66
68
  const pixelMeasures = functionalGroup.PixelMeasuresSequence[0];
67
69
  return pixelMeasures.PixelSpacing;
@@ -211,10 +213,10 @@ const EVENTS = {
211
213
  * expose only the features/behaviors that are relevant to the application
212
214
  */
213
215
  class ViewerManager extends core_src/* PubSubService */.hC {
214
- constructor(viewer, viewportIndex, container, studyInstanceUID, seriesInstanceUID) {
216
+ constructor(viewer, viewportId, container, studyInstanceUID, seriesInstanceUID) {
215
217
  super(EVENTS);
216
218
  this.viewer = viewer;
217
- this.viewportIndex = viewportIndex;
219
+ this.viewportId = viewportId;
218
220
  this.container = container;
219
221
  this.studyInstanceUID = studyInstanceUID;
220
222
  this.seriesInstanceUID = seriesInstanceUID;
@@ -271,7 +273,7 @@ class ViewerManager extends core_src/* PubSubService */.hC {
271
273
  }
272
274
 
273
275
  /**
274
- * Cleares all the relevant event handlers for the third-party API
276
+ * Clears all the relevant event handlers for the third-party API
275
277
  */
276
278
  unregisterEvents() {
277
279
  this.container.removeEventListener(ApiEvents.ROI_ADDED, this.onRoiAdded);
@@ -365,7 +367,7 @@ class ViewerManager extends core_src/* PubSubService */.hC {
365
367
  * @param {String} label The label of the annotation.
366
368
  */
367
369
  addRoiGraphicWithLabel(roiGraphic, label) {
368
- // NOTE: Dicom Microscopy Viewer will override styles for "Text" evalutations
370
+ // NOTE: Dicom Microscopy Viewer will override styles for "Text" evaluations
369
371
  // to hide all other geometries, we are not going to use its label.
370
372
  // if (label) {
371
373
  // if (!roiGraphic.properties) roiGraphic.properties = {};
@@ -738,7 +740,7 @@ class RoiAnnotation extends core_src/* PubSubService */.hC {
738
740
  /**
739
741
  * Returns the geometry type of the annotation concatenated with the label
740
742
  * defined for the annotation.
741
- * Difference with getDetailedLabel() is that this will return empty string for empy
743
+ * Difference with getDetailedLabel() is that this will return empty string for empty
742
744
  * label.
743
745
  *
744
746
  * @returns {String} Text with geometry type and label
@@ -805,13 +807,13 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
805
807
  }
806
808
 
807
809
  /**
808
- * Cleares all the annotations and managed viewers, setting the manager state
810
+ * Clears all the annotations and managed viewers, setting the manager state
809
811
  * to its initial state
810
812
  */
811
813
  clear() {
812
814
  this.managedViewers.forEach(managedViewer => managedViewer.destroy());
813
815
  this.managedViewers.clear();
814
- for (var key in this.annotations) {
816
+ for (const key in this.annotations) {
815
817
  delete this.annotations[key];
816
818
  }
817
819
  this.roiUids.clear();
@@ -879,7 +881,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
879
881
  managedViewer
880
882
  } = data;
881
883
  const roiAnnotation = this.getAnnotation(roiGraphic.uid);
882
- if (!roiAnnotation) return;
884
+ if (!roiAnnotation) {
885
+ return;
886
+ }
883
887
  roiAnnotation.setRoiGraphic(roiGraphic);
884
888
  roiAnnotation.setViewState(managedViewer.getViewState());
885
889
  }
@@ -933,7 +937,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
933
937
  } = data;
934
938
  const selectedAnnotation = this.getAnnotation(roiGraphic.uid);
935
939
  if (selectedAnnotation && selectedAnnotation !== this.getSelectedAnnotation()) {
936
- if (this.selectedAnnotation) this.clearSelection();
940
+ if (this.selectedAnnotation) {
941
+ this.clearSelection();
942
+ }
937
943
  this.selectedAnnotation = selectedAnnotation;
938
944
  this._broadcastEvent(MicroscopyService_EVENTS.ANNOTATION_SELECTED, selectedAnnotation);
939
945
  }
@@ -1014,23 +1020,23 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1014
1020
  }
1015
1021
 
1016
1022
  /**
1017
- * Creates a managed viewer instance for the given thrid-party API's viewer.
1023
+ * Creates a managed viewer instance for the given third-party API's viewer.
1018
1024
  * Restores existing annotations for the given study/series.
1019
1025
  * Adds event subscriptions for the viewer being added.
1020
1026
  * Focuses the selected annotation when the viewer is being loaded into the
1021
1027
  * active viewport.
1022
1028
  *
1023
- * @param {Object} viewer Third-party viewer API's object to be managed
1024
- * @param {Number} viewportIndex The index of the viewport to load the viewer
1025
- * @param {HTMLElement} container The DOM element where it will be renderd
1026
- * @param {String} studyInstanceUID The study UID of the loaded image
1027
- * @param {String} seriesInstanceUID The series UID of the loaded image
1028
- * @param {Array} displaySets All displaySets related to the same StudyInstanceUID
1029
+ * @param viewer - Third-party viewer API's object to be managed
1030
+ * @param viewportId - The viewport Id where the viewer will be loaded
1031
+ * @param container - The DOM element where it will be rendered
1032
+ * @param studyInstanceUID - The study UID of the loaded image
1033
+ * @param seriesInstanceUID - The series UID of the loaded image
1034
+ * @param displaySets - All displaySets related to the same StudyInstanceUID
1029
1035
  *
1030
1036
  * @returns {ViewerManager} managed viewer
1031
1037
  */
1032
- addViewer(viewer, viewportIndex, container, studyInstanceUID, seriesInstanceUID) {
1033
- const managedViewer = new viewerManager(viewer, viewportIndex, container, studyInstanceUID, seriesInstanceUID);
1038
+ addViewer(viewer, viewportId, container, studyInstanceUID, seriesInstanceUID) {
1039
+ const managedViewer = new viewerManager(viewer, viewportId, container, studyInstanceUID, seriesInstanceUID);
1034
1040
  this._restoreAnnotations(managedViewer);
1035
1041
  viewer._manager = managedViewer;
1036
1042
  this.managedViewers.add(managedViewer);
@@ -1039,7 +1045,7 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1039
1045
  this._addManagedViewerSubscriptions(managedViewer);
1040
1046
  if (this.pendingFocus) {
1041
1047
  this.pendingFocus = false;
1042
- this.focusAnnotation(this.selectedAnnotation, viewportIndex);
1048
+ this.focusAnnotation(this.selectedAnnotation, viewportId);
1043
1049
  }
1044
1050
  return managedViewer;
1045
1051
  }
@@ -1081,7 +1087,7 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1081
1087
 
1082
1088
  /**
1083
1089
  * Removes the given third-party viewer API's object from the managed viewers
1084
- * and cleares all its event subscriptions
1090
+ * and clears all its event subscriptions
1085
1091
  *
1086
1092
  * @param {Object} viewer Third-party viewer API's object to be removed
1087
1093
  */
@@ -1188,7 +1194,9 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1188
1194
  * @param {RoiAnnotation} roiAnnotation The instance to be selected
1189
1195
  */
1190
1196
  selectAnnotation(roiAnnotation) {
1191
- if (this.selectedAnnotation) this.clearSelection();
1197
+ if (this.selectedAnnotation) {
1198
+ this.clearSelection();
1199
+ }
1192
1200
  this.selectedAnnotation = roiAnnotation;
1193
1201
  this._broadcastEvent(MicroscopyService_EVENTS.ANNOTATION_SELECTED, roiAnnotation);
1194
1202
  this.setROIStyle(roiAnnotation.uid, utils_styles.active);
@@ -1197,12 +1205,12 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1197
1205
  /**
1198
1206
  * Toggles overview map
1199
1207
  *
1200
- * @param viewportIndex The active viewport index
1208
+ * @param viewportId The active viewport index
1201
1209
  * @returns {void}
1202
1210
  */
1203
- toggleOverviewMap(viewportIndex) {
1211
+ toggleOverviewMap(viewportId) {
1204
1212
  const managedViewers = Array.from(this.managedViewers);
1205
- const managedViewer = managedViewers.find(mv => mv.viewportIndex === viewportIndex);
1213
+ const managedViewer = managedViewers.find(mv => mv.viewportId === viewportId);
1206
1214
  if (managedViewer) {
1207
1215
  managedViewer.toggleOverviewMap();
1208
1216
  }
@@ -1239,10 +1247,10 @@ class MicroscopyService extends core_src/* PubSubService */.hC {
1239
1247
  * the managed viewer instance is created.
1240
1248
  *
1241
1249
  * @param {RoiAnnotation} roiAnnotation RoiAnnotation instance to be focused
1242
- * @param {Number} viewportIndex Index of the viewport to focus
1250
+ * @param {string} viewportId Index of the viewport to focus
1243
1251
  */
1244
- focusAnnotation(roiAnnotation, viewportIndex) {
1245
- const filter = mv => mv.viewportIndex === viewportIndex;
1252
+ focusAnnotation(roiAnnotation, viewportId) {
1253
+ const filter = mv => mv.viewportId === viewportId;
1246
1254
  const managedViewer = Array.from(this.managedViewers).find(filter);
1247
1255
  if (managedViewer) {
1248
1256
  managedViewer.setViewStateByExtent(roiAnnotation);
@@ -1360,7 +1368,7 @@ MicroscopyService.REGISTRATION = serviceManager => {
1360
1368
  };
1361
1369
 
1362
1370
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
1363
- var dcmjs_es = __webpack_require__(22737);
1371
+ var dcmjs_es = __webpack_require__(67540);
1364
1372
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/callInputDialog.tsx
1365
1373
 
1366
1374
 
@@ -1418,11 +1426,11 @@ function callInputDialog(_ref) {
1418
1426
  actions: [{
1419
1427
  id: 'cancel',
1420
1428
  text: 'Cancel',
1421
- type: src/* ButtonEnums.type */.LZ.U.secondary
1429
+ type: src/* ButtonEnums.type */.LZ.dt.secondary
1422
1430
  }, {
1423
1431
  id: 'save',
1424
1432
  text: 'Save',
1425
- type: src/* ButtonEnums.type */.LZ.U.primary
1433
+ type: src/* ButtonEnums.type */.LZ.dt.primary
1426
1434
  }],
1427
1435
  onSubmit: onSubmitHandler,
1428
1436
  body: _ref3 => {
@@ -1434,7 +1442,7 @@ function callInputDialog(_ref) {
1434
1442
  label: "Enter your annotation",
1435
1443
  labelClassName: "text-white text-[14px] leading-[1.2]",
1436
1444
  autoFocus: true,
1437
- className: "bg-black border-primary-main",
1445
+ className: "border-primary-main bg-black",
1438
1446
  type: "text",
1439
1447
  value: value.defaultValue,
1440
1448
  onChange: event => {
@@ -1540,11 +1548,13 @@ function constructSR(metadata, _ref, annotations) {
1540
1548
  marker,
1541
1549
  presentationState
1542
1550
  } = roi.properties;
1543
- console.debug('[SR] storing marker...', marker);
1544
- console.debug('[SR] storing measurements...', measurements);
1545
- console.debug('[SR] storing evaluations...', evaluations);
1546
- console.debug('[SR] storing presentation state...', presentationState);
1547
- if (presentationState) presentationState.marker = marker;
1551
+ console.log('[SR] storing marker...', marker);
1552
+ console.log('[SR] storing measurements...', measurements);
1553
+ console.log('[SR] storing evaluations...', evaluations);
1554
+ console.log('[SR] storing presentation state...', presentationState);
1555
+ if (presentationState) {
1556
+ presentationState.marker = marker;
1557
+ }
1548
1558
 
1549
1559
  /** Avoid incompatibility with dcmjs */
1550
1560
  measurements = measurements.map(measurement => {
@@ -1654,10 +1664,10 @@ function constructSR(metadata, _ref, annotations) {
1654
1664
  * @param filename
1655
1665
  */
1656
1666
  function saveByteArray(buffer, filename) {
1657
- var blob = new Blob([buffer], {
1667
+ const blob = new Blob([buffer], {
1658
1668
  type: 'application/dicom'
1659
1669
  });
1660
- var link = document.createElement('a');
1670
+ const link = document.createElement('a');
1661
1671
  link.href = window.URL.createObjectURL(blob);
1662
1672
  link.download = filename;
1663
1673
  link.click();
@@ -1728,14 +1738,14 @@ function MicroscopyPanel(props) {
1728
1738
  displaySetService
1729
1739
  } = servicesManager.services;
1730
1740
  (0,react.useEffect)(() => {
1731
- const viewport = props.viewports[props.activeViewportIndex];
1741
+ const viewport = props.viewports[props.activeViewportId];
1732
1742
  if (viewport.displaySetInstanceUIDs[0]) {
1733
1743
  const displaySet = displaySetService.getDisplaySetByUID(viewport.displaySetInstanceUIDs[0]);
1734
1744
  if (displaySet) {
1735
1745
  setStudyInstanceUID(displaySet.StudyInstanceUID);
1736
1746
  }
1737
1747
  }
1738
- }, [props.viewports, props.activeViewportIndex]);
1748
+ }, [props.viewports, props.activeViewportId]);
1739
1749
  (0,react.useEffect)(() => {
1740
1750
  const onAnnotationUpdated = () => {
1741
1751
  const roiAnnotations = microscopyService.getAnnotationsForStudy(studyInstanceUID);
@@ -1883,7 +1893,7 @@ function MicroscopyPanel(props) {
1883
1893
  */
1884
1894
  const onDeleteCurrentSRHandler = async () => {
1885
1895
  try {
1886
- const activeViewport = props.viewports[props.activeViewportIndex];
1896
+ const activeViewport = props.viewports[props.activeViewportId];
1887
1897
  const {
1888
1898
  StudyInstanceUID
1889
1899
  } = activeViewport;
@@ -1927,7 +1937,7 @@ function MicroscopyPanel(props) {
1927
1937
  } = _ref;
1928
1938
  const roiAnnotation = microscopyService.getAnnotation(uid);
1929
1939
  microscopyService.selectAnnotation(roiAnnotation);
1930
- microscopyService.focusAnnotation(roiAnnotation, props.activeViewportIndex);
1940
+ microscopyService.focusAnnotation(roiAnnotation, props.activeViewportId);
1931
1941
  };
1932
1942
 
1933
1943
  /**
@@ -1978,7 +1988,7 @@ function MicroscopyPanel(props) {
1978
1988
  });
1979
1989
  const disabled = data.length === 0;
1980
1990
  return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
1981
- className: "overflow-x-hidden overflow-y-auto ohif-scrollbar",
1991
+ className: "ohif-scrollbar overflow-y-auto overflow-x-hidden",
1982
1992
  "data-cy": 'measurements-panel'
1983
1993
  }, /*#__PURE__*/react.createElement(src/* MeasurementTable */.wt, {
1984
1994
  title: "Measurements",
@@ -1986,11 +1996,6 @@ function MicroscopyPanel(props) {
1986
1996
  data: data,
1987
1997
  onClick: onMeasurementItemClickHandler,
1988
1998
  onEdit: onMeasurementItemEditHandler
1989
- })), /*#__PURE__*/react.createElement("div", {
1990
- className: "flex justify-center p-4"
1991
- }, /*#__PURE__*/react.createElement(src/* ButtonGroup */.hE, {
1992
- color: "black",
1993
- size: "inherit"
1994
1999
  })));
1995
2000
  }
1996
2001
  const connectedMicroscopyPanel = (0,es/* withTranslation */.Zh)(['MicroscopyTable', 'Common'])(MicroscopyPanel);
@@ -2013,12 +2018,12 @@ function getPanelModule(_ref) {
2013
2018
  } = _ref;
2014
2019
  const wrappedMeasurementPanel = () => {
2015
2020
  const [{
2016
- activeViewportIndex,
2021
+ activeViewportId,
2017
2022
  viewports
2018
- }, viewportGridService] = (0,src/* useViewportGrid */.O_)();
2023
+ }] = (0,src/* useViewportGrid */.O_)();
2019
2024
  return /*#__PURE__*/react.createElement(MicroscopyPanel_MicroscopyPanel, {
2020
2025
  viewports: viewports,
2021
- activeViewportIndex: activeViewportIndex,
2026
+ activeViewportId: activeViewportId,
2022
2027
  onSaveComplete: () => {},
2023
2028
  onRejectComplete: () => {},
2024
2029
  commandsManager: commandsManager,
@@ -2057,7 +2062,9 @@ function getCommandsModule(_ref) {
2057
2062
  } = _ref2;
2058
2063
  if (uid) {
2059
2064
  const roiAnnotation = microscopyService.getAnnotation(uid);
2060
- if (roiAnnotation) microscopyService.removeAnnotation(roiAnnotation);
2065
+ if (roiAnnotation) {
2066
+ microscopyService.removeAnnotation(roiAnnotation);
2067
+ }
2061
2068
  }
2062
2069
  },
2063
2070
  setLabel: _ref3 => {
@@ -2096,7 +2103,7 @@ function getCommandsModule(_ref) {
2096
2103
  }];
2097
2104
  if (['line', 'box', 'circle', 'point', 'polygon', 'freehandpolygon', 'freehandline'].indexOf(toolName) >= 0) {
2098
2105
  // TODO: read from configuration
2099
- let options = {
2106
+ const options = {
2100
2107
  geometryType: toolName,
2101
2108
  vertexEnabled: true,
2102
2109
  styleOptions: utils_styles["default"],
@@ -2126,37 +2133,23 @@ function getCommandsModule(_ref) {
2126
2133
  }], dragPanOnMiddle, dragZoomOnRight]);
2127
2134
  }
2128
2135
  },
2129
- incrementActiveViewport: () => {
2130
- const {
2131
- activeViewportIndex,
2132
- viewports
2133
- } = viewportGridService.getState();
2134
- const nextViewportIndex = (activeViewportIndex + 1) % viewports.length;
2135
- viewportGridService.setActiveViewportIndex(nextViewportIndex);
2136
- },
2137
- decrementActiveViewport: () => {
2138
- const {
2139
- activeViewportIndex,
2140
- viewports
2141
- } = viewportGridService.getState();
2142
- const nextViewportIndex = (activeViewportIndex - 1 + viewports.length) % viewports.length;
2143
- viewportGridService.setActiveViewportIndex(nextViewportIndex);
2144
- },
2145
2136
  toggleOverlays: () => {
2146
2137
  // overlay
2147
2138
  const overlays = document.getElementsByClassName('microscopy-viewport-overlay');
2148
2139
  let onoff = false; // true if this will toggle on
2149
2140
  for (let i = 0; i < overlays.length; i++) {
2150
- if (i === 0) onoff = overlays.item(0).classList.contains('hidden');
2141
+ if (i === 0) {
2142
+ onoff = overlays.item(0).classList.contains('hidden');
2143
+ }
2151
2144
  overlays.item(i).classList.toggle('hidden');
2152
2145
  }
2153
2146
 
2154
2147
  // overview
2155
2148
  const {
2156
- activeViewportIndex,
2149
+ activeViewportId,
2157
2150
  viewports
2158
2151
  } = viewportGridService.getState();
2159
- microscopyService.toggleOverviewMap(activeViewportIndex);
2152
+ microscopyService.toggleOverviewMap(activeViewportId);
2160
2153
  },
2161
2154
  toggleAnnotations: () => {
2162
2155
  microscopyService.toggleROIsVisibility();
@@ -2178,14 +2171,6 @@ function getCommandsModule(_ref) {
2178
2171
  storeContexts: [],
2179
2172
  options: {}
2180
2173
  },
2181
- incrementActiveViewport: {
2182
- commandFn: actions.incrementActiveViewport,
2183
- storeContexts: []
2184
- },
2185
- decrementActiveViewport: {
2186
- commandFn: actions.decrementActiveViewport,
2187
- storeContexts: []
2188
- },
2189
2174
  toggleOverlays: {
2190
2175
  commandFn: actions.toggleOverlays,
2191
2176
  storeContexts: [],
@@ -2359,7 +2344,7 @@ async function loadSR(microscopyService, microscopySRDisplaySet, referencedDispl
2359
2344
  // NOTE: When saving Microscopy SR, we are attaching identifier property
2360
2345
  // to each ROI, and when read for display, it is coming in as "TEXT"
2361
2346
  // evaluation.
2362
- // As the Dicom Microscopy Viewer will override styles for "Text" evalutations
2347
+ // As the Dicom Microscopy Viewer will override styles for "Text" evaluations
2363
2348
  // to hide all other geometries, we are going to manually remove that
2364
2349
  // evaluation item.
2365
2350
  const roi = rois[i];
@@ -2373,7 +2358,7 @@ async function loadSR(microscopyService, microscopySRDisplaySet, referencedDispl
2373
2358
  async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) {
2374
2359
  const toolState = MeasurementReport.generateToolState(naturalizedDataset);
2375
2360
  const tools = Object.getOwnPropertyNames(toolState);
2376
- const DICOMMicroscopyViewer = await __webpack_require__.e(/* import() | dicom-microscopy-viewer */ 18).then(__webpack_require__.t.bind(__webpack_require__, 78457, 23));
2361
+ const DICOMMicroscopyViewer = await __webpack_require__.e(/* import() | dicom-microscopy-viewer */ 18).then(__webpack_require__.t.bind(__webpack_require__, 42613, 23));
2377
2362
  const measurementGroupContentItems = _getMeasurementGroups(naturalizedDataset);
2378
2363
  const rois = [];
2379
2364
  const labels = [];
@@ -2446,11 +2431,11 @@ async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) {
2446
2431
  });
2447
2432
  if (measurements && measurements.length) {
2448
2433
  properties.measurements = measurements;
2449
- console.debug('[SR] retrieving measurements...', measurements);
2434
+ console.log('[SR] retrieving measurements...', measurements);
2450
2435
  }
2451
2436
  if (evaluations && evaluations.length) {
2452
2437
  properties.evaluations = evaluations;
2453
- console.debug('[SR] retrieving evaluations...', evaluations);
2438
+ console.log('[SR] retrieving evaluations...', evaluations);
2454
2439
  }
2455
2440
  const roi = new DICOMMicroscopyViewer.roi.ROI({
2456
2441
  scoord3d,
@@ -2533,7 +2518,7 @@ function DicomMicroscopySRSopClassHandler_getDisplaySetsFromSeries(instances, se
2533
2518
  const instance = instances[0];
2534
2519
 
2535
2520
  // TODO ! Consumption of DICOMMicroscopySRSOPClassHandler to a derived dataset or normal dataset?
2536
- // TOOD -> Easy to swap this to a "non-derived" displaySet, but unfortunately need to put it in a different extension.
2521
+ // TODO -> Easy to swap this to a "non-derived" displaySet, but unfortunately need to put it in a different extension.
2537
2522
  const naturalizedDataset = core_src.DicomMetadataStore.getSeries(instance.StudyInstanceUID, instance.SeriesInstanceUID).instances[0];
2538
2523
  const ReferencedFrameOfReferenceUID = _getReferencedFrameOfReferenceUID(naturalizedDataset);
2539
2524
  const {
@@ -2613,7 +2598,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2613
2598
 
2614
2599
 
2615
2600
  const Component = /*#__PURE__*/react.lazy(() => {
2616
- return Promise.all(/* import() */[__webpack_require__.e(780), __webpack_require__.e(331), __webpack_require__.e(935), __webpack_require__.e(151), __webpack_require__.e(664), __webpack_require__.e(82), __webpack_require__.e(55)]).then(__webpack_require__.bind(__webpack_require__, 76440));
2601
+ return Promise.all(/* import() */[__webpack_require__.e(754), __webpack_require__.e(604), __webpack_require__.e(417), __webpack_require__.e(23), __webpack_require__.e(342), __webpack_require__.e(250)]).then(__webpack_require__.bind(__webpack_require__, 76516));
2617
2602
  });
2618
2603
  const MicroscopyViewport = props => {
2619
2604
  return /*#__PURE__*/react.createElement(react.Suspense, {
@@ -2655,7 +2640,7 @@ const MicroscopyViewport = props => {
2655
2640
  *
2656
2641
  * @param props {*}
2657
2642
  * @param props.displaySets
2658
- * @param props.viewportIndex
2643
+ * @param props.viewportId
2659
2644
  * @param props.viewportLabel
2660
2645
  * @param props.dataSource
2661
2646
  * @param props.viewportOptions
@@ -2668,16 +2653,15 @@ const MicroscopyViewport = props => {
2668
2653
  } = props;
2669
2654
  const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.O_)();
2670
2655
  const {
2671
- viewports,
2672
- activeViewportIndex
2656
+ activeViewportId
2673
2657
  } = viewportGrid;
2674
2658
  return /*#__PURE__*/react.createElement(MicroscopyViewport, _extends({
2675
2659
  servicesManager: servicesManager,
2676
2660
  extensionManager: extensionManager,
2677
2661
  commandsManager: commandsManager,
2678
- activeViewportIndex: activeViewportIndex,
2679
- setViewportActive: viewportIndex => {
2680
- viewportGridService.setActiveViewportIndex(viewportIndex);
2662
+ activeViewportId: activeViewportId,
2663
+ setViewportActive: viewportId => {
2664
+ viewportGridService.setActiveViewportId(viewportId);
2681
2665
  },
2682
2666
  viewportData: viewportOptions
2683
2667
  }, props));