Skip to content

Commit 1142516

Browse files
biharckswederik
authored andcommitted
fix(loadHandler): Use element-specific load handlers (#23)
1 parent 573dc0e commit 1142516

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

example/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"dependencies": {
77
"cornerstone-core": "2.2.8",
88
"cornerstone-math": "0.1.8",
9-
"cornerstone-tools": "3.1.0",
9+
"cornerstone-tools": "3.16.0",
1010
"cornerstone-wado-image-loader": "2.2.3",
1111
"dicom-parser": "1.8.3",
1212
"hammerjs": "^2.0.8",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"peerDependencies": {
2828
"cornerstone-core": "^2.2.8",
2929
"cornerstone-math": "^0.1.8",
30-
"cornerstone-tools": "^3.1.0",
30+
"cornerstone-tools": "^3.16.0",
3131
"cornerstone-wado-image-loader": "^2.2.3",
3232
"dicom-parser": "^1.8.3",
3333
"hammerjs": "^2.0.8",

src/CornerstoneViewport/CornerstoneViewport.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import './CornerstoneViewport.css';
1414
const EVENT_RESIZE = 'resize';
1515

1616
const scrollToIndex = cornerstoneTools.import('util/scrollToIndex');
17+
const { loadHandlerManager } = cornerstoneTools;
1718

1819
function setToolsPassive(cornerstoneTools, tools) {
1920
tools.forEach(tool => {
@@ -73,7 +74,7 @@ class CornerstoneViewport extends Component {
7374
{ name: 'Wwwc', mouseButtonMasks: [1] },
7475
{ name: 'Bidirectional', mouseButtonMasks: [1] },
7576
{ name: 'Length', mouseButtonMasks: [1] },
76-
{ name: 'FreehandMouse', mouseButtonMasks: [1] },
77+
{ name: 'FreehandMouse', mouseButtonMasks: [1] },
7778
{ name: 'Angle', mouseButtonMasks: [1] },
7879
{ name: 'StackScroll', mouseButtonMasks: [1] },
7980
{ name: 'Brush', mouseButtonMasks: [1] },
@@ -120,6 +121,7 @@ class CornerstoneViewport extends Component {
120121
// TODO: Allow viewport as a prop
121122
const viewportDataStack = props.viewportData.stack;
122123
const stack = Object.assign({}, viewportDataStack);
124+
123125
this.state = {
124126
stack,
125127
displaySetInstanceUid: props.viewportData.displaySetInstanceUid,
@@ -131,10 +133,6 @@ class CornerstoneViewport extends Component {
131133
viewport: cornerstone.getDefaultViewport(null, undefined)
132134
};
133135

134-
const { loadHandlerManager } = cornerstoneTools;
135-
loadHandlerManager.setStartLoadHandler(this.startLoadingHandler);
136-
loadHandlerManager.setEndLoadHandler(this.doneLoadingHandler);
137-
138136
this.debouncedResize = debounce(() => {
139137
try {
140138
cornerstone.getEnabledElement(this.element);
@@ -412,6 +410,12 @@ class CornerstoneViewport extends Component {
412410
);
413411
cornerstone.enable(element, this.props.cornerstoneOptions);
414412

413+
loadHandlerManager.setStartLoadHandler(
414+
this.startLoadingHandler,
415+
this.element
416+
);
417+
loadHandlerManager.setEndLoadHandler(this.doneLoadingHandler, this.element);
418+
415419
// Handle the case where the imageId isn't loaded correctly and the
416420
// imagePromise returns undefined
417421
// To test, uncomment the next line
@@ -814,7 +818,6 @@ class CornerstoneViewport extends Component {
814818

815819
doneLoadingHandler = () => {
816820
clearTimeout(this.loadHandlerTimeout);
817-
818821
this.setState({
819822
isLoading: false
820823
});

0 commit comments

Comments
 (0)