@ohif/app 3.8.0-beta.7 → 3.8.0-beta.71
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.
- package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
- package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.21827fec690c01ee9ab3.js} +85 -112
- package/dist/{19.bundle.e5579df6d7b74af50b1d.js → 155.bundle.091ace1591aff1f6b679.js} +334 -287
- package/dist/{687.bundle.9d0330ea5d61fe3117da.js → 164.bundle.fcc94cd4e142a409769d.js} +22 -38
- package/dist/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/{506.bundle.ab8226d3d81abe874544.js → 188.bundle.0081530bd886a18676eb.js} +23 -28
- package/dist/191.bundle.ef35ed1f90a988b3952b.js +30360 -0
- package/dist/{221.bundle.c2dc03d8fa4235dc1285.js → 2.bundle.ab8937194aad592bc7b4.js} +351 -546
- package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
- package/dist/290.bundle.952de53057f98e2c5ef0.js +8883 -0
- package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.3a0d5062d65296c4bf5d.js} +102 -127
- package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
- package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.9be178d7555a64de203a.js} +544 -860
- package/dist/41.bundle.b5a6c70f88cf565cad3e.js +874 -0
- package/dist/425.bundle.e44cfce041ba5209a878.js +2957 -0
- package/dist/425.css +2 -0
- package/dist/{126.bundle.42df2dafc9c0310da188.js → 448.bundle.599d81471e1d7f7962bc.js} +361 -427
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 504.bundle.5ccd6d4269fa77a0a7e7.js} +14338 -27291
- package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.566bfd08dccb4cf6d98b.js} +75 -105
- package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1110b24e96863d719a95.js} +39 -56
- package/dist/{663.bundle.9f359963019cd8ccf8f9.js → 559.bundle.fb8ac10c41eb734e2f3d.js} +151 -147
- package/dist/{181.bundle.a62b9f0ec692299acb35.js → 574.bundle.b262cbe9f2afd7275271.js} +1286 -307
- package/dist/{181.css → 574.css} +1 -1
- package/dist/{410.bundle.38c9d3820e152e89288e.js → 594.bundle.b70ca7a91d85ebd5d8c4.js} +183 -221
- package/dist/{776.bundle.004382036bdbd8ee2b95.js → 595.bundle.c25147a450c67defb3d5.js} +3157 -1029
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
- package/dist/699.bundle.02c15c3cc4c04dbf7f51.js +785 -0
- package/dist/{359.bundle.8abe0036a7bf6b5fd115.js → 724.bundle.d50ce9fb0ab01b9378b7.js} +130 -254
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.c8de818cf1a3ff0cf7d2.js} +512 -879
- package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
- package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.809c87a7ba9da6fb29c8.js} +77 -96
- package/dist/{236.bundle.c9e70d55e7b2574c1ecd.js → 889.bundle.1c17d0d13e157ac21d38.js} +198 -197
- package/dist/{342.bundle.d9668551811e3a88aaa4.js → 90.bundle.27637ef740946d5c8948.js} +1429 -1055
- package/dist/{281.bundle.16a2933086a57e60c96c.js → 905.bundle.206e44c3bbd1df1a900b.js} +155 -122
- package/dist/{814.bundle.a1aba9c1e3d336008351.js → 907.bundle.11700f7af989b5af8bc3.js} +16 -30
- package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
- package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
- package/dist/{12.bundle.37a8b47d2ae587cb9226.js → 961.bundle.a1ffb667eb04cbe07210.js} +16 -31
- package/dist/987.bundle.6bdfb3cd8762b8889632.js +122950 -0
- package/dist/app-config.js +1 -0
- package/dist/app.bundle.css +15 -13
- package/dist/{app.bundle.437d085e13599d1e1ced.js → app.bundle.d1c8b09ab30d221fddf0.js} +148259 -61821
- package/dist/assets/images/CT-AAA.png +0 -0
- package/dist/assets/images/CT-AAA2.png +0 -0
- package/dist/assets/images/CT-Air.png +0 -0
- package/dist/assets/images/CT-Bone.png +0 -0
- package/dist/assets/images/CT-Bones.png +0 -0
- package/dist/assets/images/CT-Cardiac.png +0 -0
- package/dist/assets/images/CT-Cardiac2.png +0 -0
- package/dist/assets/images/CT-Cardiac3.png +0 -0
- package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
- package/dist/assets/images/CT-Chest-Vessels.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
- package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
- package/dist/assets/images/CT-Fat.png +0 -0
- package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
- package/dist/assets/images/CT-Lung.png +0 -0
- package/dist/assets/images/CT-MIP.png +0 -0
- package/dist/assets/images/CT-Muscle.png +0 -0
- package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
- package/dist/assets/images/CT-Soft-Tissue.png +0 -0
- package/dist/assets/images/DTI-FA-Brain.png +0 -0
- package/dist/assets/images/MR-Angio.png +0 -0
- package/dist/assets/images/MR-Default.png +0 -0
- package/dist/assets/images/MR-MIP.png +0 -0
- package/dist/assets/images/MR-T2-Brain.png +0 -0
- package/dist/assets/images/VolumeRendering.png +0 -0
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
- package/dist/index.html +1 -1
- package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
- package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
- package/dist/polySeg.bundle.01449e456b7d4a737d4f.js +252 -0
- package/dist/serve.json +12 -0
- package/dist/sw.js +1 -1
- package/package.json +25 -22
- package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
- package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
- package/dist/613.bundle.aed640a7900dbcb688f5.js +0 -532
- package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
- package/dist/75788f12450d4c5ed494.wasm +0 -0
- package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
- package/dist/788.bundle.dcd53828d1bb2ac64d04.js +0 -2682
- package/dist/82.bundle.5a94dd7645e5c5476f59.js +0 -1049
- package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
- /package/dist/{19.css → 155.css} +0 -0
- /package/dist/{221.css → 2.css} +0 -0
- /package/dist/{579.css → 481.css} +0 -0
- /package/dist/{250.css → 544.css} +0 -0
- /package/dist/{776.css → 595.css} +0 -0
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[155,481],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 219:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
// EXPORTS
|
|
9
9
|
__webpack_require__.d(__webpack_exports__, {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
A: () => (/* binding */ src_getContextModule),
|
|
11
|
+
B: () => (/* reexport */ useTrackedMeasurements)
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
15
|
-
var react = __webpack_require__(
|
|
15
|
+
var react = __webpack_require__(41766);
|
|
16
16
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
17
|
-
var prop_types = __webpack_require__(
|
|
17
|
+
var prop_types = __webpack_require__(11374);
|
|
18
18
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
19
19
|
// EXTERNAL MODULE: ../../../node_modules/xstate/es/index.js + 22 modules
|
|
20
|
-
var es = __webpack_require__(
|
|
20
|
+
var es = __webpack_require__(57593);
|
|
21
21
|
// EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js + 8 modules
|
|
22
|
-
var react_es = __webpack_require__(
|
|
23
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
24
|
-
var src = __webpack_require__(
|
|
22
|
+
var react_es = __webpack_require__(6835);
|
|
23
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 542 modules
|
|
24
|
+
var src = __webpack_require__(48804);
|
|
25
25
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
|
|
26
26
|
|
|
27
27
|
const RESPONSE = {
|
|
@@ -53,10 +53,27 @@ const machineConfiguration = {
|
|
|
53
53
|
off: {
|
|
54
54
|
type: 'final'
|
|
55
55
|
},
|
|
56
|
+
labellingOnly: {
|
|
57
|
+
on: {
|
|
58
|
+
TRACK_SERIES: [{
|
|
59
|
+
target: 'promptLabelAnnotation',
|
|
60
|
+
actions: ['setPreviousState']
|
|
61
|
+
}, {
|
|
62
|
+
target: 'off'
|
|
63
|
+
}]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
56
66
|
idle: {
|
|
57
67
|
entry: 'clearContext',
|
|
58
68
|
on: {
|
|
59
|
-
TRACK_SERIES:
|
|
69
|
+
TRACK_SERIES: [{
|
|
70
|
+
target: 'promptLabelAnnotation',
|
|
71
|
+
cond: 'isLabelOnMeasure',
|
|
72
|
+
actions: ['setPreviousState']
|
|
73
|
+
}, {
|
|
74
|
+
target: 'promptBeginTracking',
|
|
75
|
+
actions: ['setPreviousState']
|
|
76
|
+
}],
|
|
60
77
|
// Unused? We may only do PROMPT_HYDRATE_SR now?
|
|
61
78
|
SET_TRACKED_SERIES: [{
|
|
62
79
|
target: 'tracking',
|
|
@@ -69,7 +86,7 @@ const machineConfiguration = {
|
|
|
69
86
|
RESTORE_PROMPT_HYDRATE_SR: 'promptHydrateStructuredReport',
|
|
70
87
|
HYDRATE_SR: 'hydrateStructuredReport',
|
|
71
88
|
UPDATE_ACTIVE_VIEWPORT_ID: {
|
|
72
|
-
actions: (0,es/* assign */.
|
|
89
|
+
actions: (0,es/* assign */.kp)({
|
|
73
90
|
activeViewportId: (_, event) => event.activeViewportId
|
|
74
91
|
})
|
|
75
92
|
}
|
|
@@ -82,6 +99,9 @@ const machineConfiguration = {
|
|
|
82
99
|
target: 'tracking',
|
|
83
100
|
actions: ['setTrackedStudyAndSeries', 'setIsDirty'],
|
|
84
101
|
cond: 'shouldSetStudyAndSeries'
|
|
102
|
+
}, {
|
|
103
|
+
target: 'labellingOnly',
|
|
104
|
+
cond: 'isLabelOnMeasureAndShouldKillMachine'
|
|
85
105
|
}, {
|
|
86
106
|
target: 'off',
|
|
87
107
|
cond: 'shouldKillMachine'
|
|
@@ -96,6 +116,10 @@ const machineConfiguration = {
|
|
|
96
116
|
tracking: {
|
|
97
117
|
on: {
|
|
98
118
|
TRACK_SERIES: [{
|
|
119
|
+
target: 'promptLabelAnnotation',
|
|
120
|
+
cond: 'isLabelOnMeasure',
|
|
121
|
+
actions: ['setPreviousState']
|
|
122
|
+
}, {
|
|
99
123
|
target: 'promptTrackNewStudy',
|
|
100
124
|
cond: 'isNewStudy'
|
|
101
125
|
}, {
|
|
@@ -224,6 +248,29 @@ const machineConfiguration = {
|
|
|
224
248
|
target: 'idle'
|
|
225
249
|
}
|
|
226
250
|
}
|
|
251
|
+
},
|
|
252
|
+
promptLabelAnnotation: {
|
|
253
|
+
invoke: {
|
|
254
|
+
src: 'promptLabelAnnotation',
|
|
255
|
+
onDone: [{
|
|
256
|
+
target: 'labellingOnly',
|
|
257
|
+
cond: 'wasLabellingOnly'
|
|
258
|
+
}, {
|
|
259
|
+
target: 'promptBeginTracking',
|
|
260
|
+
cond: 'wasIdle'
|
|
261
|
+
}, {
|
|
262
|
+
target: 'promptTrackNewStudy',
|
|
263
|
+
cond: 'wasTrackingAndIsNewStudy'
|
|
264
|
+
}, {
|
|
265
|
+
target: 'promptTrackNewSeries',
|
|
266
|
+
cond: 'wasTrackingAndIsNewSeries'
|
|
267
|
+
}, {
|
|
268
|
+
target: 'tracking',
|
|
269
|
+
cond: 'wasTracking'
|
|
270
|
+
}, {
|
|
271
|
+
target: 'off'
|
|
272
|
+
}]
|
|
273
|
+
}
|
|
227
274
|
}
|
|
228
275
|
},
|
|
229
276
|
strict: true
|
|
@@ -253,7 +300,7 @@ const defaultOptions = {
|
|
|
253
300
|
showStructuredReportDisplaySetInActiveViewport: (ctx, evt) => {
|
|
254
301
|
console.warn('showStructuredReportDisplaySetInActiveViewport: not implemented');
|
|
255
302
|
},
|
|
256
|
-
clearContext: (0,es/* assign */.
|
|
303
|
+
clearContext: (0,es/* assign */.kp)({
|
|
257
304
|
trackedStudy: '',
|
|
258
305
|
trackedSeries: [],
|
|
259
306
|
ignoredSeries: [],
|
|
@@ -262,7 +309,7 @@ const defaultOptions = {
|
|
|
262
309
|
prevIgnoredSeries: []
|
|
263
310
|
}),
|
|
264
311
|
// Promise resolves w/ `evt.data.*`
|
|
265
|
-
setTrackedStudyAndSeries: (0,es/* assign */.
|
|
312
|
+
setTrackedStudyAndSeries: (0,es/* assign */.kp)((ctx, evt) => ({
|
|
266
313
|
prevTrackedStudy: ctx.trackedStudy,
|
|
267
314
|
prevTrackedSeries: ctx.trackedSeries.slice(),
|
|
268
315
|
prevIgnoredSeries: ctx.ignoredSeries.slice(),
|
|
@@ -271,7 +318,7 @@ const defaultOptions = {
|
|
|
271
318
|
trackedSeries: [evt.data.SeriesInstanceUID],
|
|
272
319
|
ignoredSeries: []
|
|
273
320
|
})),
|
|
274
|
-
setTrackedStudyAndMultipleSeries: (0,es/* assign */.
|
|
321
|
+
setTrackedStudyAndMultipleSeries: (0,es/* assign */.kp)((ctx, evt) => {
|
|
275
322
|
const studyInstanceUID = evt.StudyInstanceUID || evt.data.StudyInstanceUID;
|
|
276
323
|
const seriesInstanceUIDs = evt.SeriesInstanceUIDs || evt.data.SeriesInstanceUIDs;
|
|
277
324
|
return {
|
|
@@ -284,27 +331,32 @@ const defaultOptions = {
|
|
|
284
331
|
ignoredSeries: []
|
|
285
332
|
};
|
|
286
333
|
}),
|
|
287
|
-
setIsDirtyToClean: (0,es/* assign */.
|
|
334
|
+
setIsDirtyToClean: (0,es/* assign */.kp)((ctx, evt) => ({
|
|
288
335
|
isDirty: false
|
|
289
336
|
})),
|
|
290
|
-
setIsDirty: (0,es/* assign */.
|
|
337
|
+
setIsDirty: (0,es/* assign */.kp)((ctx, evt) => ({
|
|
291
338
|
isDirty: true
|
|
292
339
|
})),
|
|
293
|
-
ignoreSeries: (0,es/* assign */.
|
|
340
|
+
ignoreSeries: (0,es/* assign */.kp)((ctx, evt) => ({
|
|
294
341
|
prevIgnoredSeries: [...ctx.ignoredSeries],
|
|
295
342
|
ignoredSeries: [...ctx.ignoredSeries, evt.data.SeriesInstanceUID]
|
|
296
343
|
})),
|
|
297
|
-
ignoreHydrationForSRSeries: (0,es/* assign */.
|
|
344
|
+
ignoreHydrationForSRSeries: (0,es/* assign */.kp)((ctx, evt) => ({
|
|
298
345
|
ignoredSRSeriesForHydration: [...ctx.ignoredSRSeriesForHydration, evt.data.srSeriesInstanceUID]
|
|
299
346
|
})),
|
|
300
|
-
addTrackedSeries: (0,es/* assign */.
|
|
347
|
+
addTrackedSeries: (0,es/* assign */.kp)((ctx, evt) => ({
|
|
301
348
|
prevTrackedSeries: [...ctx.trackedSeries],
|
|
302
349
|
trackedSeries: [...ctx.trackedSeries, evt.data.SeriesInstanceUID]
|
|
303
350
|
})),
|
|
304
|
-
removeTrackedSeries: (0,es/* assign */.
|
|
351
|
+
removeTrackedSeries: (0,es/* assign */.kp)((ctx, evt) => ({
|
|
305
352
|
prevTrackedSeries: ctx.trackedSeries.slice().filter(ser => ser !== evt.SeriesInstanceUID),
|
|
306
353
|
trackedSeries: ctx.trackedSeries.slice().filter(ser => ser !== evt.SeriesInstanceUID)
|
|
307
|
-
}))
|
|
354
|
+
})),
|
|
355
|
+
setPreviousState: (0,es/* assign */.kp)((ctx, evt, meta) => {
|
|
356
|
+
return {
|
|
357
|
+
prevState: meta.state.value
|
|
358
|
+
};
|
|
359
|
+
})
|
|
308
360
|
},
|
|
309
361
|
guards: {
|
|
310
362
|
// We set dirty any time we performan an action that:
|
|
@@ -330,6 +382,21 @@ const defaultOptions = {
|
|
|
330
382
|
evt.SeriesInstanceUID === undefined || ctx.trackedSeries.includes(evt.SeriesInstanceUID)
|
|
331
383
|
);
|
|
332
384
|
},
|
|
385
|
+
wasLabellingOnly: (ctx, evt, condMeta) => {
|
|
386
|
+
return ctx.prevState === 'labellingOnly';
|
|
387
|
+
},
|
|
388
|
+
wasIdle: (ctx, evt, condMeta) => {
|
|
389
|
+
return ctx.prevState === 'idle';
|
|
390
|
+
},
|
|
391
|
+
wasTracking: (ctx, evt, condMeta) => {
|
|
392
|
+
return ctx.prevState === 'tracking';
|
|
393
|
+
},
|
|
394
|
+
wasTrackingAndIsNewStudy: (ctx, evt, condMeta) => {
|
|
395
|
+
return ctx.prevState === 'tracking' && !ctx.ignoredSeries.includes(evt.data.SeriesInstanceUID) && ctx.trackedStudy !== evt.data.StudyInstanceUID;
|
|
396
|
+
},
|
|
397
|
+
wasTrackingAndIsNewSeries: (ctx, evt, condMeta) => {
|
|
398
|
+
return ctx.prevState === 'tracking' && !ctx.ignoredSeries.includes(evt.data.SeriesInstanceUID) && !ctx.trackedSeries.includes(evt.data.SeriesInstanceUID);
|
|
399
|
+
},
|
|
333
400
|
shouldKillMachine: (ctx, evt) => evt.data && evt.data.userResponse === RESPONSE.NO_NEVER,
|
|
334
401
|
shouldAddSeries: (ctx, evt) => evt.data && evt.data.userResponse === RESPONSE.ADD_SERIES,
|
|
335
402
|
shouldSetStudyAndSeries: (ctx, evt) => evt.data && evt.data.userResponse === RESPONSE.SET_STUDY_AND_SERIES,
|
|
@@ -350,8 +417,11 @@ const defaultOptions = {
|
|
|
350
417
|
}
|
|
351
418
|
};
|
|
352
419
|
|
|
420
|
+
// EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
|
|
421
|
+
var i18next = __webpack_require__(92344);
|
|
353
422
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/promptBeginTracking.js
|
|
354
423
|
|
|
424
|
+
|
|
355
425
|
const promptBeginTracking_RESPONSE = {
|
|
356
426
|
NO_NEVER: -1,
|
|
357
427
|
CANCEL: 0,
|
|
@@ -359,19 +429,20 @@ const promptBeginTracking_RESPONSE = {
|
|
|
359
429
|
ADD_SERIES: 2,
|
|
360
430
|
SET_STUDY_AND_SERIES: 3
|
|
361
431
|
};
|
|
362
|
-
function promptBeginTracking(
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
} = _ref;
|
|
432
|
+
function promptBeginTracking({
|
|
433
|
+
servicesManager,
|
|
434
|
+
extensionManager
|
|
435
|
+
}, ctx, evt) {
|
|
367
436
|
const {
|
|
368
437
|
uiViewportDialogService
|
|
369
438
|
} = servicesManager.services;
|
|
439
|
+
// When the state change happens after a promise, the state machine sends the retult in evt.data;
|
|
440
|
+
// In case of direct transition to the state, the state machine sends the data in evt;
|
|
370
441
|
const {
|
|
371
442
|
viewportId,
|
|
372
443
|
StudyInstanceUID,
|
|
373
444
|
SeriesInstanceUID
|
|
374
|
-
} = evt;
|
|
445
|
+
} = evt.data || evt;
|
|
375
446
|
return new Promise(async function (resolve, reject) {
|
|
376
447
|
let promptResult = await _askTrackMeasurements(uiViewportDialogService, viewportId);
|
|
377
448
|
resolve({
|
|
@@ -384,21 +455,21 @@ function promptBeginTracking(_ref, ctx, evt) {
|
|
|
384
455
|
}
|
|
385
456
|
function _askTrackMeasurements(uiViewportDialogService, viewportId) {
|
|
386
457
|
return new Promise(function (resolve, reject) {
|
|
387
|
-
const message = 'Track measurements for this series?';
|
|
458
|
+
const message = i18next/* default */.A.t('MeasurementTable:Track measurements for this series?');
|
|
388
459
|
const actions = [{
|
|
389
460
|
id: 'prompt-begin-tracking-cancel',
|
|
390
|
-
type: src/* ButtonEnums.type */.
|
|
391
|
-
text: 'No',
|
|
461
|
+
type: src/* ButtonEnums.type */.Ny.NW.secondary,
|
|
462
|
+
text: i18next/* default */.A.t('Common:No'),
|
|
392
463
|
value: promptBeginTracking_RESPONSE.CANCEL
|
|
393
464
|
}, {
|
|
394
465
|
id: 'prompt-begin-tracking-no-do-not-ask-again',
|
|
395
|
-
type: src/* ButtonEnums.type */.
|
|
396
|
-
text: 'No, do not ask again',
|
|
466
|
+
type: src/* ButtonEnums.type */.Ny.NW.secondary,
|
|
467
|
+
text: i18next/* default */.A.t('MeasurementTable:No, do not ask again'),
|
|
397
468
|
value: promptBeginTracking_RESPONSE.NO_NEVER
|
|
398
469
|
}, {
|
|
399
470
|
id: 'prompt-begin-tracking-yes',
|
|
400
|
-
type: src/* ButtonEnums.type */.
|
|
401
|
-
text: 'Yes',
|
|
471
|
+
type: src/* ButtonEnums.type */.Ny.NW.primary,
|
|
472
|
+
text: i18next/* default */.A.t('Common:Yes'),
|
|
402
473
|
value: promptBeginTracking_RESPONSE.SET_STUDY_AND_SERIES
|
|
403
474
|
}];
|
|
404
475
|
const onSubmit = result => {
|
|
@@ -430,19 +501,20 @@ const promptTrackNewSeries_RESPONSE = {
|
|
|
430
501
|
SET_STUDY_AND_SERIES: 3,
|
|
431
502
|
NO_NOT_FOR_SERIES: 4
|
|
432
503
|
};
|
|
433
|
-
function promptTrackNewSeries(
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
} = _ref;
|
|
504
|
+
function promptTrackNewSeries({
|
|
505
|
+
servicesManager,
|
|
506
|
+
extensionManager
|
|
507
|
+
}, ctx, evt) {
|
|
438
508
|
const {
|
|
439
509
|
UIViewportDialogService
|
|
440
510
|
} = servicesManager.services;
|
|
511
|
+
// When the state change happens after a promise, the state machine sends the retult in evt.data;
|
|
512
|
+
// In case of direct transition to the state, the state machine sends the data in evt;
|
|
441
513
|
const {
|
|
442
514
|
viewportId,
|
|
443
515
|
StudyInstanceUID,
|
|
444
516
|
SeriesInstanceUID
|
|
445
|
-
} = evt;
|
|
517
|
+
} = evt.data || evt;
|
|
446
518
|
return new Promise(async function (resolve, reject) {
|
|
447
519
|
let promptResult = await _askShouldAddMeasurements(UIViewportDialogService, viewportId);
|
|
448
520
|
if (promptResult === promptTrackNewSeries_RESPONSE.CREATE_REPORT) {
|
|
@@ -461,15 +533,15 @@ function _askShouldAddMeasurements(uiViewportDialogService, viewportId) {
|
|
|
461
533
|
return new Promise(function (resolve, reject) {
|
|
462
534
|
const message = 'Do you want to add this measurement to the existing report?';
|
|
463
535
|
const actions = [{
|
|
464
|
-
type: src/* ButtonEnums.type */.
|
|
536
|
+
type: src/* ButtonEnums.type */.Ny.NW.secondary,
|
|
465
537
|
text: 'Cancel',
|
|
466
538
|
value: promptTrackNewSeries_RESPONSE.CANCEL
|
|
467
539
|
}, {
|
|
468
|
-
type: src/* ButtonEnums.type */.
|
|
540
|
+
type: src/* ButtonEnums.type */.Ny.NW.primary,
|
|
469
541
|
text: 'Create new report',
|
|
470
542
|
value: promptTrackNewSeries_RESPONSE.CREATE_REPORT
|
|
471
543
|
}, {
|
|
472
|
-
type: src/* ButtonEnums.type */.
|
|
544
|
+
type: src/* ButtonEnums.type */.Ny.NW.primary,
|
|
473
545
|
text: 'Add to existing report',
|
|
474
546
|
value: promptTrackNewSeries_RESPONSE.ADD_SERIES
|
|
475
547
|
}];
|
|
@@ -525,6 +597,7 @@ function _askSaveDiscardOrCancel(UIViewportDialogService, viewportId) {
|
|
|
525
597
|
}
|
|
526
598
|
/* harmony default export */ const TrackedMeasurementsContext_promptTrackNewSeries = (promptTrackNewSeries);
|
|
527
599
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/promptTrackNewStudy.js
|
|
600
|
+
|
|
528
601
|
const promptTrackNewStudy_RESPONSE = {
|
|
529
602
|
NO_NEVER: -1,
|
|
530
603
|
CANCEL: 0,
|
|
@@ -533,19 +606,20 @@ const promptTrackNewStudy_RESPONSE = {
|
|
|
533
606
|
SET_STUDY_AND_SERIES: 3,
|
|
534
607
|
NO_NOT_FOR_SERIES: 4
|
|
535
608
|
};
|
|
536
|
-
function promptTrackNewStudy(
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
} = _ref;
|
|
609
|
+
function promptTrackNewStudy({
|
|
610
|
+
servicesManager,
|
|
611
|
+
extensionManager
|
|
612
|
+
}, ctx, evt) {
|
|
541
613
|
const {
|
|
542
614
|
UIViewportDialogService
|
|
543
615
|
} = servicesManager.services;
|
|
616
|
+
// When the state change happens after a promise, the state machine sends the retult in evt.data;
|
|
617
|
+
// In case of direct transition to the state, the state machine sends the data in evt;
|
|
544
618
|
const {
|
|
545
619
|
viewportId,
|
|
546
620
|
StudyInstanceUID,
|
|
547
621
|
SeriesInstanceUID
|
|
548
|
-
} = evt;
|
|
622
|
+
} = evt.data || evt;
|
|
549
623
|
return new Promise(async function (resolve, reject) {
|
|
550
624
|
let promptResult = await promptTrackNewStudy_askTrackMeasurements(UIViewportDialogService, viewportId);
|
|
551
625
|
if (promptResult === promptTrackNewStudy_RESPONSE.SET_STUDY_AND_SERIES) {
|
|
@@ -562,18 +636,18 @@ function promptTrackNewStudy(_ref, ctx, evt) {
|
|
|
562
636
|
}
|
|
563
637
|
function promptTrackNewStudy_askTrackMeasurements(UIViewportDialogService, viewportId) {
|
|
564
638
|
return new Promise(function (resolve, reject) {
|
|
565
|
-
const message = 'Track measurements for this series?';
|
|
639
|
+
const message = i18next/* default */.A.t('MeasurementTable:Track measurements for this series?');
|
|
566
640
|
const actions = [{
|
|
567
641
|
type: 'cancel',
|
|
568
|
-
text: 'No',
|
|
642
|
+
text: i18next/* default */.A.t('MeasurementTable:No'),
|
|
569
643
|
value: promptTrackNewStudy_RESPONSE.CANCEL
|
|
570
644
|
}, {
|
|
571
645
|
type: 'secondary',
|
|
572
|
-
text: 'No, do not ask again
|
|
646
|
+
text: i18next/* default */.A.t('MeasurementTable:No, do not ask again'),
|
|
573
647
|
value: promptTrackNewStudy_RESPONSE.NO_NOT_FOR_SERIES
|
|
574
648
|
}, {
|
|
575
649
|
type: 'primary',
|
|
576
|
-
text: 'Yes',
|
|
650
|
+
text: i18next/* default */.A.t('MeasurementTable:Yes'),
|
|
577
651
|
value: promptTrackNewStudy_RESPONSE.SET_STUDY_AND_SERIES
|
|
578
652
|
}];
|
|
579
653
|
const onSubmit = result => {
|
|
@@ -627,8 +701,8 @@ function promptTrackNewStudy_askSaveDiscardOrCancel(UIViewportDialogService, vie
|
|
|
627
701
|
});
|
|
628
702
|
}
|
|
629
703
|
/* harmony default export */ const TrackedMeasurementsContext_promptTrackNewStudy = (promptTrackNewStudy);
|
|
630
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
631
|
-
var default_src = __webpack_require__(
|
|
704
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 78 modules
|
|
705
|
+
var default_src = __webpack_require__(54090);
|
|
632
706
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/getNextSRSeriesNumber.js
|
|
633
707
|
const MIN_SR_SERIES_NUMBER = 4700;
|
|
634
708
|
function getNextSRSeriesNumber(displaySetService) {
|
|
@@ -652,12 +726,11 @@ const PROMPT_RESPONSES_RESPONSE = {
|
|
|
652
726
|
|
|
653
727
|
|
|
654
728
|
|
|
655
|
-
function promptSaveReport(
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
} = _ref;
|
|
729
|
+
function promptSaveReport({
|
|
730
|
+
servicesManager,
|
|
731
|
+
commandsManager,
|
|
732
|
+
extensionManager
|
|
733
|
+
}, ctx, evt) {
|
|
661
734
|
const {
|
|
662
735
|
uiDialogService,
|
|
663
736
|
measurementService,
|
|
@@ -718,7 +791,7 @@ function promptSaveReport(_ref, ctx, evt) {
|
|
|
718
791
|
}
|
|
719
792
|
/* harmony default export */ const TrackedMeasurementsContext_promptSaveReport = (promptSaveReport);
|
|
720
793
|
// EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-sr/src/index.tsx + 15 modules
|
|
721
|
-
var cornerstone_dicom_sr_src = __webpack_require__(
|
|
794
|
+
var cornerstone_dicom_sr_src = __webpack_require__(89559);
|
|
722
795
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/promptHydrateStructuredReport.js
|
|
723
796
|
|
|
724
797
|
|
|
@@ -731,12 +804,11 @@ const promptHydrateStructuredReport_RESPONSE = {
|
|
|
731
804
|
NO_NOT_FOR_SERIES: 4,
|
|
732
805
|
HYDRATE_REPORT: 5
|
|
733
806
|
};
|
|
734
|
-
function promptHydrateStructuredReport(
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
} = _ref;
|
|
807
|
+
function promptHydrateStructuredReport({
|
|
808
|
+
servicesManager,
|
|
809
|
+
extensionManager,
|
|
810
|
+
appConfig
|
|
811
|
+
}, ctx, evt) {
|
|
740
812
|
const {
|
|
741
813
|
uiViewportDialogService,
|
|
742
814
|
displaySetService
|
|
@@ -775,11 +847,11 @@ function promptHydrateStructuredReport_askTrackMeasurements(uiViewportDialogServ
|
|
|
775
847
|
return new Promise(function (resolve, reject) {
|
|
776
848
|
const message = 'Do you want to continue tracking measurements for this study?';
|
|
777
849
|
const actions = [{
|
|
778
|
-
type: src/* ButtonEnums.type */.
|
|
850
|
+
type: src/* ButtonEnums.type */.Ny.NW.secondary,
|
|
779
851
|
text: 'No',
|
|
780
852
|
value: promptHydrateStructuredReport_RESPONSE.CANCEL
|
|
781
853
|
}, {
|
|
782
|
-
type: src/* ButtonEnums.type */.
|
|
854
|
+
type: src/* ButtonEnums.type */.Ny.NW.primary,
|
|
783
855
|
text: 'Yes',
|
|
784
856
|
value: promptHydrateStructuredReport_RESPONSE.HYDRATE_REPORT
|
|
785
857
|
}];
|
|
@@ -803,11 +875,11 @@ function promptHydrateStructuredReport_askTrackMeasurements(uiViewportDialogServ
|
|
|
803
875
|
/* harmony default export */ const TrackedMeasurementsContext_promptHydrateStructuredReport = (promptHydrateStructuredReport);
|
|
804
876
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/hydrateStructuredReport.tsx
|
|
805
877
|
|
|
806
|
-
function hydrateStructuredReport(
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
878
|
+
function hydrateStructuredReport({
|
|
879
|
+
servicesManager,
|
|
880
|
+
extensionManager,
|
|
881
|
+
appConfig
|
|
882
|
+
}, ctx, evt) {
|
|
811
883
|
const {
|
|
812
884
|
displaySetService
|
|
813
885
|
} = servicesManager.services;
|
|
@@ -819,7 +891,8 @@ function hydrateStructuredReport(_ref, ctx, evt) {
|
|
|
819
891
|
return new Promise((resolve, reject) => {
|
|
820
892
|
const hydrationResult = (0,cornerstone_dicom_sr_src.hydrateStructuredReport)({
|
|
821
893
|
servicesManager,
|
|
822
|
-
extensionManager
|
|
894
|
+
extensionManager,
|
|
895
|
+
appConfig
|
|
823
896
|
}, displaySetInstanceUID);
|
|
824
897
|
const StudyInstanceUID = hydrationResult.StudyInstanceUID;
|
|
825
898
|
const SeriesInstanceUIDs = hydrationResult.SeriesInstanceUIDs;
|
|
@@ -834,7 +907,41 @@ function hydrateStructuredReport(_ref, ctx, evt) {
|
|
|
834
907
|
}
|
|
835
908
|
/* harmony default export */ const TrackedMeasurementsContext_hydrateStructuredReport = (hydrateStructuredReport);
|
|
836
909
|
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
837
|
-
var state = __webpack_require__(
|
|
910
|
+
var state = __webpack_require__(15575);
|
|
911
|
+
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/promptLabelAnnotation.js
|
|
912
|
+
function promptLabelAnnotation({
|
|
913
|
+
servicesManager,
|
|
914
|
+
extensionManager
|
|
915
|
+
}, ctx, evt) {
|
|
916
|
+
const {
|
|
917
|
+
measurementService,
|
|
918
|
+
customizationService
|
|
919
|
+
} = servicesManager.services;
|
|
920
|
+
const {
|
|
921
|
+
viewportId,
|
|
922
|
+
StudyInstanceUID,
|
|
923
|
+
SeriesInstanceUID,
|
|
924
|
+
measurementId
|
|
925
|
+
} = evt;
|
|
926
|
+
const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.common');
|
|
927
|
+
const {
|
|
928
|
+
showLabelAnnotationPopup
|
|
929
|
+
} = utilityModule.exports;
|
|
930
|
+
return new Promise(async function (resolve) {
|
|
931
|
+
const labelConfig = customizationService.get('measurementLabels');
|
|
932
|
+
const measurement = measurementService.getMeasurement(measurementId);
|
|
933
|
+
const value = await showLabelAnnotationPopup(measurement, servicesManager.services.uiDialogService, labelConfig);
|
|
934
|
+
measurementService.update(measurementId, {
|
|
935
|
+
...value
|
|
936
|
+
}, true);
|
|
937
|
+
resolve({
|
|
938
|
+
StudyInstanceUID,
|
|
939
|
+
SeriesInstanceUID,
|
|
940
|
+
viewportId
|
|
941
|
+
});
|
|
942
|
+
});
|
|
943
|
+
}
|
|
944
|
+
/* harmony default export */ const TrackedMeasurementsContext_promptLabelAnnotation = (promptLabelAnnotation);
|
|
838
945
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/TrackedMeasurementsContext.tsx
|
|
839
946
|
|
|
840
947
|
|
|
@@ -849,6 +956,7 @@ var state = __webpack_require__(62657);
|
|
|
849
956
|
|
|
850
957
|
|
|
851
958
|
|
|
959
|
+
|
|
852
960
|
const TrackedMeasurementsContext = /*#__PURE__*/react.createContext();
|
|
853
961
|
TrackedMeasurementsContext.displayName = 'TrackedMeasurementsContext';
|
|
854
962
|
const useTrackedMeasurements = () => (0,react.useContext)(TrackedMeasurementsContext);
|
|
@@ -858,26 +966,26 @@ const SR_SOPCLASSHANDLERID = '@ohif/extension-cornerstone-dicom-sr.sopClassHandl
|
|
|
858
966
|
*
|
|
859
967
|
* @param {*} param0
|
|
860
968
|
*/
|
|
861
|
-
function TrackedMeasurementsContextProvider(
|
|
862
|
-
|
|
969
|
+
function TrackedMeasurementsContextProvider({
|
|
970
|
+
servicesManager,
|
|
971
|
+
commandsManager,
|
|
972
|
+
extensionManager
|
|
973
|
+
},
|
|
974
|
+
// Bound by consumer
|
|
975
|
+
{
|
|
976
|
+
children
|
|
977
|
+
} // Component props
|
|
863
978
|
) {
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
commandsManager,
|
|
867
|
-
extensionManager
|
|
868
|
-
} = _ref;
|
|
869
|
-
let {
|
|
870
|
-
children
|
|
871
|
-
} = _ref2;
|
|
872
|
-
const [appConfig] = (0,state/* useAppConfig */.M)();
|
|
873
|
-
const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.O_)();
|
|
979
|
+
const [appConfig] = (0,state/* useAppConfig */.r)();
|
|
980
|
+
const [viewportGrid, viewportGridService] = (0,src/* useViewportGrid */.ih)();
|
|
874
981
|
const {
|
|
875
982
|
activeViewportId,
|
|
876
983
|
viewports
|
|
877
984
|
} = viewportGrid;
|
|
878
985
|
const {
|
|
879
986
|
measurementService,
|
|
880
|
-
displaySetService
|
|
987
|
+
displaySetService,
|
|
988
|
+
customizationService
|
|
881
989
|
} = servicesManager.services;
|
|
882
990
|
const machineOptions = Object.assign({}, defaultOptions);
|
|
883
991
|
machineOptions.actions = Object.assign({}, machineOptions.actions, {
|
|
@@ -974,8 +1082,22 @@ _ref2 // Component props
|
|
|
974
1082
|
servicesManager,
|
|
975
1083
|
extensionManager,
|
|
976
1084
|
appConfig
|
|
1085
|
+
}),
|
|
1086
|
+
promptLabelAnnotation: TrackedMeasurementsContext_promptLabelAnnotation.bind(null, {
|
|
1087
|
+
servicesManager,
|
|
1088
|
+
extensionManager
|
|
977
1089
|
})
|
|
978
1090
|
});
|
|
1091
|
+
machineOptions.guards = Object.assign({}, machineOptions.guards, {
|
|
1092
|
+
isLabelOnMeasure: (ctx, evt, condMeta) => {
|
|
1093
|
+
const labelConfig = customizationService.get('measurementLabels');
|
|
1094
|
+
return labelConfig?.labelOnMeasure;
|
|
1095
|
+
},
|
|
1096
|
+
isLabelOnMeasureAndShouldKillMachine: (ctx, evt, condMeta) => {
|
|
1097
|
+
const labelConfig = customizationService.get('measurementLabels');
|
|
1098
|
+
return evt.data && evt.data.userResponse === RESPONSE.NO_NEVER && labelConfig?.labelOnMeasure;
|
|
1099
|
+
}
|
|
1100
|
+
});
|
|
979
1101
|
|
|
980
1102
|
// TODO: IMPROVE
|
|
981
1103
|
// - Add measurement_updated to cornerstone; debounced? (ext side, or consumption?)
|
|
@@ -986,8 +1108,8 @@ _ref2 // Component props
|
|
|
986
1108
|
// - Fix viewport border resize
|
|
987
1109
|
// - created/destroyed hooks for extensions (cornerstone measurement subscriptions in it's `init`)
|
|
988
1110
|
|
|
989
|
-
const measurementTrackingMachine = (0,es/* Machine */.
|
|
990
|
-
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,react_es/* useMachine */.
|
|
1111
|
+
const measurementTrackingMachine = (0,es/* Machine */.u5)(machineConfiguration, machineOptions);
|
|
1112
|
+
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,react_es/* useMachine */.zl)(measurementTrackingMachine);
|
|
991
1113
|
(0,react.useEffect)(() => {
|
|
992
1114
|
// Update the state machine with the active viewport ID
|
|
993
1115
|
sendTrackedMeasurementsEvent('UPDATE_ACTIVE_VIEWPORT_ID', {
|
|
@@ -1060,12 +1182,11 @@ TrackedMeasurementsContextProvider.propTypes = {
|
|
|
1060
1182
|
|
|
1061
1183
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/getContextModule.tsx
|
|
1062
1184
|
|
|
1063
|
-
function getContextModule(
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
} = _ref;
|
|
1185
|
+
function getContextModule({
|
|
1186
|
+
servicesManager,
|
|
1187
|
+
extensionManager,
|
|
1188
|
+
commandsManager
|
|
1189
|
+
}) {
|
|
1069
1190
|
const BoundTrackedMeasurementsContextProvider = TrackedMeasurementsContextProvider.bind(null, {
|
|
1070
1191
|
servicesManager,
|
|
1071
1192
|
extensionManager,
|
|
@@ -1082,7 +1203,7 @@ function getContextModule(_ref) {
|
|
|
1082
1203
|
|
|
1083
1204
|
/***/ }),
|
|
1084
1205
|
|
|
1085
|
-
/***/
|
|
1206
|
+
/***/ 63934:
|
|
1086
1207
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1087
1208
|
|
|
1088
1209
|
// ESM COMPAT FLAG
|
|
@@ -1093,21 +1214,21 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1093
1214
|
"default": () => (/* binding */ measurement_tracking_src)
|
|
1094
1215
|
});
|
|
1095
1216
|
|
|
1096
|
-
// EXTERNAL MODULE: ../../../extensions/measurement-tracking/src/getContextModule.tsx +
|
|
1097
|
-
var getContextModule = __webpack_require__(
|
|
1217
|
+
// EXTERNAL MODULE: ../../../extensions/measurement-tracking/src/getContextModule.tsx + 13 modules
|
|
1218
|
+
var getContextModule = __webpack_require__(219);
|
|
1098
1219
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
1099
|
-
var react = __webpack_require__(
|
|
1220
|
+
var react = __webpack_require__(41766);
|
|
1100
1221
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
1101
|
-
var prop_types = __webpack_require__(
|
|
1222
|
+
var prop_types = __webpack_require__(11374);
|
|
1102
1223
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
1103
1224
|
// EXTERNAL MODULE: ../node_modules/react-router-dom/dist/index.js
|
|
1104
|
-
var dist = __webpack_require__(
|
|
1225
|
+
var dist = __webpack_require__(37396);
|
|
1105
1226
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|
|
1106
|
-
var es = __webpack_require__(
|
|
1107
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
1108
|
-
var src = __webpack_require__(
|
|
1109
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
1110
|
-
var ui_src = __webpack_require__(
|
|
1227
|
+
var es = __webpack_require__(80619);
|
|
1228
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
|
|
1229
|
+
var src = __webpack_require__(85073);
|
|
1230
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 542 modules
|
|
1231
|
+
var ui_src = __webpack_require__(48804);
|
|
1111
1232
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx
|
|
1112
1233
|
|
|
1113
1234
|
|
|
@@ -1124,36 +1245,35 @@ const {
|
|
|
1124
1245
|
*
|
|
1125
1246
|
* @param {*} param0
|
|
1126
1247
|
*/
|
|
1127
|
-
function PanelStudyBrowserTracking(
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
} = _ref;
|
|
1248
|
+
function PanelStudyBrowserTracking({
|
|
1249
|
+
servicesManager,
|
|
1250
|
+
getImageSrc,
|
|
1251
|
+
getStudiesForPatientByMRN,
|
|
1252
|
+
requestDisplaySetCreationForStudy,
|
|
1253
|
+
dataSource
|
|
1254
|
+
}) {
|
|
1135
1255
|
const {
|
|
1136
1256
|
displaySetService,
|
|
1137
1257
|
uiDialogService,
|
|
1138
1258
|
hangingProtocolService,
|
|
1139
1259
|
uiNotificationService
|
|
1140
1260
|
} = servicesManager.services;
|
|
1141
|
-
const navigate = (0,dist/* useNavigate */.
|
|
1261
|
+
const navigate = (0,dist/* useNavigate */.Zp)();
|
|
1142
1262
|
const {
|
|
1143
1263
|
t
|
|
1144
|
-
} = (0,es/* useTranslation
|
|
1264
|
+
} = (0,es/* useTranslation */.Bd)('Common');
|
|
1145
1265
|
|
|
1146
1266
|
// Normally you nest the components so the tree isn't so deep, and the data
|
|
1147
1267
|
// doesn't have to have such an intense shape. This works well enough for now.
|
|
1148
1268
|
// Tabs --> Studies --> DisplaySets --> Thumbnails
|
|
1149
1269
|
const {
|
|
1150
1270
|
StudyInstanceUIDs
|
|
1151
|
-
} = (0,ui_src/* useImageViewer */.
|
|
1271
|
+
} = (0,ui_src/* useImageViewer */.Bz)();
|
|
1152
1272
|
const [{
|
|
1153
1273
|
activeViewportId,
|
|
1154
1274
|
viewports
|
|
1155
|
-
}, viewportGridService] = (0,ui_src/* useViewportGrid */.
|
|
1156
|
-
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,getContextModule/* useTrackedMeasurements */.
|
|
1275
|
+
}, viewportGridService] = (0,ui_src/* useViewportGrid */.ih)();
|
|
1276
|
+
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,getContextModule/* useTrackedMeasurements */.B)();
|
|
1157
1277
|
const [activeTabName, setActiveTabName] = (0,react.useState)('primary');
|
|
1158
1278
|
const [expandedStudyInstanceUIDs, setExpandedStudyInstanceUIDs] = (0,react.useState)([...StudyInstanceUIDs]);
|
|
1159
1279
|
const [studyDisplayList, setStudyDisplayList] = (0,react.useState)([]);
|
|
@@ -1369,7 +1489,7 @@ function PanelStudyBrowserTracking(_ref) {
|
|
|
1369
1489
|
setExpandedStudyInstanceUIDs(updatedExpandedStudyInstanceUIDs);
|
|
1370
1490
|
}
|
|
1371
1491
|
}, [expandedStudyInstanceUIDs, jumpToDisplaySet, tabs]);
|
|
1372
|
-
return /*#__PURE__*/react.createElement(ui_src/* StudyBrowser */.
|
|
1492
|
+
return /*#__PURE__*/react.createElement(ui_src/* StudyBrowser */.M4, {
|
|
1373
1493
|
tabs: tabs,
|
|
1374
1494
|
servicesManager: servicesManager,
|
|
1375
1495
|
activeTabName: activeTabName,
|
|
@@ -1432,14 +1552,6 @@ viewportGridService, dataSource, displaySetService, uiDialogService, uiNotificat
|
|
|
1432
1552
|
const imageSrc = thumbnailImageSrcMap[ds.displaySetInstanceUID];
|
|
1433
1553
|
const componentType = _getComponentType(ds);
|
|
1434
1554
|
const numPanes = viewportGridService.getNumViewportPanes();
|
|
1435
|
-
const viewportIdentificator = [];
|
|
1436
|
-
if (numPanes !== 1) {
|
|
1437
|
-
viewports.forEach(viewportData => {
|
|
1438
|
-
if (viewportData?.displaySetInstanceUIDs?.includes(ds.displaySetInstanceUID)) {
|
|
1439
|
-
viewportIdentificator.push(viewportData.viewportLabel);
|
|
1440
|
-
}
|
|
1441
|
-
});
|
|
1442
|
-
}
|
|
1443
1555
|
const array = componentType === 'thumbnailTracked' ? thumbnailDisplaySets : thumbnailNoImageDisplaySets;
|
|
1444
1556
|
const {
|
|
1445
1557
|
displaySetInstanceUID
|
|
@@ -1461,10 +1573,8 @@ viewportGridService, dataSource, displaySetService, uiDialogService, uiNotificat
|
|
|
1461
1573
|
displaySetInstanceUID
|
|
1462
1574
|
// .. Any other data to pass
|
|
1463
1575
|
},
|
|
1464
|
-
|
|
1465
1576
|
isTracked: trackedSeriesInstanceUIDs.includes(ds.SeriesInstanceUID),
|
|
1466
|
-
isHydratedForDerivedDisplaySet: ds.isHydrated
|
|
1467
|
-
viewportIdentificator
|
|
1577
|
+
isHydratedForDerivedDisplaySet: ds.isHydrated
|
|
1468
1578
|
};
|
|
1469
1579
|
if (componentType === 'thumbnailNoImage') {
|
|
1470
1580
|
if (dataSource.reject && dataSource.reject.series) {
|
|
@@ -1475,7 +1585,7 @@ viewportGridService, dataSource, displaySetService, uiDialogService, uiNotificat
|
|
|
1475
1585
|
centralize: true,
|
|
1476
1586
|
isDraggable: false,
|
|
1477
1587
|
showOverlay: true,
|
|
1478
|
-
content: ui_src/* Dialog */.
|
|
1588
|
+
content: ui_src/* Dialog */.lG,
|
|
1479
1589
|
contentProps: {
|
|
1480
1590
|
title: 'Delete Report',
|
|
1481
1591
|
body: () => /*#__PURE__*/react.createElement("div", {
|
|
@@ -1486,11 +1596,11 @@ viewportGridService, dataSource, displaySetService, uiDialogService, uiNotificat
|
|
|
1486
1596
|
actions: [{
|
|
1487
1597
|
id: 'cancel',
|
|
1488
1598
|
text: 'Cancel',
|
|
1489
|
-
type: ui_src/* ButtonEnums.type */.
|
|
1599
|
+
type: ui_src/* ButtonEnums.type */.Ny.NW.secondary
|
|
1490
1600
|
}, {
|
|
1491
1601
|
id: 'yes',
|
|
1492
1602
|
text: 'Yes',
|
|
1493
|
-
type: ui_src/* ButtonEnums.type */.
|
|
1603
|
+
type: ui_src/* ButtonEnums.type */.Ny.NW.primary,
|
|
1494
1604
|
classes: ['reject-yes-button']
|
|
1495
1605
|
}],
|
|
1496
1606
|
onClose: () => uiDialogService.dismiss({
|
|
@@ -1500,10 +1610,9 @@ viewportGridService, dataSource, displaySetService, uiDialogService, uiNotificat
|
|
|
1500
1610
|
const yesButton = document.querySelector('.reject-yes-button');
|
|
1501
1611
|
yesButton.focus();
|
|
1502
1612
|
},
|
|
1503
|
-
onSubmit: async
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
} = _ref2;
|
|
1613
|
+
onSubmit: async ({
|
|
1614
|
+
action
|
|
1615
|
+
}) => {
|
|
1507
1616
|
switch (action.id) {
|
|
1508
1617
|
case 'yes':
|
|
1509
1618
|
try {
|
|
@@ -1657,6 +1766,11 @@ function _findTabAndStudyOfDisplaySet(displaySetInstanceUID, tabs) {
|
|
|
1657
1766
|
function getImageSrcFromImageId(cornerstone, imageId) {
|
|
1658
1767
|
return new Promise((resolve, reject) => {
|
|
1659
1768
|
const canvas = document.createElement('canvas');
|
|
1769
|
+
// Note: the default width and height of the canvas is 300x150
|
|
1770
|
+
// but we need to set the width and height to the same number since
|
|
1771
|
+
// the thumbnails are usually square and we want to maintain the aspect ratio
|
|
1772
|
+
canvas.width = 128 / window.devicePixelRatio;
|
|
1773
|
+
canvas.height = 128 / window.devicePixelRatio;
|
|
1660
1774
|
cornerstone.utilities.loadImageToCanvas({
|
|
1661
1775
|
canvas,
|
|
1662
1776
|
imageId
|
|
@@ -1699,16 +1813,15 @@ function _getStudyForPatientUtility(extensionManager) {
|
|
|
1699
1813
|
* @param {object} commandsManager
|
|
1700
1814
|
* @param {object} extensionManager
|
|
1701
1815
|
*/
|
|
1702
|
-
function WrappedPanelStudyBrowserTracking(
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
} = _ref;
|
|
1816
|
+
function WrappedPanelStudyBrowserTracking({
|
|
1817
|
+
commandsManager,
|
|
1818
|
+
extensionManager,
|
|
1819
|
+
servicesManager
|
|
1820
|
+
}) {
|
|
1708
1821
|
const dataSource = extensionManager.getActiveDataSource()[0];
|
|
1709
1822
|
const getStudiesForPatientByMRN = _getStudyForPatientUtility(extensionManager);
|
|
1710
1823
|
const _getStudiesForPatientByMRN = getStudiesForPatientByMRN.bind(null, dataSource);
|
|
1711
|
-
const _getImageSrcFromImageId = _createGetImageSrcFromImageIdFn(extensionManager);
|
|
1824
|
+
const _getImageSrcFromImageId = (0,react.useCallback)(_createGetImageSrcFromImageIdFn(extensionManager), []);
|
|
1712
1825
|
const _requestDisplaySetCreationForStudy = PanelStudyBrowserTracking_requestDisplaySetCreationForStudy.bind(null, dataSource);
|
|
1713
1826
|
return /*#__PURE__*/react.createElement(PanelStudyBrowserTracking_PanelStudyBrowserTracking, {
|
|
1714
1827
|
servicesManager: servicesManager,
|
|
@@ -1746,31 +1859,32 @@ WrappedPanelStudyBrowserTracking.propTypes = {
|
|
|
1746
1859
|
};
|
|
1747
1860
|
/* harmony default export */ const panels_PanelStudyBrowserTracking = (WrappedPanelStudyBrowserTracking);
|
|
1748
1861
|
// EXTERNAL MODULE: ./hooks/index.js + 1 modules
|
|
1749
|
-
var hooks = __webpack_require__(
|
|
1862
|
+
var hooks = __webpack_require__(25103);
|
|
1863
|
+
// EXTERNAL MODULE: ./state/index.js + 1 modules
|
|
1864
|
+
var state = __webpack_require__(15575);
|
|
1750
1865
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking/ActionButtons.tsx
|
|
1751
1866
|
|
|
1752
1867
|
|
|
1753
1868
|
|
|
1754
1869
|
|
|
1755
|
-
function ActionButtons(
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
} = _ref;
|
|
1870
|
+
function ActionButtons({
|
|
1871
|
+
onExportClick,
|
|
1872
|
+
onCreateReportClick,
|
|
1873
|
+
disabled
|
|
1874
|
+
}) {
|
|
1761
1875
|
const {
|
|
1762
1876
|
t
|
|
1763
|
-
} = (0,es/* useTranslation
|
|
1764
|
-
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(ui_src/* Button
|
|
1877
|
+
} = (0,es/* useTranslation */.Bd)('MeasurementTable');
|
|
1878
|
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
|
|
1765
1879
|
onClick: onExportClick,
|
|
1766
1880
|
disabled: disabled,
|
|
1767
|
-
type: ui_src/* ButtonEnums.type */.
|
|
1768
|
-
size: ui_src/* ButtonEnums.size */.
|
|
1769
|
-
}, t('Export')), /*#__PURE__*/react.createElement(ui_src/* Button
|
|
1881
|
+
type: ui_src/* ButtonEnums.type */.Ny.NW.secondary,
|
|
1882
|
+
size: ui_src/* ButtonEnums.size */.Ny.Ej.small
|
|
1883
|
+
}, t('Export')), /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
|
|
1770
1884
|
className: "ml-2",
|
|
1771
1885
|
onClick: onCreateReportClick,
|
|
1772
|
-
type: ui_src/* ButtonEnums.type */.
|
|
1773
|
-
size: ui_src/* ButtonEnums.size */.
|
|
1886
|
+
type: ui_src/* ButtonEnums.type */.Ny.NW.secondary,
|
|
1887
|
+
size: ui_src/* ButtonEnums.size */.Ny.Ej.small,
|
|
1774
1888
|
disabled: disabled
|
|
1775
1889
|
}, t('Create Report')));
|
|
1776
1890
|
}
|
|
@@ -1786,7 +1900,7 @@ ActionButtons.defaultProps = {
|
|
|
1786
1900
|
};
|
|
1787
1901
|
/* harmony default export */ const PanelMeasurementTableTracking_ActionButtons = (ActionButtons);
|
|
1788
1902
|
// EXTERNAL MODULE: ../../../node_modules/lodash.debounce/index.js
|
|
1789
|
-
var lodash_debounce = __webpack_require__(
|
|
1903
|
+
var lodash_debounce = __webpack_require__(14771);
|
|
1790
1904
|
var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce);
|
|
1791
1905
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking/index.tsx
|
|
1792
1906
|
|
|
@@ -1797,6 +1911,7 @@ var lodash_debounce_default = /*#__PURE__*/__webpack_require__.n(lodash_debounce
|
|
|
1797
1911
|
|
|
1798
1912
|
|
|
1799
1913
|
|
|
1914
|
+
|
|
1800
1915
|
const {
|
|
1801
1916
|
downloadCSVReport
|
|
1802
1917
|
} = src.utils;
|
|
@@ -1812,21 +1927,20 @@ const DISPLAY_STUDY_SUMMARY_INITIAL_VALUE = {
|
|
|
1812
1927
|
// 'CT',
|
|
1813
1928
|
description: '' // 'CHEST/ABD/PELVIS W CONTRAST',
|
|
1814
1929
|
};
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
} = _ref;
|
|
1821
|
-
const [viewportGrid] = (0,ui_src/* useViewportGrid */.O_)();
|
|
1930
|
+
function PanelMeasurementTableTracking({
|
|
1931
|
+
servicesManager,
|
|
1932
|
+
extensionManager
|
|
1933
|
+
}) {
|
|
1934
|
+
const [viewportGrid] = (0,ui_src/* useViewportGrid */.ih)();
|
|
1822
1935
|
const [measurementChangeTimestamp, setMeasurementsUpdated] = (0,react.useState)(Date.now().toString());
|
|
1823
|
-
const debouncedMeasurementChangeTimestamp = (0,hooks/* useDebounce */.
|
|
1936
|
+
const debouncedMeasurementChangeTimestamp = (0,hooks/* useDebounce */.d)(measurementChangeTimestamp, 200);
|
|
1824
1937
|
const {
|
|
1825
1938
|
measurementService,
|
|
1826
1939
|
uiDialogService,
|
|
1827
|
-
displaySetService
|
|
1940
|
+
displaySetService,
|
|
1941
|
+
customizationService
|
|
1828
1942
|
} = servicesManager.services;
|
|
1829
|
-
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,getContextModule/* useTrackedMeasurements */.
|
|
1943
|
+
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,getContextModule/* useTrackedMeasurements */.B)();
|
|
1830
1944
|
const {
|
|
1831
1945
|
trackedStudy,
|
|
1832
1946
|
trackedSeries
|
|
@@ -1834,6 +1948,7 @@ function PanelMeasurementTableTracking(_ref) {
|
|
|
1834
1948
|
const [displayStudySummary, setDisplayStudySummary] = (0,react.useState)(DISPLAY_STUDY_SUMMARY_INITIAL_VALUE);
|
|
1835
1949
|
const [displayMeasurements, setDisplayMeasurements] = (0,react.useState)([]);
|
|
1836
1950
|
const measurementsPanelRef = (0,react.useRef)(null);
|
|
1951
|
+
const [appConfig] = (0,state/* useAppConfig */.r)();
|
|
1837
1952
|
(0,react.useEffect)(() => {
|
|
1838
1953
|
const measurements = measurementService.getMeasurements();
|
|
1839
1954
|
const filteredMeasurements = measurements.filter(m => trackedStudy === m.referenceStudyUID && trackedSeries.includes(m.referenceSeriesUID));
|
|
@@ -1909,109 +2024,40 @@ function PanelMeasurementTableTracking(_ref) {
|
|
|
1909
2024
|
const trackedMeasurements = measurements.filter(m => trackedStudy === m.referenceStudyUID && trackedSeries.includes(m.referenceSeriesUID));
|
|
1910
2025
|
downloadCSVReport(trackedMeasurements, measurementService);
|
|
1911
2026
|
}
|
|
1912
|
-
const jumpToImage =
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
} = _ref2;
|
|
2027
|
+
const jumpToImage = ({
|
|
2028
|
+
uid,
|
|
2029
|
+
isActive
|
|
2030
|
+
}) => {
|
|
1917
2031
|
measurementService.jumpToMeasurement(viewportGrid.activeViewportId, uid);
|
|
1918
2032
|
onMeasurementItemClickHandler({
|
|
1919
2033
|
uid,
|
|
1920
2034
|
isActive
|
|
1921
2035
|
});
|
|
1922
2036
|
};
|
|
1923
|
-
const onMeasurementItemEditHandler =
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
} = _ref3;
|
|
1928
|
-
const measurement = measurementService.getMeasurement(uid);
|
|
2037
|
+
const onMeasurementItemEditHandler = ({
|
|
2038
|
+
uid,
|
|
2039
|
+
isActive
|
|
2040
|
+
}) => {
|
|
1929
2041
|
jumpToImage({
|
|
1930
2042
|
uid,
|
|
1931
2043
|
isActive
|
|
1932
2044
|
});
|
|
1933
|
-
const
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
...value
|
|
1944
|
-
}, true);
|
|
1945
|
-
}
|
|
1946
|
-
}
|
|
1947
|
-
uiDialogService.dismiss({
|
|
1948
|
-
id: 'enter-annotation'
|
|
1949
|
-
});
|
|
1950
|
-
};
|
|
1951
|
-
uiDialogService.create({
|
|
1952
|
-
id: 'enter-annotation',
|
|
1953
|
-
centralize: true,
|
|
1954
|
-
isDraggable: false,
|
|
1955
|
-
showOverlay: true,
|
|
1956
|
-
content: ui_src/* Dialog */.Vq,
|
|
1957
|
-
contentProps: {
|
|
1958
|
-
title: 'Annotation',
|
|
1959
|
-
noCloseButton: true,
|
|
1960
|
-
value: {
|
|
1961
|
-
label: measurement.label || ''
|
|
1962
|
-
},
|
|
1963
|
-
body: _ref5 => {
|
|
1964
|
-
let {
|
|
1965
|
-
value,
|
|
1966
|
-
setValue
|
|
1967
|
-
} = _ref5;
|
|
1968
|
-
const onChangeHandler = event => {
|
|
1969
|
-
event.persist();
|
|
1970
|
-
setValue(value => ({
|
|
1971
|
-
...value,
|
|
1972
|
-
label: event.target.value
|
|
1973
|
-
}));
|
|
1974
|
-
};
|
|
1975
|
-
const onKeyPressHandler = event => {
|
|
1976
|
-
if (event.key === 'Enter') {
|
|
1977
|
-
onSubmitHandler({
|
|
1978
|
-
value,
|
|
1979
|
-
action: {
|
|
1980
|
-
id: 'save'
|
|
1981
|
-
}
|
|
1982
|
-
});
|
|
1983
|
-
}
|
|
1984
|
-
};
|
|
1985
|
-
return /*#__PURE__*/react.createElement(ui_src/* Input */.II, {
|
|
1986
|
-
label: "Enter your annotation",
|
|
1987
|
-
labelClassName: "text-white grow text-[14px] leading-[1.2]",
|
|
1988
|
-
autoFocus: true,
|
|
1989
|
-
id: "annotation",
|
|
1990
|
-
className: "border-primary-main bg-black",
|
|
1991
|
-
type: "text",
|
|
1992
|
-
value: value.label,
|
|
1993
|
-
onChange: onChangeHandler,
|
|
1994
|
-
onKeyPress: onKeyPressHandler
|
|
1995
|
-
});
|
|
1996
|
-
},
|
|
1997
|
-
actions: [{
|
|
1998
|
-
id: 'cancel',
|
|
1999
|
-
text: 'Cancel',
|
|
2000
|
-
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
|
|
2001
|
-
}, {
|
|
2002
|
-
id: 'save',
|
|
2003
|
-
text: 'Save',
|
|
2004
|
-
type: ui_src/* ButtonEnums.type */.LZ.dt.primary
|
|
2005
|
-
}],
|
|
2006
|
-
onSubmit: onSubmitHandler
|
|
2007
|
-
}
|
|
2045
|
+
const labelConfig = customizationService.get('measurementLabels');
|
|
2046
|
+
const measurement = measurementService.getMeasurement(uid);
|
|
2047
|
+
const utilityModule = extensionManager.getModuleEntry('@ohif/extension-cornerstone.utilityModule.common');
|
|
2048
|
+
const {
|
|
2049
|
+
showLabelAnnotationPopup
|
|
2050
|
+
} = utilityModule.exports;
|
|
2051
|
+
showLabelAnnotationPopup(measurement, uiDialogService, labelConfig).then(val => {
|
|
2052
|
+
measurementService.update(uid, {
|
|
2053
|
+
...val
|
|
2054
|
+
}, true);
|
|
2008
2055
|
});
|
|
2009
2056
|
};
|
|
2010
|
-
const onMeasurementItemClickHandler =
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
} = _ref6;
|
|
2057
|
+
const onMeasurementItemClickHandler = ({
|
|
2058
|
+
uid,
|
|
2059
|
+
isActive
|
|
2060
|
+
}) => {
|
|
2015
2061
|
if (!isActive) {
|
|
2016
2062
|
const measurements = [...displayMeasurements];
|
|
2017
2063
|
const measurement = measurements.find(m => m.uid === uid);
|
|
@@ -2026,23 +2072,23 @@ function PanelMeasurementTableTracking(_ref) {
|
|
|
2026
2072
|
className: "invisible-scrollbar overflow-y-auto overflow-x-hidden",
|
|
2027
2073
|
ref: measurementsPanelRef,
|
|
2028
2074
|
"data-cy": 'trackedMeasurements-panel'
|
|
2029
|
-
}, displayStudySummary.key && /*#__PURE__*/react.createElement(ui_src/* StudySummary */.
|
|
2075
|
+
}, displayStudySummary.key && /*#__PURE__*/react.createElement(ui_src/* StudySummary */.u3, {
|
|
2030
2076
|
date: PanelMeasurementTableTracking_formatDate(displayStudySummary.date),
|
|
2031
2077
|
modality: displayStudySummary.modality,
|
|
2032
2078
|
description: displayStudySummary.description
|
|
2033
|
-
}), /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.
|
|
2079
|
+
}), /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.V, {
|
|
2034
2080
|
title: "Measurements",
|
|
2035
2081
|
data: displayMeasurementsWithoutFindings,
|
|
2036
2082
|
servicesManager: servicesManager,
|
|
2037
2083
|
onClick: jumpToImage,
|
|
2038
2084
|
onEdit: onMeasurementItemEditHandler
|
|
2039
|
-
}), additionalFindings.length !== 0 && /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.
|
|
2085
|
+
}), additionalFindings.length !== 0 && /*#__PURE__*/react.createElement(ui_src/* MeasurementTable */.V, {
|
|
2040
2086
|
title: "Additional Findings",
|
|
2041
2087
|
data: additionalFindings,
|
|
2042
2088
|
servicesManager: servicesManager,
|
|
2043
2089
|
onClick: jumpToImage,
|
|
2044
2090
|
onEdit: onMeasurementItemEditHandler
|
|
2045
|
-
})), /*#__PURE__*/react.createElement("div", {
|
|
2091
|
+
})), !appConfig?.disableEditing && /*#__PURE__*/react.createElement("div", {
|
|
2046
2092
|
className: "flex justify-center p-4"
|
|
2047
2093
|
}, /*#__PURE__*/react.createElement(PanelMeasurementTableTracking_ActionButtons, {
|
|
2048
2094
|
onExportClick: exportReport,
|
|
@@ -2123,24 +2169,26 @@ function _mapMeasurementToDisplay(measurement, types, displaySetService) {
|
|
|
2123
2169
|
|
|
2124
2170
|
|
|
2125
2171
|
|
|
2172
|
+
// EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
|
|
2173
|
+
var i18next = __webpack_require__(92344);
|
|
2126
2174
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/getPanelModule.tsx
|
|
2127
2175
|
|
|
2128
2176
|
|
|
2177
|
+
|
|
2129
2178
|
// TODO:
|
|
2130
2179
|
// - No loading UI exists yet
|
|
2131
2180
|
// - cancel promises when component is destroyed
|
|
2132
2181
|
// - show errors in UI for thumbnails if promise fails
|
|
2133
|
-
function getPanelModule(
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
} = _ref;
|
|
2182
|
+
function getPanelModule({
|
|
2183
|
+
commandsManager,
|
|
2184
|
+
extensionManager,
|
|
2185
|
+
servicesManager
|
|
2186
|
+
}) {
|
|
2139
2187
|
return [{
|
|
2140
2188
|
name: 'seriesList',
|
|
2141
2189
|
iconName: 'tab-studies',
|
|
2142
2190
|
iconLabel: 'Studies',
|
|
2143
|
-
label: 'Studies',
|
|
2191
|
+
label: i18next/* default */.A.t('SidePanel:Studies'),
|
|
2144
2192
|
component: panels_PanelStudyBrowserTracking.bind(null, {
|
|
2145
2193
|
commandsManager,
|
|
2146
2194
|
extensionManager,
|
|
@@ -2150,7 +2198,7 @@ function getPanelModule(_ref) {
|
|
|
2150
2198
|
name: 'trackedMeasurements',
|
|
2151
2199
|
iconName: 'tab-linear',
|
|
2152
2200
|
iconLabel: 'Measure',
|
|
2153
|
-
label: 'Measurements',
|
|
2201
|
+
label: i18next/* default */.A.t('SidePanel:Measurements'),
|
|
2154
2202
|
component: panels_PanelMeasurementTableTracking.bind(null, {
|
|
2155
2203
|
commandsManager,
|
|
2156
2204
|
extensionManager,
|
|
@@ -2163,19 +2211,18 @@ function getPanelModule(_ref) {
|
|
|
2163
2211
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2164
2212
|
|
|
2165
2213
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
2166
|
-
return __webpack_require__.e(/* import() */
|
|
2214
|
+
return __webpack_require__.e(/* import() */ 862).then(__webpack_require__.bind(__webpack_require__, 49862));
|
|
2167
2215
|
});
|
|
2168
2216
|
const OHIFCornerstoneViewport = props => {
|
|
2169
2217
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
2170
2218
|
fallback: /*#__PURE__*/react.createElement("div", null, "Loading...")
|
|
2171
2219
|
}, /*#__PURE__*/react.createElement(Component, props));
|
|
2172
2220
|
};
|
|
2173
|
-
function getViewportModule(
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
} = _ref;
|
|
2221
|
+
function getViewportModule({
|
|
2222
|
+
servicesManager,
|
|
2223
|
+
commandsManager,
|
|
2224
|
+
extensionManager
|
|
2225
|
+
}) {
|
|
2179
2226
|
const ExtendedOHIFCornerstoneTrackingViewport = props => {
|
|
2180
2227
|
return /*#__PURE__*/react.createElement(OHIFCornerstoneViewport, _extends({
|
|
2181
2228
|
servicesManager: servicesManager,
|
|
@@ -2190,10 +2237,10 @@ function getViewportModule(_ref) {
|
|
|
2190
2237
|
}
|
|
2191
2238
|
/* harmony default export */ const src_getViewportModule = (getViewportModule);
|
|
2192
2239
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/package.json
|
|
2193
|
-
const package_namespaceObject = JSON.parse('{"
|
|
2240
|
+
const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-measurement-tracking"}');
|
|
2194
2241
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/id.js
|
|
2195
2242
|
|
|
2196
|
-
const id = package_namespaceObject.
|
|
2243
|
+
const id = package_namespaceObject.UU;
|
|
2197
2244
|
|
|
2198
2245
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/index.tsx
|
|
2199
2246
|
|
|
@@ -2205,7 +2252,7 @@ const measurementTrackingExtension = {
|
|
|
2205
2252
|
* Only required property. Should be a unique value across all extensions.
|
|
2206
2253
|
*/
|
|
2207
2254
|
id: id,
|
|
2208
|
-
getContextModule: getContextModule/* default */.
|
|
2255
|
+
getContextModule: getContextModule/* default */.A,
|
|
2209
2256
|
getPanelModule: src_getPanelModule,
|
|
2210
2257
|
getViewportModule: src_getViewportModule
|
|
2211
2258
|
};
|