From 323401418e7ccab74655ba02f990bbe0ed4e523b Mon Sep 17 00:00:00 2001 From: Igor Octaviano Date: Mon, 13 Nov 2023 12:42:55 -0300 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20Run=20error=20handler=20f?= =?UTF-8?q?or=20failed=20image=20requests=20(#3773)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/cornerstone/src/init.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/extensions/cornerstone/src/init.tsx b/extensions/cornerstone/src/init.tsx index ef6e866e7..dde1b7e22 100644 --- a/extensions/cornerstone/src/init.tsx +++ b/extensions/cornerstone/src/init.tsx @@ -1,4 +1,4 @@ -import OHIF, { Types } from '@ohif/core'; +import OHIF, { Types, errorHandler } from '@ohif/core'; import React from 'react'; import * as cornerstone from '@cornerstonejs/core'; @@ -251,6 +251,15 @@ export default async function init({ }); }; + /** + * Runs error handler for failed requests. + * @param event + */ + const imageLoadFailedHandler = ({ detail }) => { + const handler = errorHandler.getHTTPErrorHandler() + handler(detail.error); + }; + const resetCrosshairs = evt => { const { element } = evt.detail; const { viewportId, renderingEngineId } = cornerstone.getEnabledElement(element); @@ -279,9 +288,12 @@ export default async function init({ const { element } = evt.detail; cornerstoneTools.utilities.stackContextPrefetch.enable(element); }); - + eventTarget.addEventListener(EVENTS.IMAGE_LOAD_FAILED, imageLoadFailedHandler); + eventTarget.addEventListener(EVENTS.IMAGE_LOAD_ERROR, imageLoadFailedHandler); + function elementEnabledHandler(evt) { const { element } = evt.detail; + element.addEventListener(EVENTS.CAMERA_RESET, resetCrosshairs); eventTarget.addEventListener(EVENTS.STACK_VIEWPORT_NEW_STACK, toolbarEventListener);