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

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 (29) hide show
  1. package/dist/{99.bundle.51efd3493cd1de6bf63c.js → 126.bundle.42df2dafc9c0310da188.js} +196 -137
  2. package/dist/{181.bundle.2ddc6f90740895a3949c.js → 181.bundle.a62b9f0ec692299acb35.js} +2 -2
  3. package/dist/{19.bundle.05ccf775cb70682dfcdf.js → 19.bundle.e5579df6d7b74af50b1d.js} +4 -4
  4. package/dist/{221.bundle.da7732c6f158b6f2b0d8.js → 221.bundle.c2dc03d8fa4235dc1285.js} +2 -2
  5. package/dist/{236.bundle.09d155c6f44b5a44e4bf.js → 236.bundle.c9e70d55e7b2574c1ecd.js} +2 -2
  6. package/dist/{250.bundle.8084960e3318cda37317.js → 250.bundle.aea3335667054bdefe36.js} +2 -2
  7. package/dist/{342.bundle.22d2df5cf6d83b24acee.js → 342.bundle.d9668551811e3a88aaa4.js} +14 -7
  8. package/dist/{359.bundle.e2f5680a854894c32944.js → 359.bundle.8abe0036a7bf6b5fd115.js} +2 -2
  9. package/dist/{410.bundle.8bb12b01e1f838340950.js → 410.bundle.38c9d3820e152e89288e.js} +2 -2
  10. package/dist/{451.bundle.9fd36f52ff69594f0669.js → 451.bundle.57c21db5d003c75e9d61.js} +2 -2
  11. package/dist/{471.bundle.b3d77b83b1593c09a504.js → 471.bundle.49c8d281adbae4a2c4df.js} +2 -2
  12. package/dist/{613.bundle.de79995392c3fd2e9637.js → 613.bundle.aed640a7900dbcb688f5.js} +2 -2
  13. package/dist/{82.bundle.9e269153bafc15562988.js → 776.bundle.004382036bdbd8ee2b95.js} +5 -10
  14. package/dist/{788.bundle.428c065311327135d817.js → 788.bundle.dcd53828d1bb2ac64d04.js} +2 -2
  15. package/dist/{370.bundle.085badd6055e8feea84f.js → 82.bundle.5a94dd7645e5c5476f59.js} +320 -179
  16. package/dist/{822.bundle.891f2e57b1b7bc2f4cb4.js → 822.bundle.82cdc418f8f56da6060b.js} +1 -1
  17. package/dist/{886.bundle.d5116d9b8ea4964b68a0.js → 886.bundle.c8dd3ecc42a4253de278.js} +1 -1
  18. package/dist/{app.bundle.671d2bb084d88c0cf3b7.js → app.bundle.437d085e13599d1e1ced.js} +166 -72
  19. package/dist/app.bundle.css +1 -1
  20. package/dist/index.html +1 -1
  21. package/dist/sw.js +1 -1
  22. package/package.json +17 -17
  23. /package/dist/{12.bundle.1c0fcebb2e63f538b03b.js → 12.bundle.37a8b47d2ae587cb9226.js} +0 -0
  24. /package/dist/{281.bundle.64640869327edc0d2cae.js → 281.bundle.16a2933086a57e60c96c.js} +0 -0
  25. /package/dist/{506.bundle.c3d01c4b6cc01096ce9e.js → 506.bundle.ab8226d3d81abe874544.js} +0 -0
  26. /package/dist/{663.bundle.68a67d3504dc24cccc1a.js → 663.bundle.9f359963019cd8ccf8f9.js} +0 -0
  27. /package/dist/{687.bundle.763e03b2624b6cc03ad2.js → 687.bundle.9d0330ea5d61fe3117da.js} +0 -0
  28. /package/dist/{82.css → 776.css} +0 -0
  29. /package/dist/{814.bundle.d45ba7f8b856fbd4e75d.js → 814.bundle.a1aba9c1e3d336008351.js} +0 -0
@@ -1,6 +1,6 @@
1
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[99],{
1
+ (self["webpackChunk"] = self["webpackChunk"] || []).push([[126],{
2
2
 
3
- /***/ 7395:
3
+ /***/ 32199:
4
4
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5
5
 
6
6
  "use strict";
@@ -14,22 +14,16 @@ __webpack_require__.d(__webpack_exports__, {
14
14
 
15
15
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
16
16
  var src = __webpack_require__(71771);
17
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
18
- var ui_src = __webpack_require__(71783);
19
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 331 modules
20
- var esm = __webpack_require__(3743);
17
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
18
+ var ui_src = __webpack_require__(22582);
21
19
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/toolbarButtons.ts
22
20
  // TODO: torn, can either bake this here; or have to create a whole new button type
23
21
  // Only ways that you can pass in a custom React component for render :l
24
22
 
25
23
 
26
-
27
24
  const {
28
25
  windowLevelPresets
29
26
  } = src.defaults;
30
- const _createActionButton = src/* ToolbarService */.Ok._createButton.bind(null, 'action');
31
- const _createToggleButton = src/* ToolbarService */.Ok._createButton.bind(null, 'toggle');
32
- const _createToolButton = src/* ToolbarService */.Ok._createButton.bind(null, 'tool');
33
27
 
34
28
  /**
35
29
  *
@@ -52,16 +46,6 @@ function _createWwwcPreset(preset, title, subtitle) {
52
46
  }]
53
47
  };
54
48
  }
55
- const ReferenceLinesCommands = [{
56
- commandName: 'setSourceViewportForReferenceLinesTool',
57
- context: 'CORNERSTONE'
58
- }, {
59
- commandName: 'setToolActive',
60
- commandOptions: {
61
- toolName: 'ReferenceLines'
62
- },
63
- context: 'CORNERSTONE'
64
- }];
65
49
  const toolbarButtons = [
66
50
  // Measurement
67
51
  {
@@ -72,7 +56,7 @@ const toolbarButtons = [
72
56
  isRadio: true,
73
57
  // ?
74
58
  // Switch?
75
- primary: _createToolButton('Length', 'tool-length', 'Length', [{
59
+ primary: src/* ToolbarService */.Ok._createToolButton('Length', 'tool-length', 'Length', [{
76
60
  commandName: 'setToolActive',
77
61
  commandOptions: {
78
62
  toolName: 'Length'
@@ -93,7 +77,7 @@ const toolbarButtons = [
93
77
  isActive: true,
94
78
  tooltip: 'More Measure Tools'
95
79
  },
96
- items: [_createToolButton('Length', 'tool-length', 'Length', [{
80
+ items: [src/* ToolbarService */.Ok._createToolButton('Length', 'tool-length', 'Length', [{
97
81
  commandName: 'setToolActive',
98
82
  commandOptions: {
99
83
  toolName: 'Length'
@@ -107,7 +91,7 @@ const toolbarButtons = [
107
91
  },
108
92
  // we can use the setToolActive command for this from Cornerstone commandsModule
109
93
  context: 'CORNERSTONE'
110
- }], 'Length Tool'), _createToolButton('Bidirectional', 'tool-bidirectional', 'Bidirectional', [{
94
+ }], 'Length Tool'), src/* ToolbarService */.Ok._createToolButton('Bidirectional', 'tool-bidirectional', 'Bidirectional', [{
111
95
  commandName: 'setToolActive',
112
96
  commandOptions: {
113
97
  toolName: 'Bidirectional'
@@ -120,7 +104,7 @@ const toolbarButtons = [
120
104
  toolGroupId: 'SRToolGroup'
121
105
  },
122
106
  context: 'CORNERSTONE'
123
- }], 'Bidirectional Tool'), _createToolButton('ArrowAnnotate', 'tool-annotate', 'Annotation', [{
107
+ }], 'Bidirectional Tool'), src/* ToolbarService */.Ok._createToolButton('ArrowAnnotate', 'tool-annotate', 'Annotation', [{
124
108
  commandName: 'setToolActive',
125
109
  commandOptions: {
126
110
  toolName: 'ArrowAnnotate'
@@ -133,7 +117,7 @@ const toolbarButtons = [
133
117
  toolGroupId: 'SRToolGroup'
134
118
  },
135
119
  context: 'CORNERSTONE'
136
- }], 'Arrow Annotate'), _createToolButton('EllipticalROI', 'tool-elipse', 'Ellipse', [{
120
+ }], 'Arrow Annotate'), src/* ToolbarService */.Ok._createToolButton('EllipticalROI', 'tool-elipse', 'Ellipse', [{
137
121
  commandName: 'setToolActive',
138
122
  commandOptions: {
139
123
  toolName: 'EllipticalROI'
@@ -146,7 +130,7 @@ const toolbarButtons = [
146
130
  toolGroupId: 'SRToolGroup'
147
131
  },
148
132
  context: 'CORNERSTONE'
149
- }], 'Ellipse Tool'), _createToolButton('CircleROI', 'tool-circle', 'Circle', [{
133
+ }], 'Ellipse Tool'), src/* ToolbarService */.Ok._createToolButton('CircleROI', 'tool-circle', 'Circle', [{
150
134
  commandName: 'setToolActive',
151
135
  commandOptions: {
152
136
  toolName: 'CircleROI'
@@ -185,7 +169,7 @@ const toolbarButtons = [
185
169
  type: 'ohif.splitButton',
186
170
  props: {
187
171
  groupId: 'WindowLevel',
188
- primary: _createToolButton('WindowLevel', 'tool-window-level', 'Window Level', [{
172
+ primary: src/* ToolbarService */.Ok._createToolButton('WindowLevel', 'tool-window-level', 'Window Level', [{
189
173
  commandName: 'setToolActive',
190
174
  commandOptions: {
191
175
  toolName: 'WindowLevel'
@@ -322,8 +306,7 @@ const toolbarButtons = [
322
306
  commandName: 'toggleHangingProtocol',
323
307
  commandOptions: {
324
308
  protocolId: 'mpr'
325
- },
326
- context: 'DEFAULT'
309
+ }
327
310
  }]
328
311
  }
329
312
  }, {
@@ -338,102 +321,8 @@ const toolbarButtons = [
338
321
  commandOptions: {
339
322
  toolGroupId: 'mpr',
340
323
  toolName: 'Crosshairs'
341
- },
342
- context: 'CORNERSTONE'
343
- }]
344
- }
345
- },
346
- // More...
347
- {
348
- id: 'MoreTools',
349
- type: 'ohif.splitButton',
350
- props: {
351
- isRadio: true,
352
- // ?
353
- groupId: 'MoreTools',
354
- primary: _createActionButton('Reset', 'tool-reset', 'Reset View', [{
355
- commandName: 'resetViewport',
356
- commandOptions: {},
357
- context: 'CORNERSTONE'
358
- }], 'Reset'),
359
- secondary: {
360
- icon: 'chevron-down',
361
- label: '',
362
- isActive: true,
363
- tooltip: 'More Tools'
364
- },
365
- items: [_createActionButton('Reset', 'tool-reset', 'Reset View', [{
366
- commandName: 'resetViewport',
367
- commandOptions: {},
368
- context: 'CORNERSTONE'
369
- }], 'Reset'), _createActionButton('rotate-right', 'tool-rotate-right', 'Rotate Right', [{
370
- commandName: 'rotateViewportCW',
371
- commandOptions: {},
372
- context: 'CORNERSTONE'
373
- }], 'Rotate +90'), _createActionButton('flip-horizontal', 'tool-flip-horizontal', 'Flip Horizontally', [{
374
- commandName: 'flipViewportHorizontal',
375
- commandOptions: {},
376
- context: 'CORNERSTONE'
377
- }], 'Flip Horizontally'), _createToggleButton('StackImageSync', 'link', 'Stack Image Sync', [{
378
- commandName: 'toggleStackImageSync'
379
- }], 'Enable position synchronization on stack viewports', {
380
- listeners: {
381
- [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
382
- commandName: 'toggleStackImageSync',
383
- commandOptions: {
384
- toggledState: true
385
- }
386
- }
387
324
  }
388
- }), _createToggleButton('ReferenceLines', 'tool-referenceLines',
389
- // change this with the new icon
390
- 'Reference Lines', ReferenceLinesCommands, 'Show Reference Lines', {
391
- listeners: {
392
- [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands,
393
- [esm.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands
394
- }
395
- }), _createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
396
- commandName: 'setToolActive',
397
- commandOptions: {
398
- toolName: 'StackScroll'
399
- },
400
- context: 'CORNERSTONE'
401
- }], 'Stack Scroll'), _createActionButton('invert', 'tool-invert', 'Invert', [{
402
- commandName: 'invertViewport',
403
- commandOptions: {},
404
- context: 'CORNERSTONE'
405
- }], 'Invert Colors'), _createToolButton('Probe', 'tool-probe', 'Probe', [{
406
- commandName: 'setToolActive',
407
- commandOptions: {
408
- toolName: 'DragProbe'
409
- },
410
- context: 'CORNERSTONE'
411
- }], 'Probe'), _createToggleButton('cine', 'tool-cine', 'Cine', [{
412
- commandName: 'toggleCine',
413
- context: 'CORNERSTONE'
414
- }], 'Cine'), _createToolButton('Angle', 'tool-angle', 'Angle', [{
415
- commandName: 'setToolActive',
416
- commandOptions: {
417
- toolName: 'Angle'
418
- },
419
- context: 'CORNERSTONE'
420
- }], 'Angle'), _createToolButton('Magnify', 'tool-magnify', 'Magnify', [{
421
- commandName: 'setToolActive',
422
- commandOptions: {
423
- toolName: 'Magnify'
424
- },
425
- context: 'CORNERSTONE'
426
- }], 'Magnify'), _createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
427
- commandName: 'setToolActive',
428
- commandOptions: {
429
- toolName: 'RectangleROI'
430
- },
431
- context: 'CORNERSTONE'
432
- }], 'Rectangle'), _createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
433
- commandName: 'openDICOMTagViewer',
434
- commandOptions: {},
435
- context: 'DEFAULT'
436
- }], 'Dicom Tag Browser')]
325
+ }]
437
326
  }
438
327
  }];
439
328
  /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
@@ -646,15 +535,182 @@ function initToolGroups(extensionManager, toolGroupService, commandsManager) {
646
535
  initMPRToolGroup(extensionManager, toolGroupService, commandsManager);
647
536
  }
648
537
  /* harmony default export */ const src_initToolGroups = (initToolGroups);
538
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 331 modules
539
+ var esm = __webpack_require__(3743);
540
+ ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/moreTools.ts
541
+
542
+
543
+ const ReferenceLinesCommands = [{
544
+ commandName: 'setSourceViewportForReferenceLinesTool',
545
+ context: 'CORNERSTONE'
546
+ }, {
547
+ commandName: 'setToolActive',
548
+ commandOptions: {
549
+ toolName: 'ReferenceLines'
550
+ },
551
+ context: 'CORNERSTONE'
552
+ }];
553
+ const moreTools = [{
554
+ id: 'MoreTools',
555
+ type: 'ohif.splitButton',
556
+ props: {
557
+ isRadio: true,
558
+ // ?
559
+ groupId: 'MoreTools',
560
+ primary: src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
561
+ commandName: 'resetViewport'
562
+ }], 'Reset'),
563
+ secondary: {
564
+ icon: 'chevron-down',
565
+ label: '',
566
+ isActive: true,
567
+ tooltip: 'More Tools'
568
+ },
569
+ items: [src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
570
+ commandName: 'resetViewport'
571
+ }], 'Reset'), src/* ToolbarService */.Ok._createActionButton('rotate-right', 'tool-rotate-right', 'Rotate Right', [{
572
+ commandName: 'rotateViewportCW',
573
+ commandOptions: {},
574
+ context: 'CORNERSTONE'
575
+ }], 'Rotate +90'), src/* ToolbarService */.Ok._createActionButton('flip-horizontal', 'tool-flip-horizontal', 'Flip Horizontally', [{
576
+ commandName: 'flipViewportHorizontal',
577
+ commandOptions: {},
578
+ context: 'CORNERSTONE'
579
+ }], 'Flip Horizontally'), src/* ToolbarService */.Ok._createToggleButton('StackImageSync', 'link', 'Stack Image Sync', [{
580
+ commandName: 'toggleStackImageSync'
581
+ }], 'Enable position synchronization on stack viewports', {
582
+ listeners: {
583
+ [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
584
+ commandName: 'toggleStackImageSync',
585
+ commandOptions: {
586
+ toggledState: true
587
+ }
588
+ }
589
+ }
590
+ }), src/* ToolbarService */.Ok._createToggleButton('ReferenceLines', 'tool-referenceLines',
591
+ // change this with the new icon
592
+ 'Reference Lines', ReferenceLinesCommands, 'Show Reference Lines', {
593
+ listeners: {
594
+ [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands,
595
+ [esm.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands
596
+ }
597
+ }), src/* ToolbarService */.Ok._createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
598
+ commandName: 'setToolActive',
599
+ commandOptions: {
600
+ toolName: 'StackScroll'
601
+ },
602
+ context: 'CORNERSTONE'
603
+ }], 'Stack Scroll'), src/* ToolbarService */.Ok._createActionButton('invert', 'tool-invert', 'Invert', [{
604
+ commandName: 'invertViewport',
605
+ commandOptions: {},
606
+ context: 'CORNERSTONE'
607
+ }], 'Invert Colors'), src/* ToolbarService */.Ok._createToolButton('Probe', 'tool-probe', 'Probe', [{
608
+ commandName: 'setToolActive',
609
+ commandOptions: {
610
+ toolName: 'DragProbe'
611
+ },
612
+ context: 'CORNERSTONE'
613
+ }], 'Probe'), src/* ToolbarService */.Ok._createToggleButton('cine', 'tool-cine', 'Cine', [{
614
+ commandName: 'toggleCine',
615
+ context: 'CORNERSTONE'
616
+ }], 'Cine'), src/* ToolbarService */.Ok._createToolButton('Angle', 'tool-angle', 'Angle', [{
617
+ commandName: 'setToolActive',
618
+ commandOptions: {
619
+ toolName: 'Angle'
620
+ },
621
+ context: 'CORNERSTONE'
622
+ }], 'Angle'), src/* ToolbarService */.Ok._createToolButton('Magnify', 'tool-magnify', 'Magnify', [{
623
+ commandName: 'setToolActive',
624
+ commandOptions: {
625
+ toolName: 'Magnify'
626
+ },
627
+ context: 'CORNERSTONE'
628
+ }], 'Magnify'), src/* ToolbarService */.Ok._createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
629
+ commandName: 'setToolActive',
630
+ commandOptions: {
631
+ toolName: 'RectangleROI'
632
+ },
633
+ context: 'CORNERSTONE'
634
+ }], 'Rectangle'), src/* ToolbarService */.Ok._createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
635
+ commandName: 'openDICOMTagViewer',
636
+ commandOptions: {},
637
+ context: 'DEFAULT'
638
+ }], 'Dicom Tag Browser')]
639
+ }
640
+ }];
641
+ /* harmony default export */ const src_moreTools = (moreTools);
642
+ ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/moreToolsMpr.ts
643
+
644
+ const moreToolsMpr = [{
645
+ id: 'MoreToolsMpr',
646
+ type: 'ohif.splitButton',
647
+ props: {
648
+ isRadio: true,
649
+ // ?
650
+ groupId: 'MoreTools',
651
+ primary: src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
652
+ commandName: 'resetViewport'
653
+ }], 'Reset'),
654
+ secondary: {
655
+ icon: 'chevron-down',
656
+ label: '',
657
+ isActive: true,
658
+ tooltip: 'More Tools'
659
+ },
660
+ items: [src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
661
+ commandName: 'resetViewport'
662
+ }], 'Reset'), src/* ToolbarService */.Ok._createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
663
+ commandName: 'setToolActive',
664
+ commandOptions: {
665
+ toolName: 'StackScroll'
666
+ },
667
+ context: 'CORNERSTONE'
668
+ }], 'Stack Scroll'), src/* ToolbarService */.Ok._createActionButton('invert', 'tool-invert', 'Invert', [{
669
+ commandName: 'invertViewport',
670
+ commandOptions: {},
671
+ context: 'CORNERSTONE'
672
+ }], 'Invert Colors'), src/* ToolbarService */.Ok._createToolButton('Probe', 'tool-probe', 'Probe', [{
673
+ commandName: 'setToolActive',
674
+ commandOptions: {
675
+ toolName: 'DragProbe'
676
+ },
677
+ context: 'CORNERSTONE'
678
+ }], 'Probe'), src/* ToolbarService */.Ok._createToggleButton('cine', 'tool-cine', 'Cine', [{
679
+ commandName: 'toggleCine',
680
+ context: 'CORNERSTONE'
681
+ }], 'Cine'), src/* ToolbarService */.Ok._createToolButton('Angle', 'tool-angle', 'Angle', [{
682
+ commandName: 'setToolActive',
683
+ commandOptions: {
684
+ toolName: 'Angle'
685
+ },
686
+ context: 'CORNERSTONE'
687
+ }], 'Angle'), src/* ToolbarService */.Ok._createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
688
+ commandName: 'setToolActive',
689
+ commandOptions: {
690
+ toolName: 'RectangleROI'
691
+ },
692
+ context: 'CORNERSTONE'
693
+ }], 'Rectangle'), src/* ToolbarService */.Ok._createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
694
+ commandName: 'openDICOMTagViewer',
695
+ commandOptions: {},
696
+ context: 'DEFAULT'
697
+ }], 'Dicom Tag Browser')]
698
+ }
699
+ }];
700
+ /* harmony default export */ const src_moreToolsMpr = (moreToolsMpr);
649
701
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/index.ts
650
702
 
651
703
 
652
704
 
653
705
 
654
706
 
707
+
708
+
655
709
  // Allow this mode by excluding non-imaging modalities such as SR, SEG
656
710
  // Also, SM is not a simple imaging modalities, so exclude it.
657
711
  const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG'];
712
+ const DEFAULT_TOOL_GROUP_ID = 'default';
713
+ const MPR_TOOL_GROUP_ID = 'mpr';
658
714
  const ohif = {
659
715
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
660
716
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
@@ -723,18 +779,20 @@ function modeFactory() {
723
779
  // init customizations
724
780
  customizationService.addModeCustomizations(['@ohif/extension-test.customizationModule.custom-context-menu']);
725
781
  let unsubscribe;
782
+ toolbarService.setDefaultTool({
783
+ groupId: 'WindowLevel',
784
+ itemId: 'WindowLevel',
785
+ interactionType: 'tool',
786
+ commands: [{
787
+ commandName: 'setToolActive',
788
+ commandOptions: {
789
+ toolName: 'WindowLevel'
790
+ },
791
+ context: 'CORNERSTONE'
792
+ }]
793
+ });
726
794
  const activateTool = () => {
727
- toolbarService.recordInteraction({
728
- groupId: 'WindowLevel',
729
- interactionType: 'tool',
730
- commands: [{
731
- commandName: 'setToolActive',
732
- commandOptions: {
733
- toolName: 'WindowLevel'
734
- },
735
- context: 'CORNERSTONE'
736
- }]
737
- });
795
+ toolbarService.recordInteraction(toolbarService.getDefaultTool());
738
796
 
739
797
  // We don't need to reset the active tool whenever a viewport is getting
740
798
  // added to the toolGroup.
@@ -747,8 +805,9 @@ function modeFactory() {
747
805
  unsubscribe
748
806
  } = toolGroupService.subscribe(toolGroupService.EVENTS.VIEWPORT_ADDED, activateTool));
749
807
  toolbarService.init(extensionManager);
750
- toolbarService.addButtons(src_toolbarButtons);
751
- toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreTools']);
808
+ toolbarService.addButtons([...src_toolbarButtons, ...src_moreTools, ...src_moreToolsMpr]);
809
+ toolbarService.createButtonSection(DEFAULT_TOOL_GROUP_ID, ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'MoreTools']);
810
+ toolbarService.createButtonSection(MPR_TOOL_GROUP_ID, ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreToolsMpr']);
752
811
  },
753
812
  onModeExit: _ref2 => {
754
813
  let {
@@ -25,8 +25,8 @@ var esm = __webpack_require__(14957);
25
25
  var dist_esm = __webpack_require__(3743);
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 + 486 modules
29
+ var ui_src = __webpack_require__(22582);
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
@@ -20,8 +20,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
20
20
  var es = __webpack_require__(261);
21
21
  // EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js + 8 modules
22
22
  var react_es = __webpack_require__(44530);
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
24
- var src = __webpack_require__(71783);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
24
+ var src = __webpack_require__(22582);
25
25
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
26
26
 
27
27
  const RESPONSE = {
@@ -1106,8 +1106,8 @@ var dist = __webpack_require__(62474);
1106
1106
  var es = __webpack_require__(69190);
1107
1107
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
1108
1108
  var src = __webpack_require__(71771);
1109
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
1110
- var ui_src = __webpack_require__(71783);
1109
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
1110
+ var ui_src = __webpack_require__(22582);
1111
1111
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx
1112
1112
 
1113
1113
 
@@ -298,8 +298,8 @@ var default_src = __webpack_require__(56342);
298
298
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
299
299
  var prop_types = __webpack_require__(3827);
300
300
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
301
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
302
- var ui_src = __webpack_require__(71783);
301
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
302
+ var ui_src = __webpack_require__(22582);
303
303
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/panels/callInputDialog.tsx
304
304
 
305
305
 
@@ -20,8 +20,8 @@ const id = package_namespaceObject.u2;
20
20
 
21
21
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
22
22
  var react = __webpack_require__(43001);
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
24
- var src = __webpack_require__(71783);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
24
+ var src = __webpack_require__(22582);
25
25
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
26
26
  var core_src = __webpack_require__(71771);
27
27
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
@@ -22,8 +22,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
22
22
  // EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
23
23
  var lodash_debounce = __webpack_require__(8324);
24
24
  var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
25
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
26
- var src = __webpack_require__(71783);
25
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
26
+ var src = __webpack_require__(22582);
27
27
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
28
28
  // extracted by mini-css-extract-plugin
29
29
 
@@ -2052,8 +2052,8 @@ var react = __webpack_require__(43001);
2052
2052
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
2053
2053
  var prop_types = __webpack_require__(3827);
2054
2054
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
2055
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
2056
- var ui_src = __webpack_require__(71783);
2055
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
2056
+ var ui_src = __webpack_require__(22582);
2057
2057
  // EXTERNAL MODULE: ./state/index.js + 1 modules
2058
2058
  var state = __webpack_require__(62657);
2059
2059
  // EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
@@ -2071,6 +2071,7 @@ var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
2071
2071
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2072
2072
 
2073
2073
 
2074
+
2074
2075
  function Toolbar(_ref) {
2075
2076
  let {
2076
2077
  servicesManager
@@ -2078,15 +2079,21 @@ function Toolbar(_ref) {
2078
2079
  const {
2079
2080
  toolbarService
2080
2081
  } = servicesManager.services;
2082
+ const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
2081
2083
  const [toolbarButtons, setToolbarButtons] = (0,react.useState)([]);
2082
2084
  (0,react.useEffect)(() => {
2085
+ const updateToolbar = () => {
2086
+ const toolGroupId = viewportGridService.getActiveViewportOptionByKey('toolGroupId') ?? 'default';
2087
+ setToolbarButtons(toolbarService.getButtonSection(toolGroupId));
2088
+ };
2083
2089
  const {
2084
2090
  unsubscribe
2085
- } = toolbarService.subscribe(toolbarService.EVENTS.TOOL_BAR_MODIFIED, () => setToolbarButtons(toolbarService.getButtonSection('primary')));
2091
+ } = toolbarService.subscribe(toolbarService.EVENTS.TOOL_BAR_MODIFIED, updateToolbar);
2092
+ updateToolbar();
2086
2093
  return () => {
2087
2094
  unsubscribe();
2088
2095
  };
2089
- }, [toolbarService]);
2096
+ }, [toolbarService, viewportGrid]);
2090
2097
  const onInteraction = (0,react.useCallback)(args => toolbarService.recordInteraction(args), [toolbarService]);
2091
2098
  return /*#__PURE__*/react.createElement(react.Fragment, null, toolbarButtons.map(toolDef => {
2092
2099
  const {
@@ -2166,8 +2173,8 @@ function ViewerHeader(_ref) {
2166
2173
  hotkeyDefinitions,
2167
2174
  hotkeyDefaults
2168
2175
  } = hotkeysManager;
2169
- const versionNumber = "3.8.0-beta.5";
2170
- const commitHash = "d98439fe7f3825076dbc87b664a1d1480ff414d3";
2176
+ const versionNumber = "3.8.0-beta.7";
2177
+ const commitHash = "2a15ef0e44b7b4d8bbf5cb9363db6e523201c681";
2171
2178
  const menuOptions = [{
2172
2179
  title: t('Header:About'),
2173
2180
  icon: 'info',
@@ -4320,7 +4327,7 @@ ToolbarButtonWithServices.propTypes = {
4320
4327
  state: prop_types_default().shape({
4321
4328
  primaryToolId: (prop_types_default()).string,
4322
4329
  toggles: prop_types_default().objectOf((prop_types_default()).bool),
4323
- groups: prop_types_default().objectOf((prop_types_default()).object)
4330
+ groups: prop_types_default().objectOf((prop_types_default()).any)
4324
4331
  }).isRequired
4325
4332
  }).isRequired
4326
4333
  }).isRequired
@@ -14,8 +14,8 @@ __webpack_require__.d(__webpack_exports__, {
14
14
 
15
15
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
16
16
  var src = __webpack_require__(71771);
17
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
18
- var ui_src = __webpack_require__(71783);
17
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
18
+ var ui_src = __webpack_require__(22582);
19
19
  ;// CONCATENATED MODULE: ../../../modes/tmtv/src/initToolGroups.js
20
20
  const toolGroupIds = {
21
21
  CT: 'ctToolGroup',
@@ -12,8 +12,8 @@ __webpack_require__.d(__webpack_exports__, {
12
12
  "default": () => (/* binding */ basic_dev_mode_src)
13
13
  });
14
14
 
15
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
16
- var src = __webpack_require__(71783);
15
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
16
+ var src = __webpack_require__(22582);
17
17
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
18
18
  var core_src = __webpack_require__(71771);
19
19
  ;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/src/toolbarButtons.js
@@ -21,8 +21,8 @@ var react = __webpack_require__(43001);
21
21
  var es = __webpack_require__(69190);
22
22
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
23
23
  var src = __webpack_require__(71771);
24
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
25
- var ui_src = __webpack_require__(71783);
24
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
25
+ var ui_src = __webpack_require__(22582);
26
26
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/initSEGToolGroup.ts
27
27
  function createSEGToolGroupAndAddTools(ToolGroupService, customizationService, toolGroupId) {
28
28
  const {
@@ -19,8 +19,8 @@ var prop_types = __webpack_require__(3827);
19
19
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
20
20
  // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
21
21
  var src = __webpack_require__(71771);
22
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
23
- var ui_src = __webpack_require__(71783);
22
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
23
+ var ui_src = __webpack_require__(22582);
24
24
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
25
25
 
26
26
  const RESPONSE = {
@@ -20,8 +20,8 @@ const package_namespaceObject = JSON.parse('{"u2":"@ohif/mode-segmentation"}');
20
20
 
21
21
  const id = package_namespaceObject.u2;
22
22
 
23
- // EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
24
- var ui_src = __webpack_require__(71783);
23
+ // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
24
+ var ui_src = __webpack_require__(22582);
25
25
  ;// CONCATENATED MODULE: ../../../modes/segmentation/src/toolbarButtons.ts
26
26
 
27
27