@ohif/app 3.10.0-beta.69 → 3.10.0-beta.70
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/{1394.bundle.d19f0a0deb8a73c8fefd.js → 1394.bundle.1a453834d06334cef67f.js} +4 -4
- package/dist/{4834.bundle.367db81c87eeb401e656.js → 4834.bundle.49abf3aa79c4997b4b0e.js} +2 -0
- package/dist/{5247.bundle.db088038874e41000468.js → 5247.bundle.90fabd86036d59556d50.js} +2 -2
- package/dist/{6027.bundle.0e0854c3f867f5e7f02c.js → 6027.bundle.eb3f3ec47661a86d0fec.js} +2 -0
- package/dist/{6925.bundle.55d26c569ab76e06359b.js → 6925.bundle.41ea5717e0d6374935af.js} +2 -2
- package/dist/{7197.bundle.a6cd0d7b57ccbfbaa4ef.js → 7197.bundle.728479d2fa3c04cdbd48.js} +2 -2
- package/dist/{7955.bundle.c4ce2e5172462f80c452.js → 7955.bundle.04aef52ad63c3c407657.js} +2 -0
- package/dist/{8008.bundle.02e4aad2abe7339284c5.js → 8008.bundle.c5dfef69ca623e291f85.js} +2 -0
- package/dist/{8228.bundle.cd7fee1b0b4b230de88f.js → 8228.bundle.acc58a15955327766ded.js} +2 -2
- package/dist/{8259.bundle.f990309d26067a952af4.js → 8259.bundle.de3a8dd3ec5caac634f6.js} +2 -0
- package/dist/{8558.bundle.842c0850e1f3d2cf4f5d.js → 8558.bundle.70268b078cd338afe0e7.js} +1 -1
- package/dist/{265.bundle.4fbbcbfef613fe7759c0.js → 8836.bundle.a286b662d44377751f02.js} +105 -72
- package/dist/{9551.bundle.fb487aea1dde51b9702b.js → 9551.bundle.7bc33b964167fbd1abcc.js} +2 -0
- package/dist/{app.bundle.19142a3c1d1d46df8ab9.js → app.bundle.8880622a87f97803bb29.js} +115 -93
- package/dist/app.bundle.css +2 -2
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- /package/dist/{1266.bundle.ca0512f0bb0bec2d9fac.js → 1266.bundle.8d389257e128721104b3.js} +0 -0
- /package/dist/{213.bundle.8341172ec7418451b405.js → 213.bundle.99dfdcf47c09b6626045.js} +0 -0
- /package/dist/{2424.bundle.c3aa452135cf074c3e6c.js → 2424.bundle.94a7d8dd48e442133c12.js} +0 -0
- /package/dist/{2825.bundle.f69ab8ec1e265a2f4329.js → 2825.bundle.1b51c458d1b3bc3b8a63.js} +0 -0
- /package/dist/{3198.bundle.12acc53c486af9cf73f8.js → 3198.bundle.fca913f3a4db16d6dd8a.js} +0 -0
- /package/dist/{5139.bundle.3c95ad50c088b68f45b0.js → 5139.bundle.cfef26d113e0c53131b8.js} +0 -0
- /package/dist/{5770.bundle.b5e26399b2d476fe68d4.js → 5770.bundle.ceecf8ad567ca6fa54de.js} +0 -0
- /package/dist/{7013.bundle.69c0c9a409b9691bc22d.js → 7013.bundle.399115d1b79fd6e4fc28.js} +0 -0
|
@@ -22,8 +22,8 @@ var es = __webpack_require__(70574);
|
|
|
22
22
|
var react_es = __webpack_require__(95261);
|
|
23
23
|
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 2624 modules
|
|
24
24
|
var src = __webpack_require__(18817);
|
|
25
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
26
|
-
var default_src = __webpack_require__(
|
|
25
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 121 modules
|
|
26
|
+
var default_src = __webpack_require__(8836);
|
|
27
27
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
|
|
28
28
|
|
|
29
29
|
const RESPONSE = {
|
|
@@ -1168,8 +1168,8 @@ var src = __webpack_require__(10532);
|
|
|
1168
1168
|
var ui_src = __webpack_require__(32907);
|
|
1169
1169
|
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 2624 modules
|
|
1170
1170
|
var ui_next_src = __webpack_require__(18817);
|
|
1171
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
1172
|
-
var default_src = __webpack_require__(
|
|
1171
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 121 modules
|
|
1172
|
+
var default_src = __webpack_require__(8836);
|
|
1173
1173
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/constants/actionIcons.ts
|
|
1174
1174
|
const defaultActionIcons = [{
|
|
1175
1175
|
id: 'settings',
|
|
@@ -266,11 +266,13 @@ function modeFactory({
|
|
|
266
266
|
id: ohif.layout,
|
|
267
267
|
props: {
|
|
268
268
|
leftPanels: [ohif.leftPanel],
|
|
269
|
+
leftPanelResizable: true,
|
|
269
270
|
leftPanelClosed: true,
|
|
270
271
|
// we have problem with rendering thumbnails for microscopy images
|
|
271
272
|
rightPanelClosed: true,
|
|
272
273
|
// we do not have the save microscopy measurements yet
|
|
273
274
|
rightPanels: ['@ohif/extension-dicom-microscopy.panelModule.measure'],
|
|
275
|
+
rightPanelResizable: true,
|
|
274
276
|
viewports: [{
|
|
275
277
|
namespace: '@ohif/extension-dicom-microscopy.viewportModule.microscopy-dicom',
|
|
276
278
|
displaySetsToDisplay: [
|
|
@@ -1381,8 +1381,8 @@ MicroscopyService.REGISTRATION = servicesManager => {
|
|
|
1381
1381
|
|
|
1382
1382
|
// EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
|
|
1383
1383
|
var dcmjs_es = __webpack_require__(5842);
|
|
1384
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
1385
|
-
var default_src = __webpack_require__(
|
|
1384
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 121 modules
|
|
1385
|
+
var default_src = __webpack_require__(8836);
|
|
1386
1386
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/utils/DEVICE_OBSERVER_UID.js
|
|
1387
1387
|
// We need to define a UID for this extension as a device, and it should be the same for all saves:
|
|
1388
1388
|
|
|
@@ -390,7 +390,9 @@ function modeFactory({
|
|
|
390
390
|
props: {
|
|
391
391
|
// TODO: Should be optional, or required to pass empty array for slots?
|
|
392
392
|
leftPanels: [ohif.thumbnailList],
|
|
393
|
+
leftPanelResizable: true,
|
|
393
394
|
rightPanels: [ohif.measurements],
|
|
395
|
+
rightPanelResizable: true,
|
|
394
396
|
viewports: [{
|
|
395
397
|
namespace: cs3d.viewport,
|
|
396
398
|
displaySetsToDisplay: [ohif.sopClassHandler]
|
|
@@ -970,8 +970,8 @@ function initWADOImageLoader(userAuthenticationService, appConfig, extensionMana
|
|
|
970
970
|
function destroy() {
|
|
971
971
|
console.debug('Destroying WADO Image Loader');
|
|
972
972
|
}
|
|
973
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
974
|
-
var default_src = __webpack_require__(
|
|
973
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 121 modules
|
|
974
|
+
var default_src = __webpack_require__(8836);
|
|
975
975
|
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/state.ts
|
|
976
976
|
var state = __webpack_require__(71353);
|
|
977
977
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/getActiveViewportEnabledElement.ts
|
|
@@ -345,8 +345,8 @@ function getHangingProtocolModule() {
|
|
|
345
345
|
}
|
|
346
346
|
/* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
|
|
347
347
|
|
|
348
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
349
|
-
var default_src = __webpack_require__(
|
|
348
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 121 modules
|
|
349
|
+
var default_src = __webpack_require__(8836);
|
|
350
350
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Filters/General/ImageMarchingSquares.js + 2 modules
|
|
351
351
|
var ImageMarchingSquares = __webpack_require__(38993);
|
|
352
352
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/DataArray.js
|
|
@@ -777,7 +777,9 @@ function modeFactory({
|
|
|
777
777
|
id: ohif.layout,
|
|
778
778
|
props: {
|
|
779
779
|
leftPanels: [[src_dynamicVolume.leftPanel, src_cornerstone.activeViewportWindowLevel]],
|
|
780
|
+
leftPanelResizable: true,
|
|
780
781
|
rightPanels: [],
|
|
782
|
+
rightPanelResizable: true,
|
|
781
783
|
rightPanelClosed: true,
|
|
782
784
|
viewports: [{
|
|
783
785
|
namespace: src_cornerstone.viewport,
|
|
@@ -782,7 +782,9 @@ function modeFactory({
|
|
|
782
782
|
id: ohif.layout,
|
|
783
783
|
props: {
|
|
784
784
|
leftPanels: [ohif.leftPanel],
|
|
785
|
+
leftPanelResizable: true,
|
|
785
786
|
rightPanels: [cornerstone.panelTool],
|
|
787
|
+
rightPanelResizable: true,
|
|
786
788
|
// leftPanelClosed: true,
|
|
787
789
|
viewports: [{
|
|
788
790
|
namespace: cornerstone.viewport,
|
|
@@ -19,8 +19,8 @@ var prop_types = __webpack_require__(97598);
|
|
|
19
19
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
20
20
|
// EXTERNAL MODULE: ../../ui/src/index.js + 691 modules
|
|
21
21
|
var src = __webpack_require__(32907);
|
|
22
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
23
|
-
var default_src = __webpack_require__(
|
|
22
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 121 modules
|
|
23
|
+
var default_src = __webpack_require__(8836);
|
|
24
24
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
|
|
25
25
|
// extracted by mini-css-extract-plugin
|
|
26
26
|
|
|
@@ -852,8 +852,10 @@ function modeFactory() {
|
|
|
852
852
|
// leftPanels: [ohif.thumbnailList],
|
|
853
853
|
// rightPanels: [dicomSeg.panel, ohif.measurements],
|
|
854
854
|
leftPanels: [tracked.thumbnailList],
|
|
855
|
+
leftPanelResizable: true,
|
|
855
856
|
// Can use cornerstone.measurements for all measurements
|
|
856
857
|
rightPanels: [cornerstone.panel, tracked.measurements, cornerstone.measurements],
|
|
858
|
+
rightPanelResizable: true,
|
|
857
859
|
// rightPanelClosed: true, // optional prop to start with collapse panels
|
|
858
860
|
viewports: [{
|
|
859
861
|
namespace: tracked.viewport,
|
|
@@ -740,7 +740,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
740
740
|
|
|
741
741
|
|
|
742
742
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
743
|
-
return Promise.all(/* import() */[__webpack_require__.e(5038), __webpack_require__.e(3864), __webpack_require__.e(3334), __webpack_require__.e(
|
|
743
|
+
return Promise.all(/* import() */[__webpack_require__.e(5038), __webpack_require__.e(3864), __webpack_require__.e(3334), __webpack_require__.e(8836), __webpack_require__.e(6925), __webpack_require__.e(4438)]).then(__webpack_require__.bind(__webpack_require__, 23121));
|
|
744
744
|
});
|
|
745
745
|
const OHIFCornerstoneRTViewport = props => {
|
|
746
746
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(self["webpackChunk"] = self["webpackChunk"] || []).push([[
|
|
2
|
+
(self["webpackChunk"] = self["webpackChunk"] || []).push([[8836],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 8836:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -3051,8 +3051,8 @@ function ViewerHeader({
|
|
|
3051
3051
|
hotkeyDefinitions,
|
|
3052
3052
|
hotkeyDefaults
|
|
3053
3053
|
} = hotkeysManager;
|
|
3054
|
-
const versionNumber = "3.10.0-beta.
|
|
3055
|
-
const commitHash = "
|
|
3054
|
+
const versionNumber = "3.10.0-beta.70";
|
|
3055
|
+
const commitHash = "d9abc3da8d94d6c5ab0cc5af25a5f61849905a35";
|
|
3056
3056
|
const menuOptions = [{
|
|
3057
3057
|
title: t('Header:About'),
|
|
3058
3058
|
icon: 'info',
|
|
@@ -3213,21 +3213,46 @@ const SidePanelWithServices = ({
|
|
|
3213
3213
|
/* harmony default export */ const Components_SidePanelWithServices = (SidePanelWithServices);
|
|
3214
3214
|
// EXTERNAL MODULE: ../../../node_modules/react-resizable-panels/dist/react-resizable-panels.browser.esm.js
|
|
3215
3215
|
var react_resizable_panels_browser_esm = __webpack_require__(17825);
|
|
3216
|
+
;// CONCATENATED MODULE: ../../../extensions/default/src/ViewerLayout/constants/panels.ts
|
|
3217
|
+
const expandedInsideBorderSize = 4;
|
|
3218
|
+
const collapsedInsideBorderSize = 4;
|
|
3219
|
+
const collapsedOutsideBorderSize = 8;
|
|
3220
|
+
const collapsedWidth = 25;
|
|
3221
|
+
const rightPanelInitialExpandedWidth = 280;
|
|
3222
|
+
const leftPanelInitialExpandedWidth = 282;
|
|
3223
|
+
const panelGroupDefinition = {
|
|
3224
|
+
groupId: 'viewerLayoutResizablePanelGroup',
|
|
3225
|
+
shared: {
|
|
3226
|
+
expandedInsideBorderSize,
|
|
3227
|
+
collapsedInsideBorderSize,
|
|
3228
|
+
collapsedOutsideBorderSize,
|
|
3229
|
+
collapsedWidth
|
|
3230
|
+
},
|
|
3231
|
+
left: {
|
|
3232
|
+
// id
|
|
3233
|
+
panelId: 'viewerLayoutResizableLeftPanel',
|
|
3234
|
+
// expanded width
|
|
3235
|
+
initialExpandedWidth: leftPanelInitialExpandedWidth,
|
|
3236
|
+
// expanded width + expanded inside border
|
|
3237
|
+
minimumExpandedOffsetWidth: 145 + expandedInsideBorderSize,
|
|
3238
|
+
// initial expanded width
|
|
3239
|
+
initialExpandedOffsetWidth: leftPanelInitialExpandedWidth + expandedInsideBorderSize,
|
|
3240
|
+
// collapsed width + collapsed inside border + collapsed outside border
|
|
3241
|
+
collapsedOffsetWidth: collapsedWidth + collapsedInsideBorderSize + collapsedOutsideBorderSize
|
|
3242
|
+
},
|
|
3243
|
+
right: {
|
|
3244
|
+
panelId: 'viewerLayoutResizableRightPanel',
|
|
3245
|
+
initialExpandedWidth: rightPanelInitialExpandedWidth,
|
|
3246
|
+
minimumExpandedOffsetWidth: rightPanelInitialExpandedWidth + expandedInsideBorderSize,
|
|
3247
|
+
initialExpandedOffsetWidth: rightPanelInitialExpandedWidth + expandedInsideBorderSize,
|
|
3248
|
+
collapsedOffsetWidth: collapsedWidth + collapsedInsideBorderSize + collapsedOutsideBorderSize
|
|
3249
|
+
}
|
|
3250
|
+
};
|
|
3251
|
+
|
|
3216
3252
|
;// CONCATENATED MODULE: ../../../extensions/default/src/ViewerLayout/ResizablePanelsHook.tsx
|
|
3217
3253
|
|
|
3218
3254
|
|
|
3219
3255
|
|
|
3220
|
-
// Id needed to grab the panel group for converting pixels to percentages
|
|
3221
|
-
const viewerLayoutResizablePanelGroupId = 'viewerLayoutResizablePanelGroup';
|
|
3222
|
-
const viewerLayoutResizableLeftPanelId = 'viewerLayoutResizableLeftPanel';
|
|
3223
|
-
const viewerLayoutResizableRightPanelId = 'viewerLayoutResizableRightPanel';
|
|
3224
|
-
const sidePanelExpandedDefaultWidth = 280;
|
|
3225
|
-
const sidePanelExpandedInsideBorderSize = 4;
|
|
3226
|
-
const sidePanelExpandedDefaultOffsetWidth = sidePanelExpandedDefaultWidth + sidePanelExpandedInsideBorderSize;
|
|
3227
|
-
const sidePanelCollapsedInsideBorderSize = 4;
|
|
3228
|
-
const sidePanelCollapsedOutsideBorderSize = 8;
|
|
3229
|
-
const sidePanelCollapsedWidth = 25;
|
|
3230
|
-
const sidePanelCollapsedOffsetWidth = sidePanelCollapsedWidth + sidePanelCollapsedInsideBorderSize + sidePanelCollapsedOutsideBorderSize;
|
|
3231
3256
|
|
|
3232
3257
|
/**
|
|
3233
3258
|
* Set the minimum and maximum css style width attributes for the given element.
|
|
@@ -3247,12 +3272,12 @@ const setMinMaxWidth = (elem, width) => {
|
|
|
3247
3272
|
elem.style.maxWidth = elem.style.minWidth;
|
|
3248
3273
|
};
|
|
3249
3274
|
const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClosed, setRightPanelClosed) => {
|
|
3250
|
-
const [leftPanelExpandedWidth, setLeftPanelExpandedWidth] = (0,react.useState)(
|
|
3251
|
-
const [rightPanelExpandedWidth, setRightPanelExpandedWidth] = (0,react.useState)(
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
const [
|
|
3255
|
-
const [
|
|
3275
|
+
const [leftPanelExpandedWidth, setLeftPanelExpandedWidth] = (0,react.useState)(panelGroupDefinition.left.initialExpandedWidth);
|
|
3276
|
+
const [rightPanelExpandedWidth, setRightPanelExpandedWidth] = (0,react.useState)(panelGroupDefinition.right.initialExpandedWidth);
|
|
3277
|
+
const [leftResizablePanelMinimumSize, setLeftResizablePanelMinimumSize] = (0,react.useState)(0);
|
|
3278
|
+
const [rightResizablePanelMinimumSize, setRightResizablePanelMinimumSize] = (0,react.useState)(0);
|
|
3279
|
+
const [leftResizeablePanelCollapsedSize, setLeftResizePanelCollapsedSize] = (0,react.useState)(0);
|
|
3280
|
+
const [rightResizePanelCollapsedSize, setRightResizePanelCollapsedSize] = (0,react.useState)(0);
|
|
3256
3281
|
const resizablePanelGroupElemRef = (0,react.useRef)(null);
|
|
3257
3282
|
const resizableLeftPanelElemRef = (0,react.useRef)(null);
|
|
3258
3283
|
const resizableRightPanelElemRef = (0,react.useRef)(null);
|
|
@@ -3265,26 +3290,29 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3265
3290
|
// converting between percentages and pixels in various callbacks.
|
|
3266
3291
|
// - Expand those panels that are initially expanded.
|
|
3267
3292
|
(0,react.useLayoutEffect)(() => {
|
|
3268
|
-
const panelGroupElem = (0,react_resizable_panels_browser_esm/* getPanelGroupElement */.Gx)(
|
|
3293
|
+
const panelGroupElem = (0,react_resizable_panels_browser_esm/* getPanelGroupElement */.Gx)(panelGroupDefinition.groupId);
|
|
3269
3294
|
resizablePanelGroupElemRef.current = panelGroupElem;
|
|
3270
3295
|
const {
|
|
3271
3296
|
width: panelGroupWidth
|
|
3272
3297
|
} = panelGroupElem.getBoundingClientRect();
|
|
3273
|
-
const leftPanelElem = (0,react_resizable_panels_browser_esm/* getPanelElement */.PV)(
|
|
3298
|
+
const leftPanelElem = (0,react_resizable_panels_browser_esm/* getPanelElement */.PV)(panelGroupDefinition.left.panelId);
|
|
3274
3299
|
resizableLeftPanelElemRef.current = leftPanelElem;
|
|
3275
|
-
const rightPanelElem = (0,react_resizable_panels_browser_esm/* getPanelElement */.PV)(
|
|
3300
|
+
const rightPanelElem = (0,react_resizable_panels_browser_esm/* getPanelElement */.PV)(panelGroupDefinition.right.panelId);
|
|
3276
3301
|
resizableRightPanelElemRef.current = rightPanelElem;
|
|
3277
|
-
const resizablePanelExpandedSize = sidePanelExpandedDefaultOffsetWidth / panelGroupWidth * 100;
|
|
3278
3302
|
|
|
3279
3303
|
// Since both resizable panels are collapsed by default (i.e. their default size is zero),
|
|
3280
3304
|
// on the very first render check if either/both side panels should be expanded.
|
|
3305
|
+
// we use the initialExpandedOffsetWidth on the first render incase the panel has min width but we want the initial state to be larger than that
|
|
3306
|
+
|
|
3281
3307
|
if (!leftPanelClosed) {
|
|
3282
|
-
|
|
3283
|
-
|
|
3308
|
+
const leftResizablePanelExpandedSize = panelGroupDefinition.left.initialExpandedOffsetWidth / panelGroupWidth * 100;
|
|
3309
|
+
resizableLeftPanelAPIRef?.current?.expand(leftResizablePanelExpandedSize);
|
|
3310
|
+
setMinMaxWidth(leftPanelElem, panelGroupDefinition.left.initialExpandedOffsetWidth);
|
|
3284
3311
|
}
|
|
3285
3312
|
if (!rightPanelClosed) {
|
|
3286
|
-
|
|
3287
|
-
|
|
3313
|
+
const rightResizablePanelExpandedSize = panelGroupDefinition.right.initialExpandedOffsetWidth / panelGroupWidth * 100;
|
|
3314
|
+
resizableRightPanelAPIRef?.current?.expand(rightResizablePanelExpandedSize);
|
|
3315
|
+
setMinMaxWidth(rightPanelElem, panelGroupDefinition.right.initialExpandedOffsetWidth);
|
|
3288
3316
|
}
|
|
3289
3317
|
}, []); // no dependencies because this useLayoutEffect is only needed on the very first render
|
|
3290
3318
|
|
|
@@ -3311,11 +3339,11 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3311
3339
|
// is executed on the render following an update of the minimum percentage size
|
|
3312
3340
|
// for a panel.
|
|
3313
3341
|
if (!resizableLeftPanelAPIRef.current.isCollapsed()) {
|
|
3314
|
-
const leftSize = (leftPanelExpandedWidth +
|
|
3342
|
+
const leftSize = (leftPanelExpandedWidth + panelGroupDefinition.shared.expandedInsideBorderSize) / panelGroupWidth * 100;
|
|
3315
3343
|
resizableLeftPanelAPIRef.current.resize(leftSize);
|
|
3316
3344
|
}
|
|
3317
3345
|
if (!resizableRightPanelAPIRef.current.isCollapsed()) {
|
|
3318
|
-
const rightSize = (rightPanelExpandedWidth +
|
|
3346
|
+
const rightSize = (rightPanelExpandedWidth + panelGroupDefinition.shared.expandedInsideBorderSize) / panelGroupWidth * 100;
|
|
3319
3347
|
resizableRightPanelAPIRef.current.resize(rightSize);
|
|
3320
3348
|
}
|
|
3321
3349
|
|
|
@@ -3325,11 +3353,14 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3325
3353
|
const {
|
|
3326
3354
|
width: panelGroupWidth
|
|
3327
3355
|
} = resizablePanelGroupElemRef.current.getBoundingClientRect();
|
|
3328
|
-
const
|
|
3356
|
+
const minimumLeftSize = panelGroupDefinition.left.minimumExpandedOffsetWidth / panelGroupWidth * 100;
|
|
3357
|
+
const minimumRightSize = panelGroupDefinition.right.minimumExpandedOffsetWidth / panelGroupWidth * 100;
|
|
3329
3358
|
|
|
3330
3359
|
// Set the new default and collapsed resizable panel sizes.
|
|
3331
|
-
|
|
3332
|
-
|
|
3360
|
+
setLeftResizablePanelMinimumSize(Math.min(50, minimumLeftSize));
|
|
3361
|
+
setRightResizablePanelMinimumSize(Math.min(50, minimumRightSize));
|
|
3362
|
+
setLeftResizePanelCollapsedSize(panelGroupDefinition.left.collapsedOffsetWidth / panelGroupWidth * 100);
|
|
3363
|
+
setRightResizePanelCollapsedSize(panelGroupDefinition.right.collapsedOffsetWidth / panelGroupWidth * 100);
|
|
3333
3364
|
if (resizableLeftPanelAPIRef.current.isCollapsed() && resizableRightPanelAPIRef.current.isCollapsed()) {
|
|
3334
3365
|
return;
|
|
3335
3366
|
}
|
|
@@ -3338,22 +3369,22 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3338
3369
|
// too small to display either side panel at its current width.
|
|
3339
3370
|
|
|
3340
3371
|
// Determine the current widths of the two side panels.
|
|
3341
|
-
let leftPanelOffsetWidth = resizableLeftPanelAPIRef.current.isCollapsed() ?
|
|
3342
|
-
let rightPanelOffsetWidth = resizableRightPanelAPIRef.current.isCollapsed() ?
|
|
3372
|
+
let leftPanelOffsetWidth = resizableLeftPanelAPIRef.current.isCollapsed() ? panelGroupDefinition.left.collapsedOffsetWidth : leftPanelExpandedWidth + panelGroupDefinition.shared.expandedInsideBorderSize;
|
|
3373
|
+
let rightPanelOffsetWidth = resizableRightPanelAPIRef.current.isCollapsed() ? panelGroupDefinition.right.collapsedOffsetWidth : rightPanelExpandedWidth + panelGroupDefinition.shared.expandedInsideBorderSize;
|
|
3343
3374
|
if (!resizableLeftPanelAPIRef.current.isCollapsed() && leftPanelOffsetWidth + rightPanelOffsetWidth > panelGroupWidth) {
|
|
3344
3375
|
// There is not enough space to show both panels at their pre-resize widths.
|
|
3345
3376
|
// Note that at this point, the viewport grid component is zero width.
|
|
3346
3377
|
// Reduce the left panel width so that both panels might fit.
|
|
3347
|
-
leftPanelOffsetWidth = Math.max(panelGroupWidth - rightPanelOffsetWidth,
|
|
3348
|
-
setLeftPanelExpandedWidth(leftPanelOffsetWidth -
|
|
3378
|
+
leftPanelOffsetWidth = Math.max(panelGroupWidth - rightPanelOffsetWidth, panelGroupDefinition.left.minimumExpandedOffsetWidth);
|
|
3379
|
+
setLeftPanelExpandedWidth(leftPanelOffsetWidth - panelGroupDefinition.shared.expandedInsideBorderSize);
|
|
3349
3380
|
setMinMaxWidth(resizableLeftPanelElemRef.current, leftPanelOffsetWidth);
|
|
3350
3381
|
}
|
|
3351
3382
|
if (!resizableRightPanelAPIRef.current.isCollapsed() && rightPanelOffsetWidth + leftPanelOffsetWidth > panelGroupWidth) {
|
|
3352
3383
|
// There is not enough space to show both panels at their pre-resize widths.
|
|
3353
3384
|
// Note that at this point, the viewport grid component is zero width.
|
|
3354
3385
|
// Reduce the right panel width so that both panels might fit.
|
|
3355
|
-
rightPanelOffsetWidth = Math.max(panelGroupWidth - leftPanelOffsetWidth,
|
|
3356
|
-
setRightPanelExpandedWidth(rightPanelOffsetWidth -
|
|
3386
|
+
rightPanelOffsetWidth = Math.max(panelGroupWidth - leftPanelOffsetWidth, panelGroupDefinition.right.minimumExpandedOffsetWidth);
|
|
3387
|
+
setRightPanelExpandedWidth(rightPanelOffsetWidth - panelGroupDefinition.shared.expandedInsideBorderSize);
|
|
3357
3388
|
setMinMaxWidth(resizableRightPanelElemRef.current, rightPanelOffsetWidth);
|
|
3358
3389
|
}
|
|
3359
3390
|
});
|
|
@@ -3361,7 +3392,7 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3361
3392
|
return () => {
|
|
3362
3393
|
observer.disconnect();
|
|
3363
3394
|
};
|
|
3364
|
-
}, [leftPanelExpandedWidth,
|
|
3395
|
+
}, [leftPanelExpandedWidth, rightPanelExpandedWidth, leftResizablePanelMinimumSize, rightResizablePanelMinimumSize]);
|
|
3365
3396
|
|
|
3366
3397
|
/**
|
|
3367
3398
|
* Handles dragging of either side panel resize handle.
|
|
@@ -3374,10 +3405,10 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3374
3405
|
} else {
|
|
3375
3406
|
isResizableHandleDraggingRef.current = false;
|
|
3376
3407
|
if (resizableLeftPanelAPIRef?.current?.isExpanded()) {
|
|
3377
|
-
setMinMaxWidth(resizableLeftPanelElemRef.current, leftPanelExpandedWidth +
|
|
3408
|
+
setMinMaxWidth(resizableLeftPanelElemRef.current, leftPanelExpandedWidth + panelGroupDefinition.shared.expandedInsideBorderSize);
|
|
3378
3409
|
}
|
|
3379
3410
|
if (resizableRightPanelAPIRef?.current?.isExpanded()) {
|
|
3380
|
-
setMinMaxWidth(resizableRightPanelElemRef.current, rightPanelExpandedWidth +
|
|
3411
|
+
setMinMaxWidth(resizableRightPanelElemRef.current, rightPanelExpandedWidth + panelGroupDefinition.shared.expandedInsideBorderSize);
|
|
3381
3412
|
}
|
|
3382
3413
|
}
|
|
3383
3414
|
}, [leftPanelExpandedWidth, rightPanelExpandedWidth]);
|
|
@@ -3387,12 +3418,12 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3387
3418
|
resizableLeftPanelAPIRef?.current?.collapse();
|
|
3388
3419
|
}, [setLeftPanelClosed]);
|
|
3389
3420
|
const onLeftPanelOpen = (0,react.useCallback)(() => {
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3421
|
+
const {
|
|
3422
|
+
width: panelGroupWidth
|
|
3423
|
+
} = resizablePanelGroupElemRef.current.getBoundingClientRect();
|
|
3424
|
+
resizableLeftPanelAPIRef?.current?.expand(panelGroupDefinition.left.initialExpandedOffsetWidth / panelGroupWidth * 100);
|
|
3394
3425
|
setLeftPanelClosed(false);
|
|
3395
|
-
}, [
|
|
3426
|
+
}, [setLeftPanelClosed]);
|
|
3396
3427
|
const onLeftPanelResize = (0,react.useCallback)(size => {
|
|
3397
3428
|
if (resizableLeftPanelAPIRef.current.isCollapsed()) {
|
|
3398
3429
|
return;
|
|
@@ -3400,7 +3431,8 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3400
3431
|
const {
|
|
3401
3432
|
width: panelGroupWidth
|
|
3402
3433
|
} = resizablePanelGroupElemRef.current.getBoundingClientRect();
|
|
3403
|
-
|
|
3434
|
+
const newExpandedWidth = size / 100 * panelGroupWidth - panelGroupDefinition.shared.expandedInsideBorderSize;
|
|
3435
|
+
setLeftPanelExpandedWidth(newExpandedWidth);
|
|
3404
3436
|
}, []);
|
|
3405
3437
|
const onRightPanelClose = (0,react.useCallback)(() => {
|
|
3406
3438
|
setRightPanelClosed(true);
|
|
@@ -3408,12 +3440,12 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3408
3440
|
resizableRightPanelAPIRef?.current?.collapse();
|
|
3409
3441
|
}, [setRightPanelClosed]);
|
|
3410
3442
|
const onRightPanelOpen = (0,react.useCallback)(() => {
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3443
|
+
const {
|
|
3444
|
+
width: panelGroupWidth
|
|
3445
|
+
} = resizablePanelGroupElemRef.current.getBoundingClientRect();
|
|
3446
|
+
resizableRightPanelAPIRef?.current?.expand(panelGroupDefinition.right.initialExpandedOffsetWidth / panelGroupWidth * 100);
|
|
3415
3447
|
setRightPanelClosed(false);
|
|
3416
|
-
}, [
|
|
3448
|
+
}, [setRightPanelClosed]);
|
|
3417
3449
|
const onRightPanelResize = (0,react.useCallback)(size => {
|
|
3418
3450
|
if (resizableRightPanelAPIRef?.current?.isCollapsed()) {
|
|
3419
3451
|
return;
|
|
@@ -3421,52 +3453,53 @@ const useResizablePanels = (leftPanelClosed, setLeftPanelClosed, rightPanelClose
|
|
|
3421
3453
|
const {
|
|
3422
3454
|
width: panelGroupWidth
|
|
3423
3455
|
} = resizablePanelGroupElemRef.current.getBoundingClientRect();
|
|
3424
|
-
|
|
3456
|
+
const newExpandedWidth = size / 100 * panelGroupWidth - panelGroupDefinition.shared.expandedInsideBorderSize;
|
|
3457
|
+
setRightPanelExpandedWidth(newExpandedWidth);
|
|
3425
3458
|
}, []);
|
|
3426
3459
|
return [{
|
|
3427
3460
|
expandedWidth: leftPanelExpandedWidth,
|
|
3428
|
-
collapsedWidth:
|
|
3429
|
-
collapsedInsideBorderSize:
|
|
3430
|
-
collapsedOutsideBorderSize:
|
|
3431
|
-
expandedInsideBorderSize:
|
|
3461
|
+
collapsedWidth: panelGroupDefinition.shared.collapsedWidth,
|
|
3462
|
+
collapsedInsideBorderSize: panelGroupDefinition.shared.collapsedInsideBorderSize,
|
|
3463
|
+
collapsedOutsideBorderSize: panelGroupDefinition.shared.collapsedOutsideBorderSize,
|
|
3464
|
+
expandedInsideBorderSize: panelGroupDefinition.shared.expandedInsideBorderSize,
|
|
3432
3465
|
onClose: onLeftPanelClose,
|
|
3433
3466
|
onOpen: onLeftPanelOpen
|
|
3434
3467
|
}, {
|
|
3435
3468
|
expandedWidth: rightPanelExpandedWidth,
|
|
3436
|
-
collapsedWidth:
|
|
3437
|
-
collapsedInsideBorderSize:
|
|
3438
|
-
collapsedOutsideBorderSize:
|
|
3439
|
-
expandedInsideBorderSize:
|
|
3469
|
+
collapsedWidth: panelGroupDefinition.shared.collapsedWidth,
|
|
3470
|
+
collapsedInsideBorderSize: panelGroupDefinition.shared.collapsedInsideBorderSize,
|
|
3471
|
+
collapsedOutsideBorderSize: panelGroupDefinition.shared.collapsedOutsideBorderSize,
|
|
3472
|
+
expandedInsideBorderSize: panelGroupDefinition.shared.expandedInsideBorderSize,
|
|
3440
3473
|
onClose: onRightPanelClose,
|
|
3441
3474
|
onOpen: onRightPanelOpen
|
|
3442
3475
|
}, {
|
|
3443
3476
|
direction: 'horizontal',
|
|
3444
|
-
id:
|
|
3477
|
+
id: panelGroupDefinition.groupId
|
|
3445
3478
|
}, {
|
|
3446
|
-
defaultSize:
|
|
3447
|
-
minSize:
|
|
3479
|
+
defaultSize: leftResizablePanelMinimumSize,
|
|
3480
|
+
minSize: leftResizablePanelMinimumSize,
|
|
3448
3481
|
onResize: onLeftPanelResize,
|
|
3449
3482
|
collapsible: true,
|
|
3450
|
-
collapsedSize:
|
|
3483
|
+
collapsedSize: leftResizeablePanelCollapsedSize,
|
|
3451
3484
|
onCollapse: () => setLeftPanelClosed(true),
|
|
3452
3485
|
onExpand: () => setLeftPanelClosed(false),
|
|
3453
3486
|
ref: resizableLeftPanelAPIRef,
|
|
3454
3487
|
order: 0,
|
|
3455
|
-
id:
|
|
3488
|
+
id: panelGroupDefinition.left.panelId
|
|
3456
3489
|
}, {
|
|
3457
3490
|
order: 1,
|
|
3458
3491
|
id: 'viewerLayoutResizableViewportGridPanel'
|
|
3459
3492
|
}, {
|
|
3460
|
-
defaultSize:
|
|
3461
|
-
minSize:
|
|
3493
|
+
defaultSize: rightResizablePanelMinimumSize,
|
|
3494
|
+
minSize: rightResizablePanelMinimumSize,
|
|
3462
3495
|
onResize: onRightPanelResize,
|
|
3463
3496
|
collapsible: true,
|
|
3464
|
-
collapsedSize:
|
|
3497
|
+
collapsedSize: rightResizePanelCollapsedSize,
|
|
3465
3498
|
onCollapse: () => setRightPanelClosed(true),
|
|
3466
3499
|
onExpand: () => setRightPanelClosed(false),
|
|
3467
3500
|
ref: resizableRightPanelAPIRef,
|
|
3468
3501
|
order: 2,
|
|
3469
|
-
id:
|
|
3502
|
+
id: panelGroupDefinition.right.panelId
|
|
3470
3503
|
}, onHandleDragging];
|
|
3471
3504
|
};
|
|
3472
3505
|
/* harmony default export */ const ResizablePanelsHook = (useResizablePanels);
|
|
@@ -717,8 +717,10 @@ function modeFactory({
|
|
|
717
717
|
id: ohif.layout,
|
|
718
718
|
props: {
|
|
719
719
|
leftPanels: [ohif.thumbnailList],
|
|
720
|
+
leftPanelResizable: true,
|
|
720
721
|
leftPanelClosed: true,
|
|
721
722
|
rightPanels: [tmtv.tmtv, tmtv.petSUV],
|
|
723
|
+
rightPanelResizable: true,
|
|
722
724
|
viewports: [{
|
|
723
725
|
namespace: cs3d.viewport,
|
|
724
726
|
displaySetsToDisplay: [ohif.sopClassHandler]
|