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

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 (93) hide show
  1. package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
  2. package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.21827fec690c01ee9ab3.js} +85 -112
  3. package/dist/{19.bundle.e5579df6d7b74af50b1d.js → 155.bundle.0dabe8513b605b01ac3d.js} +334 -287
  4. package/dist/{687.bundle.9d0330ea5d61fe3117da.js → 164.bundle.0b1a2be351543c1433e8.js} +22 -38
  5. package/dist/17dd54813d5acc10bf8f.wasm +0 -0
  6. package/dist/{506.bundle.ab8226d3d81abe874544.js → 188.bundle.81e83b073b6fd4ae0058.js} +23 -28
  7. package/dist/191.bundle.7d89c921abefd1140d50.js +30360 -0
  8. package/dist/{221.bundle.c2dc03d8fa4235dc1285.js → 2.bundle.04dbbf67a52fe109749c.js} +351 -546
  9. package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
  10. package/dist/290.bundle.952de53057f98e2c5ef0.js +8883 -0
  11. package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.3a0d5062d65296c4bf5d.js} +102 -127
  12. package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
  13. package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.6e49f63ea7cea4645c0a.js} +544 -860
  14. package/dist/41.bundle.6ec0794a483e9a30eb94.js +831 -0
  15. package/dist/425.bundle.ffcdde2143a5757926b9.js +2957 -0
  16. package/dist/425.css +2 -0
  17. package/dist/{126.bundle.42df2dafc9c0310da188.js → 448.bundle.9177b9d909654efbc8d5.js} +316 -427
  18. package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 504.bundle.993d7e2dec36257d4ce4.js} +14338 -27291
  19. package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.566bfd08dccb4cf6d98b.js} +75 -105
  20. package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1110b24e96863d719a95.js} +39 -56
  21. package/dist/{663.bundle.9f359963019cd8ccf8f9.js → 559.bundle.4f111410af43324629ca.js} +151 -147
  22. package/dist/{181.bundle.a62b9f0ec692299acb35.js → 574.bundle.83afbc7922736fc6846d.js} +1246 -289
  23. package/dist/{181.css → 574.css} +1 -1
  24. package/dist/{410.bundle.38c9d3820e152e89288e.js → 594.bundle.ffeebda1bb9a81182a80.js} +183 -221
  25. package/dist/{776.bundle.004382036bdbd8ee2b95.js → 595.bundle.1c1a50c4ff87763b786a.js} +3128 -1028
  26. package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
  27. package/dist/699.bundle.db05df7b8e2ad605e928.js +767 -0
  28. package/dist/{359.bundle.8abe0036a7bf6b5fd115.js → 724.bundle.eada9d6c23678a5a2947.js} +130 -254
  29. package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.c8de818cf1a3ff0cf7d2.js} +512 -879
  30. package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
  31. package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.959ef65b18c1d3b5e2b4.js} +77 -96
  32. package/dist/{236.bundle.c9e70d55e7b2574c1ecd.js → 889.bundle.67c6e5f988c9b1d289ef.js} +198 -197
  33. package/dist/{342.bundle.d9668551811e3a88aaa4.js → 90.bundle.f41c8c4fc78cdfd4de30.js} +1430 -1055
  34. package/dist/{281.bundle.16a2933086a57e60c96c.js → 905.bundle.eb821474b36b96b897f9.js} +155 -122
  35. package/dist/{814.bundle.a1aba9c1e3d336008351.js → 907.bundle.ca904d9747480a0e4bf1.js} +16 -30
  36. package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
  37. package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
  38. package/dist/{12.bundle.37a8b47d2ae587cb9226.js → 961.bundle.65967b1a4af002af1d1d.js} +16 -31
  39. package/dist/987.bundle.6bdfb3cd8762b8889632.js +122950 -0
  40. package/dist/app-config.js +1 -0
  41. package/dist/app.bundle.css +15 -13
  42. package/dist/{app.bundle.437d085e13599d1e1ced.js → app.bundle.e21e5afd46fb064cb5de.js} +147713 -61638
  43. package/dist/assets/images/CT-AAA.png +0 -0
  44. package/dist/assets/images/CT-AAA2.png +0 -0
  45. package/dist/assets/images/CT-Air.png +0 -0
  46. package/dist/assets/images/CT-Bone.png +0 -0
  47. package/dist/assets/images/CT-Bones.png +0 -0
  48. package/dist/assets/images/CT-Cardiac.png +0 -0
  49. package/dist/assets/images/CT-Cardiac2.png +0 -0
  50. package/dist/assets/images/CT-Cardiac3.png +0 -0
  51. package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
  52. package/dist/assets/images/CT-Chest-Vessels.png +0 -0
  53. package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
  54. package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
  55. package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
  56. package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
  57. package/dist/assets/images/CT-Fat.png +0 -0
  58. package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
  59. package/dist/assets/images/CT-Lung.png +0 -0
  60. package/dist/assets/images/CT-MIP.png +0 -0
  61. package/dist/assets/images/CT-Muscle.png +0 -0
  62. package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
  63. package/dist/assets/images/CT-Soft-Tissue.png +0 -0
  64. package/dist/assets/images/DTI-FA-Brain.png +0 -0
  65. package/dist/assets/images/MR-Angio.png +0 -0
  66. package/dist/assets/images/MR-Default.png +0 -0
  67. package/dist/assets/images/MR-MIP.png +0 -0
  68. package/dist/assets/images/MR-T2-Brain.png +0 -0
  69. package/dist/assets/images/VolumeRendering.png +0 -0
  70. package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
  71. package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
  72. package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
  73. package/dist/index.html +1 -1
  74. package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
  75. package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
  76. package/dist/polySeg.bundle.e7b4c29fb9173e8567b8.js +252 -0
  77. package/dist/serve.json +12 -0
  78. package/dist/sw.js +1 -1
  79. package/package.json +25 -22
  80. package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
  81. package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
  82. package/dist/613.bundle.aed640a7900dbcb688f5.js +0 -532
  83. package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
  84. package/dist/75788f12450d4c5ed494.wasm +0 -0
  85. package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
  86. package/dist/788.bundle.dcd53828d1bb2ac64d04.js +0 -2682
  87. package/dist/82.bundle.5a94dd7645e5c5476f59.js +0 -1049
  88. package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
  89. /package/dist/{19.css → 155.css} +0 -0
  90. /package/dist/{221.css → 2.css} +0 -0
  91. /package/dist/{579.css → 481.css} +0 -0
  92. /package/dist/{250.css → 544.css} +0 -0
  93. /package/dist/{776.css → 595.css} +0 -0
@@ -1,3 +1,3 @@
1
- .viewport-wrapper{height:100%;position:relative;width:100%}.cornerstone-viewport-element{background-color:#000;height:100%;outline:0!important;overflow:hidden;position:relative;width:100%}
1
+ .cornerstone-viewport-element,.viewport-wrapper{height:100%;position:relative;width:100%}.cornerstone-viewport-element{background-color:#000;outline:0!important;overflow:hidden}
2
2
  .viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
3
3
  .ViewportOrientationMarkers{--marker-width:100px;--marker-height:100px;--scrollbar-width:20px;font-size:15px;line-height:18px;pointer-events:none}.ViewportOrientationMarkers .orientation-marker{position:absolute}.ViewportOrientationMarkers .top-mid{left:50%;top:.6rem}.ViewportOrientationMarkers .left-mid{left:5px;top:47%}.ViewportOrientationMarkers .right-mid{left:calc(100% - var(--marker-width) - var(--scrollbar-width));top:47%}.ViewportOrientationMarkers .bottom-mid{left:47%;top:calc(100% - var(--marker-height) - .6rem)}.ViewportOrientationMarkers .right-mid .orientation-marker-value{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;min-width:var(--marker-width)}.ViewportOrientationMarkers .bottom-mid .orientation-marker-value{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;min-height:var(--marker-height)}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- (self["webpackChunk"] = self["webpackChunk"] || []).push([[410],{
2
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[594],{
3
3
 
4
- /***/ 15410:
4
+ /***/ 26594:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  // ESM COMPAT FLAG
@@ -12,51 +12,21 @@ __webpack_require__.d(__webpack_exports__, {
12
12
  "default": () => (/* binding */ basic_dev_mode_src)
13
13
  });
14
14
 
15
- // EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
16
- var src = __webpack_require__(22582);
17
- // EXTERNAL MODULE: ../../core/src/index.ts + 65 modules
18
- var core_src = __webpack_require__(71771);
15
+ // EXTERNAL MODULE: ../../ui/src/index.js + 542 modules
16
+ var src = __webpack_require__(48804);
17
+ // EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
18
+ var core_src = __webpack_require__(85073);
19
19
  ;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/src/toolbarButtons.js
20
- // TODO: torn, can either bake this here; or have to create a whole new button type
21
- // Only ways that you can pass in a custom React component for render :l
22
20
 
23
21
 
24
22
  const {
25
23
  windowLevelPresets
26
24
  } = core_src.defaults;
27
- /**
28
- *
29
- * @param {*} type - 'tool' | 'action' | 'toggle'
30
- * @param {*} id
31
- * @param {*} icon
32
- * @param {*} label
33
- */
34
- function _createButton(type, id, icon, label, commands, tooltip) {
35
- return {
36
- id,
37
- icon,
38
- label,
39
- type,
40
- commands,
41
- tooltip
42
- };
43
- }
44
- const _createActionButton = _createButton.bind(null, 'action');
45
- const _createToggleButton = _createButton.bind(null, 'toggle');
46
- const _createToolButton = _createButton.bind(null, 'tool');
47
-
48
- /**
49
- *
50
- * @param {*} preset - preset number (from above import)
51
- * @param {*} title
52
- * @param {*} subtitle
53
- */
54
25
  function _createWwwcPreset(preset, title, subtitle) {
55
26
  return {
56
27
  id: preset.toString(),
57
28
  title,
58
29
  subtitle,
59
- type: 'action',
60
30
  commands: [{
61
31
  commandName: 'setWindowLevel',
62
32
  commandOptions: {
@@ -66,197 +36,214 @@ function _createWwwcPreset(preset, title, subtitle) {
66
36
  }]
67
37
  };
68
38
  }
69
- const toolbarButtons = [
70
- // Measurement
71
- {
39
+ function _createSetToolActiveCommands(toolName, toolGroupIds = ['default', 'mpr']) {
40
+ return toolGroupIds.map(toolGroupId => ({
41
+ commandName: 'setToolActive',
42
+ commandOptions: {
43
+ toolGroupId,
44
+ toolName
45
+ },
46
+ context: 'CORNERSTONE'
47
+ }));
48
+ }
49
+ const toolbarButtons = [{
72
50
  id: 'MeasurementTools',
73
- type: 'ohif.splitButton',
51
+ uiType: 'ohif.splitButton',
74
52
  props: {
75
53
  groupId: 'MeasurementTools',
76
- isRadio: true,
77
- // ?
78
- // Switch?
79
- primary: _createToolButton('Length', 'tool-length', 'Length', [{
80
- commandName: 'setToolActive',
81
- commandOptions: {
82
- toolName: 'Length'
83
- },
84
- context: 'CORNERSTONE'
85
- }], 'Length'),
54
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
55
+ primary: core_src.ToolbarService.createButton({
56
+ id: 'Length',
57
+ icon: 'tool-length',
58
+ label: 'Length',
59
+ tooltip: 'Length Tool',
60
+ commands: _createSetToolActiveCommands('Length'),
61
+ evaluate: 'evaluate.cornerstoneTool'
62
+ }),
86
63
  secondary: {
87
64
  icon: 'chevron-down',
88
- label: '',
89
- isActive: true,
90
65
  tooltip: 'More Measure Tools'
91
66
  },
92
- items: [_createToolButton('Length', 'tool-length', 'Length', [{
93
- commandName: 'setToolActive',
94
- commandOptions: {
95
- toolName: 'Length'
96
- },
97
- context: 'CORNERSTONE'
98
- }], 'Length Tool'), _createToolButton('Bidirectional', 'tool-bidirectional', 'Bidirectional', [{
99
- commandName: 'setToolActive',
100
- commandOptions: {
101
- toolName: 'Bidirectional'
102
- },
103
- context: 'CORNERSTONE'
104
- }], 'Bidirectional Tool'), _createToolButton('EllipticalROI', 'tool-elipse', 'Ellipse', [{
105
- commandName: 'setToolActive',
106
- commandOptions: {
107
- toolName: 'EllipticalROI'
108
- },
109
- context: 'CORNERSTONE'
110
- }], 'Ellipse Tool'), _createToolButton('CircleROI', 'tool-circle', 'Circle', [{
111
- commandName: 'setToolActive',
112
- commandOptions: {
113
- toolName: 'CircleROI'
114
- },
115
- context: 'CORNERSTONE'
116
- }], 'Circle Tool')]
67
+ items: [core_src.ToolbarService.createButton({
68
+ id: 'Bidirectional',
69
+ icon: 'tool-bidirectional',
70
+ label: 'Bidirectional',
71
+ tooltip: 'Bidirectional Tool',
72
+ commands: _createSetToolActiveCommands('Bidirectional'),
73
+ evaluate: 'evaluate.cornerstoneTool'
74
+ }), core_src.ToolbarService.createButton({
75
+ id: 'EllipticalROI',
76
+ icon: 'tool-ellipse',
77
+ label: 'Ellipse',
78
+ tooltip: 'Ellipse ROI',
79
+ commands: _createSetToolActiveCommands('EllipticalROI'),
80
+ evaluate: 'evaluate.cornerstoneTool'
81
+ }), core_src.ToolbarService.createButton({
82
+ id: 'CircleROI',
83
+ icon: 'tool-circle',
84
+ label: 'Circle',
85
+ tooltip: 'Circle Tool',
86
+ commands: _createSetToolActiveCommands('CircleROI'),
87
+ evaluate: 'evaluate.cornerstoneTool'
88
+ })]
117
89
  }
118
- },
119
- // Zoom..
120
- {
90
+ }, {
121
91
  id: 'Zoom',
122
- type: 'ohif.radioGroup',
92
+ uiType: 'ohif.radioGroup',
123
93
  props: {
124
- type: 'tool',
125
94
  icon: 'tool-zoom',
126
95
  label: 'Zoom',
127
- commands: [{
128
- commandName: 'setToolActive',
129
- commandOptions: {
130
- toolName: 'Zoom'
131
- },
132
- context: 'CORNERSTONE'
133
- }]
96
+ commands: _createSetToolActiveCommands('Zoom'),
97
+ evaluate: 'evaluate.cornerstoneTool'
134
98
  }
135
- },
136
- // Window Level + Presets...
137
- {
99
+ }, {
138
100
  id: 'WindowLevel',
139
- type: 'ohif.splitButton',
101
+ uiType: 'ohif.splitButton',
140
102
  props: {
141
103
  groupId: 'WindowLevel',
142
- primary: _createToolButton('WindowLevel', 'tool-window-level', 'Window Level', [{
143
- commandName: 'setToolActive',
144
- commandOptions: {
145
- toolName: 'WindowLevel'
146
- },
147
- context: 'CORNERSTONE'
148
- }], 'Window Level'),
104
+ primary: core_src.ToolbarService.createButton({
105
+ id: 'WindowLevel',
106
+ icon: 'tool-window-level',
107
+ label: 'Window Level',
108
+ tooltip: 'Window Level',
109
+ commands: _createSetToolActiveCommands('WindowLevel'),
110
+ evaluate: 'evaluate.cornerstoneTool'
111
+ }),
149
112
  secondary: {
150
113
  icon: 'chevron-down',
151
- label: 'W/L Manual',
152
- isActive: true,
153
114
  tooltip: 'W/L Presets'
154
115
  },
155
- isAction: true,
156
- // ?
157
- renderer: src/* WindowLevelMenuItem */.eJ,
116
+ renderer: src/* WindowLevelMenuItem */.d4,
158
117
  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')]
159
118
  }
160
- },
161
- // Pan...
162
- {
119
+ }, {
163
120
  id: 'Pan',
164
- type: 'ohif.radioGroup',
121
+ uiType: 'ohif.radioGroup',
165
122
  props: {
166
- type: 'tool',
167
123
  icon: 'tool-move',
168
124
  label: 'Pan',
169
- commands: [{
170
- commandName: 'setToolActive',
171
- commandOptions: {
172
- toolName: 'Pan'
173
- },
174
- context: 'CORNERSTONE'
175
- }]
125
+ commands: _createSetToolActiveCommands('Pan'),
126
+ evaluate: 'evaluate.cornerstoneTool'
176
127
  }
177
128
  }, {
178
129
  id: 'Capture',
179
- type: 'ohif.action',
130
+ uiType: 'ohif.radioGroup',
180
131
  props: {
181
132
  icon: 'tool-capture',
182
133
  label: 'Capture',
183
- type: 'action',
184
134
  commands: [{
185
135
  commandName: 'showDownloadViewportModal',
186
- commandOptions: {},
187
136
  context: 'CORNERSTONE'
188
- }]
137
+ }],
138
+ evaluate: 'evaluate.action'
189
139
  }
190
140
  }, {
191
141
  id: 'Layout',
192
- type: 'ohif.layoutSelector'
193
- },
194
- // More...
195
- {
142
+ uiType: 'ohif.layoutSelector',
143
+ props: {
144
+ rows: 3,
145
+ columns: 4,
146
+ evaluate: 'evaluate.action',
147
+ commands: [{
148
+ commandName: 'setViewportGridLayout'
149
+ }]
150
+ }
151
+ }, {
196
152
  id: 'MoreTools',
197
- type: 'ohif.splitButton',
153
+ uiType: 'ohif.splitButton',
198
154
  props: {
199
- isRadio: true,
200
- // ?
201
155
  groupId: 'MoreTools',
202
- primary: _createActionButton('Reset', 'tool-reset', 'Reset View', [{
203
- commandName: 'resetViewport',
204
- commandOptions: {},
205
- context: 'CORNERSTONE'
206
- }], 'Reset'),
156
+ evaluate: 'evaluate.group.promoteToPrimaryIfCornerstoneToolNotActiveInTheList',
157
+ primary: core_src.ToolbarService.createButton({
158
+ id: 'Reset',
159
+ icon: 'tool-reset',
160
+ label: 'Reset View',
161
+ tooltip: 'Reset View',
162
+ commands: [{
163
+ commandName: 'resetViewport',
164
+ context: 'CORNERSTONE'
165
+ }],
166
+ evaluate: 'evaluate.action'
167
+ }),
207
168
  secondary: {
208
169
  icon: 'chevron-down',
209
- label: '',
210
- isActive: true,
211
170
  tooltip: 'More Tools'
212
171
  },
213
- items: [_createActionButton('Reset', 'tool-reset', 'Reset View', [{
214
- commandName: 'resetViewport',
215
- commandOptions: {},
216
- context: 'CORNERSTONE'
217
- }], 'Reset'), _createActionButton('rotate-right', 'tool-rotate-right', 'Rotate Right', [{
218
- commandName: 'rotateViewportCW',
219
- commandOptions: {},
220
- context: 'CORNERSTONE'
221
- }], 'Rotate +90'), _createActionButton('flip-horizontal', 'tool-flip-horizontal', 'Flip Horizontally', [{
222
- commandName: 'flipViewportHorizontal',
223
- commandOptions: {},
224
- context: 'CORNERSTONE'
225
- }], 'Flip Horizontal'), _createToolButton('StackScroll', 'tool-stack-scroll', 'Stack Scroll', [{
226
- commandName: 'setToolActive',
227
- commandOptions: {
228
- toolName: 'StackScroll'
229
- },
230
- context: 'CORNERSTONE'
231
- }], 'Stack Scroll'), _createActionButton('invert', 'tool-invert', 'Invert', [{
232
- commandName: 'invertViewport',
233
- commandOptions: {},
234
- context: 'CORNERSTONE'
235
- }], 'Invert Colors'), _createToolButton('CalibrationLine', 'tool-calibration', 'Calibration', [{
236
- commandName: 'setToolActive',
237
- commandOptions: {
238
- toolName: 'CalibrationLine'
239
- },
240
- context: 'CORNERSTONE'
241
- }], 'Calibration Line')]
172
+ items: [core_src.ToolbarService.createButton({
173
+ id: 'Reset',
174
+ icon: 'tool-reset',
175
+ label: 'Reset View',
176
+ tooltip: 'Reset View',
177
+ commands: [{
178
+ commandName: 'resetViewport',
179
+ context: 'CORNERSTONE'
180
+ }],
181
+ evaluate: 'evaluate.action'
182
+ }), core_src.ToolbarService.createButton({
183
+ id: 'RotateRight',
184
+ icon: 'tool-rotate-right',
185
+ label: 'Rotate Right',
186
+ tooltip: 'Rotate Right +90',
187
+ commands: [{
188
+ commandName: 'rotateViewportCW',
189
+ context: 'CORNERSTONE'
190
+ }],
191
+ evaluate: 'evaluate.action'
192
+ }), core_src.ToolbarService.createButton({
193
+ id: 'FlipHorizontal',
194
+ icon: 'tool-flip-horizontal',
195
+ label: 'Flip Horizontally',
196
+ tooltip: 'Flip Horizontally',
197
+ commands: [{
198
+ commandName: 'flipViewportHorizontal',
199
+ context: 'CORNERSTONE'
200
+ }],
201
+ evaluate: 'evaluate.action'
202
+ }), core_src.ToolbarService.createButton({
203
+ id: 'StackScroll',
204
+ icon: 'tool-stack-scroll',
205
+ label: 'Stack Scroll',
206
+ tooltip: 'Stack Scroll',
207
+ commands: _createSetToolActiveCommands('StackScroll'),
208
+ evaluate: 'evaluate.cornerstoneTool'
209
+ }), core_src.ToolbarService.createButton({
210
+ id: 'Invert',
211
+ icon: 'tool-invert',
212
+ label: 'Invert Colors',
213
+ tooltip: 'Invert Colors',
214
+ commands: [{
215
+ commandName: 'invertViewport',
216
+ context: 'CORNERSTONE'
217
+ }],
218
+ evaluate: 'evaluate.action'
219
+ }), core_src.ToolbarService.createButton({
220
+ id: 'CalibrationLine',
221
+ icon: 'tool-calibration',
222
+ label: 'Calibration Line',
223
+ tooltip: 'Calibration Line',
224
+ commands: _createSetToolActiveCommands('CalibrationLine'),
225
+ evaluate: 'evaluate.cornerstoneTool'
226
+ })]
242
227
  }
243
228
  }];
244
229
  /* harmony default export */ const src_toolbarButtons = (toolbarButtons);
245
230
  ;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/package.json
246
- const package_namespaceObject = JSON.parse('{"u2":"@ohif/mode-basic-dev-mode"}');
231
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/mode-basic-dev-mode"}');
247
232
  ;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/src/id.js
248
233
 
249
- const id = package_namespaceObject.u2;
234
+ const id = package_namespaceObject.UU;
250
235
 
236
+ // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
237
+ var i18next = __webpack_require__(92344);
251
238
  ;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/src/index.js
252
239
 
253
240
 
254
241
 
242
+
255
243
  const configs = {
256
244
  Length: {}
257
245
  //
258
246
  };
259
-
260
247
  const ohif = {
261
248
  layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
262
249
  sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
@@ -285,22 +272,20 @@ const extensionDependencies = {
285
272
  '@ohif/extension-dicom-pdf': '^3.0.1',
286
273
  '@ohif/extension-dicom-video': '^3.0.1'
287
274
  };
288
- function modeFactory(_ref) {
289
- let {
290
- modeConfiguration
291
- } = _ref;
275
+ function modeFactory({
276
+ modeConfiguration
277
+ }) {
292
278
  return {
293
279
  id: id,
294
280
  routeName: 'dev',
295
- displayName: 'Basic Dev Viewer',
281
+ displayName: i18next/* default */.A.t('Modes:Basic Dev Viewer'),
296
282
  /**
297
283
  * Lifecycle hooks
298
284
  */
299
- onModeEnter: _ref2 => {
300
- let {
301
- servicesManager,
302
- extensionManager
303
- } = _ref2;
285
+ onModeEnter: ({
286
+ servicesManager,
287
+ extensionManager
288
+ }) => {
304
289
  const {
305
290
  toolbarService,
306
291
  toolGroupService
@@ -353,71 +338,48 @@ function modeFactory(_ref) {
353
338
  }]
354
339
  // disabled
355
340
  };
356
-
357
- const toolGroupId = 'default';
358
- toolGroupService.createToolGroupAndAddTools(toolGroupId, tools);
359
- let unsubscribe;
360
- const activateTool = () => {
361
- toolbarService.recordInteraction({
362
- groupId: 'WindowLevel',
363
- interactionType: 'tool',
364
- commands: [{
365
- commandName: 'setToolActive',
366
- commandOptions: {
367
- toolName: 'WindowLevel'
368
- },
369
- context: 'CORNERSTONE'
370
- }]
371
- });
372
-
373
- // We don't need to reset the active tool whenever a viewport is getting
374
- // added to the toolGroup.
375
- unsubscribe();
376
- };
377
-
378
- // Since we only have one viewport for the basic cs3d mode and it has
379
- // only one hanging protocol, we can just use the first viewport
380
- ({
381
- unsubscribe
382
- } = toolGroupService.subscribe(toolGroupService.EVENTS.VIEWPORT_ADDED, activateTool));
383
- toolbarService.init(extensionManager);
341
+ toolGroupService.createToolGroupAndAddTools('default', tools);
384
342
  toolbarService.addButtons(src_toolbarButtons);
385
343
  toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Pan', 'Layout', 'MoreTools']);
386
344
  },
387
- onModeExit: _ref3 => {
388
- let {
389
- servicesManager
390
- } = _ref3;
345
+ onModeExit: ({
346
+ servicesManager
347
+ }) => {
391
348
  const {
392
349
  toolGroupService,
393
350
  measurementService,
394
- toolbarService
351
+ toolbarService,
352
+ uiDialogService,
353
+ uiModalService
395
354
  } = servicesManager.services;
355
+ uiDialogService.dismissAll();
356
+ uiModalService.hide();
396
357
  toolGroupService.destroy();
397
358
  },
398
359
  validationTags: {
399
360
  study: [],
400
361
  series: []
401
362
  },
402
- isValidMode: _ref4 => {
403
- let {
404
- modalities
405
- } = _ref4;
363
+ isValidMode: ({
364
+ modalities
365
+ }) => {
406
366
  const modalities_list = modalities.split('\\');
407
367
 
408
368
  // Slide Microscopy modality not supported by basic mode yet
409
- return !modalities_list.includes('SM');
369
+ return {
370
+ valid: !modalities_list.includes('SM'),
371
+ description: 'The mode does not support the following modalities: SM'
372
+ };
410
373
  },
411
374
  routes: [{
412
375
  path: 'viewer-cs3d',
413
376
  /*init: ({ servicesManager, extensionManager }) => {
414
377
  //defaultViewerRouteInit
415
378
  },*/
416
- layoutTemplate: _ref5 => {
417
- let {
418
- location,
419
- servicesManager
420
- } = _ref5;
379
+ layoutTemplate: ({
380
+ location,
381
+ servicesManager
382
+ }) => {
421
383
  return {
422
384
  id: ohif.layout,
423
385
  props: {
@@ -441,7 +403,7 @@ function modeFactory(_ref) {
441
403
  extensions: extensionDependencies,
442
404
  hangingProtocol: 'default',
443
405
  sopClassHandlers: [dicomvideo.sopClassHandler, ohif.sopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler],
444
- hotkeys: [...core_src/* hotkeys */.dD.defaults.hotkeyBindings]
406
+ hotkeys: [...core_src/* hotkeys */.ot.defaults.hotkeyBindings]
445
407
  };
446
408
  }
447
409
  const mode = {