@ohif/app 3.7.0-beta.35 → 3.7.0-beta.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/{192.bundle.6272e24776573a46ba0e.js → 192.bundle.160fffd248385d501d87.js} +2 -2
  2. package/dist/{199.bundle.017a4d777d4c2b3ae3c7.js → 199.bundle.fe8e31ccab2445a9721d.js} +2 -2
  3. package/dist/{208.bundle.1ddd87553ed279ecf177.js → 208.bundle.ee392e7c48237252ea8e.js} +2 -2
  4. package/dist/{283.bundle.51628bee972a04e8f2a9.js → 283.bundle.b19d7099a6fb8c957fb1.js} +2 -2
  5. package/dist/{351.bundle.33b4d3f8b66453b5d303.js → 351.bundle.2e949640c417cd735688.js} +2 -2
  6. package/dist/{404.bundle.1dce2dd30ff876edc5f3.js → 404.bundle.051cd13557d04cc76630.js} +2 -2
  7. package/dist/{55.bundle.b2c6b4dff2a949d25023.js → 55.bundle.fe53f3784bfe7db4a5a5.js} +2 -2
  8. package/dist/{569.bundle.ee136cf6526a6380633c.js → 569.bundle.e77c17d37a65e5dedfed.js} +2 -2
  9. package/dist/{581.bundle.ab8d1f1e75de3c98dd10.js → 581.bundle.15078e71fe52b53f48b3.js} +2 -2
  10. package/dist/{616.bundle.9ca5b6ebd436fa5c8b73.js → 616.bundle.fc1820b3d98da340218c.js} +2 -2
  11. package/dist/{625.bundle.56cf23e17aba289098b9.js → 625.bundle.7de4074e256c743ca500.js} +2 -2
  12. package/dist/{642.bundle.aba522f4f50f4b897046.js → 642.bundle.f03da99e63dbfdc1cf1c.js} +2 -2
  13. package/dist/{744.bundle.6010b90be6b43b0d9bc8.js → 744.bundle.08e4a5bbc4fd371a50b3.js} +7 -7
  14. package/dist/{790.bundle.9f4c33a790c651348286.js → 790.bundle.6fa09929a3203bcf3f2c.js} +2 -2
  15. package/dist/{799.bundle.6d3320855c9332c7117a.js → 799.bundle.d8e50f1fd6bf4fa3a5e1.js} +1 -1
  16. package/dist/{82.bundle.2e1ab22b6d6980c356f1.js → 82.bundle.11e08acaf3e1f527278d.js} +124 -98
  17. package/dist/{917.bundle.e220de67184c171f631d.js → 917.bundle.e0647888c6fff8e72e95.js} +2 -2
  18. package/dist/{953.bundle.4b8fee7d9484456a99b5.js → 953.bundle.95b0621f1da8dfeaed8a.js} +1 -1
  19. package/dist/{973.bundle.201ccef3cb047506ff92.js → 973.bundle.634f585248ead3160ff2.js} +2 -2
  20. package/dist/{976.bundle.c12649da6fb9662b9f94.js → 976.bundle.9dec94108550ad448773.js} +2 -2
  21. package/dist/{984.bundle.9133d3fdd441a8e6d63f.js → 984.bundle.1149cce5c5ecb63e76a9.js} +4 -4
  22. package/dist/app-config.js +6 -5
  23. package/dist/{app.bundle.3b2fe1badff37d9e939e.js → app.bundle.53e7fd8f8335245828d8.js} +621 -458
  24. package/dist/google.js +5 -4
  25. package/dist/index.html +1 -1
  26. package/dist/sw.js +1 -1
  27. package/package.json +18 -18
  28. /package/dist/{50.bundle.17df79160c1183470b70.js → 50.bundle.260f830a3870cae30cf5.js} +0 -0
@@ -14,8 +14,8 @@ __webpack_require__.d(__webpack_exports__, {
14
14
  toolbarButtons: () => (/* reexport */ src_toolbarButtons)
15
15
  });
16
16
 
17
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
18
- var src = __webpack_require__(62771);
17
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
18
+ var src = __webpack_require__(87754);
19
19
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
20
20
  var ui_src = __webpack_require__(28619);
21
21
  ;// CONCATENATED MODULE: ../../../modes/longitudinal/src/toolbarButtons.js
@@ -22,8 +22,8 @@ const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
22
22
 
23
23
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
24
24
  var react = __webpack_require__(32735);
25
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
26
- var src = __webpack_require__(62771);
25
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
26
+ var src = __webpack_require__(87754);
27
27
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
28
28
  var dcmjs_es = __webpack_require__(22737);
29
29
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/loadRTStruct.js
@@ -12,8 +12,8 @@ __webpack_require__.d(__webpack_exports__, {
12
12
  "default": () => (/* binding */ basic_test_mode_src)
13
13
  });
14
14
 
15
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
16
- var src = __webpack_require__(62771);
15
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
16
+ var src = __webpack_require__(87754);
17
17
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
18
18
  var ui_src = __webpack_require__(28619);
19
19
  ;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/toolbarButtons.js
@@ -678,8 +678,8 @@ var prop_types = __webpack_require__(60216);
678
678
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
679
679
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
680
680
  var src = __webpack_require__(28619);
681
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
682
- var core_src = __webpack_require__(62771);
681
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
682
+ var core_src = __webpack_require__(87754);
683
683
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
684
684
  var es = __webpack_require__(21572);
685
685
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/Panels/PanelPetSUV.tsx
@@ -23,8 +23,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
23
23
  var esm = __webpack_require__(57270);
24
24
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 336 modules
25
25
  var dist_esm = __webpack_require__(58389);
26
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
27
- var src = __webpack_require__(62771);
26
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
27
+ var src = __webpack_require__(87754);
28
28
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
29
29
  var ui_src = __webpack_require__(28619);
30
30
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
@@ -12,8 +12,8 @@ __webpack_require__.d(__webpack_exports__, {
12
12
  "default": () => (/* binding */ tmtv_src)
13
13
  });
14
14
 
15
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
16
- var src = __webpack_require__(62771);
15
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
16
+ var src = __webpack_require__(87754);
17
17
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
18
18
  var ui_src = __webpack_require__(28619);
19
19
  ;// CONCATENATED MODULE: ../../../modes/tmtv/src/initToolGroups.js
@@ -251,8 +251,8 @@ const itemGenerator = props => {
251
251
  /* harmony default export */ const ViewportOverlay = (generateFromConfig({}));
252
252
  // EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
253
253
  var dicomweb_client_es = __webpack_require__(75935);
254
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
255
- var core_src = __webpack_require__(62771);
254
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
255
+ var core_src = __webpack_require__(87754);
256
256
  ;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/dicomWebClient.ts
257
257
 
258
258
 
@@ -19,8 +19,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
19
19
  var react = __webpack_require__(32735);
20
20
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
21
21
  var es = __webpack_require__(21572);
22
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
23
- var src = __webpack_require__(62771);
22
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
23
+ var src = __webpack_require__(87754);
24
24
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
25
25
  var ui_src = __webpack_require__(28619);
26
26
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/initSEGToolGroup.ts
@@ -17,8 +17,8 @@ var react = __webpack_require__(32735);
17
17
  // EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
18
18
  var prop_types = __webpack_require__(60216);
19
19
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
20
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
21
- var src = __webpack_require__(62771);
20
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
21
+ var src = __webpack_require__(87754);
22
22
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
23
23
  var ui_src = __webpack_require__(28619);
24
24
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/_hydrateRT.ts
@@ -24,8 +24,8 @@ const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
24
24
  var react = __webpack_require__(32735);
25
25
  // EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/Math.js
26
26
  var Core_Math = __webpack_require__(92780);
27
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
28
- var src = __webpack_require__(62771);
27
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
28
+ var src = __webpack_require__(87754);
29
29
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
30
30
  var dcmjs_es = __webpack_require__(22737);
31
31
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/getSopClassHandlerModule.js
@@ -37,8 +37,8 @@ var react = __webpack_require__(32735);
37
37
  var esm = __webpack_require__(58389);
38
38
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 321 modules
39
39
  var dist_esm = __webpack_require__(57270);
40
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
41
- var src = __webpack_require__(62771);
40
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
41
+ var src = __webpack_require__(87754);
42
42
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/streaming-image-volume-loader/dist/esm/index.js + 13 modules
43
43
  var streaming_image_volume_loader_dist_esm = __webpack_require__(28909);
44
44
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import/cornerstoneDICOMImageLoader.min.js
@@ -21,8 +21,8 @@ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-dicom-pdf"}')
21
21
  const id = package_namespaceObject.u2;
22
22
  const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-pdf`;
23
23
 
24
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
25
- var src = __webpack_require__(62771);
24
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
25
+ var src = __webpack_require__(87754);
26
26
  ;// CONCATENATED MODULE: ../../../extensions/dicom-pdf/src/getSopClassHandlerModule.js
27
27
 
28
28
 
@@ -621,8 +621,8 @@ function promptTrackNewStudy_askSaveDiscardOrCancel(UIViewportDialogService, vie
621
621
  });
622
622
  }
623
623
  /* harmony default export */ const TrackedMeasurementsContext_promptTrackNewStudy = (promptTrackNewStudy);
624
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
625
- var core_src = __webpack_require__(62771);
624
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
625
+ var core_src = __webpack_require__(87754);
626
626
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/createReportAsync.tsx
627
627
 
628
628
 
@@ -1244,8 +1244,8 @@ var prop_types = __webpack_require__(60216);
1244
1244
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
1245
1245
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
1246
1246
  var es = __webpack_require__(21572);
1247
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
1248
- var src = __webpack_require__(62771);
1247
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
1248
+ var src = __webpack_require__(87754);
1249
1249
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
1250
1250
  var ui_src = __webpack_require__(28619);
1251
1251
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx
@@ -1859,8 +1859,8 @@ WrappedPanelStudyBrowserTracking.propTypes = {
1859
1859
  servicesManager: (prop_types_default()).object.isRequired
1860
1860
  };
1861
1861
  /* harmony default export */ const panels_PanelStudyBrowserTracking = (WrappedPanelStudyBrowserTracking);
1862
- // EXTERNAL MODULE: ./hooks/index.js + 3 modules
1863
- var hooks = __webpack_require__(39852);
1862
+ // EXTERNAL MODULE: ./hooks/index.js + 1 modules
1863
+ var hooks = __webpack_require__(42492);
1864
1864
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking/ActionButtons.tsx
1865
1865
 
1866
1866
 
@@ -1934,7 +1934,7 @@ function PanelMeasurementTableTracking(_ref) {
1934
1934
  } = _ref;
1935
1935
  const [viewportGrid, viewportGridService] = (0,ui_src/* useViewportGrid */.O_)();
1936
1936
  const [measurementChangeTimestamp, setMeasurementsUpdated] = (0,react.useState)(Date.now().toString());
1937
- const debouncedMeasurementChangeTimestamp = (0,hooks/* useDebounce */.Nr)(measurementChangeTimestamp, 200);
1937
+ const debouncedMeasurementChangeTimestamp = (0,hooks/* useDebounce */.N)(measurementChangeTimestamp, 200);
1938
1938
  const {
1939
1939
  measurementService,
1940
1940
  uiDialogService,
@@ -14,8 +14,8 @@ __webpack_require__.d(__webpack_exports__, {
14
14
 
15
15
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
16
16
  var src = __webpack_require__(28619);
17
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
18
- var core_src = __webpack_require__(62771);
17
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
18
+ var core_src = __webpack_require__(87754);
19
19
  ;// CONCATENATED MODULE: ../../../modes/basic-dev-mode/src/toolbarButtons.js
20
20
  // TODO: torn, can either bake this here; or have to create a whole new button type
21
21
  // Only ways that you can pass in a custom React component for render :l
@@ -11,7 +11,7 @@ __webpack_require__.r(__webpack_exports__);
11
11
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32735);
12
12
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60216);
13
13
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
14
- /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62771);
14
+ /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(87754);
15
15
  /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(28619);
16
16
  /* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21572);
17
17
  /* harmony import */ var _cornerstonejs_tools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(57270);
@@ -29,8 +29,8 @@ __webpack_require__.d(utils_namespaceObject, {
29
29
 
30
30
  // EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
31
31
  var dicomweb_client_es = __webpack_require__(75935);
32
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
33
- var src = __webpack_require__(62771);
32
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
33
+ var src = __webpack_require__(87754);
34
34
  // EXTERNAL MODULE: ../../core/src/utils/sortStudy.ts
35
35
  var sortStudy = __webpack_require__(87853);
36
36
  ;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/qido.js
@@ -991,69 +991,56 @@ const metadataProvider = src.classes.MetadataProvider;
991
991
  * @param {string|bool} singlepart - indicates of the retrieves can fetch singlepart. Options are bulkdata, video, image or boolean true
992
992
  */
993
993
  function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
994
- const {
995
- qidoRoot,
996
- wadoRoot,
997
- enableStudyLazyLoad,
998
- supportsFuzzyMatching,
999
- supportsWildcard,
1000
- supportsReject,
1001
- staticWado,
1002
- singlepart,
1003
- omitQuotationForMultipartRequest,
1004
- acceptHeader,
1005
- requestTransferSyntaxUID
1006
- } = dicomWebConfig;
1007
- const dicomWebConfigCopy = JSON.parse(JSON.stringify(dicomWebConfig));
1008
- const getAuthrorizationHeader = () => {
1009
- const xhrRequestHeaders = {};
1010
- const authHeaders = userAuthenticationService.getAuthorizationHeader();
1011
- if (authHeaders && authHeaders.Authorization) {
1012
- xhrRequestHeaders.Authorization = authHeaders.Authorization;
1013
- }
1014
- return xhrRequestHeaders;
1015
- };
1016
- const generateWadoHeader = () => {
1017
- let authorizationHeader = getAuthrorizationHeader();
1018
- //Generate accept header depending on config params
1019
- let formattedAcceptHeader = src.utils.generateAcceptHeader(acceptHeader, requestTransferSyntaxUID, omitQuotationForMultipartRequest);
1020
- return {
1021
- ...authorizationHeader,
1022
- Accept: formattedAcceptHeader
1023
- };
1024
- };
1025
- const qidoConfig = {
1026
- url: qidoRoot,
1027
- staticWado,
1028
- singlepart,
1029
- headers: getAuthrorizationHeader(),
1030
- errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
1031
- };
1032
- const wadoConfig = {
1033
- url: wadoRoot,
1034
- staticWado,
1035
- singlepart,
1036
- headers: generateWadoHeader(),
1037
- errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
1038
- };
1039
-
1040
- // TODO -> Two clients sucks, but its better than 1000.
1041
- // TODO -> We'll need to merge auth later.
1042
- const qidoDicomWebClient = staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es.api.DICOMwebClient(qidoConfig);
1043
- const wadoDicomWebClient = staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es.api.DICOMwebClient(wadoConfig);
994
+ let dicomWebConfigCopy, qidoConfig, wadoConfig, qidoDicomWebClient, wadoDicomWebClient, getAuthrorizationHeader, generateWadoHeader;
1044
995
  const implementation = {
1045
996
  initialize: _ref => {
1046
997
  let {
1047
998
  params,
1048
999
  query
1049
1000
  } = _ref;
1050
- const {
1051
- StudyInstanceUIDs: paramsStudyInstanceUIDs
1052
- } = params;
1053
- const queryStudyInstanceUIDs = src.utils.splitComma(query.getAll('StudyInstanceUIDs'));
1054
- const StudyInstanceUIDs = queryStudyInstanceUIDs.length && queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
1055
- const StudyInstanceUIDsAsArray = StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs) ? StudyInstanceUIDs : [StudyInstanceUIDs];
1056
- return StudyInstanceUIDsAsArray;
1001
+ if (dicomWebConfig.onConfiguration && typeof dicomWebConfig.onConfiguration === 'function') {
1002
+ dicomWebConfig = dicomWebConfig.onConfiguration(dicomWebConfig, {
1003
+ params,
1004
+ query
1005
+ });
1006
+ }
1007
+ dicomWebConfigCopy = JSON.parse(JSON.stringify(dicomWebConfig));
1008
+ getAuthrorizationHeader = () => {
1009
+ const xhrRequestHeaders = {};
1010
+ const authHeaders = userAuthenticationService.getAuthorizationHeader();
1011
+ if (authHeaders && authHeaders.Authorization) {
1012
+ xhrRequestHeaders.Authorization = authHeaders.Authorization;
1013
+ }
1014
+ return xhrRequestHeaders;
1015
+ };
1016
+ generateWadoHeader = () => {
1017
+ let authorizationHeader = getAuthrorizationHeader();
1018
+ //Generate accept header depending on config params
1019
+ let formattedAcceptHeader = src.utils.generateAcceptHeader(dicomWebConfig.acceptHeader, dicomWebConfig.requestTransferSyntaxUID, dicomWebConfig.omitQuotationForMultipartRequest);
1020
+ return {
1021
+ ...authorizationHeader,
1022
+ Accept: formattedAcceptHeader
1023
+ };
1024
+ };
1025
+ qidoConfig = {
1026
+ url: dicomWebConfig.qidoRoot,
1027
+ staticWado: dicomWebConfig.staticWado,
1028
+ singlepart: dicomWebConfig.singlepart,
1029
+ headers: userAuthenticationService.getAuthorizationHeader(),
1030
+ errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
1031
+ };
1032
+ wadoConfig = {
1033
+ url: dicomWebConfig.wadoRoot,
1034
+ staticWado: dicomWebConfig.staticWado,
1035
+ singlepart: dicomWebConfig.singlepart,
1036
+ headers: userAuthenticationService.getAuthorizationHeader(),
1037
+ errorInterceptor: src/* errorHandler */.Po.getHTTPErrorHandler()
1038
+ };
1039
+
1040
+ // TODO -> Two clients sucks, but its better than 1000.
1041
+ // TODO -> We'll need to merge auth later.
1042
+ qidoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(qidoConfig) : new dicomweb_client_es.api.DICOMwebClient(qidoConfig);
1043
+ wadoDicomWebClient = dicomWebConfig.staticWado ? new StaticWadoClient(wadoConfig) : new dicomweb_client_es.api.DICOMwebClient(wadoConfig);
1057
1044
  },
1058
1045
  query: {
1059
1046
  studies: {
@@ -1065,8 +1052,8 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
1065
1052
  seriesInstanceUid,
1066
1053
  ...mappedParams
1067
1054
  } = mapParams(origParams, {
1068
- supportsFuzzyMatching,
1069
- supportsWildcard
1055
+ supportsFuzzyMatching: dicomWebConfig.supportsFuzzyMatching,
1056
+ supportsWildcard: dicomWebConfig.supportsWildcard
1070
1057
  }) || {};
1071
1058
  const results = await search(qidoDicomWebClient, undefined, undefined, mappedParams);
1072
1059
  return processResults(results);
@@ -1104,8 +1091,8 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
1104
1091
  */
1105
1092
  directURL: params => {
1106
1093
  return utils_getDirectURL({
1107
- wadoRoot,
1108
- singlepart
1094
+ wadoRoot: dicomWebConfig.wadoRoot,
1095
+ singlepart: dicomWebConfig.singlepart
1109
1096
  }, params);
1110
1097
  },
1111
1098
  bulkDataURI: async _ref2 => {
@@ -1136,7 +1123,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
1136
1123
  if (!StudyInstanceUID) {
1137
1124
  throw new Error('Unable to query for SeriesMetadata without StudyInstanceUID');
1138
1125
  }
1139
- if (enableStudyLazyLoad) {
1126
+ if (dicomWebConfig.enableStudyLazyLoad) {
1140
1127
  return implementation._retrieveSeriesMetadataAsync(StudyInstanceUID, filters, sortCriteria, sortFunction, madeInClient);
1141
1128
  }
1142
1129
  return implementation._retrieveSeriesMetadataSync(StudyInstanceUID, filters, sortCriteria, sortFunction, madeInClient);
@@ -1362,10 +1349,23 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
1362
1349
  },
1363
1350
  getConfig() {
1364
1351
  return dicomWebConfigCopy;
1352
+ },
1353
+ getStudyInstanceUIDs(_ref4) {
1354
+ let {
1355
+ params,
1356
+ query
1357
+ } = _ref4;
1358
+ const {
1359
+ StudyInstanceUIDs: paramsStudyInstanceUIDs
1360
+ } = params;
1361
+ const queryStudyInstanceUIDs = src.utils.splitComma(query.getAll('StudyInstanceUIDs'));
1362
+ const StudyInstanceUIDs = queryStudyInstanceUIDs.length && queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
1363
+ const StudyInstanceUIDsAsArray = StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs) ? StudyInstanceUIDs : [StudyInstanceUIDs];
1364
+ return StudyInstanceUIDsAsArray;
1365
1365
  }
1366
1366
  };
1367
- if (supportsReject) {
1368
- implementation.reject = dcm4cheeReject(wadoRoot);
1367
+ if (dicomWebConfig.supportsReject) {
1368
+ implementation.reject = dcm4cheeReject(dicomWebConfig.wadoRoot);
1369
1369
  }
1370
1370
  return src/* IWebApiDataSource */.Is.create(implementation);
1371
1371
  }
@@ -1381,7 +1381,8 @@ const mappings = {
1381
1381
  patientId: 'PatientID'
1382
1382
  };
1383
1383
  let _store = {
1384
- urls: []
1384
+ urls: [],
1385
+ studyInstanceUIDMap: new Map() // map of urls to array of study instance UIDs
1385
1386
  // {
1386
1387
  // url: url1
1387
1388
  // studies: [Study1, Study2], // if multiple studies
@@ -1409,13 +1410,11 @@ const findStudies = (key, value) => {
1409
1410
  };
1410
1411
  function createDicomJSONApi(dicomJsonConfig) {
1411
1412
  const {
1412
- name,
1413
1413
  wadoRoot
1414
1414
  } = dicomJsonConfig;
1415
1415
  const implementation = {
1416
1416
  initialize: async _ref => {
1417
1417
  let {
1418
- params,
1419
1418
  query,
1420
1419
  url
1421
1420
  } = _ref;
@@ -1431,8 +1430,7 @@ function createDicomJSONApi(dicomJsonConfig) {
1431
1430
  });
1432
1431
  }
1433
1432
  const response = await fetch(url);
1434
- let data = await response.json();
1435
- const studyInstanceUIDs = data.studies.map(study => study.StudyInstanceUID);
1433
+ const data = await response.json();
1436
1434
  let StudyInstanceUID;
1437
1435
  let SeriesInstanceUID;
1438
1436
  data.studies.forEach(study => {
@@ -1458,7 +1456,7 @@ function createDicomJSONApi(dicomJsonConfig) {
1458
1456
  url,
1459
1457
  studies: [...data.studies]
1460
1458
  });
1461
- return studyInstanceUIDs;
1459
+ _store.studyInstanceUIDMap.set(url, data.studies.map(study => study.StudyInstanceUID));
1462
1460
  },
1463
1461
  query: {
1464
1462
  studies: {
@@ -1614,6 +1612,14 @@ function createDicomJSONApi(dicomJsonConfig) {
1614
1612
  frame
1615
1613
  });
1616
1614
  return imageIds;
1615
+ },
1616
+ getStudyInstanceUIDs: _ref3 => {
1617
+ let {
1618
+ params,
1619
+ query
1620
+ } = _ref3;
1621
+ const url = query.get('url');
1622
+ return _store.studyInstanceUIDMap.get(url);
1617
1623
  }
1618
1624
  };
1619
1625
  return src/* IWebApiDataSource */.Is.create(implementation);
@@ -1666,19 +1672,6 @@ function createDicomLocalApi(dicomLocalConfig) {
1666
1672
  params,
1667
1673
  query
1668
1674
  } = _ref;
1669
- const {
1670
- StudyInstanceUIDs: paramsStudyInstanceUIDs
1671
- } = params;
1672
- const queryStudyInstanceUIDs = query.getAll('StudyInstanceUIDs');
1673
- const StudyInstanceUIDs = queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
1674
- const StudyInstanceUIDsAsArray = StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs) ? StudyInstanceUIDs : [StudyInstanceUIDs];
1675
-
1676
- // Put SRs at the end of series list to make sure images are loaded first
1677
- StudyInstanceUIDsAsArray.forEach(StudyInstanceUID => {
1678
- const study = src.DicomMetadataStore.getStudy(StudyInstanceUID);
1679
- study.series = study.series.sort(customSort);
1680
- });
1681
- return StudyInstanceUIDsAsArray;
1682
1675
  },
1683
1676
  query: {
1684
1677
  studies: {
@@ -1860,6 +1853,29 @@ function createDicomLocalApi(dicomLocalConfig) {
1860
1853
  },
1861
1854
  deleteStudyMetadataPromise() {
1862
1855
  console.log('deleteStudyMetadataPromise not implemented');
1856
+ },
1857
+ getStudyInstanceUIDs: _ref3 => {
1858
+ let {
1859
+ params,
1860
+ query
1861
+ } = _ref3;
1862
+ const {
1863
+ StudyInstanceUIDs: paramsStudyInstanceUIDs
1864
+ } = params;
1865
+ const queryStudyInstanceUIDs = query.getAll('StudyInstanceUIDs');
1866
+ const StudyInstanceUIDs = queryStudyInstanceUIDs || paramsStudyInstanceUIDs;
1867
+ const StudyInstanceUIDsAsArray = StudyInstanceUIDs && Array.isArray(StudyInstanceUIDs) ? StudyInstanceUIDs : [StudyInstanceUIDs];
1868
+
1869
+ // Put SRs at the end of series list to make sure images are loaded first
1870
+ let isStudyInCache = false;
1871
+ StudyInstanceUIDsAsArray.forEach(StudyInstanceUID => {
1872
+ const study = src.DicomMetadataStore.getStudy(StudyInstanceUID);
1873
+ if (study) {
1874
+ study.series = study.series.sort(customSort);
1875
+ isStudyInCache = true;
1876
+ }
1877
+ });
1878
+ return isStudyInCache ? StudyInstanceUIDsAsArray : [];
1863
1879
  }
1864
1880
  };
1865
1881
  return src/* IWebApiDataSource */.Is.create(implementation);
@@ -1888,13 +1904,6 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
1888
1904
  params,
1889
1905
  query
1890
1906
  } = _ref;
1891
- let studyInstanceUIDs = [];
1892
-
1893
- // there seem to be a couple of variations of the case for this parameter
1894
- const queryStudyInstanceUIDs = query.get('studyInstanceUIDs') || query.get('studyInstanceUids');
1895
- if (!queryStudyInstanceUIDs) {
1896
- throw new Error(`No studyInstanceUids in request for '${name}'`);
1897
- }
1898
1907
  const url = query.get('url');
1899
1908
  if (!url) {
1900
1909
  throw new Error(`No url for '${name}'`);
@@ -1904,10 +1913,12 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
1904
1913
  if (!data.servers?.dicomWeb?.[0]) {
1905
1914
  throw new Error('Invalid configuration returned by url');
1906
1915
  }
1907
- dicomWebDelegate = createDicomWebApi(data.servers.dicomWeb[0], UserAuthenticationService);
1908
- studyInstanceUIDs = queryStudyInstanceUIDs.split(';');
1916
+ dicomWebDelegate = createDicomWebApi(data.servers.dicomWeb[0].configuration, UserAuthenticationService);
1917
+ dicomWebDelegate.initialize({
1918
+ params,
1919
+ query
1920
+ });
1909
1921
  }
1910
- return studyInstanceUIDs;
1911
1922
  },
1912
1923
  query: {
1913
1924
  studies: {
@@ -1945,6 +1956,21 @@ function createDicomWebProxyApi(dicomWebProxyConfig, UserAuthenticationService)
1945
1956
  },
1946
1957
  getImageIdsForInstance: function () {
1947
1958
  return dicomWebDelegate.getImageIdsForInstance(...arguments);
1959
+ },
1960
+ getStudyInstanceUIDs(_ref2) {
1961
+ let {
1962
+ params,
1963
+ query
1964
+ } = _ref2;
1965
+ let studyInstanceUIDs = [];
1966
+
1967
+ // there seem to be a couple of variations of the case for this parameter
1968
+ const queryStudyInstanceUIDs = query.get('studyInstanceUIDs') || query.get('studyInstanceUids');
1969
+ if (!queryStudyInstanceUIDs) {
1970
+ throw new Error(`No studyInstanceUids in request for '${name}'`);
1971
+ }
1972
+ studyInstanceUIDs = queryStudyInstanceUIDs.split(';');
1973
+ return studyInstanceUIDs;
1948
1974
  }
1949
1975
  };
1950
1976
  return src/* IWebApiDataSource */.Is.create(implementation);
@@ -2149,8 +2175,8 @@ function ViewerLayout(_ref) {
2149
2175
  hotkeyDefinitions,
2150
2176
  hotkeyDefaults
2151
2177
  } = hotkeysManager;
2152
- const versionNumber = "3.7.0-beta.35";
2153
- const commitHash = "d5cbbb037d1fcb52bff278fa4ff3d8fa92b15d10";
2178
+ const versionNumber = "3.7.0-beta.36";
2179
+ const commitHash = "7bbc213f58a1be3560c0414242549007885d0f13";
2154
2180
  const menuOptions = [{
2155
2181
  title: t('Header:About'),
2156
2182
  icon: 'info',
@@ -5749,7 +5775,7 @@ function DataSourceSelector() {
5749
5775
  key: ds.sourceName
5750
5776
  }, /*#__PURE__*/react.createElement("h1", {
5751
5777
  className: "text-white"
5752
- }, ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
5778
+ }, ds.configuration?.friendlyName || ds.friendlyName), /*#__PURE__*/react.createElement(ui_src/* Button */.zx, {
5753
5779
  type: ui_src/* ButtonEnums.type */.LZ.U.primary,
5754
5780
  className: classnames_default()('ml-2'),
5755
5781
  onClick: () => {
@@ -21,8 +21,8 @@ const package_namespaceObject = JSON.parse('{"u2":"@ohif/extension-dicom-video"}
21
21
  const id = package_namespaceObject.u2;
22
22
  const SOPClassHandlerId = `${id}.sopClassHandlerModule.dicom-video`;
23
23
 
24
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
25
- var src = __webpack_require__(62771);
24
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
25
+ var src = __webpack_require__(87754);
26
26
  ;// CONCATENATED MODULE: ../../../extensions/dicom-video/src/getSopClassHandlerModule.js
27
27
 
28
28
 
@@ -12,7 +12,7 @@ __webpack_require__.r(__webpack_exports__);
12
12
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);
13
13
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32735);
14
14
  /* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21572);
15
- /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62771);
15
+ /* harmony import */ var _ohif_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87754);
16
16
  /* harmony import */ var _tools_modules_dicomSRModule__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94709);
17
17
  /* harmony import */ var _ohif_ui__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28619);
18
18
  /* harmony import */ var _utils_hydrateStructuredReport__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(68525);
@@ -13,8 +13,8 @@ __webpack_require__.d(__webpack_exports__, {
13
13
  "default": () => (/* binding */ microscopy_src)
14
14
  });
15
15
 
16
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
17
- var src = __webpack_require__(62771);
16
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
17
+ var src = __webpack_require__(87754);
18
18
  ;// CONCATENATED MODULE: ../../../modes/microscopy/package.json
19
19
  const package_namespaceObject = JSON.parse('{"u2":"@ohif/mode-microscopy"}');
20
20
  ;// CONCATENATED MODULE: ../../../modes/microscopy/src/id.js
@@ -22,8 +22,8 @@ const id = package_namespaceObject.u2;
22
22
  var react = __webpack_require__(32735);
23
23
  // EXTERNAL MODULE: ../../ui/src/index.js + 452 modules
24
24
  var src = __webpack_require__(28619);
25
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
26
- var core_src = __webpack_require__(62771);
25
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
26
+ var core_src = __webpack_require__(87754);
27
27
  // EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
28
28
  var es = __webpack_require__(21572);
29
29
  // EXTERNAL MODULE: ../../../node_modules/mathjs/lib/esm/index.js + 972 modules
@@ -25,8 +25,8 @@ const id = package_namespaceObject.u2;
25
25
  const SOPClassHandlerName = 'dicom-sr';
26
26
  const SOPClassHandlerId = `${id}.sopClassHandlerModule.${SOPClassHandlerName}`;
27
27
 
28
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
29
- var src = __webpack_require__(62771);
28
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
29
+ var src = __webpack_require__(87754);
30
30
  // EXTERNAL MODULE: ../../../node_modules/gl-matrix/esm/index.js + 10 modules
31
31
  var esm = __webpack_require__(88256);
32
32
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js + 321 modules
@@ -1585,8 +1585,8 @@ __webpack_require__.d(__webpack_exports__, {
1585
1585
 
1586
1586
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 336 modules
1587
1587
  var esm = __webpack_require__(58389);
1588
- // EXTERNAL MODULE: ../../core/src/index.ts + 102 modules
1589
- var src = __webpack_require__(62771);
1588
+ // EXTERNAL MODULE: ../../core/src/index.ts + 103 modules
1589
+ var src = __webpack_require__(87754);
1590
1590
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-sr/src/utils/getLabelFromDCMJSImportedToolData.js
1591
1591
  /**
1592
1592
  * Extracts the label from the toolData imported from dcmjs. We need to do this