@ohif/app 3.8.0-beta.28 → 3.8.0-beta.29
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/{12.bundle.9143213c69b6d81bb096.js → 12.bundle.abb6ab88fda1125f3b47.js} +9 -11
- package/dist/{125.bundle.253395f320b72180da63.js → 125.bundle.df666cb677e5a8982157.js} +4 -5
- package/dist/{170.bundle.4d78d3772d1acb65fded.js → 170.bundle.57dff48fc09ba5fa844b.js} +50 -69
- package/dist/{181.bundle.87f1df4f401b8023cfd1.js → 181.bundle.ae92b8a551d041d06e90.js} +58 -70
- package/dist/181.css +1 -1
- package/dist/{185.bundle.09cc8eea4e4056374e36.js → 185.bundle.0251703d5b77f265cc11.js} +21 -26
- package/dist/{19.bundle.d6a9a105cb89ce17cc8b.js → 19.bundle.55796dd5a6dfecf02682.js} +112 -127
- package/dist/{199.bundle.6f0caf3db1c473be990d.js → 199.bundle.f62693c1405b52bc6580.js} +18 -20
- package/dist/{202.bundle.a607e9ab460999d8c0c8.js → 202.bundle.0ca2f2479d2578f539b0.js} +9 -1
- package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 223.bundle.d4ac6ef2cfe47a9c4afc.js} +4422 -3671
- package/dist/{23.bundle.e008ad788170f2ed5569.js → 23.bundle.9d989522a6e4fdcb9c72.js} +1 -1
- package/dist/{250.bundle.5634282a01bd6e15b70d.js → 250.bundle.09c69d348a5d965debc8.js} +17 -22
- package/dist/{281.bundle.ed6f4765a49b67b6fa43.js → 281.bundle.a934356f89499eb6ec48.js} +23 -25
- package/dist/{359.bundle.f935bae2cc0ad1065f50.js → 359.bundle.1f2a03766e18f1e3cca4.js} +24 -27
- package/dist/{410.bundle.caba83fcaf6ee8caabe6.js → 410.bundle.b59d9d09407856f9babc.js} +22 -26
- package/dist/{417.bundle.af0a207c29b109f84159.js → 417.bundle.5c66801d23d0e98c00e6.js} +2 -2
- package/dist/{451.bundle.57c21db5d003c75e9d61.js → 451.bundle.68a551a7d1746cf904cb.js} +26 -32
- package/dist/{456.bundle.a2574e369e5fd60c0ed7.js → 456.bundle.475e0e878872ad61e39e.js} +392 -515
- package/dist/{466.bundle.e59923d0514cbfa2482a.js → 466.bundle.667b31151880a262d475.js} +101 -130
- package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 471.bundle.5809b10f75c8fc2f7167.js} +27 -33
- package/dist/{483.bundle.ef869872fd6fd7aa5b6b.js → 483.bundle.775438e850fbee318b63.js} +128 -170
- package/dist/{485.bundle.8667a696ac2eaf99e4fa.js → 485.bundle.5b6c33cc43d8f3470642.js} +1 -1
- package/dist/{506.bundle.c7927979078083de7126.js → 506.bundle.dcae1c16f61651daa74d.js} +13 -18
- package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 530.bundle.f904325ef4195d69ac0e.js} +10 -3
- package/dist/{26.bundle.c92012465cee00a2a708.js → 566.bundle.4840518afd323372c70f.js} +1136 -442
- package/dist/{613.bundle.dae1b29d8c4912dde32c.js → 613.bundle.d080a15569910ff63fc8.js} +19 -24
- package/dist/{661.bundle.65dd579322b265c6e321.js → 661.bundle.28ef6d8cd035876bd8e2.js} +40 -12
- package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 686.bundle.62c827fe4f0d054c164e.js} +4 -5
- package/dist/{687.bundle.96fde3d28aaeeeea7b8f.js → 687.bundle.fc36244c7ec3b1146f13.js} +19 -35
- package/dist/{738.bundle.99bc9fe71e5dccd0b0cd.js → 738.bundle.7c78f93180d8405b167c.js} +434 -596
- package/dist/{814.bundle.76638a0bfd57b81339fa.js → 814.bundle.9c9805cd0d54a8ea9697.js} +9 -11
- package/dist/{822.bundle.775a62e1f79c403f3aed.js → 822.bundle.55759fd8e9b0b489cc6b.js} +13 -15
- package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 886.bundle.4496fc7fb83b8c897d20.js} +18 -22
- package/dist/{95.bundle.db9d2d504abc5dd4fdfa.js → 95.bundle.d7a9f450bed3b770504d.js} +3 -3
- package/dist/{965.bundle.39dda96bd5335d372afb.js → 965.bundle.26d8f982af77f304a038.js} +91 -115
- package/dist/{app.bundle.75411c4a0421eb19f478.js → app.bundle.88eb088709ac23e29da0.js} +4643 -5947
- package/dist/app.bundle.css +11 -11
- package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.a7d5060eead13771e784.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +17 -17
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[738],{
|
|
3
3
|
|
|
4
4
|
/***/ 78738:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -179,8 +179,7 @@ function searchStudies(server, filter) {
|
|
|
179
179
|
* @param serverSupportsQIDOIncludeField
|
|
180
180
|
* @returns {string} The URL with encoded filter query data
|
|
181
181
|
*/
|
|
182
|
-
function mapParams(params) {
|
|
183
|
-
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
182
|
+
function mapParams(params, options = {}) {
|
|
184
183
|
if (!params) {
|
|
185
184
|
return;
|
|
186
185
|
}
|
|
@@ -354,13 +353,12 @@ function buildInstanceWadoUrl(config, instance) {
|
|
|
354
353
|
* @param thumbnail
|
|
355
354
|
* @returns {string} The imageId to be used by Cornerstone
|
|
356
355
|
*/
|
|
357
|
-
function getImageId(
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
} = _ref;
|
|
356
|
+
function getImageId({
|
|
357
|
+
instance,
|
|
358
|
+
frame,
|
|
359
|
+
config,
|
|
360
|
+
thumbnail = false
|
|
361
|
+
}) {
|
|
364
362
|
if (!instance) {
|
|
365
363
|
return;
|
|
366
364
|
}
|
|
@@ -398,10 +396,7 @@ class RetrieveMetadataLoader {
|
|
|
398
396
|
* @param {string} [filter.seriesInstanceUID] - series instance uid to filter results against
|
|
399
397
|
* @param {Function} [sortSeries] - Custom sort function for series
|
|
400
398
|
*/
|
|
401
|
-
constructor(client, studyInstanceUID) {
|
|
402
|
-
let filters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
403
|
-
let sortCriteria = arguments.length > 3 ? arguments[3] : undefined;
|
|
404
|
-
let sortFunction = arguments.length > 4 ? arguments[4] : undefined;
|
|
399
|
+
constructor(client, studyInstanceUID, filters = {}, sortCriteria, sortFunction) {
|
|
405
400
|
this.client = client;
|
|
406
401
|
this.studyInstanceUID = studyInstanceUID;
|
|
407
402
|
this.filters = filters;
|
|
@@ -596,11 +591,10 @@ class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader {
|
|
|
596
591
|
promises
|
|
597
592
|
};
|
|
598
593
|
}
|
|
599
|
-
async posLoad(
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
} = _ref;
|
|
594
|
+
async posLoad({
|
|
595
|
+
preLoadData,
|
|
596
|
+
promises
|
|
597
|
+
}) {
|
|
604
598
|
return {
|
|
605
599
|
preLoadData,
|
|
606
600
|
promises
|
|
@@ -626,10 +620,7 @@ class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader {
|
|
|
626
620
|
*
|
|
627
621
|
* @returns {Promise} A promises that resolves the study descriptor object
|
|
628
622
|
*/
|
|
629
|
-
async function RetrieveMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad) {
|
|
630
|
-
let filters = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
631
|
-
let sortCriteria = arguments.length > 4 ? arguments[4] : undefined;
|
|
632
|
-
let sortFunction = arguments.length > 5 ? arguments[5] : undefined;
|
|
623
|
+
async function RetrieveMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters = {}, sortCriteria, sortFunction) {
|
|
633
624
|
const RetrieveMetadataLoader = enableStudyLazyLoad !== false ? RetrieveMetadataLoaderAsync : RetrieveMetadataLoaderSync;
|
|
634
625
|
const retrieveMetadataLoader = new RetrieveMetadataLoader(dicomWebClient, StudyInstanceUID, filters, sortCriteria, sortFunction);
|
|
635
626
|
const data = await retrieveMetadataLoader.execLoad();
|
|
@@ -669,11 +660,10 @@ function retrieveMetadataFiltered(dicomWebClient, StudyInstanceUID, enableStudyL
|
|
|
669
660
|
preLoadData: [],
|
|
670
661
|
promises: []
|
|
671
662
|
};
|
|
672
|
-
results.forEach(
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
} = _ref;
|
|
663
|
+
results.forEach(({
|
|
664
|
+
preLoadData,
|
|
665
|
+
promises
|
|
666
|
+
}) => {
|
|
677
667
|
aggregatedResult.preLoadData = aggregatedResult.preLoadData.concat(preLoadData);
|
|
678
668
|
aggregatedResult.promises = aggregatedResult.promises.concat(promises);
|
|
679
669
|
});
|
|
@@ -703,8 +693,7 @@ const StudyMetaDataPromises = new Map();
|
|
|
703
693
|
*
|
|
704
694
|
* @returns {Promise} that will be resolved with the metadata or rejected with the error
|
|
705
695
|
*/
|
|
706
|
-
function retrieveStudyMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters, sortCriteria, sortFunction) {
|
|
707
|
-
let dicomWebConfig = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};
|
|
696
|
+
function retrieveStudyMetadata(dicomWebClient, StudyInstanceUID, enableStudyLazyLoad, filters, sortCriteria, sortFunction, dicomWebConfig = {}) {
|
|
708
697
|
// @TODO: Whenever a study metadata request has failed, its related promise will be rejected once and for all
|
|
709
698
|
// and further requests for that metadata will always fail. On failure, we probably need to remove the
|
|
710
699
|
// corresponding promise from the "StudyMetaDataPromises" map...
|
|
@@ -903,8 +892,7 @@ class StaticWadoClient extends dicomweb_client_es.api.DICOMwebClient {
|
|
|
903
892
|
/** Converts the query parameters to lower case query parameters */
|
|
904
893
|
toLowerParams(queryParams) {
|
|
905
894
|
const lowerParams = {};
|
|
906
|
-
Object.entries(queryParams).forEach(
|
|
907
|
-
let [key, value] = _ref;
|
|
895
|
+
Object.entries(queryParams).forEach(([key, value]) => {
|
|
908
896
|
lowerParams[key.toLowerCase()] = value;
|
|
909
897
|
});
|
|
910
898
|
return lowerParams;
|
|
@@ -1083,11 +1071,10 @@ const metadataProvider = src.classes.MetadataProvider;
|
|
|
1083
1071
|
function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
1084
1072
|
let dicomWebConfigCopy, qidoConfig, wadoConfig, qidoDicomWebClient, wadoDicomWebClient, getAuthrorizationHeader, generateWadoHeader;
|
|
1085
1073
|
const implementation = {
|
|
1086
|
-
initialize:
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
} = _ref;
|
|
1074
|
+
initialize: ({
|
|
1075
|
+
params,
|
|
1076
|
+
query
|
|
1077
|
+
}) => {
|
|
1091
1078
|
if (dicomWebConfig.onConfiguration && typeof dicomWebConfig.onConfiguration === 'function') {
|
|
1092
1079
|
dicomWebConfig = dicomWebConfig.onConfiguration(dicomWebConfig, {
|
|
1093
1080
|
params,
|
|
@@ -1159,7 +1146,6 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1159
1146
|
}
|
|
1160
1147
|
// processResults: processResults.bind(),
|
|
1161
1148
|
},
|
|
1162
|
-
|
|
1163
1149
|
instances: {
|
|
1164
1150
|
search: (studyInstanceUid, queryParameters) => {
|
|
1165
1151
|
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
|
@@ -1185,11 +1171,10 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1185
1171
|
singlepart: dicomWebConfig.singlepart
|
|
1186
1172
|
}, params);
|
|
1187
1173
|
},
|
|
1188
|
-
bulkDataURI: async
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
} = _ref2;
|
|
1174
|
+
bulkDataURI: async ({
|
|
1175
|
+
StudyInstanceUID,
|
|
1176
|
+
BulkDataURI
|
|
1177
|
+
}) => {
|
|
1193
1178
|
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
|
1194
1179
|
const options = {
|
|
1195
1180
|
multipart: false,
|
|
@@ -1202,14 +1187,13 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1202
1187
|
});
|
|
1203
1188
|
},
|
|
1204
1189
|
series: {
|
|
1205
|
-
metadata: async
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1190
|
+
metadata: async ({
|
|
1191
|
+
StudyInstanceUID,
|
|
1192
|
+
filters,
|
|
1193
|
+
sortCriteria,
|
|
1194
|
+
sortFunction,
|
|
1195
|
+
madeInClient = false
|
|
1196
|
+
} = {}) => {
|
|
1213
1197
|
if (!StudyInstanceUID) {
|
|
1214
1198
|
throw new Error('Unable to query for SeriesMetadata without StudyInstanceUID');
|
|
1215
1199
|
}
|
|
@@ -1297,8 +1281,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1297
1281
|
Object.keys(instancesPerSeries).forEach(seriesInstanceUID => src.DicomMetadataStore.addInstances(instancesPerSeries[seriesInstanceUID], madeInClient));
|
|
1298
1282
|
return seriesSummaryMetadata;
|
|
1299
1283
|
},
|
|
1300
|
-
_retrieveSeriesMetadataAsync: async
|
|
1301
|
-
let madeInClient = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
1284
|
+
_retrieveSeriesMetadataAsync: async (StudyInstanceUID, filters, sortCriteria, sortFunction, madeInClient = false) => {
|
|
1302
1285
|
const enableStudyLazyLoad = true;
|
|
1303
1286
|
wadoDicomWebClient.headers = generateWadoHeader();
|
|
1304
1287
|
// Get Series
|
|
@@ -1432,11 +1415,10 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1432
1415
|
});
|
|
1433
1416
|
return imageIds;
|
|
1434
1417
|
},
|
|
1435
|
-
getImageIdsForInstance(
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
} = _ref3;
|
|
1418
|
+
getImageIdsForInstance({
|
|
1419
|
+
instance,
|
|
1420
|
+
frame
|
|
1421
|
+
}) {
|
|
1440
1422
|
const imageIds = getImageId({
|
|
1441
1423
|
instance,
|
|
1442
1424
|
frame,
|
|
@@ -1447,11 +1429,10 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|
|
1447
1429
|
getConfig() {
|
|
1448
1430
|
return dicomWebConfigCopy;
|
|
1449
1431
|
},
|
|
1450
|
-
getStudyInstanceUIDs(
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
} = _ref4;
|
|
1432
|
+
getStudyInstanceUIDs({
|
|
1433
|
+
params,
|
|
1434
|
+
query
|
|
1435
|
+
}) {
|
|
1455
1436
|
const {
|
|
1456
1437
|
StudyInstanceUIDs: paramsStudyInstanceUIDs
|
|
1457
1438
|
} = params;
|
|
@@ -1490,7 +1471,6 @@ let _store = {
|
|
|
1490
1471
|
// }
|
|
1491
1472
|
// }
|
|
1492
1473
|
};
|
|
1493
|
-
|
|
1494
1474
|
function wrapSequences(obj) {
|
|
1495
1475
|
return Object.keys(obj).reduce((acc, key) => {
|
|
1496
1476
|
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
@@ -1524,11 +1504,10 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1524
1504
|
wadoRoot
|
|
1525
1505
|
} = dicomJsonConfig;
|
|
1526
1506
|
const implementation = {
|
|
1527
|
-
initialize: async
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
} = _ref;
|
|
1507
|
+
initialize: async ({
|
|
1508
|
+
query,
|
|
1509
|
+
url
|
|
1510
|
+
}) => {
|
|
1532
1511
|
if (!url) {
|
|
1533
1512
|
url = query.get('url');
|
|
1534
1513
|
}
|
|
@@ -1629,12 +1608,11 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1629
1608
|
return utils_getDirectURL(wadoRoot, params);
|
|
1630
1609
|
},
|
|
1631
1610
|
series: {
|
|
1632
|
-
metadata: async
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1611
|
+
metadata: async ({
|
|
1612
|
+
StudyInstanceUID,
|
|
1613
|
+
madeInClient = false,
|
|
1614
|
+
customSort
|
|
1615
|
+
} = {}) => {
|
|
1638
1616
|
if (!StudyInstanceUID) {
|
|
1639
1617
|
throw new Error('Unable to query for SeriesMetadata without StudyInstanceUID');
|
|
1640
1618
|
}
|
|
@@ -1722,22 +1700,20 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1722
1700
|
});
|
|
1723
1701
|
return imageIds;
|
|
1724
1702
|
},
|
|
1725
|
-
getImageIdsForInstance(
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
} = _ref2;
|
|
1703
|
+
getImageIdsForInstance({
|
|
1704
|
+
instance,
|
|
1705
|
+
frame
|
|
1706
|
+
}) {
|
|
1730
1707
|
const imageIds = getImageId({
|
|
1731
1708
|
instance,
|
|
1732
1709
|
frame
|
|
1733
1710
|
});
|
|
1734
1711
|
return imageIds;
|
|
1735
1712
|
},
|
|
1736
|
-
getStudyInstanceUIDs:
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
} = _ref3;
|
|
1713
|
+
getStudyInstanceUIDs: ({
|
|
1714
|
+
params,
|
|
1715
|
+
query
|
|
1716
|
+
}) => {
|
|
1741
1717
|
const url = query.get('url');
|
|
1742
1718
|
return _store.studyInstanceUIDMap.get(url);
|
|
1743
1719
|
}
|
|
@@ -1758,8 +1734,7 @@ const END_MODALITIES = {
|
|
|
1758
1734
|
SEG: true,
|
|
1759
1735
|
DOC: true
|
|
1760
1736
|
};
|
|
1761
|
-
const compareValue =
|
|
1762
|
-
let def = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
1737
|
+
const compareValue = (v1, v2, def = 0) => {
|
|
1763
1738
|
if (v1 === v2) {
|
|
1764
1739
|
return def;
|
|
1765
1740
|
}
|
|
@@ -1791,12 +1766,10 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
1791
1766
|
name
|
|
1792
1767
|
} = dicomLocalConfig;
|
|
1793
1768
|
const implementation = {
|
|
1794
|
-
initialize:
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
} = _ref;
|
|
1799
|
-
},
|
|
1769
|
+
initialize: ({
|
|
1770
|
+
params,
|
|
1771
|
+
query
|
|
1772
|
+
}) => {},
|
|
1800
1773
|
query: {
|
|
1801
1774
|
studies: {
|
|
1802
1775
|
mapParams: () => {},
|
|
@@ -1875,11 +1848,10 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
1875
1848
|
}
|
|
1876
1849
|
},
|
|
1877
1850
|
series: {
|
|
1878
|
-
metadata: async
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1851
|
+
metadata: async ({
|
|
1852
|
+
StudyInstanceUID,
|
|
1853
|
+
madeInClient = false
|
|
1854
|
+
} = {}) => {
|
|
1883
1855
|
if (!StudyInstanceUID) {
|
|
1884
1856
|
throw new Error('Unable to query for SeriesMetadata without StudyInstanceUID');
|
|
1885
1857
|
}
|
|
@@ -1958,11 +1930,10 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
1958
1930
|
});
|
|
1959
1931
|
return imageIds;
|
|
1960
1932
|
},
|
|
1961
|
-
getImageIdsForInstance(
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
} = _ref2;
|
|
1933
|
+
getImageIdsForInstance({
|
|
1934
|
+
instance,
|
|
1935
|
+
frame
|
|
1936
|
+
}) {
|
|
1966
1937
|
const {
|
|
1967
1938
|
StudyInstanceUID,
|
|
1968
1939
|
SeriesInstanceUID,
|
|
@@ -1978,11 +1949,10 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
1978
1949
|
deleteStudyMetadataPromise() {
|
|
1979
1950
|
console.log('deleteStudyMetadataPromise not implemented');
|
|
1980
1951
|
},
|
|
1981
|
-
getStudyInstanceUIDs:
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
} = _ref3;
|
|
1952
|
+
getStudyInstanceUIDs: ({
|
|
1953
|
+
params,
|
|
1954
|
+
query
|
|
1955
|
+
}) => {
|
|
1986
1956
|
const {
|
|
1987
1957
|
StudyInstanceUIDs: paramsStudyInstanceUIDs
|
|
1988
1958
|
} = params;
|
|
@@ -2023,11 +1993,10 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
|
|
|
2023
1993
|
} = dicomWebProxyConfig;
|
|
2024
1994
|
let dicomWebDelegate = undefined;
|
|
2025
1995
|
const implementation = {
|
|
2026
|
-
initialize: async
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
} = _ref;
|
|
1996
|
+
initialize: async ({
|
|
1997
|
+
params,
|
|
1998
|
+
query
|
|
1999
|
+
}) => {
|
|
2031
2000
|
const url = query.get('url');
|
|
2032
2001
|
if (!url) {
|
|
2033
2002
|
throw new Error(`No url for '${name}'`);
|
|
@@ -2049,43 +2018,28 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
|
|
|
2049
2018
|
search: params => dicomWebDelegate.query.studies.search(params)
|
|
2050
2019
|
},
|
|
2051
2020
|
series: {
|
|
2052
|
-
search:
|
|
2053
|
-
return dicomWebDelegate.query.series.search(...arguments);
|
|
2054
|
-
}
|
|
2021
|
+
search: (...args) => dicomWebDelegate.query.series.search(...args)
|
|
2055
2022
|
},
|
|
2056
2023
|
instances: {
|
|
2057
2024
|
search: (studyInstanceUid, queryParameters) => dicomWebDelegate.query.instances.search(studyInstanceUid, queryParameters)
|
|
2058
2025
|
}
|
|
2059
2026
|
},
|
|
2060
2027
|
retrieve: {
|
|
2061
|
-
directURL:
|
|
2062
|
-
return dicomWebDelegate.retrieve.directURL(...arguments);
|
|
2063
|
-
},
|
|
2028
|
+
directURL: (...args) => dicomWebDelegate.retrieve.directURL(...args),
|
|
2064
2029
|
series: {
|
|
2065
|
-
metadata: async
|
|
2066
|
-
return dicomWebDelegate.retrieve.series.metadata(...arguments);
|
|
2067
|
-
}
|
|
2030
|
+
metadata: async (...args) => dicomWebDelegate.retrieve.series.metadata(...args)
|
|
2068
2031
|
}
|
|
2069
2032
|
},
|
|
2070
2033
|
store: {
|
|
2071
|
-
dicom:
|
|
2072
|
-
return dicomWebDelegate.store(...arguments);
|
|
2073
|
-
}
|
|
2074
|
-
},
|
|
2075
|
-
deleteStudyMetadataPromise: function () {
|
|
2076
|
-
return dicomWebDelegate.deleteStudyMetadataPromise(...arguments);
|
|
2077
|
-
},
|
|
2078
|
-
getImageIdsForDisplaySet: function () {
|
|
2079
|
-
return dicomWebDelegate.getImageIdsForDisplaySet(...arguments);
|
|
2080
|
-
},
|
|
2081
|
-
getImageIdsForInstance: function () {
|
|
2082
|
-
return dicomWebDelegate.getImageIdsForInstance(...arguments);
|
|
2034
|
+
dicom: (...args) => dicomWebDelegate.store(...args)
|
|
2083
2035
|
},
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2036
|
+
deleteStudyMetadataPromise: (...args) => dicomWebDelegate.deleteStudyMetadataPromise(...args),
|
|
2037
|
+
getImageIdsForDisplaySet: (...args) => dicomWebDelegate.getImageIdsForDisplaySet(...args),
|
|
2038
|
+
getImageIdsForInstance: (...args) => dicomWebDelegate.getImageIdsForInstance(...args),
|
|
2039
|
+
getStudyInstanceUIDs({
|
|
2040
|
+
params,
|
|
2041
|
+
query
|
|
2042
|
+
}) {
|
|
2089
2043
|
let studyInstanceUIDs = [];
|
|
2090
2044
|
|
|
2091
2045
|
// there seem to be a couple of variations of the case for this parameter
|
|
@@ -2131,14 +2085,13 @@ const mergeMap = {
|
|
|
2131
2085
|
* @param {string[]} options.dataSourceNames - The names of the data sources to be called.
|
|
2132
2086
|
* @returns {Promise<unknown[]>} - A promise that resolves to the merged data from all data sources.
|
|
2133
2087
|
*/
|
|
2134
|
-
const callForAllDataSourcesAsync = async
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
} = _ref;
|
|
2088
|
+
const callForAllDataSourcesAsync = async ({
|
|
2089
|
+
mergeMap,
|
|
2090
|
+
path,
|
|
2091
|
+
args,
|
|
2092
|
+
extensionManager,
|
|
2093
|
+
dataSourceNames
|
|
2094
|
+
}) => {
|
|
2142
2095
|
const {
|
|
2143
2096
|
mergeKey,
|
|
2144
2097
|
tagFunc
|
|
@@ -2173,13 +2126,12 @@ const callForAllDataSourcesAsync = async _ref => {
|
|
|
2173
2126
|
* @param options.dataSourceNames - The names of the data sources to be called.
|
|
2174
2127
|
* @returns The merged data from all the matching data sources.
|
|
2175
2128
|
*/
|
|
2176
|
-
const callForAllDataSources =
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
} = _ref2;
|
|
2129
|
+
const callForAllDataSources = ({
|
|
2130
|
+
path,
|
|
2131
|
+
args,
|
|
2132
|
+
extensionManager,
|
|
2133
|
+
dataSourceNames
|
|
2134
|
+
}) => {
|
|
2183
2135
|
const dataSourceDefs = Object.values(extensionManager.dataSourceDefs);
|
|
2184
2136
|
const mergedData = [];
|
|
2185
2137
|
for (const dataSourceDef of dataSourceDefs) {
|
|
@@ -2206,13 +2158,12 @@ const callForAllDataSources = _ref2 => {
|
|
|
2206
2158
|
* @param {ExtensionManager} options.extensionManager - The extension manager instance.
|
|
2207
2159
|
* @returns {unknown} - The result of calling the default data source function.
|
|
2208
2160
|
*/
|
|
2209
|
-
const callForDefaultDataSource =
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
} = _ref3;
|
|
2161
|
+
const callForDefaultDataSource = ({
|
|
2162
|
+
path,
|
|
2163
|
+
args,
|
|
2164
|
+
defaultDataSourceName,
|
|
2165
|
+
extensionManager
|
|
2166
|
+
}) => {
|
|
2216
2167
|
const [dataSource] = extensionManager.getDataSources(defaultDataSourceName);
|
|
2217
2168
|
const func = (0,lodash.get)(dataSource, path);
|
|
2218
2169
|
return func.apply(dataSource, args);
|
|
@@ -2226,13 +2177,12 @@ const callForDefaultDataSource = _ref3 => {
|
|
|
2226
2177
|
* @property {string} defaultDataSourceName - The name of the default data source.
|
|
2227
2178
|
* @property {ExtensionManager} extensionManager - The extension manager.
|
|
2228
2179
|
*/
|
|
2229
|
-
const callByRetrieveAETitle =
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
} = _ref4;
|
|
2180
|
+
const callByRetrieveAETitle = ({
|
|
2181
|
+
path,
|
|
2182
|
+
args,
|
|
2183
|
+
defaultDataSourceName,
|
|
2184
|
+
extensionManager
|
|
2185
|
+
}) => {
|
|
2236
2186
|
const [displaySet] = args;
|
|
2237
2187
|
const seriesMetadata = src.DicomMetadataStore.getSeries(displaySet.StudyInstanceUID, displaySet.SeriesInstanceUID);
|
|
2238
2188
|
const [dataSource] = extensionManager.getDataSources(seriesMetadata.RetrieveAETitle || defaultDataSourceName);
|
|
@@ -2247,157 +2197,97 @@ function createMergeDataSourceApi(mergeConfig, UserAuthenticationService, extens
|
|
|
2247
2197
|
defaultDataSourceName
|
|
2248
2198
|
} = seriesMerge;
|
|
2249
2199
|
const implementation = {
|
|
2250
|
-
initialize:
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
args,
|
|
2257
|
-
extensionManager,
|
|
2258
|
-
dataSourceNames
|
|
2259
|
-
});
|
|
2260
|
-
},
|
|
2200
|
+
initialize: (...args) => callForAllDataSources({
|
|
2201
|
+
path: 'initialize',
|
|
2202
|
+
args,
|
|
2203
|
+
extensionManager,
|
|
2204
|
+
dataSourceNames
|
|
2205
|
+
}),
|
|
2261
2206
|
query: {
|
|
2262
2207
|
studies: {
|
|
2263
|
-
search:
|
|
2264
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
2265
|
-
args[_key2] = arguments[_key2];
|
|
2266
|
-
}
|
|
2267
|
-
return callForAllDataSourcesAsync({
|
|
2268
|
-
mergeMap,
|
|
2269
|
-
path: 'query.studies.search',
|
|
2270
|
-
args,
|
|
2271
|
-
extensionManager,
|
|
2272
|
-
dataSourceNames
|
|
2273
|
-
});
|
|
2274
|
-
}
|
|
2275
|
-
},
|
|
2276
|
-
series: {
|
|
2277
|
-
search: function () {
|
|
2278
|
-
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
2279
|
-
args[_key3] = arguments[_key3];
|
|
2280
|
-
}
|
|
2281
|
-
return callForAllDataSourcesAsync({
|
|
2282
|
-
mergeMap,
|
|
2283
|
-
path: 'query.series.search',
|
|
2284
|
-
args,
|
|
2285
|
-
extensionManager,
|
|
2286
|
-
dataSourceNames
|
|
2287
|
-
});
|
|
2288
|
-
}
|
|
2289
|
-
},
|
|
2290
|
-
instances: {
|
|
2291
|
-
search: function () {
|
|
2292
|
-
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
2293
|
-
args[_key4] = arguments[_key4];
|
|
2294
|
-
}
|
|
2295
|
-
return callForAllDataSourcesAsync({
|
|
2296
|
-
mergeMap,
|
|
2297
|
-
path: 'query.instances.search',
|
|
2298
|
-
args,
|
|
2299
|
-
extensionManager,
|
|
2300
|
-
dataSourceNames
|
|
2301
|
-
});
|
|
2302
|
-
}
|
|
2303
|
-
}
|
|
2304
|
-
},
|
|
2305
|
-
retrieve: {
|
|
2306
|
-
bulkDataURI: function () {
|
|
2307
|
-
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
2308
|
-
args[_key5] = arguments[_key5];
|
|
2309
|
-
}
|
|
2310
|
-
return callForAllDataSourcesAsync({
|
|
2208
|
+
search: (...args) => callForAllDataSourcesAsync({
|
|
2311
2209
|
mergeMap,
|
|
2312
|
-
path: '
|
|
2210
|
+
path: 'query.studies.search',
|
|
2313
2211
|
args,
|
|
2314
2212
|
extensionManager,
|
|
2315
2213
|
dataSourceNames
|
|
2316
|
-
})
|
|
2214
|
+
})
|
|
2317
2215
|
},
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
return callForDefaultDataSource({
|
|
2323
|
-
path: 'retrieve.directURL',
|
|
2216
|
+
series: {
|
|
2217
|
+
search: (...args) => callForAllDataSourcesAsync({
|
|
2218
|
+
mergeMap,
|
|
2219
|
+
path: 'query.series.search',
|
|
2324
2220
|
args,
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
})
|
|
2221
|
+
extensionManager,
|
|
2222
|
+
dataSourceNames
|
|
2223
|
+
})
|
|
2328
2224
|
},
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
}
|
|
2334
|
-
return callForAllDataSourcesAsync({
|
|
2335
|
-
mergeMap,
|
|
2336
|
-
path: 'retrieve.series.metadata',
|
|
2337
|
-
args,
|
|
2338
|
-
extensionManager,
|
|
2339
|
-
dataSourceNames
|
|
2340
|
-
});
|
|
2341
|
-
}
|
|
2342
|
-
}
|
|
2343
|
-
},
|
|
2344
|
-
store: {
|
|
2345
|
-
dicom: function () {
|
|
2346
|
-
for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
|
2347
|
-
args[_key8] = arguments[_key8];
|
|
2348
|
-
}
|
|
2349
|
-
return callForDefaultDataSource({
|
|
2350
|
-
path: 'store.dicom',
|
|
2225
|
+
instances: {
|
|
2226
|
+
search: (...args) => callForAllDataSourcesAsync({
|
|
2227
|
+
mergeMap,
|
|
2228
|
+
path: 'query.instances.search',
|
|
2351
2229
|
args,
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
})
|
|
2230
|
+
extensionManager,
|
|
2231
|
+
dataSourceNames
|
|
2232
|
+
})
|
|
2355
2233
|
}
|
|
2356
2234
|
},
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
return callForAllDataSources({
|
|
2362
|
-
path: 'deleteStudyMetadataPromise',
|
|
2235
|
+
retrieve: {
|
|
2236
|
+
bulkDataURI: (...args) => callForAllDataSourcesAsync({
|
|
2237
|
+
mergeMap,
|
|
2238
|
+
path: 'retrieve.bulkDataURI',
|
|
2363
2239
|
args,
|
|
2364
2240
|
extensionManager,
|
|
2365
2241
|
dataSourceNames
|
|
2366
|
-
})
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
|
|
2370
|
-
args[_key10] = arguments[_key10];
|
|
2371
|
-
}
|
|
2372
|
-
return callByRetrieveAETitle({
|
|
2373
|
-
path: 'getImageIdsForDisplaySet',
|
|
2242
|
+
}),
|
|
2243
|
+
directURL: (...args) => callForDefaultDataSource({
|
|
2244
|
+
path: 'retrieve.directURL',
|
|
2374
2245
|
args,
|
|
2375
2246
|
defaultDataSourceName,
|
|
2376
2247
|
extensionManager
|
|
2377
|
-
})
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2248
|
+
}),
|
|
2249
|
+
series: {
|
|
2250
|
+
metadata: (...args) => callForAllDataSourcesAsync({
|
|
2251
|
+
mergeMap,
|
|
2252
|
+
path: 'retrieve.series.metadata',
|
|
2253
|
+
args,
|
|
2254
|
+
extensionManager,
|
|
2255
|
+
dataSourceNames
|
|
2256
|
+
})
|
|
2382
2257
|
}
|
|
2383
|
-
|
|
2384
|
-
|
|
2258
|
+
},
|
|
2259
|
+
store: {
|
|
2260
|
+
dicom: (...args) => callForDefaultDataSource({
|
|
2261
|
+
path: 'store.dicom',
|
|
2385
2262
|
args,
|
|
2386
2263
|
defaultDataSourceName,
|
|
2387
2264
|
extensionManager
|
|
2388
|
-
})
|
|
2265
|
+
})
|
|
2389
2266
|
},
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2267
|
+
deleteStudyMetadataPromise: (...args) => callForAllDataSources({
|
|
2268
|
+
path: 'deleteStudyMetadataPromise',
|
|
2269
|
+
args,
|
|
2270
|
+
extensionManager,
|
|
2271
|
+
dataSourceNames
|
|
2272
|
+
}),
|
|
2273
|
+
getImageIdsForDisplaySet: (...args) => callByRetrieveAETitle({
|
|
2274
|
+
path: 'getImageIdsForDisplaySet',
|
|
2275
|
+
args,
|
|
2276
|
+
defaultDataSourceName,
|
|
2277
|
+
extensionManager
|
|
2278
|
+
}),
|
|
2279
|
+
getImageIdsForInstance: (...args) => callByRetrieveAETitle({
|
|
2280
|
+
path: 'getImageIdsForDisplaySet',
|
|
2281
|
+
args,
|
|
2282
|
+
defaultDataSourceName,
|
|
2283
|
+
extensionManager
|
|
2284
|
+
}),
|
|
2285
|
+
getStudyInstanceUIDs: (...args) => callForAllDataSources({
|
|
2286
|
+
path: 'getStudyInstanceUIDs',
|
|
2287
|
+
args,
|
|
2288
|
+
extensionManager,
|
|
2289
|
+
dataSourceNames
|
|
2290
|
+
})
|
|
2401
2291
|
};
|
|
2402
2292
|
return src/* IWebApiDataSource */.Is.create(implementation);
|
|
2403
2293
|
}
|
|
@@ -2455,8 +2345,8 @@ var dist = __webpack_require__(62474);
|
|
|
2455
2345
|
var es = __webpack_require__(69190);
|
|
2456
2346
|
// EXTERNAL MODULE: ../node_modules/react-router/dist/index.js
|
|
2457
2347
|
var react_router_dist = __webpack_require__(85066);
|
|
2458
|
-
// EXTERNAL MODULE: ../../i18n/src/index.js +
|
|
2459
|
-
var i18n_src = __webpack_require__(
|
|
2348
|
+
// EXTERNAL MODULE: ../../i18n/src/index.js + 148 modules
|
|
2349
|
+
var i18n_src = __webpack_require__(68311);
|
|
2460
2350
|
// EXTERNAL MODULE: ../../../node_modules/classnames/index.js
|
|
2461
2351
|
var classnames = __webpack_require__(44921);
|
|
2462
2352
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
@@ -2465,10 +2355,9 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2465
2355
|
|
|
2466
2356
|
|
|
2467
2357
|
|
|
2468
|
-
function Toolbar(
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
} = _ref;
|
|
2358
|
+
function Toolbar({
|
|
2359
|
+
servicesManager
|
|
2360
|
+
}) {
|
|
2472
2361
|
const {
|
|
2473
2362
|
toolbarService
|
|
2474
2363
|
} = servicesManager.services;
|
|
@@ -2525,12 +2414,11 @@ const {
|
|
|
2525
2414
|
defaultLanguage,
|
|
2526
2415
|
currentLanguage
|
|
2527
2416
|
} = i18n_src["default"];
|
|
2528
|
-
function ViewerHeader(
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
} = _ref;
|
|
2417
|
+
function ViewerHeader({
|
|
2418
|
+
hotkeysManager,
|
|
2419
|
+
extensionManager,
|
|
2420
|
+
servicesManager
|
|
2421
|
+
}) {
|
|
2534
2422
|
const [appConfig] = (0,state/* useAppConfig */.M)();
|
|
2535
2423
|
const navigate = (0,dist/* useNavigate */.s0)();
|
|
2536
2424
|
const location = (0,react_router_dist/* useLocation */.TH)();
|
|
@@ -2566,8 +2454,8 @@ function ViewerHeader(_ref) {
|
|
|
2566
2454
|
hotkeyDefinitions,
|
|
2567
2455
|
hotkeyDefaults
|
|
2568
2456
|
} = hotkeysManager;
|
|
2569
|
-
const versionNumber = "3.8.0-beta.
|
|
2570
|
-
const commitHash = "
|
|
2457
|
+
const versionNumber = "3.8.0-beta.29";
|
|
2458
|
+
const commitHash = "f707b4ebc996f379cd30337badc06b07e6e35ac5";
|
|
2571
2459
|
const menuOptions = [{
|
|
2572
2460
|
title: t('Header:About'),
|
|
2573
2461
|
icon: 'info',
|
|
@@ -2596,11 +2484,10 @@ function ViewerHeader(_ref) {
|
|
|
2596
2484
|
src/* hotkeys */.dD.unpause();
|
|
2597
2485
|
hide();
|
|
2598
2486
|
},
|
|
2599
|
-
onSubmit:
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
} = _ref2;
|
|
2487
|
+
onSubmit: ({
|
|
2488
|
+
hotkeyDefinitions,
|
|
2489
|
+
language
|
|
2490
|
+
}) => {
|
|
2604
2491
|
if (language.value !== currentLanguage().value) {
|
|
2605
2492
|
i18n_src["default"].changeLanguage(language.value);
|
|
2606
2493
|
}
|
|
@@ -2638,14 +2525,13 @@ function ViewerHeader(_ref) {
|
|
|
2638
2525
|
;// CONCATENATED MODULE: ../../../extensions/default/src/Components/SidePanelWithServices.tsx
|
|
2639
2526
|
|
|
2640
2527
|
|
|
2641
|
-
const SidePanelWithServices =
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
} = _ref;
|
|
2528
|
+
const SidePanelWithServices = ({
|
|
2529
|
+
servicesManager,
|
|
2530
|
+
side,
|
|
2531
|
+
className,
|
|
2532
|
+
activeTabIndex: activeTabIndexProp,
|
|
2533
|
+
tabs
|
|
2534
|
+
}) => {
|
|
2649
2535
|
const panelService = servicesManager?.services?.panelService;
|
|
2650
2536
|
|
|
2651
2537
|
// Tracks whether this SidePanel has been opened at least once since this SidePanel was inserted into the DOM.
|
|
@@ -2686,21 +2572,20 @@ const SidePanelWithServices = _ref => {
|
|
|
2686
2572
|
|
|
2687
2573
|
|
|
2688
2574
|
|
|
2689
|
-
function ViewerLayout(
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
} = _ref;
|
|
2575
|
+
function ViewerLayout({
|
|
2576
|
+
// From Extension Module Params
|
|
2577
|
+
extensionManager,
|
|
2578
|
+
servicesManager,
|
|
2579
|
+
hotkeysManager,
|
|
2580
|
+
commandsManager,
|
|
2581
|
+
// From Modes
|
|
2582
|
+
viewports,
|
|
2583
|
+
ViewportGridComp,
|
|
2584
|
+
leftPanels = [],
|
|
2585
|
+
rightPanels = [],
|
|
2586
|
+
leftPanelDefaultClosed = false,
|
|
2587
|
+
rightPanelDefaultClosed = false
|
|
2588
|
+
}) {
|
|
2704
2589
|
const [appConfig] = (0,state/* useAppConfig */.M)();
|
|
2705
2590
|
const {
|
|
2706
2591
|
hangingProtocolService
|
|
@@ -2838,13 +2723,12 @@ ViewerLayout.propTypes = {
|
|
|
2838
2723
|
- Init layout based on the displaySets and the objects.
|
|
2839
2724
|
*/
|
|
2840
2725
|
|
|
2841
|
-
/* harmony default export */ function getLayoutTemplateModule(
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
} = _ref;
|
|
2726
|
+
/* harmony default export */ function getLayoutTemplateModule({
|
|
2727
|
+
servicesManager,
|
|
2728
|
+
extensionManager,
|
|
2729
|
+
commandsManager,
|
|
2730
|
+
hotkeysManager
|
|
2731
|
+
}) {
|
|
2848
2732
|
function ViewerLayoutWithServices(props) {
|
|
2849
2733
|
return src_ViewerLayout({
|
|
2850
2734
|
servicesManager,
|
|
@@ -2878,14 +2762,13 @@ const {
|
|
|
2878
2762
|
*
|
|
2879
2763
|
* @param {*} param0
|
|
2880
2764
|
*/
|
|
2881
|
-
function PanelStudyBrowser(
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
} = _ref;
|
|
2765
|
+
function PanelStudyBrowser({
|
|
2766
|
+
servicesManager,
|
|
2767
|
+
getImageSrc,
|
|
2768
|
+
getStudiesForPatientByMRN,
|
|
2769
|
+
requestDisplaySetCreationForStudy,
|
|
2770
|
+
dataSource
|
|
2771
|
+
}) {
|
|
2889
2772
|
const {
|
|
2890
2773
|
hangingProtocolService,
|
|
2891
2774
|
displaySetService,
|
|
@@ -3138,7 +3021,6 @@ function _mapDisplaySets(displaySets, thumbnailImageSrcMap) {
|
|
|
3138
3021
|
displaySetInstanceUID: ds.displaySetInstanceUID
|
|
3139
3022
|
// .. Any other data to pass
|
|
3140
3023
|
},
|
|
3141
|
-
|
|
3142
3024
|
isHydratedForDerivedDisplaySet: ds.isHydrated
|
|
3143
3025
|
});
|
|
3144
3026
|
});
|
|
@@ -3253,12 +3135,11 @@ function requestDisplaySetCreationForStudy(dataSource, displaySetService, StudyI
|
|
|
3253
3135
|
* @param {object} commandsManager
|
|
3254
3136
|
* @param {object} extensionManager
|
|
3255
3137
|
*/
|
|
3256
|
-
function WrappedPanelStudyBrowser(
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
} = _ref;
|
|
3138
|
+
function WrappedPanelStudyBrowser({
|
|
3139
|
+
commandsManager,
|
|
3140
|
+
extensionManager,
|
|
3141
|
+
servicesManager
|
|
3142
|
+
}) {
|
|
3262
3143
|
// TODO: This should be made available a different way; route should have
|
|
3263
3144
|
// already determined our datasource
|
|
3264
3145
|
const dataSource = extensionManager.getDataSources()[0];
|
|
@@ -3305,11 +3186,10 @@ WrappedPanelStudyBrowser.propTypes = {
|
|
|
3305
3186
|
|
|
3306
3187
|
|
|
3307
3188
|
|
|
3308
|
-
function ActionButtons(
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
} = _ref;
|
|
3189
|
+
function ActionButtons({
|
|
3190
|
+
onExportClick,
|
|
3191
|
+
onCreateReportClick
|
|
3192
|
+
}) {
|
|
3313
3193
|
const {
|
|
3314
3194
|
t
|
|
3315
3195
|
} = (0,es/* useTranslation */.$G)('MeasurementTable');
|
|
@@ -3343,10 +3223,9 @@ const CREATE_REPORT_DIALOG_RESPONSE = {
|
|
|
3343
3223
|
CANCEL: 0,
|
|
3344
3224
|
CREATE_REPORT: 1
|
|
3345
3225
|
};
|
|
3346
|
-
function CreateReportDialogPrompt(uiDialogService,
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
} = _ref;
|
|
3226
|
+
function CreateReportDialogPrompt(uiDialogService, {
|
|
3227
|
+
extensionManager
|
|
3228
|
+
}) {
|
|
3350
3229
|
return new Promise(function (resolve, reject) {
|
|
3351
3230
|
let dialogId = undefined;
|
|
3352
3231
|
const _handleClose = () => {
|
|
@@ -3367,11 +3246,10 @@ function CreateReportDialogPrompt(uiDialogService, _ref) {
|
|
|
3367
3246
|
* @param {string} param0.action - value of action performed
|
|
3368
3247
|
* @param {string} param0.value - value from input field
|
|
3369
3248
|
*/
|
|
3370
|
-
const _handleFormSubmit =
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
} = _ref2;
|
|
3249
|
+
const _handleFormSubmit = ({
|
|
3250
|
+
action,
|
|
3251
|
+
value
|
|
3252
|
+
}) => {
|
|
3375
3253
|
uiDialogService.dismiss({
|
|
3376
3254
|
id: dialogId
|
|
3377
3255
|
});
|
|
@@ -3428,11 +3306,10 @@ function CreateReportDialogPrompt(uiDialogService, _ref) {
|
|
|
3428
3306
|
}],
|
|
3429
3307
|
// TODO: Should be on button press...
|
|
3430
3308
|
onSubmit: _handleFormSubmit,
|
|
3431
|
-
body:
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
} = _ref3;
|
|
3309
|
+
body: ({
|
|
3310
|
+
value,
|
|
3311
|
+
setValue
|
|
3312
|
+
}) => {
|
|
3436
3313
|
const onChangeHandler = event => {
|
|
3437
3314
|
event.persist();
|
|
3438
3315
|
setValue(value => ({
|
|
@@ -3492,12 +3369,11 @@ function CreateReportDialogPrompt(uiDialogService, _ref) {
|
|
|
3492
3369
|
*
|
|
3493
3370
|
* @param {*} servicesManager
|
|
3494
3371
|
*/
|
|
3495
|
-
async function createReportAsync(
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
} = _ref;
|
|
3372
|
+
async function createReportAsync({
|
|
3373
|
+
servicesManager,
|
|
3374
|
+
getReport,
|
|
3375
|
+
reportType = 'measurement'
|
|
3376
|
+
}) {
|
|
3501
3377
|
const {
|
|
3502
3378
|
displaySetService,
|
|
3503
3379
|
uiNotificationService,
|
|
@@ -3612,12 +3488,11 @@ function findSRWithSameSeriesDescription(SeriesDescription, displaySetService) {
|
|
|
3612
3488
|
const {
|
|
3613
3489
|
downloadCSVReport
|
|
3614
3490
|
} = src.utils;
|
|
3615
|
-
function PanelMeasurementTable(
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
} = _ref;
|
|
3491
|
+
function PanelMeasurementTable({
|
|
3492
|
+
servicesManager,
|
|
3493
|
+
commandsManager,
|
|
3494
|
+
extensionManager
|
|
3495
|
+
}) {
|
|
3621
3496
|
const {
|
|
3622
3497
|
t
|
|
3623
3498
|
} = (0,es/* useTranslation */.$G)('MeasurementTable');
|
|
@@ -3707,31 +3582,28 @@ function PanelMeasurementTable(_ref) {
|
|
|
3707
3582
|
});
|
|
3708
3583
|
}
|
|
3709
3584
|
}
|
|
3710
|
-
const jumpToImage =
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
} = _ref2;
|
|
3585
|
+
const jumpToImage = ({
|
|
3586
|
+
uid,
|
|
3587
|
+
isActive
|
|
3588
|
+
}) => {
|
|
3715
3589
|
measurementService.jumpToMeasurement(viewportGrid.activeViewportId, uid);
|
|
3716
3590
|
onMeasurementItemClickHandler({
|
|
3717
3591
|
uid,
|
|
3718
3592
|
isActive
|
|
3719
3593
|
});
|
|
3720
3594
|
};
|
|
3721
|
-
const onMeasurementItemEditHandler =
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
} = _ref3;
|
|
3595
|
+
const onMeasurementItemEditHandler = ({
|
|
3596
|
+
uid,
|
|
3597
|
+
isActive
|
|
3598
|
+
}) => {
|
|
3726
3599
|
const measurement = measurementService.getMeasurement(uid);
|
|
3727
3600
|
//Todo: why we are jumping to image?
|
|
3728
3601
|
// jumpToImage({ id, isActive });
|
|
3729
3602
|
|
|
3730
|
-
const onSubmitHandler =
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
} = _ref4;
|
|
3603
|
+
const onSubmitHandler = ({
|
|
3604
|
+
action,
|
|
3605
|
+
value
|
|
3606
|
+
}) => {
|
|
3735
3607
|
switch (action.id) {
|
|
3736
3608
|
case 'save':
|
|
3737
3609
|
{
|
|
@@ -3757,11 +3629,10 @@ function PanelMeasurementTable(_ref) {
|
|
|
3757
3629
|
value: {
|
|
3758
3630
|
label: measurement.label || ''
|
|
3759
3631
|
},
|
|
3760
|
-
body:
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
} = _ref5;
|
|
3632
|
+
body: ({
|
|
3633
|
+
value,
|
|
3634
|
+
setValue
|
|
3635
|
+
}) => {
|
|
3765
3636
|
const onChangeHandler = event => {
|
|
3766
3637
|
event.persist();
|
|
3767
3638
|
setValue(value => ({
|
|
@@ -3804,11 +3675,10 @@ function PanelMeasurementTable(_ref) {
|
|
|
3804
3675
|
}
|
|
3805
3676
|
});
|
|
3806
3677
|
};
|
|
3807
|
-
const onMeasurementItemClickHandler =
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
} = _ref6;
|
|
3678
|
+
const onMeasurementItemClickHandler = ({
|
|
3679
|
+
uid,
|
|
3680
|
+
isActive
|
|
3681
|
+
}) => {
|
|
3812
3682
|
if (!isActive) {
|
|
3813
3683
|
const measurements = [...displayMeasurements];
|
|
3814
3684
|
const measurement = measurements.find(m => m.uid === uid);
|
|
@@ -3892,21 +3762,23 @@ function _mapMeasurementToDisplay(measurement, index, types) {
|
|
|
3892
3762
|
|
|
3893
3763
|
|
|
3894
3764
|
|
|
3765
|
+
// EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
|
|
3766
|
+
var i18next = __webpack_require__(73577);
|
|
3895
3767
|
;// CONCATENATED MODULE: ../../../extensions/default/src/getPanelModule.tsx
|
|
3896
3768
|
|
|
3897
3769
|
|
|
3898
3770
|
|
|
3771
|
+
|
|
3899
3772
|
// TODO:
|
|
3900
3773
|
// - No loading UI exists yet
|
|
3901
3774
|
// - cancel promises when component is destroyed
|
|
3902
3775
|
// - show errors in UI for thumbnails if promise fails
|
|
3903
3776
|
|
|
3904
|
-
function getPanelModule(
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
} = _ref;
|
|
3777
|
+
function getPanelModule({
|
|
3778
|
+
commandsManager,
|
|
3779
|
+
extensionManager,
|
|
3780
|
+
servicesManager
|
|
3781
|
+
}) {
|
|
3910
3782
|
const wrappedMeasurementPanel = () => {
|
|
3911
3783
|
return /*#__PURE__*/react.createElement(PanelMeasurementTable, {
|
|
3912
3784
|
commandsManager: commandsManager,
|
|
@@ -3918,7 +3790,7 @@ function getPanelModule(_ref) {
|
|
|
3918
3790
|
name: 'seriesList',
|
|
3919
3791
|
iconName: 'tab-studies',
|
|
3920
3792
|
iconLabel: 'Studies',
|
|
3921
|
-
label: 'Studies',
|
|
3793
|
+
label: i18next/* default */.Z.t('SidePanel:Studies'),
|
|
3922
3794
|
component: Panels_WrappedPanelStudyBrowser.bind(null, {
|
|
3923
3795
|
commandsManager,
|
|
3924
3796
|
extensionManager,
|
|
@@ -3928,8 +3800,8 @@ function getPanelModule(_ref) {
|
|
|
3928
3800
|
name: 'measure',
|
|
3929
3801
|
iconName: 'tab-linear',
|
|
3930
3802
|
iconLabel: 'Measure',
|
|
3931
|
-
label: 'Measurements',
|
|
3932
|
-
secondaryLabel: 'Measurements',
|
|
3803
|
+
label: i18next/* default */.Z.t('SidePanel:Measurements'),
|
|
3804
|
+
secondaryLabel: i18next/* default */.Z.t('SidePanel:Measurements'),
|
|
3933
3805
|
component: wrappedMeasurementPanel
|
|
3934
3806
|
}];
|
|
3935
3807
|
}
|
|
@@ -4426,11 +4298,10 @@ function ToolbarLayoutSelector_extends() { ToolbarLayoutSelector_extends = Objec
|
|
|
4426
4298
|
|
|
4427
4299
|
|
|
4428
4300
|
|
|
4429
|
-
function ToolbarLayoutSelectorWithServices(
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
} = _ref;
|
|
4301
|
+
function ToolbarLayoutSelectorWithServices({
|
|
4302
|
+
servicesManager,
|
|
4303
|
+
...props
|
|
4304
|
+
}) {
|
|
4434
4305
|
const {
|
|
4435
4306
|
toolbarService
|
|
4436
4307
|
} = servicesManager.services;
|
|
@@ -4450,14 +4321,13 @@ function ToolbarLayoutSelectorWithServices(_ref) {
|
|
|
4450
4321
|
onSelection: onSelection
|
|
4451
4322
|
}));
|
|
4452
4323
|
}
|
|
4453
|
-
function LayoutSelector(
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
} = _ref2;
|
|
4324
|
+
function LayoutSelector({
|
|
4325
|
+
rows,
|
|
4326
|
+
columns,
|
|
4327
|
+
className,
|
|
4328
|
+
onSelection,
|
|
4329
|
+
...rest
|
|
4330
|
+
}) {
|
|
4461
4331
|
const [isOpen, setIsOpen] = (0,react.useState)(false);
|
|
4462
4332
|
const closeOnOutsideClick = () => {
|
|
4463
4333
|
if (isOpen) {
|
|
@@ -4506,18 +4376,17 @@ function ToolbarSplitButtonWithServices_extends() { ToolbarSplitButtonWithServic
|
|
|
4506
4376
|
|
|
4507
4377
|
|
|
4508
4378
|
|
|
4509
|
-
function ToolbarSplitButtonWithServices(
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
} = _ref;
|
|
4379
|
+
function ToolbarSplitButtonWithServices({
|
|
4380
|
+
isRadio,
|
|
4381
|
+
isAction,
|
|
4382
|
+
groupId,
|
|
4383
|
+
primary,
|
|
4384
|
+
secondary,
|
|
4385
|
+
items,
|
|
4386
|
+
renderer,
|
|
4387
|
+
onInteraction,
|
|
4388
|
+
servicesManager
|
|
4389
|
+
}) {
|
|
4521
4390
|
const {
|
|
4522
4391
|
toolbarService
|
|
4523
4392
|
} = servicesManager?.services;
|
|
@@ -4590,14 +4459,13 @@ function ToolbarSplitButtonWithServices(_ref) {
|
|
|
4590
4459
|
isActive
|
|
4591
4460
|
};
|
|
4592
4461
|
});
|
|
4593
|
-
const DefaultListItemRenderer =
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
} = _ref2;
|
|
4462
|
+
const DefaultListItemRenderer = ({
|
|
4463
|
+
type,
|
|
4464
|
+
icon,
|
|
4465
|
+
label,
|
|
4466
|
+
t,
|
|
4467
|
+
id
|
|
4468
|
+
}) => {
|
|
4601
4469
|
const isActive = type === 'toggle' && toggles[id] === true;
|
|
4602
4470
|
return /*#__PURE__*/react.createElement("div", {
|
|
4603
4471
|
className: classnames_default()('hover:bg-primary-dark flex h-8 w-full flex-row items-center p-3', 'whitespace-pre text-base', isActive && 'bg-primary-dark', isActive ? 'text-[#348CFD]' : 'text-common-bright hover:bg-primary-dark hover:text-primary-light')
|
|
@@ -4668,15 +4536,14 @@ function ToolbarButtonWithServices_extends() { ToolbarButtonWithServices_extends
|
|
|
4668
4536
|
|
|
4669
4537
|
|
|
4670
4538
|
|
|
4671
|
-
function ToolbarButtonWithServices(
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
} = _ref;
|
|
4539
|
+
function ToolbarButtonWithServices({
|
|
4540
|
+
id,
|
|
4541
|
+
type,
|
|
4542
|
+
commands,
|
|
4543
|
+
onInteraction,
|
|
4544
|
+
servicesManager,
|
|
4545
|
+
...props
|
|
4546
|
+
}) {
|
|
4680
4547
|
const {
|
|
4681
4548
|
toolbarService
|
|
4682
4549
|
} = servicesManager?.services || {};
|
|
@@ -4736,11 +4603,10 @@ ToolbarButtonWithServices.propTypes = {
|
|
|
4736
4603
|
|
|
4737
4604
|
|
|
4738
4605
|
|
|
4739
|
-
function getToolbarModule(
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
} = _ref;
|
|
4606
|
+
function getToolbarModule({
|
|
4607
|
+
commandsManager,
|
|
4608
|
+
servicesManager
|
|
4609
|
+
}) {
|
|
4744
4610
|
return [{
|
|
4745
4611
|
name: 'ohif.divider',
|
|
4746
4612
|
defaultComponent: ToolbarDivider,
|
|
@@ -4935,6 +4801,7 @@ function adaptItem(item, subProps) {
|
|
|
4935
4801
|
// EXTERNAL MODULE: ../../ui/src/components/ContextMenu/ContextMenu.tsx
|
|
4936
4802
|
var ContextMenu = __webpack_require__(5638);
|
|
4937
4803
|
;// CONCATENATED MODULE: ../../../extensions/default/src/CustomizableContextMenu/ContextMenuController.tsx
|
|
4804
|
+
var _class;
|
|
4938
4805
|
|
|
4939
4806
|
|
|
4940
4807
|
/**
|
|
@@ -5039,6 +4906,7 @@ class ContextMenuController {
|
|
|
5039
4906
|
});
|
|
5040
4907
|
}
|
|
5041
4908
|
}
|
|
4909
|
+
_class = ContextMenuController;
|
|
5042
4910
|
ContextMenuController.getDefaultPosition = () => {
|
|
5043
4911
|
return {
|
|
5044
4912
|
x: 0,
|
|
@@ -5062,16 +4930,14 @@ ContextMenuController._getElementDefaultPosition = element => {
|
|
|
5062
4930
|
y: undefined
|
|
5063
4931
|
};
|
|
5064
4932
|
};
|
|
5065
|
-
ContextMenuController._getCanvasPointsPosition =
|
|
5066
|
-
|
|
5067
|
-
let element = arguments.length > 1 ? arguments[1] : undefined;
|
|
5068
|
-
const viewerPos = ContextMenuController._getElementDefaultPosition(element);
|
|
4933
|
+
ContextMenuController._getCanvasPointsPosition = (points = [], element) => {
|
|
4934
|
+
const viewerPos = _class._getElementDefaultPosition(element);
|
|
5069
4935
|
for (let pointIndex = 0; pointIndex < points.length; pointIndex++) {
|
|
5070
4936
|
const point = {
|
|
5071
4937
|
x: points[pointIndex][0] || points[pointIndex]['x'],
|
|
5072
4938
|
y: points[pointIndex][1] || points[pointIndex]['y']
|
|
5073
4939
|
};
|
|
5074
|
-
if (
|
|
4940
|
+
if (_class._isValidPosition(point) && _class._isValidPosition(viewerPos)) {
|
|
5075
4941
|
return {
|
|
5076
4942
|
x: point.x + viewerPos.x,
|
|
5077
4943
|
y: point.y + viewerPos.y
|
|
@@ -5087,17 +4953,17 @@ ContextMenuController._isValidPosition = source => {
|
|
|
5087
4953
|
*/
|
|
5088
4954
|
ContextMenuController._getDefaultPosition = (canvasPoints, eventDetail, viewerElement) => {
|
|
5089
4955
|
function* getPositionIterator() {
|
|
5090
|
-
yield
|
|
5091
|
-
yield
|
|
5092
|
-
yield
|
|
5093
|
-
yield
|
|
4956
|
+
yield _class._getCanvasPointsPosition(canvasPoints, viewerElement);
|
|
4957
|
+
yield _class._getEventDefaultPosition(eventDetail);
|
|
4958
|
+
yield _class._getElementDefaultPosition(viewerElement);
|
|
4959
|
+
yield _class.getDefaultPosition();
|
|
5094
4960
|
}
|
|
5095
4961
|
const positionIterator = getPositionIterator();
|
|
5096
4962
|
let current = positionIterator.next();
|
|
5097
4963
|
let position = current.value;
|
|
5098
4964
|
while (!current.done) {
|
|
5099
4965
|
position = current.value;
|
|
5100
|
-
if (
|
|
4966
|
+
if (_class._isValidPosition(position)) {
|
|
5101
4967
|
positionIterator.return();
|
|
5102
4968
|
}
|
|
5103
4969
|
current = positionIterator.next();
|
|
@@ -5112,12 +4978,9 @@ const defaultContextMenu = {
|
|
|
5112
4978
|
// Get the items from the UI Customization for the menu name (and have a custom name)
|
|
5113
4979
|
{
|
|
5114
4980
|
id: 'forExistingMeasurement',
|
|
5115
|
-
selector:
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
} = _ref;
|
|
5119
|
-
return !!nearbyToolData;
|
|
5120
|
-
},
|
|
4981
|
+
selector: ({
|
|
4982
|
+
nearbyToolData
|
|
4983
|
+
}) => !!nearbyToolData,
|
|
5121
4984
|
items: [{
|
|
5122
4985
|
label: 'Delete measurement',
|
|
5123
4986
|
commands: [{
|
|
@@ -5162,13 +5025,12 @@ const rowStyle = {
|
|
|
5162
5025
|
borderBottomWidth: `${rowBottomBorderPx}px`,
|
|
5163
5026
|
...rowVerticalPaddingStyle
|
|
5164
5027
|
};
|
|
5165
|
-
function ColumnHeaders(
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
} = _ref;
|
|
5028
|
+
function ColumnHeaders({
|
|
5029
|
+
tagRef,
|
|
5030
|
+
vrRef,
|
|
5031
|
+
keywordRef,
|
|
5032
|
+
valueRef
|
|
5033
|
+
}) {
|
|
5172
5034
|
return /*#__PURE__*/react.createElement("div", {
|
|
5173
5035
|
className: classnames_default()('bg-secondary-dark ohif-scrollbar flex w-full flex-row overflow-y-scroll'),
|
|
5174
5036
|
style: rowVerticalPaddingStyle
|
|
@@ -5202,10 +5064,9 @@ function ColumnHeaders(_ref) {
|
|
|
5202
5064
|
className: "flex flex-row items-center focus:outline-none"
|
|
5203
5065
|
}, "Value"))));
|
|
5204
5066
|
}
|
|
5205
|
-
function DicomTagTable(
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
} = _ref2;
|
|
5067
|
+
function DicomTagTable({
|
|
5068
|
+
rows
|
|
5069
|
+
}) {
|
|
5209
5070
|
const listRef = (0,react.useRef)();
|
|
5210
5071
|
const canvasRef = (0,react.useRef)();
|
|
5211
5072
|
const [tagHeaderElem, setTagHeaderElem] = (0,react.useState)(null);
|
|
@@ -5259,11 +5120,10 @@ function DicomTagTable(_ref2) {
|
|
|
5259
5120
|
window.removeEventListener('resize', debouncedResize);
|
|
5260
5121
|
};
|
|
5261
5122
|
}, []);
|
|
5262
|
-
const Row = (0,react.useCallback)(
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
} = _ref3;
|
|
5123
|
+
const Row = (0,react.useCallback)(({
|
|
5124
|
+
index,
|
|
5125
|
+
style
|
|
5126
|
+
}) => {
|
|
5267
5127
|
const row = rows[index];
|
|
5268
5128
|
return /*#__PURE__*/react.createElement("div", {
|
|
5269
5129
|
style: {
|
|
@@ -5352,11 +5212,10 @@ const {
|
|
|
5352
5212
|
const {
|
|
5353
5213
|
nameMap
|
|
5354
5214
|
} = DicomTagBrowser_DicomMetaDictionary;
|
|
5355
|
-
const DicomTagBrowser =
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
} = _ref;
|
|
5215
|
+
const DicomTagBrowser = ({
|
|
5216
|
+
displaySets,
|
|
5217
|
+
displaySetInstanceUID
|
|
5218
|
+
}) => {
|
|
5360
5219
|
// The column indices that are to be excluded during a filter of the table.
|
|
5361
5220
|
// At present the column indices are:
|
|
5362
5221
|
// 0: DICOM tag
|
|
@@ -5517,8 +5376,7 @@ function getSortedTags(metadata) {
|
|
|
5517
5376
|
_sortTagList(tagList);
|
|
5518
5377
|
return tagList;
|
|
5519
5378
|
}
|
|
5520
|
-
function getRows(metadata) {
|
|
5521
|
-
let depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
5379
|
+
function getRows(metadata, depth = 0) {
|
|
5522
5380
|
// Tag, Type, Value, Keyword
|
|
5523
5381
|
|
|
5524
5382
|
const keywords = Object.keys(metadata);
|
|
@@ -5529,7 +5387,6 @@ function getRows(metadata) {
|
|
|
5529
5387
|
if (depth > 0) {
|
|
5530
5388
|
tagIndent += ' '; // If indented, add a space after the indents.
|
|
5531
5389
|
}
|
|
5532
|
-
|
|
5533
5390
|
const rows = [];
|
|
5534
5391
|
for (let i = 0; i < keywords.length; i++) {
|
|
5535
5392
|
let keyword = keywords[i];
|
|
@@ -5770,11 +5627,10 @@ const findViewportsByPosition_findOrCreateViewport = (hangingProtocolService, vi
|
|
|
5770
5627
|
* @returns Set of states that can be applied to the state sync to remember
|
|
5771
5628
|
* the current view state.
|
|
5772
5629
|
*/
|
|
5773
|
-
const findViewportsByPosition = (state,
|
|
5774
|
-
|
|
5775
|
-
|
|
5776
|
-
|
|
5777
|
-
} = _ref;
|
|
5630
|
+
const findViewportsByPosition = (state, {
|
|
5631
|
+
numRows,
|
|
5632
|
+
numCols
|
|
5633
|
+
}, syncService) => {
|
|
5778
5634
|
const {
|
|
5779
5635
|
viewports
|
|
5780
5636
|
} = state;
|
|
@@ -5829,11 +5685,10 @@ const {
|
|
|
5829
5685
|
* commands module, but if others get added elsewhere this may need enhancing.
|
|
5830
5686
|
*/
|
|
5831
5687
|
const isHangingProtocolCommand = command => command && (command.commandName === 'setHangingProtocol' || command.commandName === 'toggleHangingProtocol');
|
|
5832
|
-
const commandsModule =
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
|
|
5836
|
-
} = _ref;
|
|
5688
|
+
const commandsModule = ({
|
|
5689
|
+
servicesManager,
|
|
5690
|
+
commandsManager
|
|
5691
|
+
}) => {
|
|
5837
5692
|
const {
|
|
5838
5693
|
customizationService,
|
|
5839
5694
|
measurementService,
|
|
@@ -5888,12 +5743,11 @@ const commandsModule = _ref => {
|
|
|
5888
5743
|
closeContextMenu: () => {
|
|
5889
5744
|
contextMenuController.closeContextMenu();
|
|
5890
5745
|
},
|
|
5891
|
-
displayNotification:
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
} = _ref2;
|
|
5746
|
+
displayNotification: ({
|
|
5747
|
+
text,
|
|
5748
|
+
title,
|
|
5749
|
+
type
|
|
5750
|
+
}) => {
|
|
5897
5751
|
uiNotificationService.show({
|
|
5898
5752
|
title: title,
|
|
5899
5753
|
message: text,
|
|
@@ -5962,14 +5816,13 @@ const commandsModule = _ref => {
|
|
|
5962
5816
|
* @param options.stageIndex - the index of the stage to go to.
|
|
5963
5817
|
* @param options.reset - flag to indicate if the HP should be reset to its original and not restored to a previous state
|
|
5964
5818
|
*/
|
|
5965
|
-
setHangingProtocol:
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
} = _ref3;
|
|
5819
|
+
setHangingProtocol: ({
|
|
5820
|
+
activeStudyUID = '',
|
|
5821
|
+
protocolId,
|
|
5822
|
+
stageId,
|
|
5823
|
+
stageIndex,
|
|
5824
|
+
reset = false
|
|
5825
|
+
}) => {
|
|
5973
5826
|
const primaryToolBeforeHPChange = toolbarService.getActivePrimaryTool();
|
|
5974
5827
|
try {
|
|
5975
5828
|
// Stores in the state the display set selector id to displaySetUID mapping
|
|
@@ -6063,11 +5916,10 @@ const commandsModule = _ref => {
|
|
|
6063
5916
|
return false;
|
|
6064
5917
|
}
|
|
6065
5918
|
},
|
|
6066
|
-
toggleHangingProtocol:
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
} = _ref4;
|
|
5919
|
+
toggleHangingProtocol: ({
|
|
5920
|
+
protocolId,
|
|
5921
|
+
stageIndex
|
|
5922
|
+
}) => {
|
|
6071
5923
|
const {
|
|
6072
5924
|
protocol,
|
|
6073
5925
|
stageIndex: desiredStageIndex,
|
|
@@ -6100,10 +5952,9 @@ const commandsModule = _ref => {
|
|
|
6100
5952
|
});
|
|
6101
5953
|
}
|
|
6102
5954
|
},
|
|
6103
|
-
deltaStage:
|
|
6104
|
-
|
|
6105
|
-
|
|
6106
|
-
} = _ref5;
|
|
5955
|
+
deltaStage: ({
|
|
5956
|
+
direction
|
|
5957
|
+
}) => {
|
|
6107
5958
|
const {
|
|
6108
5959
|
protocolId,
|
|
6109
5960
|
stageIndex: oldStageIndex
|
|
@@ -6129,11 +5980,10 @@ const commandsModule = _ref => {
|
|
|
6129
5980
|
/**
|
|
6130
5981
|
* Changes the viewport grid layout in terms of the MxN layout.
|
|
6131
5982
|
*/
|
|
6132
|
-
setViewportGridLayout:
|
|
6133
|
-
|
|
6134
|
-
|
|
6135
|
-
|
|
6136
|
-
} = _ref6;
|
|
5983
|
+
setViewportGridLayout: ({
|
|
5984
|
+
numRows,
|
|
5985
|
+
numCols
|
|
5986
|
+
}) => {
|
|
6137
5987
|
const {
|
|
6138
5988
|
protocol
|
|
6139
5989
|
} = hangingProtocolService.getActiveProtocol();
|
|
@@ -6343,11 +6193,10 @@ const commandsModule = _ref => {
|
|
|
6343
6193
|
behavior: 'smooth'
|
|
6344
6194
|
});
|
|
6345
6195
|
},
|
|
6346
|
-
updateViewportDisplaySet:
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
} = _ref7;
|
|
6196
|
+
updateViewportDisplaySet: ({
|
|
6197
|
+
direction,
|
|
6198
|
+
excludeNonImageModalities
|
|
6199
|
+
}) => {
|
|
6351
6200
|
const nonImageModalities = ['SR', 'SEG', 'SM', 'RTSTRUCT', 'RTPLAN', 'RTDOSE'];
|
|
6352
6201
|
|
|
6353
6202
|
// Sort the display sets as per the hanging protocol service viewport/display set scoring system.
|
|
@@ -6907,7 +6756,6 @@ const defaultProtocol = {
|
|
|
6907
6756
|
// studyMatchingRules: [],
|
|
6908
6757
|
}
|
|
6909
6758
|
},
|
|
6910
|
-
|
|
6911
6759
|
stages: [{
|
|
6912
6760
|
name: 'default',
|
|
6913
6761
|
viewportStructure: {
|
|
@@ -6933,7 +6781,6 @@ const defaultProtocol = {
|
|
|
6933
6781
|
// preset: 'middle', // 'first', 'last', 'middle'
|
|
6934
6782
|
// },
|
|
6935
6783
|
},
|
|
6936
|
-
|
|
6937
6784
|
displaySets: [{
|
|
6938
6785
|
id: 'defaultDisplaySetId'
|
|
6939
6786
|
}]
|
|
@@ -7007,12 +6854,11 @@ function DataSourceSelector() {
|
|
|
7007
6854
|
|
|
7008
6855
|
|
|
7009
6856
|
|
|
7010
|
-
function ItemListComponent(
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
} = _ref;
|
|
6857
|
+
function ItemListComponent({
|
|
6858
|
+
itemLabel,
|
|
6859
|
+
itemList,
|
|
6860
|
+
onItemClicked
|
|
6861
|
+
}) {
|
|
7016
6862
|
const {
|
|
7017
6863
|
t
|
|
7018
6864
|
} = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
|
|
@@ -7066,12 +6912,11 @@ function ItemListComponent(_ref) {
|
|
|
7066
6912
|
|
|
7067
6913
|
|
|
7068
6914
|
const NO_WRAP_ELLIPSIS_CLASS_NAMES = 'text-ellipsis whitespace-nowrap overflow-hidden';
|
|
7069
|
-
function DataSourceConfigurationModalComponent(
|
|
7070
|
-
|
|
7071
|
-
|
|
7072
|
-
|
|
7073
|
-
|
|
7074
|
-
} = _ref;
|
|
6915
|
+
function DataSourceConfigurationModalComponent({
|
|
6916
|
+
configurationAPI,
|
|
6917
|
+
configuredItems,
|
|
6918
|
+
onHide
|
|
6919
|
+
}) {
|
|
7075
6920
|
const {
|
|
7076
6921
|
t
|
|
7077
6922
|
} = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
|
|
@@ -7178,11 +7023,10 @@ function DataSourceConfigurationModalComponent(_ref) {
|
|
|
7178
7023
|
|
|
7179
7024
|
|
|
7180
7025
|
|
|
7181
|
-
function DataSourceConfigurationComponent(
|
|
7182
|
-
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
} = _ref;
|
|
7026
|
+
function DataSourceConfigurationComponent({
|
|
7027
|
+
servicesManager,
|
|
7028
|
+
extensionManager
|
|
7029
|
+
}) {
|
|
7186
7030
|
const {
|
|
7187
7031
|
t
|
|
7188
7032
|
} = (0,es/* useTranslation */.$G)('DataSourceConfiguration');
|
|
@@ -7400,9 +7244,7 @@ class GoogleCloudDataSourceConfigurationAPI {
|
|
|
7400
7244
|
* @param fetchSearchParams any search query params; currently only used for paging results
|
|
7401
7245
|
* @returns an array of items of the specified type
|
|
7402
7246
|
*/
|
|
7403
|
-
static async _doFetch(urlStr, fetchItemType) {
|
|
7404
|
-
let fetchOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
7405
|
-
let fetchSearchParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
7247
|
+
static async _doFetch(urlStr, fetchItemType, fetchOptions = {}, fetchSearchParams = {}) {
|
|
7406
7248
|
try {
|
|
7407
7249
|
const url = new URL(urlStr);
|
|
7408
7250
|
url.search = new URLSearchParams(fetchSearchParams).toString();
|
|
@@ -7447,11 +7289,10 @@ class GoogleCloudDataSourceConfigurationAPI {
|
|
|
7447
7289
|
* custom page for the user to view their profile, or to add a custom
|
|
7448
7290
|
* page for login etc.
|
|
7449
7291
|
*/
|
|
7450
|
-
function getCustomizationModule(
|
|
7451
|
-
|
|
7452
|
-
|
|
7453
|
-
|
|
7454
|
-
} = _ref;
|
|
7292
|
+
function getCustomizationModule({
|
|
7293
|
+
servicesManager,
|
|
7294
|
+
extensionManager
|
|
7295
|
+
}) {
|
|
7455
7296
|
return [{
|
|
7456
7297
|
name: 'helloPage',
|
|
7457
7298
|
value: {
|
|
@@ -7659,11 +7500,10 @@ const init_metadataProvider = src.classes.MetadataProvider;
|
|
|
7659
7500
|
* @param {Object} servicesManager
|
|
7660
7501
|
* @param {Object} configuration
|
|
7661
7502
|
*/
|
|
7662
|
-
function init(
|
|
7663
|
-
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
} = _ref;
|
|
7503
|
+
function init({
|
|
7504
|
+
servicesManager,
|
|
7505
|
+
configuration = {}
|
|
7506
|
+
}) {
|
|
7667
7507
|
const {
|
|
7668
7508
|
stateSyncService
|
|
7669
7509
|
} = servicesManager.services;
|
|
@@ -7710,11 +7550,10 @@ function init(_ref) {
|
|
|
7710
7550
|
clearOnModeExit: true
|
|
7711
7551
|
});
|
|
7712
7552
|
}
|
|
7713
|
-
const handlePETImageMetadata =
|
|
7714
|
-
|
|
7715
|
-
|
|
7716
|
-
|
|
7717
|
-
} = _ref2;
|
|
7553
|
+
const handlePETImageMetadata = ({
|
|
7554
|
+
SeriesInstanceUID,
|
|
7555
|
+
StudyInstanceUID
|
|
7556
|
+
}) => {
|
|
7718
7557
|
const {
|
|
7719
7558
|
instances
|
|
7720
7559
|
} = src.DicomMetadataStore.getSeries(StudyInstanceUID, SeriesInstanceUID);
|
|
@@ -7783,10 +7622,9 @@ const defaultExtension = {
|
|
|
7783
7622
|
getSopClassHandlerModule: src_getSopClassHandlerModule,
|
|
7784
7623
|
getToolbarModule: getToolbarModule,
|
|
7785
7624
|
getCommandsModule: src_commandsModule,
|
|
7786
|
-
getUtilityModule(
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
} = _ref;
|
|
7625
|
+
getUtilityModule({
|
|
7626
|
+
servicesManager
|
|
7627
|
+
}) {
|
|
7790
7628
|
return [{
|
|
7791
7629
|
name: 'common',
|
|
7792
7630
|
exports: {
|