feat: Add customization support for more UI components (#4634)

Co-authored-by: ashikcn <ashik@L1140.trenser.com>
Co-authored-by: Devu Jayalekshmi <devu.jayalekshmi@trenser.com>
Co-authored-by: Arul Mozhi <arul.mozhi@trenser.com>
This commit is contained in:
authored and GitHub committed 2025-02-03 09:18:00 -05:00
1 parent 8f79ebafd9
commit f15eb44b4c
31 files changed
+288 -33

No files matched your search

@@ -0,0 +1,33 @@
import React, { createContext, useContext } from 'react';
import { CommandsManager, HotkeysManager } from '../classes';
import { ExtensionManager } from '../extensions';
import { ServicesManager } from '../services';
interface SystemContextProviderProps {
children: React.ReactNode | React.ReactNode[] | ((...args: any[]) => React.ReactNode);
servicesManager: ServicesManager;
commandsManager: CommandsManager;
extensionManager: ExtensionManager;
hotkeysManager: HotkeysManager;
}
const systemContext = createContext(null);
const { Provider } = systemContext;
export const useSystem = () => useContext(systemContext);
export function SystemContextProvider({
children,
servicesManager,
commandsManager,
extensionManager,
hotkeysManager,
}: SystemContextProviderProps) {
return (
<Provider value={{ servicesManager, commandsManager, extensionManager, hotkeysManager }}>
{children}
</Provider>
);
}
export default SystemContextProvider;
+3
View File
@@ -1,6 +1,7 @@
import { ExtensionManager, MODULE_TYPES } from './extensions';
import { ServiceProvidersManager, ServicesManager } from './services';
import classes, { CommandsManager, HotkeysManager } from './classes';
import { SystemContextProvider, useSystem } from './contextProviders/SystemProvider';
import DICOMWeb from './DICOMWeb';
import errorHandler from './errorHandler.js';
@@ -99,6 +100,7 @@ export {
HotkeysManager,
ServicesManager,
ServiceProvidersManager,
SystemContextProvider,
//
defaults,
utils,
@@ -134,6 +136,7 @@ export {
PanelService,
WorkflowStepsService,
StudyPrefetcherService,
useSystem,
useToolbar,
useActiveViewportDisplaySets,
};