34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
import { cache, imageLoadPoolManager, imageLoader, Enums, eventTarget, EVENTS as csEvents } from '@cornerstonejs/core';
|
|
|
|
function initStudyPrefetcherService(servicesManager: AppTypes.ServicesManager) {
|
|
const { studyPrefetcherService } = servicesManager.services;
|
|
|
|
studyPrefetcherService.requestType = Enums.RequestType.Prefetch;
|
|
studyPrefetcherService.imageLoadPoolManager = imageLoadPoolManager;
|
|
studyPrefetcherService.imageLoader = imageLoader;
|
|
|
|
studyPrefetcherService.cache = {
|
|
isImageCached(imageId: string): boolean {
|
|
return !!cache.getImageLoadObject(imageId);
|
|
}
|
|
}
|
|
|
|
studyPrefetcherService.imageLoadEventsManager = {
|
|
addEventListeners(onImageLoaded, onImageLoadFailed) {
|
|
eventTarget.addEventListener(csEvents.IMAGE_LOADED, onImageLoaded);
|
|
eventTarget.addEventListener(csEvents.IMAGE_LOAD_FAILED, onImageLoadFailed);
|
|
|
|
return [
|
|
{
|
|
unsubscribe: () => eventTarget.removeEventListener(csEvents.IMAGE_LOADED, onImageLoaded)
|
|
},
|
|
{
|
|
unsubscribe: () => eventTarget.removeEventListener(csEvents.IMAGE_LOAD_FAILED, onImageLoadFailed)
|
|
},
|
|
]
|
|
}
|
|
}
|
|
}
|
|
|
|
export default initStudyPrefetcherService;
|