@ohif/app 3.8.0-beta.8 → 3.8.0-beta.81

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.47f05840a5b3cdf75543.js} +94 -113
  3. package/dist/141.bundle.556b4c1e4cab770417ac.js +8620 -0
  4. package/dist/{687.bundle.9065db35c01823286f08.js → 164.bundle.fadc7c5d634402c73b5f.js} +22 -38
  5. package/dist/17dd54813d5acc10bf8f.wasm +0 -0
  6. package/dist/183.bundle.a3e238998be71c4b2af8.js +30410 -0
  7. package/dist/{506.bundle.5731bb4349e266491225.js → 188.bundle.51dc4b37920f45594393.js} +23 -28
  8. package/dist/{342.bundle.e7c3d500f86fdfcc62b5.js → 206.bundle.fcaa081a0d1f68095c31.js} +1991 -1145
  9. package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
  10. package/dist/217.bundle.d44bbaa50b6fa563fe15.js +115126 -0
  11. package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.5ace95771ced62bdcab8.js} +111 -128
  12. package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
  13. package/dist/{19.bundle.f77c5787b6d8ac0b638b.js → 325.bundle.fd8e0c18db4708d03a91.js} +477 -373
  14. package/dist/335.bundle.8400aa5a88697a6b9d53.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.0905b258a90a7c6437bb.js} +7453 -3624
  17. package/dist/422.bundle.c6fd037b075dd54f1ba7.js +865 -0
  18. package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 433.bundle.e0018820758f5a86fa7f.js} +14797 -27561
  19. package/dist/445.bundle.38c6d2af64e41cd7c614.js +7835 -0
  20. package/dist/{126.bundle.6e7111d58bcc937ffd80.js → 448.bundle.5e6da31477887bf53016.js} +356 -430
  21. package/dist/487.bundle.89d973049defb3ba6cb7.js +1876 -0
  22. package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.207b38c15c4c01e4db0e.js} +104 -121
  23. package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1c1f57118560046649c1.js} +37 -62
  24. package/dist/574.bundle.d648fea691d6709bf2b4.js +2652 -0
  25. package/dist/{181.css → 574.css} +1 -1
  26. package/dist/{410.bundle.15c855b0ff4a1a674fb8.js → 594.bundle.84076375b127b9c7f673.js} +183 -221
  27. package/dist/{221.bundle.aef554202c58483cb34e.js → 633.bundle.acab89baaa06a299d679.js} +365 -553
  28. package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
  29. package/dist/{663.bundle.d7be28450db14266cdd0.js → 669.bundle.b17e8a621e38d92c653f.js} +310 -265
  30. package/dist/699.bundle.9367d7ef9f7615b2e733.js +772 -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.55f9f49816de931af91a.js} +165 -260
  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.d32ab08e64806b2e964d.js} +81 -97
  37. package/dist/{236.bundle.4e9924934a747afac132.js → 889.bundle.8ef8b723d0163d5d135c.js} +207 -199
  38. package/dist/{281.bundle.deb7492d143e7768d8bf.js → 905.bundle.8a96e1a75b7cfe5ec093.js} +157 -124
  39. package/dist/{814.bundle.c8c951d20039b63b865a.js → 907.bundle.5c88ed911bed18582da4.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.f5f2479c214180d05d42.js +778 -0
  43. package/dist/{12.bundle.b5ca13e5363f170ecb3b.js → 961.bundle.f4e52bc76d3044d05372.js} +20 -33
  44. package/dist/app-config.js +1 -0
  45. package/dist/app.bundle.css +16 -13
  46. package/dist/{app.bundle.a978edc59b9d82f2eb22.js → app.bundle.ed937512f7d19d61c411.js} +183396 -87682
  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.f1a6ece1396dc1385155.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',
223
- 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',
212
+ uiType: 'ohif.layoutSelector',
301
213
  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,11 +301,24 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage
392
301
  toolName: toolNames.Magnify
393
302
  }, {
394
303
  toolName: toolNames.SegmentationDisplay
304
+ }, {
305
+ toolName: toolNames.UltrasoundDirectional
306
+ }, {
307
+ toolName: toolNames.PlanarFreehandROI
308
+ }, {
309
+ toolName: toolNames.SplineROI
310
+ }, {
311
+ toolName: toolNames.LivewireContour
395
312
  }],
396
313
  // enabled
314
+ enabled: [{
315
+ toolName: toolNames.ImageOverlayViewer
316
+ }],
397
317
  // disabled
398
318
  disabled: [{
399
319
  toolName: toolNames.ReferenceLines
320
+ }, {
321
+ toolName: toolNames.AdvancedMagnify
400
322
  }]
401
323
  };
402
324
  toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
@@ -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,214 @@ 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
  }];
553
500
  const moreTools = [{
554
501
  id: 'MoreTools',
555
- type: 'ohif.splitButton',
502
+ uiType: 'ohif.splitButton',
556
503
  props: {
557
- isRadio: true,
558
- // ?
559
504
  groupId: 'MoreTools',
560
- primary: src/* ToolbarService */.Ok._createActionButton('Reset', 'tool-reset', 'Reset View', [{
561
- commandName: 'resetViewport'
562
- }], 'Reset'),
505
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
506
+ primary: moreTools_createButton({
507
+ id: 'Reset',
508
+ icon: 'tool-reset',
509
+ tooltip: 'Reset View',
510
+ label: 'Reset',
511
+ commands: 'resetViewport',
512
+ evaluate: 'evaluate.action'
513
+ }),
563
514
  secondary: {
564
515
  icon: 'chevron-down',
565
516
  label: '',
566
- isActive: true,
567
517
  tooltip: 'More Tools'
568
518
  },
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', {
519
+ items: [moreTools_createButton({
520
+ id: 'Reset',
521
+ icon: 'tool-reset',
522
+ label: 'Reset View',
523
+ tooltip: 'Reset View',
524
+ commands: 'resetViewport',
525
+ evaluate: 'evaluate.action'
526
+ }), moreTools_createButton({
527
+ id: 'rotate-right',
528
+ icon: 'tool-rotate-right',
529
+ label: 'Rotate Right',
530
+ tooltip: 'Rotate +90',
531
+ commands: 'rotateViewportCW',
532
+ evaluate: 'evaluate.action'
533
+ }), moreTools_createButton({
534
+ id: 'flipHorizontal',
535
+ icon: 'tool-flip-horizontal',
536
+ label: 'Flip Horizontal',
537
+ tooltip: 'Flip Horizontally',
538
+ commands: 'flipViewportHorizontal',
539
+ evaluate: 'evaluate.viewportProperties.toggle'
540
+ }), moreTools_createButton({
541
+ id: 'ImageSliceSync',
542
+ icon: 'link',
543
+ label: 'Image Slice Sync',
544
+ tooltip: 'Enable position synchronization on stack viewports',
545
+ commands: {
546
+ commandName: 'toggleSynchronizer',
547
+ commandOptions: {
548
+ type: 'imageSlice'
549
+ }
550
+ },
582
551
  listeners: {
583
552
  [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
584
- commandName: 'toggleStackImageSync',
553
+ commandName: 'toggleImageSliceSync',
585
554
  commandOptions: {
586
555
  toggledState: true
587
556
  }
588
557
  }
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
558
  },
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'
559
+ evaluate: 'evaluate.cornerstone.synchronizer'
560
+ }), moreTools_createButton({
561
+ id: 'ReferenceLines',
562
+ icon: 'tool-referenceLines',
563
+ label: 'Reference Lines',
564
+ tooltip: 'Show Reference Lines',
565
+ commands: 'toggleEnabledDisabledToolbar',
566
+ listeners: {
567
+ [src/* ViewportGridService */.sI.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners,
568
+ [src/* ViewportGridService */.sI.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners
632
569
  },
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')]
570
+ evaluate: 'evaluate.cornerstoneTool.toggle'
571
+ }), moreTools_createButton({
572
+ id: 'ImageOverlayViewer',
573
+ icon: 'toggle-dicom-overlay',
574
+ label: 'Image Overlay',
575
+ tooltip: 'Toggle Image Overlay',
576
+ commands: 'toggleEnabledDisabledToolbar',
577
+ evaluate: 'evaluate.cornerstoneTool.toggle'
578
+ }), moreTools_createButton({
579
+ id: 'StackScroll',
580
+ icon: 'tool-stack-scroll',
581
+ label: 'Stack Scroll',
582
+ tooltip: 'Stack Scroll',
583
+ commands: setToolActiveToolbar,
584
+ evaluate: 'evaluate.cornerstoneTool'
585
+ }), moreTools_createButton({
586
+ id: 'invert',
587
+ icon: 'tool-invert',
588
+ label: 'Invert',
589
+ tooltip: 'Invert Colors',
590
+ commands: 'invertViewport',
591
+ evaluate: 'evaluate.viewportProperties.toggle'
592
+ }), moreTools_createButton({
593
+ id: 'Probe',
594
+ icon: 'tool-probe',
595
+ label: 'Probe',
596
+ tooltip: 'Probe',
597
+ commands: setToolActiveToolbar,
598
+ evaluate: 'evaluate.cornerstoneTool'
599
+ }), moreTools_createButton({
600
+ id: 'Cine',
601
+ icon: 'tool-cine',
602
+ label: 'Cine',
603
+ tooltip: 'Cine',
604
+ commands: 'toggleCine',
605
+ evaluate: 'evaluate.cine'
606
+ }), moreTools_createButton({
607
+ id: 'Angle',
608
+ icon: 'tool-angle',
609
+ label: 'Angle',
610
+ tooltip: 'Angle',
611
+ commands: setToolActiveToolbar,
612
+ evaluate: 'evaluate.cornerstoneTool'
613
+ }), moreTools_createButton({
614
+ id: 'Magnify',
615
+ icon: 'tool-magnify',
616
+ label: 'Magnify',
617
+ tooltip: 'Magnify',
618
+ commands: setToolActiveToolbar,
619
+ evaluate: 'evaluate.cornerstoneTool'
620
+ }), moreTools_createButton({
621
+ id: 'RectangleROI',
622
+ icon: 'tool-rectangle',
623
+ label: 'Rectangle',
624
+ tooltip: 'Rectangle',
625
+ commands: setToolActiveToolbar,
626
+ evaluate: 'evaluate.cornerstoneTool'
627
+ }), moreTools_createButton({
628
+ id: 'CalibrationLine',
629
+ icon: 'tool-calibration',
630
+ label: 'Calibration',
631
+ tooltip: 'Calibration Line',
632
+ commands: setToolActiveToolbar,
633
+ evaluate: 'evaluate.cornerstoneTool'
634
+ }), moreTools_createButton({
635
+ id: 'TagBrowser',
636
+ icon: 'dicom-tag-browser',
637
+ label: 'Dicom Tag Browser',
638
+ tooltip: 'Dicom Tag Browser',
639
+ commands: 'openDICOMTagViewer'
640
+ }), moreTools_createButton({
641
+ id: 'AdvancedMagnify',
642
+ icon: 'icon-tool-loupe',
643
+ label: 'Loupe',
644
+ tooltip: 'Loupe',
645
+ commands: 'toggleActiveDisabledToolbar',
646
+ evaluate: 'evaluate.cornerstoneTool.toggle.ifStrictlyDisabled'
647
+ }), moreTools_createButton({
648
+ id: 'UltrasoundDirectionalTool',
649
+ icon: 'icon-tool-ultrasound-bidirectional',
650
+ label: 'Ultrasound Directional',
651
+ tooltip: 'Ultrasound Directional',
652
+ commands: setToolActiveToolbar,
653
+ evaluate: ['evaluate.cornerstoneTool', 'evaluate.isUS']
654
+ })]
639
655
  }
640
656
  }];
641
657
  /* 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);
658
+ // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
659
+ var i18next = __webpack_require__(92344);
701
660
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/index.ts
702
661
 
703
662
 
@@ -709,8 +668,6 @@ const moreToolsMpr = [{
709
668
  // Allow this mode by excluding non-imaging modalities such as SR, SEG
710
669
  // Also, SM is not a simple imaging modalities, so exclude it.
711
670
  const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG'];
712
- const DEFAULT_TOOL_GROUP_ID = 'default';
713
- const MPR_TOOL_GROUP_ID = 'mpr';
714
671
  const ohif = {
715
672
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
716
673
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
@@ -755,16 +712,15 @@ function modeFactory() {
755
712
  // We should not be.
756
713
  id: id,
757
714
  routeName: 'basic-test',
758
- displayName: 'Basic Test Mode',
715
+ displayName: i18next/* default */.A.t('Modes:Basic Test Mode'),
759
716
  /**
760
717
  * Lifecycle hooks
761
718
  */
762
- onModeEnter: _ref => {
763
- let {
764
- servicesManager,
765
- extensionManager,
766
- commandsManager
767
- } = _ref;
719
+ onModeEnter: ({
720
+ servicesManager,
721
+ extensionManager,
722
+ commandsManager
723
+ }) => {
768
724
  const {
769
725
  measurementService,
770
726
  toolbarService,
@@ -778,47 +734,22 @@ function modeFactory() {
778
734
 
779
735
  // init customizations
780
736
  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']);
737
+ toolbarService.addButtons([...src_toolbarButtons, ...src_moreTools]);
738
+ toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreTools']);
811
739
  },
812
- onModeExit: _ref2 => {
813
- let {
814
- servicesManager
815
- } = _ref2;
740
+ onModeExit: ({
741
+ servicesManager
742
+ }) => {
816
743
  const {
817
744
  toolGroupService,
818
745
  syncGroupService,
819
746
  segmentationService,
820
- cornerstoneViewportService
747
+ cornerstoneViewportService,
748
+ uiDialogService,
749
+ uiModalService
821
750
  } = servicesManager.services;
751
+ uiDialogService.dismissAll();
752
+ uiModalService.hide();
822
753
  toolGroupService.destroy();
823
754
  syncGroupService.destroy();
824
755
  segmentationService.destroy();
@@ -828,14 +759,16 @@ function modeFactory() {
828
759
  study: [],
829
760
  series: []
830
761
  },
831
- isValidMode: function (_ref3) {
832
- let {
833
- modalities
834
- } = _ref3;
762
+ isValidMode: function ({
763
+ modalities
764
+ }) {
835
765
  const modalities_list = modalities.split('\\');
836
766
 
837
767
  // Exclude non-image modalities
838
- return !!modalities_list.filter(modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1).length;
768
+ return {
769
+ valid: !!modalities_list.filter(modality => NON_IMAGE_MODALITIES.indexOf(modality) === -1).length,
770
+ description: 'The mode does not support studies that ONLY include the following modalities: SM, ECG, SR, SEG'
771
+ };
839
772
  },
840
773
  routes: [{
841
774
  path: 'basic-test',
@@ -848,7 +781,7 @@ function modeFactory() {
848
781
  props: {
849
782
  leftPanels: [tracked.thumbnailList],
850
783
  rightPanels: [dicomSeg.panel, tracked.measurements],
851
- // rightPanelDefaultClosed: true, // optional prop to start with collapse panels
784
+ // rightPanelClosed: true, // optional prop to start with collapse panels
852
785
  viewports: [{
853
786
  namespace: tracked.viewport,
854
787
  displaySetsToDisplay: [ohif.sopClassHandler]
@@ -881,7 +814,7 @@ function modeFactory() {
881
814
  // Don't store the hotkeys for basic-test-mode under the same key
882
815
  // because they get customized by tests
883
816
  name: 'basic-test-hotkeys',
884
- hotkeys: [...src/* hotkeys */.dD.defaults.hotkeyBindings]
817
+ hotkeys: [...src/* hotkeys */.ot.defaults.hotkeyBindings]
885
818
  }
886
819
  };
887
820
  }
@@ -892,13 +825,6 @@ const mode = {
892
825
  };
893
826
  /* harmony default export */ const basic_test_mode_src = (mode);
894
827
 
895
- /***/ }),
896
-
897
- /***/ 78753:
898
- /***/ (() => {
899
-
900
- /* (ignored) */
901
-
902
828
  /***/ })
903
829
 
904
830
  }]);