Open
Description
If the state is updated (tools or imageIds) from the parent object, React does not re-render the CornerstoneViewport component to reflect the changes.
A common use case is to use the Pan tool and Length tool with both bound to the left mouse button. This can be achieved with a toggle button that updates the state by making Pan Tool's status be passive
and Length Tool's status to be active
. Currently, this is not possible as the state of CornerstoneViewport does not gets updated.
state = {
tools: [
// Mouse
{
name: 'Wwwc',
mode: 'active',
modeOptions: { mouseButtonMask: 1 },
},
{
name: 'Zoom',
mode: 'active',
modeOptions: { mouseButtonMask: 2 },
},
{
name: 'Pan',
mode: 'active',
modeOptions: { mouseButtonMask: 4 },
},
// Scroll
{ name: 'StackScrollMouseWheel', mode: 'active' },
// Touch
{ name: 'PanMultiTouch', mode: 'active' },
{ name: 'ZoomTouchPinch', mode: 'active' },
{ name: 'StackScrollMultiTouch', mode: 'active' },
],
imageIds: [
'dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.11.dcm',
'dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.12.dcm',
],
};
{/* RENDER */}
<CornerstoneViewport
tools={this.state.tools}
imageIds={this.state.imageIds}
style={{ minWidth: '100%', height: '512px', flex: '1' }}
/>
This can be reproduced at https://react.cornerstonejs.org/basic
Change the state of ExamplePageBasic
using the React Developer Tools in Chrome.
Metadata
Metadata
Assignees
Labels
No labels