Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
activate_tool: function () {
var tool_name = this.model.get('_selected_tool');
console.log('switching to tool: ' + tool_name);
if (tool_name == 'reset') {
this._disable_all_tools(this.viewer);
cs.reset(this.viewer);
var toolStateManager = ctools.getElementToolStateManager(this.viewer);
// Note that this only works on ImageId-specific tool state managers (for now)
toolStateManager.clear(this.viewer);
cs.updateImage(this.viewer);
this.model.set('_tool_state_in', '');
this.model.set('_tool_state_out', '');
this._setup_tools();
} else {
this._disable_all_tools(this.viewer);
if (tool_name == 'zoom') {
ctools.zoom.activate(this.viewer, 1);
}
if (tool_name == 'window') {
ctools.wwwc.activate(this.viewer, 1);
}
if (tool_name == 'pan') {
cornerstoneTools.addToolState(this.element, 'stack', {
imageIds: [...stack],
currentImageIdIndex: imageIndex,
});
// New stack; reset counter
updatedState['numImagesLoaded'] = 0;
updatedState['error'] = null; // Reset error on new stack
try {
// load + display image
const imageId = stack[imageIndex];
const image = await cornerstone.loadAndCacheImage(imageId);
cornerstone.displayImage(this.element, image);
cornerstone.reset(this.element);
} catch (err) {
// :wave:
// What if user kills component before `displayImage`?
}
} else if (!hasStackChanged && hasImageIndexChanged) {
scrollToIndex(this.element, imageIndex);
}
const shouldStopStartStackPrefetch =
(isStackPrefetchEnabled && hasStackChanged) ||
(!prevIsStackPrefetchEnabled && isStackPrefetchEnabled === true);
// Need to stop/start to pickup stack changes in prefetcher
if (shouldStopStartStackPrefetch) {
const clear = true;
componentWillReceiveProps(nextProps) {
const { isImageLoaded } = this.state;
if ((nextProps.instanceIds[0] !== this.props.instanceIds[0]) && this.props.instanceIds.length) {
this.setState({ touchMode: true });
this.visibleCornerstone(false);
this.swiper.allowTouchMove = true;
const cornerstoneElement = this.getImgBlock();
/* istanbul ignore next */
if (cornerstoneElement && isImageLoaded) {
this.disableCornerstoneTools(cornerstoneElement);
cornerstone.reset(cornerstoneElement);
}
}
}
resetViewport: ({ viewports }) => {
const enabledElement = getEnabledElement(viewports.activeViewportIndex);
if (enabledElement) {
cornerstone.reset(enabledElement);
}
},
invertViewport: ({ viewports }) => {