feat(typings): Enhance typing support with withAppTypes and custom services throughout OHIF (#4090)

This commit is contained in:
Ibrahim authored and GitHub committed 2024-05-08 12:12:49 -04:00
1 parent b2cd0172d6
commit 374065bc3b
153 files changed
+842 -657

No files matched your search

@@ -1,4 +1,4 @@
import { ServicesManager, Types } from '@ohif/core';
import { Types } from '@ohif/core';
import { cache as cs3DCache, Enums, volumeLoader, utilities as utils } from '@cornerstonejs/core';
import getCornerstoneViewportType from '../../utils/getCornerstoneViewportType';
@@ -17,9 +17,9 @@ class CornerstoneCacheService {
stackImageIds: Map<string, string[]> = new Map();
volumeImageIds: Map<string, string[]> = new Map();
readonly servicesManager: ServicesManager;
readonly servicesManager: AppTypes.ServicesManager;
constructor(servicesManager: ServicesManager) {
constructor(servicesManager: AppTypes.ServicesManager) {
this.servicesManager = servicesManager;
}
@@ -1,4 +1,4 @@
import { Types as OhifTypes, ServicesManager, PubSubService } from '@ohif/core';
import { Types as OhifTypes, PubSubService } from '@ohif/core';
import {
cache,
Enums as csEnums,
@@ -60,7 +60,7 @@ class SegmentationService extends PubSubService {
};
segmentations: Record<string, Segmentation>;
readonly servicesManager: ServicesManager;
readonly servicesManager: AppTypes.ServicesManager;
highlightIntervalId = null;
readonly EVENTS = EVENTS;
@@ -1,7 +1,7 @@
import { synchronizers, SynchronizerManager, Synchronizer } from '@cornerstonejs/tools';
import { getRenderingEngines, utilities } from '@cornerstonejs/core';
import { pubSubServiceInterface, Types, ServicesManager } from '@ohif/core';
import { pubSubServiceInterface, Types } from '@ohif/core';
const EVENTS = {
TOOL_GROUP_CREATED: 'event::cornerstone::syncgroupservice:toolgroupcreated',
@@ -40,7 +40,7 @@ export default class SyncGroupService {
},
};
servicesManager: ServicesManager;
servicesManager: AppTypes.ServicesManager;
listeners: { [key: string]: (...args: any[]) => void } = {};
EVENTS: { [key: string]: string };
synchronizerCreators: Record<string, SyncCreator> = {
@@ -55,8 +55,8 @@ export default class SyncGroupService {
synchronizersByType: { [key: string]: Synchronizer[] } = {};
constructor(serviceManager: ServicesManager) {
this.servicesManager = serviceManager;
constructor(servicesManager: AppTypes.ServicesManager) {
this.servicesManager = servicesManager;
this.listeners = {};
this.EVENTS = EVENTS;
//
@@ -32,7 +32,10 @@ export default class ToolGroupService {
},
};
serviceManager: any;
servicesManager: AppTypes.ServicesManager;
cornerstoneViewportService: any;
viewportGridService: any;
uiNotificationService: any;
private toolGroupIds: Set<string> = new Set();
/**
* Service-specific
@@ -40,9 +43,9 @@ export default class ToolGroupService {
listeners: { [key: string]: Function[] };
EVENTS: { [key: string]: string };
constructor(serviceManager) {
constructor(servicesManager: AppTypes.ServicesManager) {
const { cornerstoneViewportService, viewportGridService, uiNotificationService } =
serviceManager.services;
servicesManager.services;
this.cornerstoneViewportService = cornerstoneViewportService;
this.viewportGridService = viewportGridService;
this.uiNotificationService = uiNotificationService;
@@ -1,4 +1,4 @@
import { PubSubService, ServicesManager } from '@ohif/core';
import { PubSubService } from '@ohif/core';
import * as OhifTypes from '@ohif/core/types';
import {
RenderingEngine,
@@ -52,14 +52,14 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi
enableResizeDetector: true;
resizeRefreshRateMs: 200;
resizeRefreshMode: 'debounce';
servicesManager = null;
servicesManager: AppTypes.ServicesManager = null;
resizeQueue = [];
viewportResizeTimer = null;
gridResizeDelay = 50;
gridResizeTimeOut = null;
constructor(servicesManager: ServicesManager) {
constructor(servicesManager: AppTypes.ServicesManager) {
super(EVENTS);
this.renderingEngine = null;
this.viewportGridResizeObserver = null;
@@ -8,7 +8,7 @@ import { Presentations } from '../../types/Presentation';
* updating the viewport.
*/
export interface IViewportService {
servicesManager: unknown;
servicesManager: AppTypes.ServicesManager;
hangingProtocolService: unknown;
renderingEngine: unknown;
viewportGridResizeObserver: unknown;