@ohif/app 3.10.0-beta.132 → 3.10.0-beta.134

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 (30) hide show
  1. package/dist/{4209.bundle.96558ee74ab76cd24ed5.js → 4209.bundle.3cd7da5e77b38ec7f693.js} +44 -22
  2. package/dist/{810.bundle.b23accd223e0e96e73de.js → 810.bundle.c8077e33b50853acdf0d.js} +64 -80
  3. package/dist/app.bundle.css +2 -2
  4. package/dist/{app.bundle.6c95fd9244da3a30435e.js → app.bundle.da65ad8c2304ceda0a61.js} +3 -8
  5. package/dist/index.html +1 -1
  6. package/dist/sw.js +1 -1
  7. package/package.json +18 -18
  8. /package/dist/{1459.bundle.9843d97fca7254646efb.js → 1459.bundle.5b964fd82d59999d634f.js} +0 -0
  9. /package/dist/{1807.bundle.af865bfe18e24576d9e5.js → 1807.bundle.8857f8a0583b0c30d972.js} +0 -0
  10. /package/dist/{1919.bundle.179e1f22ecb5e2cf9a8f.js → 1919.bundle.cf867a49e74f8ffc3531.js} +0 -0
  11. /package/dist/{213.bundle.0528f995ca21234386fa.js → 213.bundle.c45ad9cdfe6e7cafbaef.js} +0 -0
  12. /package/dist/{2308.bundle.fcf8a3074657819dce3f.js → 2308.bundle.c05269f2d5bd780839dc.js} +0 -0
  13. /package/dist/{2424.bundle.0743d668625f84a71fd6.js → 2424.bundle.81f6041cbc6e156b1033.js} +0 -0
  14. /package/dist/{2701.bundle.a2c3b5cd9fc625526a3e.js → 2701.bundle.39bb582efbfff6bcdcaf.js} +0 -0
  15. /package/dist/{4113.bundle.16e7073d074575172ccd.js → 4113.bundle.ed2262a0d2d56f6c5738.js} +0 -0
  16. /package/dist/{4526.bundle.bce6fd78b287e05669ef.js → 4526.bundle.0a3c8c37e772693f5c3a.js} +0 -0
  17. /package/dist/{6027.bundle.cb9afc450fad9a3d6cc9.js → 6027.bundle.a2ab86ed71edcf1e7c76.js} +0 -0
  18. /package/dist/{6201.bundle.a976567b6237368d03db.js → 6201.bundle.f21a22c89359b3351c22.js} +0 -0
  19. /package/dist/{6341.bundle.7db3e3923e378a772b73.js → 6341.bundle.56153f7b5c8eb55d5115.js} +0 -0
  20. /package/dist/{7197.bundle.f0184bc1d179ad1cc1a4.js → 7197.bundle.4976a7eaca6f26cb7253.js} +0 -0
  21. /package/dist/{7639.bundle.4d1dd053adc059a38f1f.js → 7639.bundle.671fd4d5fed681bda4e4.js} +0 -0
  22. /package/dist/{85.bundle.30aa50ab2e25fd0e07fe.js → 85.bundle.cb2b9c56a8b33fc850a4.js} +0 -0
  23. /package/dist/{8558.bundle.cdf2afed3b61a074dd2e.js → 8558.bundle.306058e37ad36e3ee30f.js} +0 -0
  24. /package/dist/{8815.bundle.43ee0cfbf6837e92c09e.js → 8815.bundle.ccd4e5662e6e98697a59.js} +0 -0
  25. /package/dist/{9026.bundle.2ffb7e63d26c4b395e87.js → 9026.bundle.3d19c9eca1b5dec8500b.js} +0 -0
  26. /package/dist/{9045.bundle.45f9a447ae8195ac1180.js → 9045.bundle.92b6473bce6f62f94665.js} +0 -0
  27. /package/dist/{934.bundle.4530ad66d5c0af8ab80d.js → 934.bundle.5234a0116cdd0ffe2109.js} +0 -0
  28. /package/dist/{963.bundle.188d94361a9b34eaafc7.js → 963.bundle.005cf5ffb6050bc0a2b5.js} +0 -0
  29. /package/dist/{9862.bundle.1cc973a02f23f9fb89b9.js → 9862.bundle.24624da2fae3fc96ba73.js} +0 -0
  30. /package/dist/{9890.bundle.ce28c3dd4430362f07f2.js → 9890.bundle.6f8829d3bf8690ec7947.js} +0 -0
@@ -3904,9 +3904,7 @@ function PanelStudyBrowser({
3904
3904
  commandsManager
3905
3905
  } = (0,src/* useSystem */.Jg)();
3906
3906
  const {
3907
- hangingProtocolService,
3908
3907
  displaySetService,
3909
- uiNotificationService,
3910
3908
  customizationService
3911
3909
  } = servicesManager.services;
3912
3910
  const navigate = (0,dist/* useNavigate */.Zp)();
@@ -3921,7 +3919,7 @@ function PanelStudyBrowser({
3921
3919
  activeViewportId,
3922
3920
  viewports,
3923
3921
  isHangingProtocolLayout
3924
- }, viewportGridService] = (0,ui_next_src/* useViewportGrid */.ih)();
3922
+ }] = (0,ui_next_src/* useViewportGrid */.ih)();
3925
3923
  const [activeTabName, setActiveTabName] = (0,react.useState)('all');
3926
3924
  const [expandedStudyInstanceUIDs, setExpandedStudyInstanceUIDs] = (0,react.useState)([...StudyInstanceUIDs]);
3927
3925
  const [hasLoadedViewports, setHasLoadedViewports] = (0,react.useState)(false);
@@ -3949,22 +3947,19 @@ function PanelStudyBrowser({
3949
3947
  });
3950
3948
  setViewPresets(newViewPresets);
3951
3949
  };
3952
- const onDoubleClickThumbnailHandler = displaySetInstanceUID => {
3953
- let updatedViewports = [];
3954
- const viewportId = activeViewportId;
3955
- try {
3956
- updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportId, displaySetInstanceUID, isHangingProtocolLayout);
3957
- } catch (error) {
3958
- console.warn(error);
3959
- uiNotificationService.show({
3960
- title: 'Thumbnail Double Click',
3961
- message: 'The selected display sets could not be added to the viewport.',
3962
- type: 'error',
3963
- duration: 3000
3964
- });
3950
+ const onDoubleClickThumbnailHandler = (0,react.useCallback)(async displaySetInstanceUID => {
3951
+ const customHandler = customizationService.getCustomization('studyBrowser.thumbnailDoubleClickCallback');
3952
+ const setupArgs = {
3953
+ activeViewportId,
3954
+ commandsManager,
3955
+ servicesManager,
3956
+ isHangingProtocolLayout
3957
+ };
3958
+ const handlers = customHandler?.callbacks.map(callback => callback(setupArgs));
3959
+ for (const handler of handlers) {
3960
+ await handler(displaySetInstanceUID);
3965
3961
  }
3966
- viewportGridService.setDisplaySetsForViewports(updatedViewports);
3967
- };
3962
+ }, [activeViewportId, commandsManager, servicesManager, isHangingProtocolLayout, customizationService]);
3968
3963
 
3969
3964
  // ~~ studyDisplayList
3970
3965
  (0,react.useEffect)(() => {
@@ -4035,7 +4030,7 @@ function PanelStudyBrowser({
4035
4030
  thumbnailSrc = await displaySet.getThumbnailSrc();
4036
4031
  }
4037
4032
  if (!thumbnailSrc) {
4038
- let thumbnailSrc = await getImageSrc(imageId);
4033
+ const thumbnailSrc = await getImageSrc(imageId);
4039
4034
  displaySet.thumbnailSrc = thumbnailSrc;
4040
4035
  }
4041
4036
  newImageSrcEntry[dSet.displaySetInstanceUID] = thumbnailSrc;
@@ -9343,7 +9338,34 @@ const {
9343
9338
  iconName: 'ThumbnailView',
9344
9339
  selected: true
9345
9340
  }],
9346
- 'studyBrowser.studyMode': 'all'
9341
+ 'studyBrowser.studyMode': 'all',
9342
+ 'studyBrowser.thumbnailDoubleClickCallback': {
9343
+ callbacks: [({
9344
+ activeViewportId,
9345
+ servicesManager,
9346
+ isHangingProtocolLayout
9347
+ }) => async displaySetInstanceUID => {
9348
+ const {
9349
+ hangingProtocolService,
9350
+ viewportGridService,
9351
+ uiNotificationService
9352
+ } = servicesManager.services;
9353
+ let updatedViewports = [];
9354
+ const viewportId = activeViewportId;
9355
+ try {
9356
+ updatedViewports = hangingProtocolService.getViewportsRequireUpdate(viewportId, displaySetInstanceUID, isHangingProtocolLayout);
9357
+ } catch (error) {
9358
+ console.warn(error);
9359
+ uiNotificationService.show({
9360
+ title: 'Thumbnail Double Click',
9361
+ message: 'The selected display sets could not be added to the viewport.',
9362
+ type: 'error',
9363
+ duration: 3000
9364
+ });
9365
+ }
9366
+ viewportGridService.setDisplaySetsForViewports(updatedViewports);
9367
+ }]
9368
+ }
9347
9369
  });
9348
9370
  ;// CONCATENATED MODULE: ../../../extensions/default/src/customizations/overlayItemCustomization.tsx
9349
9371
 
@@ -9971,8 +9993,8 @@ function AboutModalDefault() {
9971
9993
  name
9972
9994
  } = (0,browser_detect_es5/* default */.A)();
9973
9995
  const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
9974
- const versionNumber = "3.10.0-beta.132";
9975
- const commitHash = "df8efba82c268633ea05b5cb915061bceaec912c";
9996
+ const versionNumber = "3.10.0-beta.134";
9997
+ const commitHash = "782a6a0c88e9a157d26e9697f6d404bb160902b1";
9976
9998
  const [main, beta] = versionNumber.split('-');
9977
9999
  return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VT, {
9978
10000
  className: "w-[400px]"
@@ -2007,8 +2007,6 @@ const commandsModule = ({
2007
2007
  };
2008
2008
  };
2009
2009
  /* harmony default export */ const src_commandsModule = (commandsModule);
2010
- // EXTERNAL MODULE: ../../ui/src/index.js + 693 modules
2011
- var ui_src = __webpack_require__(61533);
2012
2010
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/Panels/PanelROIThresholdSegmentation/ROIThresholdConfiguration.tsx
2013
2011
 
2014
2012
 
@@ -2033,21 +2031,14 @@ function ROIThresholdConfiguration({
2033
2031
  t
2034
2032
  } = (0,es/* useTranslation */.Bd)('ROIThresholdConfiguration');
2035
2033
  return /*#__PURE__*/react.createElement("div", {
2036
- className: "bg-primary-dark flex flex-col space-y-4"
2034
+ className: "bg-primary-dark flex flex-col space-y-4 p-px"
2037
2035
  }, /*#__PURE__*/react.createElement("div", {
2038
- className: "flex items-end space-x-2"
2036
+ className: "flex items-end space-x-3"
2039
2037
  }, /*#__PURE__*/react.createElement("div", {
2040
- className: "flex w-1/2 flex-col"
2041
- }, /*#__PURE__*/react.createElement(ui_src/* Select */.l6, {
2042
- label: t('Strategy'),
2043
- closeMenuOnSelect: true,
2044
- className: "border-primary-main mr-2 bg-black text-white ",
2045
- options: options,
2046
- placeholder: options.find(option => option.value === config.strategy).placeHolder,
2038
+ className: "flex min-w-0 flex-1 flex-col"
2039
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Select */.l6, {
2047
2040
  value: config.strategy,
2048
- onChange: ({
2049
- value
2050
- }) => {
2041
+ onValueChange: value => {
2051
2042
  dispatch({
2052
2043
  type: 'setStrategy',
2053
2044
  payload: {
@@ -2055,26 +2046,32 @@ function ROIThresholdConfiguration({
2055
2046
  }
2056
2047
  });
2057
2048
  }
2058
- })), /*#__PURE__*/react.createElement("div", {
2059
- className: "w-1/2"
2060
- }, /*#__PURE__*/react.createElement(ui_src/* LegacyButtonGroup */.xA, null, /*#__PURE__*/react.createElement(ui_src/* LegacyButton */._H, {
2061
- size: "initial",
2062
- className: "px-2 py-2 text-base text-white",
2063
- color: "primaryLight",
2064
- variant: "outlined",
2049
+ }, /*#__PURE__*/react.createElement(ui_next_src/* SelectTrigger */.bq, {
2050
+ className: "w-full"
2051
+ }, /*#__PURE__*/react.createElement(ui_next_src/* SelectValue */.yv, {
2052
+ placeholder: options.find(option => option.value === config.strategy)?.placeHolder
2053
+ })), /*#__PURE__*/react.createElement(ui_next_src/* SelectContent */.gC, {
2054
+ className: ""
2055
+ }, options.map(option => /*#__PURE__*/react.createElement(ui_next_src/* SelectItem */.eb, {
2056
+ key: option.value,
2057
+ value: option.value
2058
+ }, option.label))))), /*#__PURE__*/react.createElement("div", {
2059
+ className: "flex-shrink-0"
2060
+ }, /*#__PURE__*/react.createElement("div", {
2061
+ className: "flex justify-end space-x-2"
2062
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Button */.$n, {
2063
+ variant: "secondary",
2065
2064
  onClick: () => runCommand('setStartSliceForROIThresholdTool')
2066
- }, t('Start')), /*#__PURE__*/react.createElement(ui_src/* LegacyButton */._H, {
2067
- size: "initial",
2068
- color: "primaryLight",
2069
- variant: "outlined",
2070
- className: "px-2 py-2 text-base text-white",
2065
+ }, t('Start')), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$n, {
2066
+ variant: "secondary",
2071
2067
  onClick: () => runCommand('setEndSliceForROIThresholdTool')
2072
- }, t('End'))))), config.strategy === ROI_STAT && /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
2073
- label: t('Percentage of Max SUV'),
2074
- labelClassName: "text-[13px] font-inter text-white",
2075
- className: "border-primary-main bg-black",
2068
+ }, t('End'))))), config.strategy === ROI_STAT && /*#__PURE__*/react.createElement("div", {
2069
+ className: "mr-0"
2070
+ }, /*#__PURE__*/react.createElement("div", {
2071
+ className: "mb-2"
2072
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Label */.JU, null, t('Percentage of Max SUV'))), /*#__PURE__*/react.createElement(ui_next_src/* Input */.pd, {
2073
+ className: "w-full",
2076
2074
  type: "text",
2077
- containerClassName: "mr-2",
2078
2075
  value: config.weight,
2079
2076
  onChange: e => {
2080
2077
  dispatch({
@@ -2084,31 +2081,21 @@ function ROIThresholdConfiguration({
2084
2081
  }
2085
2082
  });
2086
2083
  }
2087
- }), config.strategy !== ROI_STAT && /*#__PURE__*/react.createElement("div", {
2084
+ })), config.strategy !== ROI_STAT && /*#__PURE__*/react.createElement("div", {
2088
2085
  className: "mr-2 text-sm"
2089
- }, /*#__PURE__*/react.createElement("table", null, /*#__PURE__*/react.createElement("tbody", null, /*#__PURE__*/react.createElement("tr", {
2090
- className: "mt-2"
2091
- }, /*#__PURE__*/react.createElement("td", {
2092
- className: "pr-4",
2093
- colSpan: "3"
2094
- }, /*#__PURE__*/react.createElement(ui_src/* Label */.JU, {
2095
- className: "font-inter text-[13px] text-white",
2096
- text: "Lower & Upper Ranges"
2097
- }))), /*#__PURE__*/react.createElement("tr", {
2098
- className: "mt-2"
2099
- }, /*#__PURE__*/react.createElement("td", {
2100
- className: "pr-4 pt-2 text-center"
2101
- }, /*#__PURE__*/react.createElement(ui_src/* Label */.JU, {
2102
- className: "text-white",
2103
- text: "CT"
2104
- })), /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", {
2105
- className: "flex justify-between"
2106
- }, /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
2107
- label: t(''),
2108
- labelClassName: "text-white",
2109
- className: "border-primary-main mt-2 bg-black",
2086
+ }, /*#__PURE__*/react.createElement("div", {
2087
+ className: "flex flex-col space-y-2"
2088
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Label */.JU, null, "Lower & Upper Ranges"), /*#__PURE__*/react.createElement("div", {
2089
+ className: "flex items-center"
2090
+ }, /*#__PURE__*/react.createElement("div", {
2091
+ className: "w-10 text-left"
2092
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Label */.JU, null, "CT")), /*#__PURE__*/react.createElement("div", {
2093
+ className: "flex flex-1 space-x-2"
2094
+ }, /*#__PURE__*/react.createElement("div", {
2095
+ className: "flex-1"
2096
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Input */.pd, {
2097
+ className: "w-full",
2110
2098
  type: "text",
2111
- containerClassName: "mr-2",
2112
2099
  value: config.ctLower,
2113
2100
  onChange: e => {
2114
2101
  dispatch({
@@ -2118,12 +2105,11 @@ function ROIThresholdConfiguration({
2118
2105
  }
2119
2106
  });
2120
2107
  }
2121
- }), /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
2122
- label: t(''),
2123
- labelClassName: "text-white",
2124
- className: "border-primary-main mt-2 bg-black",
2108
+ })), /*#__PURE__*/react.createElement("div", {
2109
+ className: "flex-1"
2110
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Input */.pd, {
2111
+ className: "w-full",
2125
2112
  type: "text",
2126
- containerClassName: "mr-2",
2127
2113
  value: config.ctUpper,
2128
2114
  onChange: e => {
2129
2115
  dispatch({
@@ -2133,19 +2119,17 @@ function ROIThresholdConfiguration({
2133
2119
  }
2134
2120
  });
2135
2121
  }
2136
- })))), /*#__PURE__*/react.createElement("tr", null, /*#__PURE__*/react.createElement("td", {
2137
- className: "pr-4 pt-2 text-center"
2138
- }, /*#__PURE__*/react.createElement(ui_src/* Label */.JU, {
2139
- className: "text-white",
2140
- text: "PT"
2141
- })), /*#__PURE__*/react.createElement("td", null, /*#__PURE__*/react.createElement("div", {
2142
- className: "flex justify-between"
2143
- }, /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
2144
- label: t(''),
2145
- labelClassName: "text-white",
2146
- className: "border-primary-main mt-2 bg-black",
2122
+ })))), /*#__PURE__*/react.createElement("div", {
2123
+ className: "flex items-center"
2124
+ }, /*#__PURE__*/react.createElement("div", {
2125
+ className: "w-10 text-left"
2126
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Label */.JU, null, "PT")), /*#__PURE__*/react.createElement("div", {
2127
+ className: "flex flex-1 space-x-2"
2128
+ }, /*#__PURE__*/react.createElement("div", {
2129
+ className: "flex-1"
2130
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Input */.pd, {
2131
+ className: "w-full",
2147
2132
  type: "text",
2148
- containerClassName: "mr-2",
2149
2133
  value: config.ptLower,
2150
2134
  onChange: e => {
2151
2135
  dispatch({
@@ -2155,12 +2139,11 @@ function ROIThresholdConfiguration({
2155
2139
  }
2156
2140
  });
2157
2141
  }
2158
- }), /*#__PURE__*/react.createElement(ui_src/* Input */.pd, {
2159
- label: t(''),
2160
- labelClassName: "text-white",
2161
- className: "border-primary-main mt-2 bg-black",
2142
+ })), /*#__PURE__*/react.createElement("div", {
2143
+ className: "flex-1"
2144
+ }, /*#__PURE__*/react.createElement(ui_next_src/* Input */.pd, {
2145
+ className: "w-full",
2162
2146
  type: "text",
2163
- containerClassName: "mr-2",
2164
2147
  value: config.ptUpper,
2165
2148
  onChange: e => {
2166
2149
  dispatch({
@@ -2170,7 +2153,7 @@ function ROIThresholdConfiguration({
2170
2153
  }
2171
2154
  });
2172
2155
  }
2173
- }))))))));
2156
+ })))))));
2174
2157
  }
2175
2158
  /* harmony default export */ const PanelROIThresholdSegmentation_ROIThresholdConfiguration = (ROIThresholdConfiguration);
2176
2159
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/Panels/RectangleROIOptions.tsx
@@ -2251,13 +2234,14 @@ function RectangleROIOptions() {
2251
2234
  });
2252
2235
  }, [activeSegmentation, config]);
2253
2236
  return /*#__PURE__*/react.createElement("div", {
2254
- className: "invisible-scrollbar mb-2 flex flex-col overflow-y-auto overflow-x-hidden"
2237
+ className: "invisible-scrollbar mb-1 flex flex-col overflow-y-auto overflow-x-hidden"
2255
2238
  }, /*#__PURE__*/react.createElement(PanelROIThresholdSegmentation_ROIThresholdConfiguration, {
2256
2239
  config: config,
2257
2240
  dispatch: dispatch,
2258
2241
  runCommand: runCommand
2259
- }), activeSegmentation && /*#__PURE__*/react.createElement(ui_src/* Button */.$n, {
2260
- className: "mt-2 !h-[26px] !w-[75px]",
2242
+ }), activeSegmentation && /*#__PURE__*/react.createElement(ui_next_src/* Button */.$n, {
2243
+ variant: "default",
2244
+ className: "my-3 mr-auto w-20",
2261
2245
  onClick: handleROIThresholding
2262
2246
  }, "Run"));
2263
2247
  }