@ohif/app 3.8.0-beta.8 → 3.8.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 (99) hide show
  1. package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
  2. package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.787f5a848ed632a4d5fc.js} +90 -112
  3. package/dist/141.bundle.556b4c1e4cab770417ac.js +8620 -0
  4. package/dist/{687.bundle.9065db35c01823286f08.js → 164.bundle.d4598e491783753a8b6b.js} +22 -38
  5. package/dist/17dd54813d5acc10bf8f.wasm +0 -0
  6. package/dist/183.bundle.72bf18ad23ee6624986d.js +30394 -0
  7. package/dist/{506.bundle.5731bb4349e266491225.js → 188.bundle.b80554ec7df7dcd435a5.js} +23 -28
  8. package/dist/{342.bundle.e7c3d500f86fdfcc62b5.js → 206.bundle.f957e0d1cdff66dbac69.js} +1963 -1142
  9. package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
  10. package/dist/217.bundle.be1cc412f8e26be87d21.js +115079 -0
  11. package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.6f734abf8fa85b1a310d.js} +107 -127
  12. package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
  13. package/dist/{19.bundle.f77c5787b6d8ac0b638b.js → 325.bundle.84909a08305556e9f924.js} +479 -371
  14. package/dist/335.bundle.c39d4aefe33aecab958f.js +2590 -0
  15. package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.e6d0bba29351b5650a8c.js} +566 -868
  16. package/dist/{776.bundle.a2dedb405a12ffd7699b.js → 41.bundle.7c943bb857ed37831905.js} +7295 -3536
  17. package/dist/422.bundle.bd6529c536f59807fbee.js +881 -0
  18. package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 433.bundle.4c77c1fe8fc90ac14218.js} +14737 -27555
  19. package/dist/445.bundle.38c6d2af64e41cd7c614.js +7835 -0
  20. package/dist/{126.bundle.6e7111d58bcc937ffd80.js → 448.bundle.deedeff5744e77510734.js} +362 -430
  21. package/dist/487.bundle.7890ca42826941ebcd60.js +1875 -0
  22. package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.7c94543955552475c56a.js} +98 -127
  23. package/dist/{663.bundle.d7be28450db14266cdd0.js → 540.bundle.079d43a6717e95c24392.js} +225 -188
  24. package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1c1f57118560046649c1.js} +37 -62
  25. package/dist/574.bundle.be075ac52fb52b442a8b.js +2641 -0
  26. package/dist/{181.css → 574.css} +1 -1
  27. package/dist/{410.bundle.15c855b0ff4a1a674fb8.js → 594.bundle.0b1165661dd638820082.js} +183 -221
  28. package/dist/{221.bundle.aef554202c58483cb34e.js → 633.bundle.c1658e76f104cbd14cab.js} +349 -552
  29. package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
  30. package/dist/699.bundle.4f01772e7ce6637de339.js +768 -0
  31. package/dist/702.bundle.963481fbf871984b646f.js +8426 -0
  32. package/dist/722.bundle.afab1fe6bfcd569130ac.js +1083 -0
  33. package/dist/{359.bundle.45ecb3d28e8c22142606.js → 724.bundle.e5794460c391ee9cba2c.js} +164 -259
  34. package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.0b3d9277d22fe7e15b89.js} +512 -879
  35. package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
  36. package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.c0ee6e1d4d97e1353213.js} +77 -96
  37. package/dist/{236.bundle.4e9924934a747afac132.js → 889.bundle.7858e4b7ca1a2b12b64f.js} +207 -199
  38. package/dist/{281.bundle.deb7492d143e7768d8bf.js → 905.bundle.170908fe660fc6b40649.js} +157 -124
  39. package/dist/{814.bundle.c8c951d20039b63b865a.js → 907.bundle.dee4e30420caf07caea6.js} +16 -30
  40. package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
  41. package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
  42. package/dist/94.bundle.c452d9b0645277c2cf4e.js +784 -0
  43. package/dist/{12.bundle.b5ca13e5363f170ecb3b.js → 961.bundle.aaaaaba0ec015a3b85d8.js} +20 -33
  44. package/dist/app-config.js +1 -0
  45. package/dist/{app.bundle.a978edc59b9d82f2eb22.js → app.bundle.6c090a2d6d3ccc97a81d.js} +183240 -87650
  46. package/dist/app.bundle.css +16 -13
  47. package/dist/assets/images/CT-AAA.png +0 -0
  48. package/dist/assets/images/CT-AAA2.png +0 -0
  49. package/dist/assets/images/CT-Air.png +0 -0
  50. package/dist/assets/images/CT-Bone.png +0 -0
  51. package/dist/assets/images/CT-Bones.png +0 -0
  52. package/dist/assets/images/CT-Cardiac.png +0 -0
  53. package/dist/assets/images/CT-Cardiac2.png +0 -0
  54. package/dist/assets/images/CT-Cardiac3.png +0 -0
  55. package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
  56. package/dist/assets/images/CT-Chest-Vessels.png +0 -0
  57. package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
  58. package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
  59. package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
  60. package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
  61. package/dist/assets/images/CT-Fat.png +0 -0
  62. package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
  63. package/dist/assets/images/CT-Lung.png +0 -0
  64. package/dist/assets/images/CT-MIP.png +0 -0
  65. package/dist/assets/images/CT-Muscle.png +0 -0
  66. package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
  67. package/dist/assets/images/CT-Soft-Tissue.png +0 -0
  68. package/dist/assets/images/DTI-FA-Brain.png +0 -0
  69. package/dist/assets/images/MR-Angio.png +0 -0
  70. package/dist/assets/images/MR-Default.png +0 -0
  71. package/dist/assets/images/MR-MIP.png +0 -0
  72. package/dist/assets/images/MR-T2-Brain.png +0 -0
  73. package/dist/assets/images/VolumeRendering.png +0 -0
  74. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  75. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  76. package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
  77. package/dist/histogram-worker.bundle.829e14ec12c2b41a4323.js +359 -0
  78. package/dist/index.html +1 -1
  79. package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
  80. package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
  81. package/dist/polySeg.bundle.63011312c3c79e717ea9.js +249 -0
  82. package/dist/serve.json +12 -0
  83. package/dist/sw.js +1 -1
  84. package/package.json +26 -22
  85. package/dist/181.bundle.a62b9f0ec692299acb35.js +0 -1527
  86. package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
  87. package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
  88. package/dist/613.bundle.9e7072e5b575354fe51e.js +0 -532
  89. package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
  90. package/dist/75788f12450d4c5ed494.wasm +0 -0
  91. package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
  92. package/dist/788.bundle.207ac23c0dfa70cbe3fb.js +0 -2682
  93. package/dist/82.bundle.d6fdcca0f67540bb226a.js +0 -1049
  94. package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  95. /package/dist/{19.css → 325.css} +0 -0
  96. /package/dist/{776.css → 41.css} +0 -0
  97. /package/dist/{579.css → 481.css} +0 -0
  98. /package/dist/{250.css → 544.css} +0 -0
  99. /package/dist/{221.css → 633.css} +0 -0
@@ -1,9 +1,9 @@
1
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[126],{
1
+ "use strict";
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[448],{
2
3
 
3
- /***/ 32199:
4
+ /***/ 14448:
4
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5
6
 
6
- "use strict";
7
7
  // ESM COMPAT FLAG
8
8
  __webpack_require__.r(__webpack_exports__);
9
9
 
@@ -12,10 +12,10 @@ __webpack_require__.d(__webpack_exports__, {
12
12
  "default": () => (/* binding */ basic_test_mode_src)
13
13
  });
14
14
 
15
- // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
16
- var src = __webpack_require__(71771);
17
- // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
18
- var ui_src = __webpack_require__(22582);
15
+ // EXTERNAL MODULE: ../../core/src/index.ts + 70 modules
16
+ var src = __webpack_require__(55411);
17
+ // EXTERNAL MODULE: ../../ui/src/index.js + 785 modules
18
+ var ui_src = __webpack_require__(5085);
19
19
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/toolbarButtons.ts
20
20
  // TODO: torn, can either bake this here; or have to create a whole new button type
21
21
  // Only ways that you can pass in a custom React component for render :l
@@ -24,6 +24,9 @@ var ui_src = __webpack_require__(22582);
24
24
  const {
25
25
  windowLevelPresets
26
26
  } = src.defaults;
27
+ const {
28
+ createButton
29
+ } = src.ToolbarService;
27
30
 
28
31
  /**
29
32
  *
@@ -36,7 +39,6 @@ function _createWwwcPreset(preset, title, subtitle) {
36
39
  id: preset.toString(),
37
40
  title,
38
41
  subtitle,
39
- type: 'action',
40
42
  commands: [{
41
43
  commandName: 'setWindowLevel',
42
44
  commandOptions: {
@@ -46,291 +48,196 @@ function _createWwwcPreset(preset, title, subtitle) {
46
48
  }]
47
49
  };
48
50
  }
49
- const toolbarButtons = [
50
- // Measurement
51
- {
51
+ const setToolActiveToolbar = {
52
+ commandName: 'setToolActiveToolbar',
53
+ commandOptions: {
54
+ toolGroupIds: ['default', 'mpr', 'SRToolGroup']
55
+ }
56
+ };
57
+ const toolbarButtons = [{
52
58
  id: 'MeasurementTools',
53
- type: 'ohif.splitButton',
59
+ uiType: 'ohif.splitButton',
54
60
  props: {
55
61
  groupId: 'MeasurementTools',
56
- isRadio: true,
57
- // ?
58
- // Switch?
59
- primary: src/* ToolbarService */.Ok._createToolButton('Length', 'tool-length', 'Length', [{
60
- commandName: 'setToolActive',
61
- commandOptions: {
62
- toolName: 'Length'
63
- },
64
- context: 'CORNERSTONE'
65
- }, {
66
- commandName: 'setToolActive',
67
- commandOptions: {
68
- toolName: 'SRLength',
69
- toolGroupId: 'SRToolGroup'
70
- },
71
- // we can use the setToolActive command for this from Cornerstone commandsModule
72
- context: 'CORNERSTONE'
73
- }], 'Length'),
62
+ // group evaluate to determine which item should move to the top
63
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
64
+ primary: createButton({
65
+ id: 'Length',
66
+ icon: 'tool-length',
67
+ label: 'Length',
68
+ tooltip: 'Length Tool',
69
+ commands: setToolActiveToolbar,
70
+ evaluate: 'evaluate.cornerstoneTool'
71
+ }),
74
72
  secondary: {
75
73
  icon: 'chevron-down',
76
- label: '',
77
- isActive: true,
78
74
  tooltip: 'More Measure Tools'
79
75
  },
80
- items: [src/* ToolbarService */.Ok._createToolButton('Length', 'tool-length', 'Length', [{
81
- commandName: 'setToolActive',
82
- commandOptions: {
83
- toolName: 'Length'
84
- },
85
- context: 'CORNERSTONE'
86
- }, {
87
- commandName: 'setToolActive',
88
- commandOptions: {
89
- toolName: 'SRLength',
90
- toolGroupId: 'SRToolGroup'
91
- },
92
- // we can use the setToolActive command for this from Cornerstone commandsModule
93
- context: 'CORNERSTONE'
94
- }], 'Length Tool'), src/* ToolbarService */.Ok._createToolButton('Bidirectional', 'tool-bidirectional', 'Bidirectional', [{
95
- commandName: 'setToolActive',
96
- commandOptions: {
97
- toolName: 'Bidirectional'
98
- },
99
- context: 'CORNERSTONE'
100
- }, {
101
- commandName: 'setToolActive',
102
- commandOptions: {
103
- toolName: 'SRBidirectional',
104
- toolGroupId: 'SRToolGroup'
105
- },
106
- context: 'CORNERSTONE'
107
- }], 'Bidirectional Tool'), src/* ToolbarService */.Ok._createToolButton('ArrowAnnotate', 'tool-annotate', 'Annotation', [{
108
- commandName: 'setToolActive',
109
- commandOptions: {
110
- toolName: 'ArrowAnnotate'
111
- },
112
- context: 'CORNERSTONE'
113
- }, {
114
- commandName: 'setToolActive',
115
- commandOptions: {
116
- toolName: 'SRArrowAnnotate',
117
- toolGroupId: 'SRToolGroup'
118
- },
119
- context: 'CORNERSTONE'
120
- }], 'Arrow Annotate'), src/* ToolbarService */.Ok._createToolButton('EllipticalROI', 'tool-elipse', 'Ellipse', [{
121
- commandName: 'setToolActive',
122
- commandOptions: {
123
- toolName: 'EllipticalROI'
124
- },
125
- context: 'CORNERSTONE'
126
- }, {
127
- commandName: 'setToolActive',
128
- commandOptions: {
129
- toolName: 'SREllipticalROI',
130
- toolGroupId: 'SRToolGroup'
131
- },
132
- context: 'CORNERSTONE'
133
- }], 'Ellipse Tool'), src/* ToolbarService */.Ok._createToolButton('CircleROI', 'tool-circle', 'Circle', [{
134
- commandName: 'setToolActive',
135
- commandOptions: {
136
- toolName: 'CircleROI'
137
- },
138
- context: 'CORNERSTONE'
139
- }, {
140
- commandName: 'setToolActive',
141
- commandOptions: {
142
- toolName: 'SRCircleROI',
143
- toolGroupId: 'SRToolGroup'
144
- },
145
- context: 'CORNERSTONE'
146
- }], 'Circle Tool')]
76
+ items: [createButton({
77
+ id: 'Length',
78
+ icon: 'tool-length',
79
+ label: 'Length',
80
+ tooltip: 'Length Tool',
81
+ commands: setToolActiveToolbar,
82
+ evaluate: 'evaluate.cornerstoneTool'
83
+ }), createButton({
84
+ id: 'Bidirectional',
85
+ icon: 'tool-bidirectional',
86
+ label: 'Bidirectional',
87
+ tooltip: 'Bidirectional Tool',
88
+ commands: setToolActiveToolbar,
89
+ evaluate: 'evaluate.cornerstoneTool'
90
+ }), createButton({
91
+ id: 'ArrowAnnotate',
92
+ icon: 'tool-annotate',
93
+ label: 'Annotation',
94
+ tooltip: 'Arrow Annotate',
95
+ commands: setToolActiveToolbar,
96
+ evaluate: 'evaluate.cornerstoneTool'
97
+ }), createButton({
98
+ id: 'EllipticalROI',
99
+ icon: 'tool-ellipse',
100
+ label: 'Ellipse',
101
+ tooltip: 'Ellipse ROI',
102
+ commands: setToolActiveToolbar,
103
+ evaluate: 'evaluate.cornerstoneTool'
104
+ }), createButton({
105
+ id: 'CircleROI',
106
+ icon: 'tool-circle',
107
+ label: 'Circle',
108
+ tooltip: 'Circle Tool',
109
+ commands: setToolActiveToolbar,
110
+ evaluate: 'evaluate.cornerstoneTool'
111
+ }), createButton({
112
+ id: 'PlanarFreehandROI',
113
+ icon: 'icon-tool-freehand-roi',
114
+ label: 'Freehand ROI',
115
+ tooltip: 'Freehand ROI',
116
+ commands: setToolActiveToolbar,
117
+ evaluate: 'evaluate.cornerstoneTool'
118
+ }), createButton({
119
+ id: 'SplineROI',
120
+ icon: 'icon-tool-spline-roi',
121
+ label: 'Spline ROI',
122
+ tooltip: 'Spline ROI',
123
+ commands: setToolActiveToolbar,
124
+ evaluate: 'evaluate.cornerstoneTool'
125
+ }), createButton({
126
+ id: 'LivewireContour',
127
+ icon: 'icon-tool-livewire',
128
+ label: 'Livewire tool',
129
+ tooltip: 'Livewire tool',
130
+ commands: setToolActiveToolbar,
131
+ evaluate: 'evaluate.cornerstoneTool'
132
+ })]
147
133
  }
148
- },
149
- // Zoom..
150
- {
134
+ }, {
151
135
  id: 'Zoom',
152
- type: 'ohif.radioGroup',
136
+ uiType: 'ohif.radioGroup',
153
137
  props: {
154
- type: 'tool',
155
138
  icon: 'tool-zoom',
156
139
  label: 'Zoom',
157
- commands: [{
158
- commandName: 'setToolActive',
159
- commandOptions: {
160
- toolName: 'Zoom'
161
- },
162
- context: 'CORNERSTONE'
163
- }]
140
+ commands: setToolActiveToolbar,
141
+ evaluate: 'evaluate.cornerstoneTool'
164
142
  }
165
143
  },
166
- // Window Level + Presets...
144
+ // Window Level
167
145
  {
168
146
  id: 'WindowLevel',
169
- type: 'ohif.splitButton',
147
+ uiType: 'ohif.splitButton',
170
148
  props: {
171
149
  groupId: 'WindowLevel',
172
- primary: src/* ToolbarService */.Ok._createToolButton('WindowLevel', 'tool-window-level', 'Window Level', [{
173
- commandName: 'setToolActive',
174
- commandOptions: {
175
- toolName: 'WindowLevel'
176
- },
177
- context: 'CORNERSTONE'
178
- }], 'Window Level'),
150
+ primary: createButton({
151
+ id: 'WindowLevel',
152
+ icon: 'tool-window-level',
153
+ label: 'Window Level',
154
+ tooltip: 'Window Level',
155
+ commands: setToolActiveToolbar,
156
+ evaluate: 'evaluate.cornerstoneTool'
157
+ }),
179
158
  secondary: {
180
159
  icon: 'chevron-down',
181
160
  label: 'W/L Manual',
182
- isActive: true,
183
161
  tooltip: 'W/L Presets'
184
162
  },
185
- isAction: true,
186
- // ?
187
- renderer: ui_src/* WindowLevelMenuItem */.eJ,
163
+ renderer: ui_src/* WindowLevelMenuItem */.d4,
188
164
  items: [_createWwwcPreset(1, 'Soft tissue', '400 / 40'), _createWwwcPreset(2, 'Lung', '1500 / -600'), _createWwwcPreset(3, 'Liver', '150 / 90'), _createWwwcPreset(4, 'Bone', '2500 / 480'), _createWwwcPreset(5, 'Brain', '80 / 40')]
189
165
  }
190
166
  },
191
167
  // Pan...
192
168
  {
193
169
  id: 'Pan',
194
- type: 'ohif.radioGroup',
170
+ uiType: 'ohif.radioGroup',
195
171
  props: {
196
172
  type: 'tool',
197
173
  icon: 'tool-move',
198
174
  label: 'Pan',
175
+ commands: setToolActiveToolbar,
176
+ evaluate: 'evaluate.cornerstoneTool'
177
+ }
178
+ }, {
179
+ id: 'MPR',
180
+ uiType: 'ohif.radioGroup',
181
+ props: {
182
+ icon: 'icon-mpr',
183
+ label: 'MPR',
199
184
  commands: [{
200
- commandName: 'setToolActive',
185
+ commandName: 'toggleHangingProtocol',
201
186
  commandOptions: {
202
- toolName: 'Pan'
203
- },
204
- context: 'CORNERSTONE'
205
- }]
187
+ protocolId: 'mpr'
188
+ }
189
+ }],
190
+ evaluate: 'evaluate.mpr'
191
+ }
192
+ }, {
193
+ id: 'TrackBallRotate',
194
+ type: 'ohif.radioGroup',
195
+ props: {
196
+ type: 'tool',
197
+ icon: 'tool-3d-rotate',
198
+ label: '3D Rotate',
199
+ commands: setToolActiveToolbar
206
200
  }
207
201
  }, {
208
202
  id: 'Capture',
209
- type: 'ohif.action',
203
+ uiType: 'ohif.radioGroup',
210
204
  props: {
211
205
  icon: 'tool-capture',
212
206
  label: 'Capture',
213
- type: 'action',
214
- commands: [{
215
- commandName: 'showDownloadViewportModal',
216
- commandOptions: {},
217
- context: 'CORNERSTONE'
218
- }]
207
+ commands: 'showDownloadViewportModal',
208
+ evaluate: 'evaluate.action'
219
209
  }
220
210
  }, {
221
211
  id: 'Layout',
222
- type: 'ohif.splitButton',
212
+ uiType: 'ohif.layoutSelector',
223
213
  props: {
224
- groupId: 'LayoutTools',
225
- isRadio: false,
226
- primary: {
227
- id: 'Layout',
228
- type: 'action',
229
- uiType: 'ohif.layoutSelector',
230
- icon: 'tool-layout',
231
- label: 'Grid Layout',
232
- props: {
233
- rows: 4,
234
- columns: 4,
235
- commands: [{
236
- commandName: 'setLayout',
237
- commandOptions: {},
238
- context: 'CORNERSTONE'
239
- }]
240
- }
241
- },
242
- secondary: {
243
- icon: 'chevron-down',
244
- label: '',
245
- isActive: true,
246
- tooltip: 'Hanging Protocols'
247
- },
248
- items: [{
249
- id: '2x2',
250
- type: 'action',
251
- label: '2x2',
252
- commands: [{
253
- commandName: 'setHangingProtocol',
254
- commandOptions: {
255
- protocolId: '@ohif/mnGrid',
256
- stageId: '2x2'
257
- },
258
- context: 'DEFAULT'
259
- }]
260
- }, {
261
- id: '3x1',
262
- type: 'action',
263
- label: '3x1',
264
- commands: [{
265
- commandName: 'setHangingProtocol',
266
- commandOptions: {
267
- protocolId: '@ohif/mnGrid',
268
- stageId: '3x1'
269
- },
270
- context: 'DEFAULT'
271
- }]
272
- }, {
273
- id: '2x1',
274
- type: 'action',
275
- label: '2x1',
276
- commands: [{
277
- commandName: 'setHangingProtocol',
278
- commandOptions: {
279
- protocolId: '@ohif/mnGrid',
280
- stageId: '2x1'
281
- },
282
- context: 'DEFAULT'
283
- }]
284
- }, {
285
- id: '1x1',
286
- type: 'action',
287
- label: '1x1',
288
- commands: [{
289
- commandName: 'setHangingProtocol',
290
- commandOptions: {
291
- protocolId: '@ohif/mnGrid',
292
- stageId: '1x1'
293
- },
294
- context: 'DEFAULT'
295
- }]
296
- }]
297
- }
298
- }, {
299
- id: 'MPR',
300
- type: 'ohif.action',
301
- props: {
302
- type: 'toggle',
303
- icon: 'icon-mpr',
304
- label: 'MPR',
305
- commands: [{
306
- commandName: 'toggleHangingProtocol',
307
- commandOptions: {
308
- protocolId: 'mpr'
309
- }
310
- }]
214
+ rows: 3,
215
+ columns: 4,
216
+ evaluate: 'evaluate.action',
217
+ commands: 'setViewportGridLayout'
311
218
  }
312
219
  }, {
313
220
  id: 'Crosshairs',
314
- type: 'ohif.radioGroup',
221
+ uiType: 'ohif.radioGroup',
315
222
  props: {
316
223
  type: 'tool',
317
224
  icon: 'tool-crosshair',
318
225
  label: 'Crosshairs',
319
- commands: [{
320
- commandName: 'setToolActive',
226
+ commands: {
227
+ commandName: 'setToolActiveToolbar',
321
228
  commandOptions: {
322
- toolGroupId: 'mpr',
323
- toolName: 'Crosshairs'
229
+ toolGroupIds: ['mpr']
324
230
  }
325
- }]
231
+ },
232
+ evaluate: 'evaluate.cornerstoneTool'
326
233
  }
327
234
  }];
328
235
  /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
329
236
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/package.json
330
- const package_namespaceObject = JSON.parse('{"u2":"@ohif/mode-test"}');
237
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/mode-test"}');
331
238
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/id.js
332
239
 
333
- const id = package_namespaceObject.u2;
240
+ const id = package_namespaceObject.UU;
334
241
 
335
242
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/initToolGroups.ts
336
243
  function initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, toolGroupId) {
@@ -378,6 +285,8 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
378
285
  toolName: toolNames.Bidirectional
379
286
  }, {
380
287
  toolName: toolNames.DragProbe
288
+ }, {
289
+ toolName: toolNames.Probe
381
290
  }, {
382
291
  toolName: toolNames.EllipticalROI
383
292
  }, {
@@ -392,8 +301,21 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
392
301
  toolName: toolNames.Magnify
393
302
  }, {
394
303
  toolName: toolNames.SegmentationDisplay
304
+ }, {
305
+ toolName: toolNames.AdvancedMagnify
306
+ }, {
307
+ toolName: toolNames.UltrasoundDirectional
308
+ }, {
309
+ toolName: toolNames.PlanarFreehandROI
310
+ }, {
311
+ toolName: toolNames.SplineROI
312
+ }, {
313
+ toolName: toolNames.LivewireContour
395
314
  }],
396
315
  // enabled
316
+ enabled: [{
317
+ toolName: toolNames.ImageOverlayViewer
318
+ }],
397
319
  // disabled
398
320
  disabled: [{
399
321
  toolName: toolNames.ReferenceLines
@@ -448,7 +370,6 @@ function initSRToolGroup(extensionManager, toolGroupService, commandsManager) {
448
370
  }]
449
371
  // disabled
450
372
  };
451
-
452
373
  const toolGroupId = 'SRToolGroup';
453
374
  toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
454
375
  }
@@ -497,6 +418,8 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
497
418
  toolName: toolNames.Bidirectional
498
419
  }, {
499
420
  toolName: toolNames.DragProbe
421
+ }, {
422
+ toolName: toolNames.Probe
500
423
  }, {
501
424
  toolName: toolNames.EllipticalROI
502
425
  }, {
@@ -526,178 +449,220 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
526
449
  // enabled
527
450
  // disabled
528
451
  };
529
-
530
452
  toolGroupService.createToolGroupAndAddTools('mpr', tools);
531
453
  }
454
+ function initVolume3DToolGroup(extensionManager, toolGroupService) {
455
+ const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.tools');
456
+ const {
457
+ toolNames,
458
+ Enums
459
+ } = utilityModule.exports;
460
+ const tools = {
461
+ active: [{
462
+ toolName: toolNames.TrackballRotateTool,
463
+ bindings: [{
464
+ mouseButton: Enums.MouseBindings.Primary
465
+ }]
466
+ }, {
467
+ toolName: toolNames.Zoom,
468
+ bindings: [{
469
+ mouseButton: Enums.MouseBindings.Secondary
470
+ }]
471
+ }, {
472
+ toolName: toolNames.Pan,
473
+ bindings: [{
474
+ mouseButton: Enums.MouseBindings.Auxiliary
475
+ }]
476
+ }]
477
+ };
478
+ toolGroupService.createToolGroupAndAddTools('volume3d', tools);
479
+ }
532
480
  function initToolGroups(extensionManager, toolGroupService, commandsManager) {
533
481
  initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default');
534
482
  initSRToolGroup(extensionManager, toolGroupService, commandsManager);
535
483
  initMPRToolGroup(extensionManager, toolGroupService, commandsManager);
484
+ initVolume3DToolGroup(extensionManager, toolGroupService);
536
485
  }
537
486
  /* 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);
487
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 327 modules
488
+ var esm = __webpack_require__(44656);
540
489
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/moreTools.ts
541
490
 
542
491
 
543
- const ReferenceLinesCommands = [{
492
+
493
+ const {
494
+ createButton: moreTools_createButton
495
+ } = src.ToolbarService;
496
+ const ReferenceLinesListeners = [{
544
497
  commandName: 'setSourceViewportForReferenceLinesTool',
545
498
  context: 'CORNERSTONE'
546
- }, {
547
- commandName: 'setToolActive',
548
- commandOptions: {
549
- toolName: 'ReferenceLines'
550
- },
551
- context: 'CORNERSTONE'
552
499
  }];
500
+ const toggleEnabledDisabledToolbar = {
501
+ commandName: 'toggleEnabledDisabledToolbar',
502
+ commandOptions: {
503
+ toolGroupIds: ['default', 'mpr', 'SRToolGroup', 'volume3d']
504
+ }
505
+ };
553
506
  const moreTools = [{
554
507
  id: 'MoreTools',
555
- type: 'ohif.splitButton',
508
+ uiType: 'ohif.splitButton',
556
509
  props: {
557
- isRadio: true,
558
- // ?
559
510
  groupId: 'MoreTools',
560
- primary: src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
561
- commandName: 'resetViewport'
562
- }], 'Reset'),
511
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
512
+ primary: moreTools_createButton({
513
+ id: 'Reset',
514
+ icon: 'tool-reset',
515
+ tooltip: 'Reset View',
516
+ label: 'Reset',
517
+ commands: 'resetViewport',
518
+ evaluate: 'evaluate.action'
519
+ }),
563
520
  secondary: {
564
521
  icon: 'chevron-down',
565
522
  label: '',
566
- isActive: true,
567
523
  tooltip: 'More Tools'
568
524
  },
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', {
525
+ items: [moreTools_createButton({
526
+ id: 'Reset',
527
+ icon: 'tool-reset',
528
+ label: 'Reset View',
529
+ tooltip: 'Reset View',
530
+ commands: 'resetViewport',
531
+ evaluate: 'evaluate.action'
532
+ }), moreTools_createButton({
533
+ id: 'rotate-right',
534
+ icon: 'tool-rotate-right',
535
+ label: 'Rotate Right',
536
+ tooltip: 'Rotate +90',
537
+ commands: 'rotateViewportCW',
538
+ evaluate: 'evaluate.action'
539
+ }), moreTools_createButton({
540
+ id: 'flipHorizontal',
541
+ icon: 'tool-flip-horizontal',
542
+ label: 'Flip Horizontal',
543
+ tooltip: 'Flip Horizontally',
544
+ commands: 'flipViewportHorizontal',
545
+ evaluate: 'evaluate.viewportProperties.toggle'
546
+ }), moreTools_createButton({
547
+ id: 'ImageSliceSync',
548
+ icon: 'link',
549
+ label: 'Image Slice Sync',
550
+ tooltip: 'Enable position synchronization on stack viewports',
551
+ commands: {
552
+ commandName: 'toggleSynchronizer',
553
+ commandOptions: {
554
+ type: 'imageSlice'
555
+ }
556
+ },
582
557
  listeners: {
583
558
  [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
584
- commandName: 'toggleStackImageSync',
559
+ commandName: 'toggleImageSliceSync',
585
560
  commandOptions: {
586
561
  toggledState: true
587
562
  }
588
563
  }
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
564
  },
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'
565
+ evaluate: 'evaluate.cornerstone.synchronizer'
566
+ }), moreTools_createButton({
567
+ id: 'ReferenceLines',
568
+ icon: 'tool-referenceLines',
569
+ label: 'Reference Lines',
570
+ tooltip: 'Show Reference Lines',
571
+ commands: toggleEnabledDisabledToolbar,
572
+ listeners: {
573
+ [src/* ViewportGridService */.sI.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners,
574
+ [src/* ViewportGridService */.sI.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners
632
575
  },
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')]
576
+ evaluate: 'evaluate.cornerstoneTool.toggle'
577
+ }), moreTools_createButton({
578
+ id: 'ImageOverlayViewer',
579
+ icon: 'toggle-dicom-overlay',
580
+ label: 'Image Overlay',
581
+ tooltip: 'Toggle Image Overlay',
582
+ commands: toggleEnabledDisabledToolbar,
583
+ evaluate: 'evaluate.cornerstoneTool.toggle'
584
+ }), moreTools_createButton({
585
+ id: 'StackScroll',
586
+ icon: 'tool-stack-scroll',
587
+ label: 'Stack Scroll',
588
+ tooltip: 'Stack Scroll',
589
+ commands: setToolActiveToolbar,
590
+ evaluate: 'evaluate.cornerstoneTool'
591
+ }), moreTools_createButton({
592
+ id: 'invert',
593
+ icon: 'tool-invert',
594
+ label: 'Invert',
595
+ tooltip: 'Invert Colors',
596
+ commands: 'invertViewport',
597
+ evaluate: 'evaluate.viewportProperties.toggle'
598
+ }), moreTools_createButton({
599
+ id: 'Probe',
600
+ icon: 'tool-probe',
601
+ label: 'Probe',
602
+ tooltip: 'Probe',
603
+ commands: setToolActiveToolbar,
604
+ evaluate: 'evaluate.cornerstoneTool'
605
+ }), moreTools_createButton({
606
+ id: 'Cine',
607
+ icon: 'tool-cine',
608
+ label: 'Cine',
609
+ tooltip: 'Cine',
610
+ commands: 'toggleCine',
611
+ evaluate: 'evaluate.cine'
612
+ }), moreTools_createButton({
613
+ id: 'Angle',
614
+ icon: 'tool-angle',
615
+ label: 'Angle',
616
+ tooltip: 'Angle',
617
+ commands: setToolActiveToolbar,
618
+ evaluate: 'evaluate.cornerstoneTool'
619
+ }), moreTools_createButton({
620
+ id: 'Magnify',
621
+ icon: 'tool-magnify',
622
+ label: 'Magnify',
623
+ tooltip: 'Magnify',
624
+ commands: setToolActiveToolbar,
625
+ evaluate: 'evaluate.cornerstoneTool'
626
+ }), moreTools_createButton({
627
+ id: 'RectangleROI',
628
+ icon: 'tool-rectangle',
629
+ label: 'Rectangle',
630
+ tooltip: 'Rectangle',
631
+ commands: setToolActiveToolbar,
632
+ evaluate: 'evaluate.cornerstoneTool'
633
+ }), moreTools_createButton({
634
+ id: 'CalibrationLine',
635
+ icon: 'tool-calibration',
636
+ label: 'Calibration',
637
+ tooltip: 'Calibration Line',
638
+ commands: setToolActiveToolbar,
639
+ evaluate: 'evaluate.cornerstoneTool'
640
+ }), moreTools_createButton({
641
+ id: 'TagBrowser',
642
+ icon: 'dicom-tag-browser',
643
+ label: 'Dicom Tag Browser',
644
+ tooltip: 'Dicom Tag Browser',
645
+ commands: 'openDICOMTagViewer'
646
+ }), moreTools_createButton({
647
+ id: 'AdvancedMagnify',
648
+ icon: 'icon-tool-loupe',
649
+ label: 'Loupe',
650
+ tooltip: 'Loupe',
651
+ commands: setToolActiveToolbar,
652
+ evaluate: 'evaluate.cornerstoneTool'
653
+ }), moreTools_createButton({
654
+ id: 'UltrasoundDirectionalTool',
655
+ icon: 'icon-tool-ultrasound-bidirectional',
656
+ label: 'Ultrasound Directional',
657
+ tooltip: 'Ultrasound Directional',
658
+ commands: setToolActiveToolbar,
659
+ evaluate: ['evaluate.cornerstoneTool', 'evaluate.isUS']
660
+ })]
639
661
  }
640
662
  }];
641
663
  /* 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);
664
+ // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
665
+ var i18next = __webpack_require__(92344);
701
666
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/index.ts
702
667
 
703
668
 
@@ -709,8 +674,6 @@ const moreToolsMpr = [{
709
674
  // Allow this mode by excluding non-imaging modalities such as SR, SEG
710
675
  // Also, SM is not a simple imaging modalities, so exclude it.
711
676
  const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG'];
712
- const DEFAULT_TOOL_GROUP_ID = 'default';
713
- const MPR_TOOL_GROUP_ID = 'mpr';
714
677
  const ohif = {
715
678
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
716
679
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
@@ -755,16 +718,15 @@ function modeFactory() {
755
718
  // We should not be.
756
719
  id: id,
757
720
  routeName: 'basic-test',
758
- displayName: 'Basic Test Mode',
721
+ displayName: i18next/* default */.A.t('Modes:Basic Test Mode'),
759
722
  /**
760
723
  * Lifecycle hooks
761
724
  */
762
- onModeEnter: _ref => {
763
- let {
764
- servicesManager,
765
- extensionManager,
766
- commandsManager
767
- } = _ref;
725
+ onModeEnter: ({
726
+ servicesManager,
727
+ extensionManager,
728
+ commandsManager
729
+ }) => {
768
730
  const {
769
731
  measurementService,
770
732
  toolbarService,
@@ -778,47 +740,22 @@ function modeFactory() {
778
740
 
779
741
  // init customizations
780
742
  customizationService.addModeCustomizations(['@ohif/extension-test.customizationModule.custom-context-menu']);
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
- });
794
- const activateTool = () => {
795
- toolbarService.recordInteraction(toolbarService.getDefaultTool());
796
-
797
- // We don't need to reset the active tool whenever a viewport is getting
798
- // added to the toolGroup.
799
- unsubscribe();
800
- };
801
-
802
- // Since we only have one viewport for the basic cs3d mode and it has
803
- // only one hanging protocol, we can just use the first viewport
804
- ({
805
- unsubscribe
806
- } = toolGroupService.subscribe(toolGroupService.EVENTS.VIEWPORT_ADDED, activateTool));
807
- toolbarService.init(extensionManager);
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']);
743
+ toolbarService.addButtons([...src_toolbarButtons, ...src_moreTools]);
744
+ toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreTools']);
811
745
  },
812
- onModeExit: _ref2 => {
813
- let {
814
- servicesManager
815
- } = _ref2;
746
+ onModeExit: ({
747
+ servicesManager
748
+ }) => {
816
749
  const {
817
750
  toolGroupService,
818
751
  syncGroupService,
819
752
  segmentationService,
820
- cornerstoneViewportService
753
+ cornerstoneViewportService,
754
+ uiDialogService,
755
+ uiModalService
821
756
  } = servicesManager.services;
757
+ uiDialogService.dismissAll();
758
+ uiModalService.hide();
822
759
  toolGroupService.destroy();
823
760
  syncGroupService.destroy();
824
761
  segmentationService.destroy();
@@ -828,14 +765,16 @@ function modeFactory() {
828
765
  study: [],
829
766
  series: []
830
767
  },
831
- isValidMode: function (_ref3) {
832
- let {
833
- modalities
834
- } = _ref3;
768
+ isValidMode: function ({
769
+ modalities
770
+ }) {
835
771
  const modalities_list = modalities.split('\\');
836
772
 
837
773
  // Exclude non-image modalities
838
- return !!modalities_list.filter(modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1).length;
774
+ return {
775
+ valid: !!modalities_list.filter(modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1).length,
776
+ description: 'The mode does not support studies that ONLY include the following modalities: SM, ECG, SR, SEG'
777
+ };
839
778
  },
840
779
  routes: [{
841
780
  path: 'basic-test',
@@ -848,7 +787,7 @@ function modeFactory() {
848
787
  props: {
849
788
  leftPanels: [tracked.thumbnailList],
850
789
  rightPanels: [dicomSeg.panel, tracked.measurements],
851
- // rightPanelDefaultClosed: true, // optional prop to start with collapse panels
790
+ // rightPanelClosed: true, // optional prop to start with collapse panels
852
791
  viewports: [{
853
792
  namespace: tracked.viewport,
854
793
  displaySetsToDisplay: [ohif.sopClassHandler]
@@ -881,7 +820,7 @@ function modeFactory() {
881
820
  // Don't store the hotkeys for basic-test-mode under the same key
882
821
  // because they get customized by tests
883
822
  name: 'basic-test-hotkeys',
884
- hotkeys: [...src/* hotkeys */.dD.defaults.hotkeyBindings]
823
+ hotkeys: [...src/* hotkeys */.ot.defaults.hotkeyBindings]
885
824
  }
886
825
  };
887
826
  }
@@ -892,13 +831,6 @@ const mode = {
892
831
  };
893
832
  /* harmony default export */ const basic_test_mode_src = (mode);
894
833
 
895
- /***/ }),
896
-
897
- /***/ 78753:
898
- /***/ (() => {
899
-
900
- /* (ignored) */
901
-
902
834
  /***/ })
903
835
 
904
836
  }]);