@ohif/app 3.7.0-beta.79 → 3.7.0-beta.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{128.bundle.d4536952e6eda267cb5a.js → 128.bundle.5198a2266456afecd420.js} +37 -55
- package/dist/{181.bundle.9a76ce585a7139d4862f.js → 181.bundle.fa57199595cf28f44c7b.js} +3 -3
- package/dist/{30.bundle.16bfc3a374fc4eda5ffc.js → 19.bundle.75ec1ec14786e136b7b3.js} +114 -260
- package/dist/19.css +1 -0
- package/dist/{202.bundle.6c3b5e9f37d88388e5c8.js → 202.bundle.96bbb4547a346fe3921f.js} +3 -3
- package/dist/221.bundle.8a81cea315fa7697c0e0.js +1722 -0
- package/dist/221.css +2 -0
- package/dist/{236.bundle.2386ed58739fdbdd53f8.js → 236.bundle.d2da6d1991e1229bf913.js} +11 -16
- package/dist/{250.bundle.77985c008fc579308ca9.js → 250.bundle.36909d7bc681d66087d1.js} +4 -4
- package/dist/{90.bundle.1d113c4a201e850c98c0.js → 342.bundle.70da5239bd664aa5d41a.js} +408 -152
- package/dist/{348.bundle.343c39a8c96a044b0fe2.js → 348.bundle.8c5b950d30e5aa992290.js} +45 -56
- package/dist/{359.bundle.2618db789083f7d3007d.js → 359.bundle.d2a3abe1a5cd3ca3cd8e.js} +36 -115
- package/dist/{410.bundle.5cc4909f3c608350a71e.js → 410.bundle.be538faa9c7fad92189b.js} +3 -4
- package/dist/{451.bundle.aaabf094eb8fa67da819.js → 451.bundle.dc0d14c3724464cca2bf.js} +27 -19
- package/dist/{471.bundle.953dacdccd46028efba7.js → 471.bundle.2206d4c0ac2ad0df2362.js} +26 -19
- package/dist/{506.bundle.c0258b1d7299fdb7628e.js → 506.bundle.97e53732423192fee818.js} +1 -75
- package/dist/{677.bundle.ec5f2b4707db33bd4d8e.js → 530.bundle.a03b6f942ace3e1baa1e.js} +5 -10
- package/dist/613.bundle.549d71231abfed24a2dc.js +532 -0
- package/dist/{754.bundle.6618bdd7f648b532c682.js → 754.bundle.e3ce6855d8d4d187f224.js} +36 -46
- package/dist/{777.bundle.82a7cc23a7b6a8bd12fa.js → 777.bundle.ae3fdb8a470caecc0c6a.js} +2 -2
- package/dist/{782.bundle.6fa60a24d3d4ad76c8db.js → 782.bundle.ee8dba2e8582b55cb38d.js} +7 -7
- package/dist/{822.bundle.4767349eb43b79145b3e.js → 822.bundle.5fca45a4f40f5259aec5.js} +2 -2
- package/dist/831.bundle.83658f62fcc769043605.js +16700 -0
- package/dist/{886.bundle.7ee671b1d5656455d067.js → 886.bundle.a9de117c3a42b7907cf6.js} +2 -2
- package/dist/{967.bundle.ab062b0b325bed3b9af9.js → 967.bundle.cce1d004b2ff178b1a8e.js} +242 -101
- package/dist/app-config.js +1 -5
- package/dist/{app.bundle.adf312c193d56262fa41.js → app.bundle.681f66ab37cef811e68b.js} +21839 -18707
- package/dist/app.bundle.css +8 -7
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- package/dist/150.bundle.1fff6b0c3496b6367f58.js +0 -742
- /package/dist/{12.bundle.653904a1682368c34d6b.js → 12.bundle.4a052141b46dec16862d.js} +0 -0
- /package/dist/{125.bundle.aeaad798561853bf6939.js → 125.bundle.253395f320b72180da63.js} +0 -0
- /package/dist/{281.bundle.fbb8c83b343a6903d529.js → 281.bundle.21a9e3178ddebe01b958.js} +0 -0
- /package/dist/{417.bundle.6cadc61b8a455776de31.js → 417.bundle.af0a207c29b109f84159.js} +0 -0
- /package/dist/{663.bundle.5175469e25c5196a739c.js → 663.bundle.b0f98b6e7221b1b9cf6a.js} +0 -0
- /package/dist/{686.bundle.b3dbf84eefbef768843f.js → 686.bundle.dccef1f36e4bc79bcc48.js} +0 -0
- /package/dist/{687.bundle.60d3856e6e77c027c174.js → 687.bundle.ab0ffdccae4610b00224.js} +0 -0
- /package/dist/{814.bundle.ba4f6267b43f8dbc803f.js → 814.bundle.eec4458e893e6055f0fc.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(self["webpackChunk"] = self["webpackChunk"] || []).push([[
|
|
2
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[19,579],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 41832:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
|
|
@@ -18,10 +18,10 @@ var prop_types = __webpack_require__(3827);
|
|
|
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
20
|
var es = __webpack_require__(261);
|
|
21
|
-
// EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js +
|
|
22
|
-
var react_es = __webpack_require__(
|
|
23
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
24
|
-
var src = __webpack_require__(
|
|
21
|
+
// EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js + 8 modules
|
|
22
|
+
var react_es = __webpack_require__(44530);
|
|
23
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
|
|
24
|
+
var src = __webpack_require__(71783);
|
|
25
25
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
|
|
26
26
|
|
|
27
27
|
const RESPONSE = {
|
|
@@ -37,6 +37,7 @@ const machineConfiguration = {
|
|
|
37
37
|
id: 'measurementTracking',
|
|
38
38
|
initial: 'idle',
|
|
39
39
|
context: {
|
|
40
|
+
activeViewportId: null,
|
|
40
41
|
trackedStudy: '',
|
|
41
42
|
trackedSeries: [],
|
|
42
43
|
ignoredSeries: [],
|
|
@@ -66,7 +67,12 @@ const machineConfiguration = {
|
|
|
66
67
|
cond: 'hasNotIgnoredSRSeriesForHydration'
|
|
67
68
|
},
|
|
68
69
|
RESTORE_PROMPT_HYDRATE_SR: 'promptHydrateStructuredReport',
|
|
69
|
-
HYDRATE_SR: 'hydrateStructuredReport'
|
|
70
|
+
HYDRATE_SR: 'hydrateStructuredReport',
|
|
71
|
+
UPDATE_ACTIVE_VIEWPORT_ID: {
|
|
72
|
+
actions: (0,es/* assign */.f0)({
|
|
73
|
+
activeViewportId: (_, event) => event.activeViewportId
|
|
74
|
+
})
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
},
|
|
72
78
|
promptBeginTracking: {
|
|
@@ -381,17 +387,17 @@ function _askTrackMeasurements(uiViewportDialogService, viewportId) {
|
|
|
381
387
|
const message = 'Track measurements for this series?';
|
|
382
388
|
const actions = [{
|
|
383
389
|
id: 'prompt-begin-tracking-cancel',
|
|
384
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
390
|
+
type: src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
385
391
|
text: 'No',
|
|
386
392
|
value: promptBeginTracking_RESPONSE.CANCEL
|
|
387
393
|
}, {
|
|
388
394
|
id: 'prompt-begin-tracking-no-do-not-ask-again',
|
|
389
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
395
|
+
type: src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
390
396
|
text: 'No, do not ask again',
|
|
391
397
|
value: promptBeginTracking_RESPONSE.NO_NEVER
|
|
392
398
|
}, {
|
|
393
399
|
id: 'prompt-begin-tracking-yes',
|
|
394
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
400
|
+
type: src/* ButtonEnums.type */.LZ.dt.primary,
|
|
395
401
|
text: 'Yes',
|
|
396
402
|
value: promptBeginTracking_RESPONSE.SET_STUDY_AND_SERIES
|
|
397
403
|
}];
|
|
@@ -455,15 +461,15 @@ function _askShouldAddMeasurements(uiViewportDialogService, viewportId) {
|
|
|
455
461
|
return new Promise(function (resolve, reject) {
|
|
456
462
|
const message = 'Do you want to add this measurement to the existing report?';
|
|
457
463
|
const actions = [{
|
|
458
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
464
|
+
type: src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
459
465
|
text: 'Cancel',
|
|
460
466
|
value: promptTrackNewSeries_RESPONSE.CANCEL
|
|
461
467
|
}, {
|
|
462
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
468
|
+
type: src/* ButtonEnums.type */.LZ.dt.primary,
|
|
463
469
|
text: 'Create new report',
|
|
464
470
|
value: promptTrackNewSeries_RESPONSE.CREATE_REPORT
|
|
465
471
|
}, {
|
|
466
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
472
|
+
type: src/* ButtonEnums.type */.LZ.dt.primary,
|
|
467
473
|
text: 'Add to existing report',
|
|
468
474
|
value: promptTrackNewSeries_RESPONSE.ADD_SERIES
|
|
469
475
|
}];
|
|
@@ -621,70 +627,17 @@ function promptTrackNewStudy_askSaveDiscardOrCancel(UIViewportDialogService, vie
|
|
|
621
627
|
});
|
|
622
628
|
}
|
|
623
629
|
/* harmony default export */ const TrackedMeasurementsContext_promptTrackNewStudy = (promptTrackNewStudy);
|
|
624
|
-
// EXTERNAL MODULE:
|
|
625
|
-
var
|
|
626
|
-
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
* @param {*} measurements
|
|
635
|
-
* @param {*} options
|
|
636
|
-
* @returns {string[]} displaySetInstanceUIDs
|
|
637
|
-
*/
|
|
638
|
-
async function createReportAsync(servicesManager, commandsManager, dataSource, measurements, options) {
|
|
639
|
-
const {
|
|
640
|
-
displaySetService,
|
|
641
|
-
uiNotificationService,
|
|
642
|
-
uiDialogService
|
|
643
|
-
} = servicesManager.services;
|
|
644
|
-
const loadingDialogId = uiDialogService.create({
|
|
645
|
-
showOverlay: true,
|
|
646
|
-
isDraggable: false,
|
|
647
|
-
centralize: true,
|
|
648
|
-
// TODO: Create a loading indicator component + zeplin design?
|
|
649
|
-
content: Loading
|
|
650
|
-
});
|
|
651
|
-
try {
|
|
652
|
-
const naturalizedReport = await commandsManager.runCommand('storeMeasurements', {
|
|
653
|
-
measurementData: measurements,
|
|
654
|
-
dataSource,
|
|
655
|
-
additionalFindingTypes: ['ArrowAnnotate'],
|
|
656
|
-
options
|
|
657
|
-
}, 'CORNERSTONE_STRUCTURED_REPORT');
|
|
658
|
-
|
|
659
|
-
// The "Mode" route listens for DicomMetadataStore changes
|
|
660
|
-
// When a new instance is added, it listens and
|
|
661
|
-
// automatically calls makeDisplaySets
|
|
662
|
-
core_src.DicomMetadataStore.addInstances([naturalizedReport], true);
|
|
663
|
-
const displaySetInstanceUID = displaySetService.getMostRecentDisplaySet();
|
|
664
|
-
uiNotificationService.show({
|
|
665
|
-
title: 'Create Report',
|
|
666
|
-
message: 'Measurements saved successfully',
|
|
667
|
-
type: 'success'
|
|
668
|
-
});
|
|
669
|
-
return [displaySetInstanceUID];
|
|
670
|
-
} catch (error) {
|
|
671
|
-
uiNotificationService.show({
|
|
672
|
-
title: 'Create Report',
|
|
673
|
-
message: error.message || 'Failed to store measurements',
|
|
674
|
-
type: 'error'
|
|
675
|
-
});
|
|
676
|
-
} finally {
|
|
677
|
-
uiDialogService.dismiss({
|
|
678
|
-
id: loadingDialogId
|
|
679
|
-
});
|
|
680
|
-
}
|
|
681
|
-
}
|
|
682
|
-
function Loading() {
|
|
683
|
-
return /*#__PURE__*/react.createElement("div", {
|
|
684
|
-
className: "text-primary-active"
|
|
685
|
-
}, "Loading...");
|
|
630
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 76 modules
|
|
631
|
+
var default_src = __webpack_require__(56342);
|
|
632
|
+
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/getNextSRSeriesNumber.js
|
|
633
|
+
const MIN_SR_SERIES_NUMBER = 4700;
|
|
634
|
+
function getNextSRSeriesNumber(displaySetService) {
|
|
635
|
+
const activeDisplaySets = displaySetService.getActiveDisplaySets();
|
|
636
|
+
const srDisplaySets = activeDisplaySets.filter(ds => ds.Modality === 'SR');
|
|
637
|
+
const srSeriesNumbers = srDisplaySets.map(ds => ds.SeriesNumber);
|
|
638
|
+
const maxSeriesNumber = Math.max(...srSeriesNumbers, MIN_SR_SERIES_NUMBER);
|
|
639
|
+
return maxSeriesNumber + 1;
|
|
686
640
|
}
|
|
687
|
-
/* harmony default export */ const _shared_createReportAsync = (createReportAsync);
|
|
688
641
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/PROMPT_RESPONSES.js
|
|
689
642
|
const PROMPT_RESPONSES_RESPONSE = {
|
|
690
643
|
NO_NEVER: -1,
|
|
@@ -695,138 +648,10 @@ const PROMPT_RESPONSES_RESPONSE = {
|
|
|
695
648
|
NO_NOT_FOR_SERIES: 4
|
|
696
649
|
};
|
|
697
650
|
/* harmony default export */ const PROMPT_RESPONSES = (PROMPT_RESPONSES_RESPONSE);
|
|
698
|
-
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/createReportDialogPrompt.tsx
|
|
699
|
-
/* eslint-disable react/display-name */
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
function createReportDialogPrompt(uiDialogService) {
|
|
704
|
-
return new Promise(function (resolve, reject) {
|
|
705
|
-
let dialogId = undefined;
|
|
706
|
-
const _handleClose = () => {
|
|
707
|
-
// Dismiss dialog
|
|
708
|
-
uiDialogService.dismiss({
|
|
709
|
-
id: dialogId
|
|
710
|
-
});
|
|
711
|
-
// Notify of cancel action
|
|
712
|
-
resolve({
|
|
713
|
-
action: PROMPT_RESPONSES.CANCEL,
|
|
714
|
-
value: undefined
|
|
715
|
-
});
|
|
716
|
-
};
|
|
717
|
-
|
|
718
|
-
/**
|
|
719
|
-
*
|
|
720
|
-
* @param {string} param0.action - value of action performed
|
|
721
|
-
* @param {string} param0.value - value from input field
|
|
722
|
-
*/
|
|
723
|
-
const _handleFormSubmit = _ref => {
|
|
724
|
-
let {
|
|
725
|
-
action,
|
|
726
|
-
value
|
|
727
|
-
} = _ref;
|
|
728
|
-
switch (action.id) {
|
|
729
|
-
case 'save':
|
|
730
|
-
// Only save if description is not blank otherwise ignore
|
|
731
|
-
if (value.label && value.label.trim() !== '') {
|
|
732
|
-
resolve({
|
|
733
|
-
action: PROMPT_RESPONSES.CREATE_REPORT,
|
|
734
|
-
value: value.label.trim()
|
|
735
|
-
});
|
|
736
|
-
uiDialogService.dismiss({
|
|
737
|
-
id: dialogId
|
|
738
|
-
});
|
|
739
|
-
}
|
|
740
|
-
break;
|
|
741
|
-
case 'cancel':
|
|
742
|
-
uiDialogService.dismiss({
|
|
743
|
-
id: dialogId
|
|
744
|
-
});
|
|
745
|
-
resolve({
|
|
746
|
-
action: PROMPT_RESPONSES.CANCEL,
|
|
747
|
-
value: undefined
|
|
748
|
-
});
|
|
749
|
-
break;
|
|
750
|
-
}
|
|
751
|
-
};
|
|
752
|
-
dialogId = uiDialogService.create({
|
|
753
|
-
centralize: true,
|
|
754
|
-
isDraggable: false,
|
|
755
|
-
content: src/* Dialog */.Vq,
|
|
756
|
-
useLastPosition: false,
|
|
757
|
-
showOverlay: true,
|
|
758
|
-
contentProps: {
|
|
759
|
-
title: 'Create Report',
|
|
760
|
-
value: {
|
|
761
|
-
label: ''
|
|
762
|
-
},
|
|
763
|
-
noCloseButton: true,
|
|
764
|
-
onClose: _handleClose,
|
|
765
|
-
actions: [{
|
|
766
|
-
id: 'cancel',
|
|
767
|
-
text: 'Cancel',
|
|
768
|
-
type: src/* ButtonEnums.type */.LZ.U.secondary
|
|
769
|
-
}, {
|
|
770
|
-
id: 'save',
|
|
771
|
-
text: 'Save',
|
|
772
|
-
type: src/* ButtonEnums.type */.LZ.U.primary
|
|
773
|
-
}],
|
|
774
|
-
// TODO: Should be on button press...
|
|
775
|
-
onSubmit: _handleFormSubmit,
|
|
776
|
-
body: _ref2 => {
|
|
777
|
-
let {
|
|
778
|
-
value,
|
|
779
|
-
setValue
|
|
780
|
-
} = _ref2;
|
|
781
|
-
const onChangeHandler = event => {
|
|
782
|
-
event.persist();
|
|
783
|
-
setValue(value => ({
|
|
784
|
-
...value,
|
|
785
|
-
label: event.target.value
|
|
786
|
-
}));
|
|
787
|
-
};
|
|
788
|
-
const onKeyPressHandler = event => {
|
|
789
|
-
if (event.key === 'Enter') {
|
|
790
|
-
// Trigger form submit
|
|
791
|
-
_handleFormSubmit({
|
|
792
|
-
action: {
|
|
793
|
-
id: 'save'
|
|
794
|
-
},
|
|
795
|
-
value
|
|
796
|
-
});
|
|
797
|
-
}
|
|
798
|
-
};
|
|
799
|
-
return /*#__PURE__*/react.createElement("div", {
|
|
800
|
-
className: ""
|
|
801
|
-
}, /*#__PURE__*/react.createElement(src/* Input */.II, {
|
|
802
|
-
label: "Enter the report name",
|
|
803
|
-
labelClassName: "text-white grow leading-[1.2] text-[14px]",
|
|
804
|
-
autoFocus: true,
|
|
805
|
-
className: "border-primary-main grow bg-black",
|
|
806
|
-
type: "text",
|
|
807
|
-
value: value.label,
|
|
808
|
-
onChange: onChangeHandler,
|
|
809
|
-
onKeyPress: onKeyPressHandler
|
|
810
|
-
}));
|
|
811
|
-
}
|
|
812
|
-
}
|
|
813
|
-
});
|
|
814
|
-
});
|
|
815
|
-
}
|
|
816
|
-
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/getNextSRSeriesNumber.js
|
|
817
|
-
const MIN_SR_SERIES_NUMBER = 4700;
|
|
818
|
-
function getNextSRSeriesNumber(displaySetService) {
|
|
819
|
-
const activeDisplaySets = displaySetService.getActiveDisplaySets();
|
|
820
|
-
const srDisplaySets = activeDisplaySets.filter(ds => ds.Modality === 'SR');
|
|
821
|
-
const srSeriesNumbers = srDisplaySets.map(ds => ds.SeriesNumber);
|
|
822
|
-
const maxSeriesNumber = Math.max(...srSeriesNumbers, MIN_SR_SERIES_NUMBER);
|
|
823
|
-
return maxSeriesNumber + 1;
|
|
824
|
-
}
|
|
825
651
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/promptSaveReport.js
|
|
826
652
|
|
|
827
653
|
|
|
828
654
|
|
|
829
|
-
|
|
830
655
|
function promptSaveReport(_ref, ctx, evt) {
|
|
831
656
|
let {
|
|
832
657
|
servicesManager,
|
|
@@ -849,7 +674,9 @@ function promptSaveReport(_ref, ctx, evt) {
|
|
|
849
674
|
let displaySetInstanceUIDs;
|
|
850
675
|
return new Promise(async function (resolve, reject) {
|
|
851
676
|
// TODO: Fallback if (uiDialogService) {
|
|
852
|
-
const promptResult = await createReportDialogPrompt(uiDialogService
|
|
677
|
+
const promptResult = await (0,default_src.createReportDialogPrompt)(uiDialogService, {
|
|
678
|
+
extensionManager
|
|
679
|
+
});
|
|
853
680
|
if (promptResult.action === PROMPT_RESPONSES.CREATE_REPORT) {
|
|
854
681
|
const dataSources = extensionManager.getDataSources();
|
|
855
682
|
const dataSource = dataSources[0];
|
|
@@ -861,9 +688,20 @@ function promptSaveReport(_ref, ctx, evt) {
|
|
|
861
688
|
: promptResult.value; // provided value
|
|
862
689
|
|
|
863
690
|
const SeriesNumber = getNextSRSeriesNumber(displaySetService);
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
691
|
+
const getReport = async () => {
|
|
692
|
+
return commandsManager.runCommand('storeMeasurements', {
|
|
693
|
+
measurementData: trackedMeasurements,
|
|
694
|
+
dataSource,
|
|
695
|
+
additionalFindingTypes: ['ArrowAnnotate'],
|
|
696
|
+
options: {
|
|
697
|
+
SeriesDescription,
|
|
698
|
+
SeriesNumber
|
|
699
|
+
}
|
|
700
|
+
}, 'CORNERSTONE_STRUCTURED_REPORT');
|
|
701
|
+
};
|
|
702
|
+
displaySetInstanceUIDs = await (0,default_src.createReportAsync)({
|
|
703
|
+
servicesManager,
|
|
704
|
+
getReport
|
|
867
705
|
});
|
|
868
706
|
} else if (promptResult.action === PROMPT_RESPONSES.CANCEL) {
|
|
869
707
|
// Do nothing
|
|
@@ -937,11 +775,11 @@ function promptHydrateStructuredReport_askTrackMeasurements(uiViewportDialogServ
|
|
|
937
775
|
return new Promise(function (resolve, reject) {
|
|
938
776
|
const message = 'Do you want to continue tracking measurements for this study?';
|
|
939
777
|
const actions = [{
|
|
940
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
778
|
+
type: src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
941
779
|
text: 'No',
|
|
942
780
|
value: promptHydrateStructuredReport_RESPONSE.CANCEL
|
|
943
781
|
}, {
|
|
944
|
-
type: src/* ButtonEnums.type */.LZ.
|
|
782
|
+
type: src/* ButtonEnums.type */.LZ.dt.primary,
|
|
945
783
|
text: 'Yes',
|
|
946
784
|
value: promptHydrateStructuredReport_RESPONSE.HYDRATE_REPORT
|
|
947
785
|
}];
|
|
@@ -1046,11 +884,12 @@ _ref2 // Component props
|
|
|
1046
884
|
jumpToFirstMeasurementInActiveViewport: (ctx, evt) => {
|
|
1047
885
|
const {
|
|
1048
886
|
trackedStudy,
|
|
1049
|
-
trackedSeries
|
|
887
|
+
trackedSeries,
|
|
888
|
+
activeViewportId
|
|
1050
889
|
} = ctx;
|
|
1051
890
|
const measurements = measurementService.getMeasurements();
|
|
1052
891
|
const trackedMeasurements = measurements.filter(m => trackedStudy === m.referenceStudyUID && trackedSeries.includes(m.referenceSeriesUID));
|
|
1053
|
-
console.log('jumping to measurement reset viewport',
|
|
892
|
+
console.log('jumping to measurement reset viewport', activeViewportId, trackedMeasurements[0]);
|
|
1054
893
|
const referencedDisplaySetUID = trackedMeasurements[0].displaySetInstanceUID;
|
|
1055
894
|
const referencedDisplaySet = displaySetService.getDisplaySetByUID(referencedDisplaySetUID);
|
|
1056
895
|
const referencedImages = referencedDisplaySet.images;
|
|
@@ -1070,7 +909,7 @@ _ref2 // Component props
|
|
|
1070
909
|
}
|
|
1071
910
|
}
|
|
1072
911
|
viewportGridService.setDisplaySetsForViewport({
|
|
1073
|
-
viewportId:
|
|
912
|
+
viewportId: activeViewportId,
|
|
1074
913
|
displaySetInstanceUIDs: [referencedDisplaySetUID],
|
|
1075
914
|
viewportOptions: {
|
|
1076
915
|
initialImageOptions: {
|
|
@@ -1081,7 +920,7 @@ _ref2 // Component props
|
|
|
1081
920
|
},
|
|
1082
921
|
showStructuredReportDisplaySetInActiveViewport: (ctx, evt) => {
|
|
1083
922
|
if (evt.data.createdDisplaySetInstanceUIDs.length > 0) {
|
|
1084
|
-
const StructuredReportDisplaySetInstanceUID = evt.data.createdDisplaySetInstanceUIDs[0]
|
|
923
|
+
const StructuredReportDisplaySetInstanceUID = evt.data.createdDisplaySetInstanceUIDs[0];
|
|
1085
924
|
viewportGridService.setDisplaySetsForViewport({
|
|
1086
925
|
viewportId: evt.data.viewportId,
|
|
1087
926
|
displaySetInstanceUIDs: [StructuredReportDisplaySetInstanceUID]
|
|
@@ -1149,6 +988,12 @@ _ref2 // Component props
|
|
|
1149
988
|
|
|
1150
989
|
const measurementTrackingMachine = (0,es/* Machine */.J)(machineConfiguration, machineOptions);
|
|
1151
990
|
const [trackedMeasurements, sendTrackedMeasurementsEvent] = (0,react_es/* useMachine */.eO)(measurementTrackingMachine);
|
|
991
|
+
(0,react.useEffect)(() => {
|
|
992
|
+
// Update the state machine with the active viewport ID
|
|
993
|
+
sendTrackedMeasurementsEvent('UPDATE_ACTIVE_VIEWPORT_ID', {
|
|
994
|
+
activeViewportId
|
|
995
|
+
});
|
|
996
|
+
}, [activeViewportId, sendTrackedMeasurementsEvent]);
|
|
1152
997
|
|
|
1153
998
|
// ~~ Listen for changes to ViewportGrid for potential SRs hung in panes when idle
|
|
1154
999
|
(0,react.useEffect)(() => {
|
|
@@ -1248,8 +1093,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1248
1093
|
"default": () => (/* binding */ measurement_tracking_src)
|
|
1249
1094
|
});
|
|
1250
1095
|
|
|
1251
|
-
// EXTERNAL MODULE: ../../../extensions/measurement-tracking/src/getContextModule.tsx +
|
|
1252
|
-
var getContextModule = __webpack_require__(
|
|
1096
|
+
// EXTERNAL MODULE: ../../../extensions/measurement-tracking/src/getContextModule.tsx + 12 modules
|
|
1097
|
+
var getContextModule = __webpack_require__(41832);
|
|
1253
1098
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
1254
1099
|
var react = __webpack_require__(43001);
|
|
1255
1100
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
@@ -1261,8 +1106,8 @@ var dist = __webpack_require__(62474);
|
|
|
1261
1106
|
var es = __webpack_require__(69190);
|
|
1262
1107
|
// EXTERNAL MODULE: ../../core/src/index.ts + 75 modules
|
|
1263
1108
|
var src = __webpack_require__(34491);
|
|
1264
|
-
// EXTERNAL MODULE: ../../ui/src/index.js +
|
|
1265
|
-
var ui_src = __webpack_require__(
|
|
1109
|
+
// EXTERNAL MODULE: ../../ui/src/index.js + 485 modules
|
|
1110
|
+
var ui_src = __webpack_require__(71783);
|
|
1266
1111
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx
|
|
1267
1112
|
|
|
1268
1113
|
|
|
@@ -1393,17 +1238,18 @@ function PanelStudyBrowserTracking(_ref) {
|
|
|
1393
1238
|
const imageIds = dataSource.getImageIdsForDisplaySet(displaySet);
|
|
1394
1239
|
const imageId = imageIds[Math.floor(imageIds.length / 2)];
|
|
1395
1240
|
|
|
1396
|
-
// TODO: Is it okay that imageIds are not returned here for SR
|
|
1397
|
-
if (imageId
|
|
1398
|
-
|
|
1399
|
-
newImageSrcEntry[dSet.displaySetInstanceUID] = await getImageSrc(imageId);
|
|
1400
|
-
setThumbnailImageSrcMap(prevState => {
|
|
1401
|
-
return {
|
|
1402
|
-
...prevState,
|
|
1403
|
-
...newImageSrcEntry
|
|
1404
|
-
};
|
|
1405
|
-
});
|
|
1241
|
+
// TODO: Is it okay that imageIds are not returned here for SR displaySets?
|
|
1242
|
+
if (!imageId || displaySet?.unsupported) {
|
|
1243
|
+
return;
|
|
1406
1244
|
}
|
|
1245
|
+
// When the image arrives, render it and store the result in the thumbnailImgSrcMap
|
|
1246
|
+
newImageSrcEntry[dSet.displaySetInstanceUID] = await getImageSrc(imageId);
|
|
1247
|
+
setThumbnailImageSrcMap(prevState => {
|
|
1248
|
+
return {
|
|
1249
|
+
...prevState,
|
|
1250
|
+
...newImageSrcEntry
|
|
1251
|
+
};
|
|
1252
|
+
});
|
|
1407
1253
|
});
|
|
1408
1254
|
}, [displaySetService, dataSource, getImageSrc]);
|
|
1409
1255
|
|
|
@@ -1430,28 +1276,36 @@ function PanelStudyBrowserTracking(_ref) {
|
|
|
1430
1276
|
const displaySetInstanceUID = dSet.displaySetInstanceUID;
|
|
1431
1277
|
const newImageSrcEntry = {};
|
|
1432
1278
|
const displaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID);
|
|
1433
|
-
if (
|
|
1434
|
-
|
|
1435
|
-
setJumpToDisplaySet(displaySetInstanceUID);
|
|
1436
|
-
}
|
|
1437
|
-
const imageIds = dataSource.getImageIdsForDisplaySet(displaySet);
|
|
1438
|
-
const imageId = imageIds[Math.floor(imageIds.length / 2)];
|
|
1439
|
-
|
|
1440
|
-
// TODO: Is it okay that imageIds are not returned here for SR displaysets?
|
|
1441
|
-
if (imageId) {
|
|
1442
|
-
// When the image arrives, render it and store the result in the thumbnailImgSrcMap
|
|
1443
|
-
newImageSrcEntry[displaySetInstanceUID] = await getImageSrc(imageId);
|
|
1444
|
-
setThumbnailImageSrcMap(prevState => {
|
|
1445
|
-
return {
|
|
1446
|
-
...prevState,
|
|
1447
|
-
...newImageSrcEntry
|
|
1448
|
-
};
|
|
1449
|
-
});
|
|
1450
|
-
}
|
|
1279
|
+
if (displaySet?.unsupported) {
|
|
1280
|
+
return;
|
|
1451
1281
|
}
|
|
1282
|
+
if (options.madeInClient) {
|
|
1283
|
+
setJumpToDisplaySet(displaySetInstanceUID);
|
|
1284
|
+
}
|
|
1285
|
+
const imageIds = dataSource.getImageIdsForDisplaySet(displaySet);
|
|
1286
|
+
const imageId = imageIds[Math.floor(imageIds.length / 2)];
|
|
1287
|
+
|
|
1288
|
+
// TODO: Is it okay that imageIds are not returned here for SR displaysets?
|
|
1289
|
+
if (!imageId) {
|
|
1290
|
+
return;
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
// When the image arrives, render it and store the result in the thumbnailImgSrcMap
|
|
1294
|
+
newImageSrcEntry[displaySetInstanceUID] = await getImageSrc(imageId);
|
|
1295
|
+
setThumbnailImageSrcMap(prevState => {
|
|
1296
|
+
return {
|
|
1297
|
+
...prevState,
|
|
1298
|
+
...newImageSrcEntry
|
|
1299
|
+
};
|
|
1300
|
+
});
|
|
1452
1301
|
});
|
|
1453
1302
|
});
|
|
1454
|
-
|
|
1303
|
+
return () => {
|
|
1304
|
+
SubscriptionDisplaySetsAdded.unsubscribe();
|
|
1305
|
+
};
|
|
1306
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1307
|
+
}, [displaySetService, dataSource, getImageSrc, thumbnailImageSrcMap, trackedSeries, viewports]);
|
|
1308
|
+
(0,react.useEffect)(() => {
|
|
1455
1309
|
// TODO: Will this always hold _all_ the displaySets we care about?
|
|
1456
1310
|
// DISPLAY_SETS_CHANGED returns `DisplaySerService.activeDisplaySets`
|
|
1457
1311
|
const SubscriptionDisplaySetsChanged = displaySetService.subscribe(displaySetService.EVENTS.DISPLAY_SETS_CHANGED, changedDisplaySets => {
|
|
@@ -1463,12 +1317,10 @@ function PanelStudyBrowserTracking(_ref) {
|
|
|
1463
1317
|
setDisplaySets(mappedDisplaySets);
|
|
1464
1318
|
});
|
|
1465
1319
|
return () => {
|
|
1466
|
-
SubscriptionDisplaySetsAdded.unsubscribe();
|
|
1467
1320
|
SubscriptionDisplaySetsChanged.unsubscribe();
|
|
1468
1321
|
SubscriptionDisplaySetMetaDataInvalidated.unsubscribe();
|
|
1469
1322
|
};
|
|
1470
|
-
|
|
1471
|
-
}, [displaySetService, dataSource, getImageSrc, thumbnailImageSrcMap, trackedSeries, viewports]);
|
|
1323
|
+
}, [thumbnailImageSrcMap, trackedSeries, viewports, dataSource, displaySetService]);
|
|
1472
1324
|
const tabs = _createStudyBrowserTabs(StudyInstanceUIDs, studyDisplayList, displaySets, hangingProtocolService);
|
|
1473
1325
|
|
|
1474
1326
|
// TODO: Should not fire this on "close"
|
|
@@ -1628,15 +1480,17 @@ viewportGridService, dataSource, displaySetService, uiDialogService, uiNotificat
|
|
|
1628
1480
|
title: 'Delete Report',
|
|
1629
1481
|
body: () => /*#__PURE__*/react.createElement("div", {
|
|
1630
1482
|
className: "bg-primary-dark p-4 text-white"
|
|
1631
|
-
}, /*#__PURE__*/react.createElement("p", null, "Are you sure you want to delete this report?"), /*#__PURE__*/react.createElement("p",
|
|
1483
|
+
}, /*#__PURE__*/react.createElement("p", null, "Are you sure you want to delete this report?"), /*#__PURE__*/react.createElement("p", {
|
|
1484
|
+
className: "mt-2"
|
|
1485
|
+
}, "This action cannot be undone.")),
|
|
1632
1486
|
actions: [{
|
|
1633
1487
|
id: 'cancel',
|
|
1634
1488
|
text: 'Cancel',
|
|
1635
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
1489
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
|
|
1636
1490
|
}, {
|
|
1637
1491
|
id: 'yes',
|
|
1638
1492
|
text: 'Yes',
|
|
1639
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
1493
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.primary,
|
|
1640
1494
|
classes: ['reject-yes-button']
|
|
1641
1495
|
}],
|
|
1642
1496
|
onClose: () => uiDialogService.dismiss({
|
|
@@ -1910,13 +1764,13 @@ function ActionButtons(_ref) {
|
|
|
1910
1764
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
|
|
1911
1765
|
onClick: onExportClick,
|
|
1912
1766
|
disabled: disabled,
|
|
1913
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
1914
|
-
size: ui_src/* ButtonEnums.size */.LZ.
|
|
1767
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
1768
|
+
size: ui_src/* ButtonEnums.size */.LZ.dp.small
|
|
1915
1769
|
}, t('Export')), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
|
|
1916
1770
|
className: "ml-2",
|
|
1917
1771
|
onClick: onCreateReportClick,
|
|
1918
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
1919
|
-
size: ui_src/* ButtonEnums.size */.LZ.
|
|
1772
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary,
|
|
1773
|
+
size: ui_src/* ButtonEnums.size */.LZ.dp.small,
|
|
1920
1774
|
disabled: disabled
|
|
1921
1775
|
}, t('Create Report')));
|
|
1922
1776
|
}
|
|
@@ -2143,11 +1997,11 @@ function PanelMeasurementTableTracking(_ref) {
|
|
|
2143
1997
|
actions: [{
|
|
2144
1998
|
id: 'cancel',
|
|
2145
1999
|
text: 'Cancel',
|
|
2146
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
2000
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.secondary
|
|
2147
2001
|
}, {
|
|
2148
2002
|
id: 'save',
|
|
2149
2003
|
text: 'Save',
|
|
2150
|
-
type: ui_src/* ButtonEnums.type */.LZ.
|
|
2004
|
+
type: ui_src/* ButtonEnums.type */.LZ.dt.primary
|
|
2151
2005
|
}],
|
|
2152
2006
|
onSubmit: onSubmitHandler
|
|
2153
2007
|
}
|
|
@@ -2284,7 +2138,7 @@ function getPanelModule(_ref) {
|
|
|
2284
2138
|
} = _ref;
|
|
2285
2139
|
return [{
|
|
2286
2140
|
name: 'seriesList',
|
|
2287
|
-
iconName: '
|
|
2141
|
+
iconName: 'tab-studies',
|
|
2288
2142
|
iconLabel: 'Studies',
|
|
2289
2143
|
label: 'Studies',
|
|
2290
2144
|
component: panels_PanelStudyBrowserTracking.bind(null, {
|
package/dist/19.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
8
|
-
/* harmony export */
|
|
8
|
+
/* harmony export */ Y: () => (/* binding */ index),
|
|
9
|
+
/* harmony export */ adaptersSEG: () => (/* binding */ adaptersSEG),
|
|
9
10
|
/* harmony export */ adaptersSR: () => (/* binding */ adaptersSR),
|
|
10
|
-
/* harmony export */
|
|
11
|
+
/* harmony export */ helpers: () => (/* binding */ index$1)
|
|
11
12
|
/* harmony export */ });
|
|
12
|
-
/* unused harmony export helpers */
|
|
13
13
|
/* harmony import */ var dcmjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67540);
|
|
14
14
|
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58955);
|
|
15
15
|
/* harmony import */ var ndarray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(87513);
|