@ohif/app 3.8.0-beta.63 → 3.8.0-beta.65

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 (33) hide show
  1. package/dist/{121.bundle.f6c25e845985d96c423c.js → 121.bundle.fda405f29003c308ce09.js} +4 -4
  2. package/dist/{155.bundle.9e3dd18c9a3961232504.js → 155.bundle.a57744809d0f46030ee0.js} +12 -7
  3. package/dist/{188.bundle.528e9ad81159c776affa.js → 188.bundle.c448aed48915741e9f97.js} +2 -2
  4. package/dist/{270.bundle.fd387adff5b064fca506.js → 270.bundle.16ac8114c5c4ce006f4a.js} +51 -28
  5. package/dist/{295.bundle.c132f53e1397ef9d432a.js → 295.bundle.57700cd41fd87e1521b4.js} +4 -4
  6. package/dist/{339.bundle.591a0a6075220b14c249.js → 339.bundle.57dac3644803cefe3e3d.js} +27 -69
  7. package/dist/{68.bundle.efc5ba2a44aa2b96ee1a.js → 41.bundle.58b85dd990fb6fac615e.js} +280 -494
  8. package/dist/{250.bundle.d8b502b7ef6afc79a87e.js → 448.bundle.d195aba3aef25ec286d1.js} +284 -388
  9. package/dist/{530.bundle.ef1ea9d98f7b377a9d3a.js → 530.bundle.72d9812f117036615a38.js} +2 -2
  10. package/dist/{544.bundle.05b543f28d0c124950ef.js → 544.bundle.c3009e245ceb1554c70a.js} +5 -17
  11. package/dist/{559.bundle.fc08eab02848a451ed34.js → 559.bundle.05bd51e94422a2cab116.js} +6 -10
  12. package/dist/{594.bundle.3a5fa2e7d5636ddccb32.js → 594.bundle.14b122ab995e4b13e652.js} +147 -188
  13. package/dist/{50.bundle.55ad62f1f656f5fd5a36.js → 638.bundle.a63003e18bed65f227bb.js} +159 -395
  14. package/dist/699.bundle.efc67171e6d212f25a24.js +774 -0
  15. package/dist/{963.bundle.874395d7b2d80f9e5831.js → 701.bundle.bc40f1a7d5d6b1a4dd38.js} +554 -215
  16. package/dist/{724.bundle.294a41af83a5af33f3cc.js → 724.bundle.3945f8d2e9c8b0b23628.js} +86 -164
  17. package/dist/{862.bundle.c8eba798644149650775.js → 862.bundle.d787dac01f4567560a42.js} +2 -2
  18. package/dist/{889.bundle.a776c87be9e3580f3437.js → 889.bundle.ffc727aa6d1a74f2138d.js} +180 -207
  19. package/dist/{704.bundle.842ada45436f1fb029aa.js → 90.bundle.abde898ebd3c74f521f9.js} +323 -334
  20. package/dist/{905.bundle.73a711d0255cb988fa6e.js → 905.bundle.6b5b42b2403e4676bb3a.js} +119 -89
  21. package/dist/{907.bundle.6932f0458b9e0143c18a.js → 907.bundle.fbd5768fa5b53f9d3f86.js} +2 -14
  22. package/dist/{961.bundle.6cf1599ed3a2871c040f.js → 961.bundle.8bb5a713fc5a3817c6a6.js} +2 -15
  23. package/dist/{987.bundle.e7c041a6dfb4ddb41813.js → 987.bundle.91d4867efedd5b4d84cb.js} +5 -1
  24. package/dist/{app.bundle.22ffa6050ebef98b2066.js → app.bundle.0c24b249dc8b631916ef.js} +2234 -980
  25. package/dist/app.bundle.css +1 -1
  26. package/dist/index.html +1 -1
  27. package/dist/{polySeg.bundle.99be036bab9b7f011b0c.js → polySeg.bundle.c1cec6312eb6c6dc3701.js} +1 -1
  28. package/dist/sw.js +1 -1
  29. package/package.json +17 -17
  30. package/dist/317.bundle.dd0879c5035c4b90fad3.js +0 -562
  31. /package/dist/{164.bundle.710b5db3fef4d536a59f.js → 164.bundle.ff12d6019a627cda2a6c.js} +0 -0
  32. /package/dist/{50.css → 638.css} +0 -0
  33. /package/dist/{963.css → 701.css} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[250],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[448],{
3
3
 
4
- /***/ 11250:
4
+ /***/ 14448:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -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 + 66 modules
16
- var src = __webpack_require__(14283);
17
- // EXTERNAL MODULE: ../../ui/src/index.js + 489 modules
18
- var ui_src = __webpack_require__(6804);
15
+ // EXTERNAL MODULE: ../../core/src/index.ts + 67 modules
16
+ var src = __webpack_require__(78198);
17
+ // EXTERNAL MODULE: ../../ui/src/index.js + 497 modules
18
+ var ui_src = __webpack_require__(58046);
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__(6804);
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,144 +48,97 @@ 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 */.hx._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 */.hx._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 */.hx._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 */.hx._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 */.hx._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 */.hx._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
+ })]
147
112
  }
148
- },
149
- // Zoom..
150
- {
113
+ }, {
151
114
  id: 'Zoom',
152
- type: 'ohif.radioGroup',
115
+ uiType: 'ohif.radioGroup',
153
116
  props: {
154
- type: 'tool',
155
117
  icon: 'tool-zoom',
156
118
  label: 'Zoom',
157
- commands: [{
158
- commandName: 'setToolActive',
159
- commandOptions: {
160
- toolName: 'Zoom'
161
- },
162
- context: 'CORNERSTONE'
163
- }]
119
+ commands: setToolActiveToolbar,
120
+ evaluate: 'evaluate.cornerstoneTool'
164
121
  }
165
122
  },
166
123
  // Window Level + Presets...
167
124
  {
168
125
  id: 'WindowLevel',
169
- type: 'ohif.splitButton',
126
+ uiType: 'ohif.splitButton',
170
127
  props: {
171
128
  groupId: 'WindowLevel',
172
- primary: src/* ToolbarService */.hx._createToolButton('WindowLevel', 'tool-window-level', 'Window Level', [{
173
- commandName: 'setToolActive',
174
- commandOptions: {
175
- toolName: 'WindowLevel'
176
- },
177
- context: 'CORNERSTONE'
178
- }], 'Window Level'),
129
+ primary: createButton({
130
+ id: 'WindowLevel',
131
+ icon: 'tool-window-level',
132
+ label: 'Window Level',
133
+ tooltip: 'Window Level',
134
+ commands: setToolActiveToolbar,
135
+ evaluate: 'evaluate.cornerstoneTool'
136
+ }),
179
137
  secondary: {
180
138
  icon: 'chevron-down',
181
139
  label: 'W/L Manual',
182
- isActive: true,
183
140
  tooltip: 'W/L Presets'
184
141
  },
185
- isAction: true,
186
- // ?
187
142
  renderer: ui_src/* WindowLevelMenuItem */.d4,
188
143
  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
144
  }
@@ -191,138 +146,77 @@ const toolbarButtons = [
191
146
  // Pan...
192
147
  {
193
148
  id: 'Pan',
194
- type: 'ohif.radioGroup',
149
+ uiType: 'ohif.radioGroup',
195
150
  props: {
196
151
  type: 'tool',
197
152
  icon: 'tool-move',
198
153
  label: 'Pan',
154
+ commands: setToolActiveToolbar,
155
+ evaluate: 'evaluate.cornerstoneTool'
156
+ }
157
+ }, {
158
+ id: 'MPR',
159
+ uiType: 'ohif.radioGroup',
160
+ props: {
161
+ icon: 'icon-mpr',
162
+ label: 'MPR',
163
+ commands: [{
164
+ commandName: 'toggleHangingProtocol',
165
+ commandOptions: {
166
+ protocolId: 'mpr'
167
+ }
168
+ }],
169
+ evaluate: 'evaluate.mpr'
170
+ }
171
+ }, {
172
+ id: 'TrackBallRotate',
173
+ type: 'ohif.radioGroup',
174
+ props: {
175
+ type: 'tool',
176
+ icon: 'tool-3d-rotate',
177
+ label: '3D Rotate',
199
178
  commands: [{
200
179
  commandName: 'setToolActive',
201
180
  commandOptions: {
202
- toolName: 'Pan'
181
+ toolName: 'TrackBallRotate'
203
182
  },
204
183
  context: 'CORNERSTONE'
205
184
  }]
206
185
  }
207
186
  }, {
208
187
  id: 'Capture',
209
- type: 'ohif.action',
188
+ uiType: 'ohif.radioGroup',
210
189
  props: {
211
190
  icon: 'tool-capture',
212
191
  label: 'Capture',
213
- type: 'action',
214
192
  commands: [{
215
- commandName: 'showDownloadViewportModal',
216
- commandOptions: {},
217
- context: 'CORNERSTONE'
218
- }]
193
+ commandName: 'showDownloadViewportModal'
194
+ }],
195
+ evaluate: 'evaluate.action'
219
196
  }
220
197
  }, {
221
198
  id: 'Layout',
222
- type: 'ohif.splitButton',
199
+ uiType: 'ohif.layoutSelector',
223
200
  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
- }]
201
+ rows: 3,
202
+ columns: 4,
203
+ evaluate: 'evaluate.action',
204
+ commands: 'setViewportGridLayout'
311
205
  }
312
206
  }, {
313
207
  id: 'Crosshairs',
314
- type: 'ohif.radioGroup',
208
+ uiType: 'ohif.radioGroup',
315
209
  props: {
316
210
  type: 'tool',
317
211
  icon: 'tool-crosshair',
318
212
  label: 'Crosshairs',
319
- commands: [{
320
- commandName: 'setToolActive',
213
+ commands: {
214
+ commandName: 'setToolActiveToolbar',
321
215
  commandOptions: {
322
- toolGroupId: 'mpr',
323
- toolName: 'Crosshairs'
216
+ toolGroupIds: ['mpr']
324
217
  }
325
- }]
218
+ },
219
+ evaluate: 'evaluate.cornerstoneTool'
326
220
  }
327
221
  }];
328
222
  /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
@@ -530,10 +424,37 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
530
424
  };
531
425
  toolGroupService.createToolGroupAndAddTools('mpr', tools);
532
426
  }
427
+ function initVolume3DToolGroup(extensionManager, toolGroupService) {
428
+ const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.tools');
429
+ const {
430
+ toolNames,
431
+ Enums
432
+ } = utilityModule.exports;
433
+ const tools = {
434
+ active: [{
435
+ toolName: toolNames.TrackballRotateTool,
436
+ bindings: [{
437
+ mouseButton: Enums.MouseBindings.Primary
438
+ }]
439
+ }, {
440
+ toolName: toolNames.Zoom,
441
+ bindings: [{
442
+ mouseButton: Enums.MouseBindings.Secondary
443
+ }]
444
+ }, {
445
+ toolName: toolNames.Pan,
446
+ bindings: [{
447
+ mouseButton: Enums.MouseBindings.Auxiliary
448
+ }]
449
+ }]
450
+ };
451
+ toolGroupService.createToolGroupAndAddTools('volume3d', tools);
452
+ }
533
453
  function initToolGroups(extensionManager, toolGroupService, commandsManager) {
534
454
  initDefaultToolGroup(extensionManager, toolGroupService, commandsManager, 'default');
535
455
  initSRToolGroup(extensionManager, toolGroupService, commandsManager);
536
456
  initMPRToolGroup(extensionManager, toolGroupService, commandsManager);
457
+ initVolume3DToolGroup(extensionManager, toolGroupService);
537
458
  }
538
459
  /* harmony default export */ const src_initToolGroups = (initToolGroups);
539
460
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 383 modules
@@ -541,45 +462,65 @@ var esm = __webpack_require__(50719);
541
462
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/moreTools.ts
542
463
 
543
464
 
544
- const ReferenceLinesCommands = [{
465
+
466
+ const {
467
+ createButton: moreTools_createButton
468
+ } = src.ToolbarService;
469
+ const ReferenceLinesListeners = [{
545
470
  commandName: 'setSourceViewportForReferenceLinesTool',
546
471
  context: 'CORNERSTONE'
547
- }, {
548
- commandName: 'setToolActive',
549
- commandOptions: {
550
- toolName: 'ReferenceLines'
551
- },
552
- context: 'CORNERSTONE'
553
472
  }];
554
473
  const moreTools = [{
555
474
  id: 'MoreTools',
556
- type: 'ohif.splitButton',
475
+ uiType: 'ohif.splitButton',
557
476
  props: {
558
- isRadio: true,
559
- // ?
560
477
  groupId: 'MoreTools',
561
- primary: src/* ToolbarService */.hx._createActionButton('Reset', 'tool-reset', 'Reset View', [{
562
- commandName: 'resetViewport'
563
- }], 'Reset'),
478
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
479
+ primary: moreTools_createButton({
480
+ id: 'Reset',
481
+ icon: 'tool-reset',
482
+ tooltip: 'Reset View',
483
+ label: 'Reset',
484
+ commands: 'resetViewport',
485
+ evaluate: 'evaluate.action'
486
+ }),
564
487
  secondary: {
565
488
  icon: 'chevron-down',
566
489
  label: '',
567
- isActive: true,
568
490
  tooltip: 'More Tools'
569
491
  },
570
- items: [src/* ToolbarService */.hx._createActionButton('Reset', 'tool-reset', 'Reset View', [{
571
- commandName: 'resetViewport'
572
- }], 'Reset'), src/* ToolbarService */.hx._createActionButton('rotate-right', 'tool-rotate-right', 'Rotate Right', [{
573
- commandName: 'rotateViewportCW',
574
- commandOptions: {},
575
- context: 'CORNERSTONE'
576
- }], 'Rotate +90'), src/* ToolbarService */.hx._createActionButton('flip-horizontal', 'tool-flip-horizontal', 'Flip Horizontally', [{
577
- commandName: 'flipViewportHorizontal',
578
- commandOptions: {},
579
- context: 'CORNERSTONE'
580
- }], 'Flip Horizontally'), src/* ToolbarService */.hx._createToggleButton('ImageSliceSync', 'link', 'Image Slice Sync', [{
581
- commandName: 'toggleImageSliceSync'
582
- }], 'Enable position synchronization on stack viewports', {
492
+ items: [moreTools_createButton({
493
+ id: 'Reset',
494
+ icon: 'tool-reset',
495
+ label: 'Reset View',
496
+ tooltip: 'Reset View',
497
+ commands: 'resetViewport',
498
+ evaluate: 'evaluate.action'
499
+ }), moreTools_createButton({
500
+ id: 'rotate-right',
501
+ icon: 'tool-rotate-right',
502
+ label: 'Rotate Right',
503
+ tooltip: 'Rotate +90',
504
+ commands: 'rotateViewportCW',
505
+ evaluate: 'evaluate.action'
506
+ }), moreTools_createButton({
507
+ id: 'flipHorizontal',
508
+ icon: 'tool-flip-horizontal',
509
+ label: 'Flip Horizontal',
510
+ tooltip: 'Flip Horizontally',
511
+ commands: 'flipViewportHorizontal',
512
+ evaluate: 'evaluate.viewportProperties.toggle'
513
+ }), moreTools_createButton({
514
+ id: 'ImageSliceSync',
515
+ icon: 'link',
516
+ label: 'Image Slice Sync',
517
+ tooltip: 'Enable position synchronization on stack viewports',
518
+ commands: {
519
+ commandName: 'toggleSynchronizer',
520
+ commandOptions: {
521
+ type: 'imageSlice'
522
+ }
523
+ },
583
524
  listeners: {
584
525
  [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: {
585
526
  commandName: 'toggleImageSliceSync',
@@ -587,118 +528,104 @@ const moreTools = [{
587
528
  toggledState: true
588
529
  }
589
530
  }
590
- }
591
- }), src/* ToolbarService */.hx._createToggleButton('ReferenceLines', 'tool-referenceLines',
592
- // change this with the new icon
593
- 'Reference Lines', ReferenceLinesCommands, 'Show Reference Lines', {
594
- listeners: {
595
- [esm.EVENTS.STACK_VIEWPORT_NEW_STACK]: ReferenceLinesCommands,
596
- [esm.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesCommands
597
- }
598
- }), src/* ToolbarService */.hx._createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
599
- commandName: 'setToolActive',
600
- commandOptions: {
601
- toolName: 'StackScroll'
602
531
  },
603
- context: 'CORNERSTONE'
604
- }], 'Stack Scroll'), src/* ToolbarService */.hx._createActionButton('invert', 'tool-invert', 'Invert', [{
605
- commandName: 'invertViewport',
606
- commandOptions: {},
607
- context: 'CORNERSTONE'
608
- }], 'Invert Colors'), src/* ToolbarService */.hx._createToolButton('Probe', 'tool-probe', 'Probe', [{
609
- commandName: 'setToolActive',
610
- commandOptions: {
611
- toolName: 'DragProbe'
612
- },
613
- context: 'CORNERSTONE'
614
- }], 'Probe'), src/* ToolbarService */.hx._createToggleButton('cine', 'tool-cine', 'Cine', [{
615
- commandName: 'toggleCine',
616
- context: 'CORNERSTONE'
617
- }], 'Cine'), src/* ToolbarService */.hx._createToolButton('Angle', 'tool-angle', 'Angle', [{
618
- commandName: 'setToolActive',
619
- commandOptions: {
620
- toolName: 'Angle'
532
+ evaluate: 'evaluate.cornerstone.synchronizer'
533
+ }), moreTools_createButton({
534
+ id: 'ReferenceLines',
535
+ icon: 'tool-referenceLines',
536
+ label: 'Reference Lines',
537
+ tooltip: 'Show Reference Lines',
538
+ commands: {
539
+ commandName: 'setToolEnabled',
540
+ commandOptions: {
541
+ toolName: 'ReferenceLines',
542
+ toggle: true
543
+ }
621
544
  },
622
- context: 'CORNERSTONE'
623
- }], 'Angle'), src/* ToolbarService */.hx._createToolButton('Magnify', 'tool-magnify', 'Magnify', [{
624
- commandName: 'setToolActive',
625
- commandOptions: {
626
- toolName: 'Magnify'
545
+ listeners: {
546
+ [src/* ViewportGridService */.sI.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]: ReferenceLinesListeners,
547
+ [src/* ViewportGridService */.sI.EVENTS.VIEWPORTS_READY]: ReferenceLinesListeners
627
548
  },
628
- context: 'CORNERSTONE'
629
- }], 'Magnify'), src/* ToolbarService */.hx._createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
630
- commandName: 'setToolActive',
631
- commandOptions: {
632
- toolName: 'RectangleROI'
549
+ evaluate: 'evaluate.cornerstoneTool.toggle'
550
+ }), moreTools_createButton({
551
+ id: 'ImageOverlay',
552
+ icon: 'toggle-dicom-overlay',
553
+ label: 'Image Overlay',
554
+ tooltip: 'Toggle Image Overlay',
555
+ commands: {
556
+ commandName: 'setToolEnabled',
557
+ commandOptions: {
558
+ toolName: 'ImageOverlayViewer',
559
+ toggle: true
560
+ }
633
561
  },
634
- context: 'CORNERSTONE'
635
- }], 'Rectangle'), src/* ToolbarService */.hx._createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
636
- commandName: 'openDICOMTagViewer',
637
- commandOptions: {},
638
- context: 'DEFAULT'
639
- }], 'Dicom Tag Browser')]
562
+ evaluate: 'evaluate.cornerstoneTool.toggle'
563
+ }), moreTools_createButton({
564
+ id: 'StackScroll',
565
+ icon: 'tool-stack-scroll',
566
+ label: 'Stack Scroll',
567
+ tooltip: 'Stack Scroll',
568
+ commands: setToolActiveToolbar,
569
+ evaluate: 'evaluate.cornerstoneTool'
570
+ }), moreTools_createButton({
571
+ id: 'invert',
572
+ icon: 'tool-invert',
573
+ label: 'Invert',
574
+ tooltip: 'Invert Colors',
575
+ commands: 'invertViewport',
576
+ evaluate: 'evaluate.viewportProperties.toggle'
577
+ }), moreTools_createButton({
578
+ id: 'Probe',
579
+ icon: 'tool-probe',
580
+ label: 'Probe',
581
+ tooltip: 'Probe',
582
+ commands: setToolActiveToolbar,
583
+ evaluate: 'evaluate.cornerstoneTool'
584
+ }), moreTools_createButton({
585
+ id: 'Cine',
586
+ icon: 'tool-cine',
587
+ label: 'Cine',
588
+ tooltip: 'Cine',
589
+ commands: 'toggleCine',
590
+ evaluate: 'evaluate.cine'
591
+ }), moreTools_createButton({
592
+ id: 'Angle',
593
+ icon: 'tool-angle',
594
+ label: 'Angle',
595
+ tooltip: 'Angle',
596
+ commands: setToolActiveToolbar,
597
+ evaluate: 'evaluate.cornerstoneTool'
598
+ }), moreTools_createButton({
599
+ id: 'Magnify',
600
+ icon: 'tool-magnify',
601
+ label: 'Magnify',
602
+ tooltip: 'Magnify',
603
+ commands: setToolActiveToolbar,
604
+ evaluate: 'evaluate.cornerstoneTool'
605
+ }), moreTools_createButton({
606
+ id: 'RectangleROI',
607
+ icon: 'tool-rectangle',
608
+ label: 'Rectangle',
609
+ tooltip: 'Rectangle',
610
+ commands: setToolActiveToolbar,
611
+ evaluate: 'evaluate.cornerstoneTool'
612
+ }), moreTools_createButton({
613
+ id: 'CalibrationLine',
614
+ icon: 'tool-calibration',
615
+ label: 'Calibration',
616
+ tooltip: 'Calibration Line',
617
+ commands: setToolActiveToolbar,
618
+ evaluate: 'evaluate.cornerstoneTool'
619
+ }), moreTools_createButton({
620
+ id: 'TagBrowser',
621
+ icon: 'list-bullets',
622
+ label: 'Dicom Tag Browser',
623
+ tooltip: 'Dicom Tag Browser',
624
+ commands: 'openDICOMTagViewer'
625
+ })]
640
626
  }
641
627
  }];
642
628
  /* harmony default export */ const src_moreTools = (moreTools);
643
- ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/moreToolsMpr.ts
644
-
645
- const moreToolsMpr = [{
646
- id: 'MoreToolsMpr',
647
- type: 'ohif.splitButton',
648
- props: {
649
- isRadio: true,
650
- // ?
651
- groupId: 'MoreTools',
652
- primary: src/* ToolbarService */.hx._createActionButton('Reset', 'tool-reset', 'Reset View', [{
653
- commandName: 'resetViewport'
654
- }], 'Reset'),
655
- secondary: {
656
- icon: 'chevron-down',
657
- label: '',
658
- isActive: true,
659
- tooltip: 'More Tools'
660
- },
661
- items: [src/* ToolbarService */.hx._createActionButton('Reset', 'tool-reset', 'Reset View', [{
662
- commandName: 'resetViewport'
663
- }], 'Reset'), src/* ToolbarService */.hx._createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
664
- commandName: 'setToolActive',
665
- commandOptions: {
666
- toolName: 'StackScroll'
667
- },
668
- context: 'CORNERSTONE'
669
- }], 'Stack Scroll'), src/* ToolbarService */.hx._createActionButton('invert', 'tool-invert', 'Invert', [{
670
- commandName: 'invertViewport',
671
- commandOptions: {},
672
- context: 'CORNERSTONE'
673
- }], 'Invert Colors'), src/* ToolbarService */.hx._createToolButton('Probe', 'tool-probe', 'Probe', [{
674
- commandName: 'setToolActive',
675
- commandOptions: {
676
- toolName: 'DragProbe'
677
- },
678
- context: 'CORNERSTONE'
679
- }], 'Probe'), src/* ToolbarService */.hx._createToggleButton('cine', 'tool-cine', 'Cine', [{
680
- commandName: 'toggleCine',
681
- context: 'CORNERSTONE'
682
- }], 'Cine'), src/* ToolbarService */.hx._createToolButton('Angle', 'tool-angle', 'Angle', [{
683
- commandName: 'setToolActive',
684
- commandOptions: {
685
- toolName: 'Angle'
686
- },
687
- context: 'CORNERSTONE'
688
- }], 'Angle'), src/* ToolbarService */.hx._createToolButton('Rectangle', 'tool-rectangle', 'Rectangle', [{
689
- commandName: 'setToolActive',
690
- commandOptions: {
691
- toolName: 'RectangleROI'
692
- },
693
- context: 'CORNERSTONE'
694
- }], 'Rectangle'), src/* ToolbarService */.hx._createActionButton('TagBrowser', 'list-bullets', 'Dicom Tag Browser', [{
695
- commandName: 'openDICOMTagViewer',
696
- commandOptions: {},
697
- context: 'DEFAULT'
698
- }], 'Dicom Tag Browser')]
699
- }
700
- }];
701
- /* harmony default export */ const src_moreToolsMpr = (moreToolsMpr);
702
629
  // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
703
630
  var i18next = __webpack_require__(92344);
704
631
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/index.ts
@@ -709,12 +636,9 @@ var i18next = __webpack_require__(92344);
709
636
 
710
637
 
711
638
 
712
-
713
639
  // Allow this mode by excluding non-imaging modalities such as SR, SEG
714
640
  // Also, SM is not a simple imaging modalities, so exclude it.
715
641
  const NON_IMAGE_MODALITIES = ['SM', 'ECG', 'SR', 'SEG'];
716
- const DEFAULT_TOOL_GROUP_ID = 'default';
717
- const MPR_TOOL_GROUP_ID = 'mpr';
718
642
  const ohif = {
719
643
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
720
644
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
@@ -781,36 +705,8 @@ function modeFactory() {
781
705
 
782
706
  // init customizations
783
707
  customizationService.addModeCustomizations(['@ohif/extension-test.customizationModule.custom-context-menu']);
784
- let unsubscribe;
785
- toolbarService.setDefaultTool({
786
- groupId: 'WindowLevel',
787
- itemId: 'WindowLevel',
788
- interactionType: 'tool',
789
- commands: [{
790
- commandName: 'setToolActive',
791
- commandOptions: {
792
- toolName: 'WindowLevel'
793
- },
794
- context: 'CORNERSTONE'
795
- }]
796
- });
797
- const activateTool = () => {
798
- toolbarService.recordInteraction(toolbarService.getDefaultTool());
799
-
800
- // We don't need to reset the active tool whenever a viewport is getting
801
- // added to the toolGroup.
802
- unsubscribe();
803
- };
804
-
805
- // Since we only have one viewport for the basic cs3d mode and it has
806
- // only one hanging protocol, we can just use the first viewport
807
- ({
808
- unsubscribe
809
- } = toolGroupService.subscribe(toolGroupService.EVENTS.VIEWPORT_ADDED, activateTool));
810
- toolbarService.init(extensionManager);
811
- toolbarService.addButtons([...src_toolbarButtons, ...src_moreTools, ...src_moreToolsMpr]);
812
- toolbarService.createButtonSection(DEFAULT_TOOL_GROUP_ID, ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'MoreTools']);
813
- toolbarService.createButtonSection(MPR_TOOL_GROUP_ID, ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreToolsMpr']);
708
+ toolbarService.addButtons([...src_toolbarButtons, ...src_moreTools]);
709
+ toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Capture', 'Layout', 'MPR', 'Crosshairs', 'MoreTools']);
814
710
  },
815
711
  onModeExit: ({
816
712
  servicesManager