import { configureStore } from '@reduxjs/toolkit'; import userInfoReducer from './user_info'; import viewSelectionReducer from './patient/viewSelection'; import patientTypeReducer from './patientTypeSlice'; import bodyPartReducer from './bodyPartSlice'; import selectionReducer from './patient/register/SelectionTypeSlice'; import productReducer from './productSlice'; import BusinessFlowReducer from './BusinessFlowSlice'; import systemModeReducer from './systemModeSlice'; import examWorksCacheReducer from './exam/examWorksCacheSlice'; import bodyPositionListReducer, { worksListenerMiddleware, } from './exam/bodyPositionListSlice'; import bodyPositionDetailReducer from './exam/bodyPositionDetailSlice'; import aprReducer from './exam/aprSlice'; import bodyPositionListenerMiddleware from './exam/bodyPositionListener'; import { aprMiddleware } from './exam/aprSlice'; import functionAreaReducer from './view/functionAreaSlice'; import searchReducer from './patient/worklist/slices/searchSlice'; import businessFlowMiddleware from './businessFlowMiddleware'; import { workEntitiesSlice, workFiltersSlice, workPaginationSlice, workSelectionSlice, workUISlice, } from './patient/worklist/slices/workSlice'; import generatorMonitorReducer from './exam/generatorMonitorSlice'; import largeScreenReducer from './exam/largeScreenSlice'; const store = configureStore({ reducer: { userInfo: userInfoReducer, viewSelection: viewSelectionReducer, patientType: patientTypeReducer, bodyPart: bodyPartReducer, selection: selectionReducer, product: productReducer, BusinessFlow: BusinessFlowReducer, systemMode: systemModeReducer, examWorksCache: examWorksCacheReducer, bodyPositionList: bodyPositionListReducer, bodyPositionDetail: bodyPositionDetailReducer, apr: aprReducer, functionArea: functionAreaReducer, workEntities: workEntitiesSlice.reducer, workFilters: workFiltersSlice.reducer, workPagination: workPaginationSlice.reducer, workSelection: workSelectionSlice.reducer, workUI: workUISlice.reducer, search: searchReducer, generatorMonitor: generatorMonitorReducer, largeScreen: largeScreenReducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat( worksListenerMiddleware, bodyPositionListenerMiddleware, aprMiddleware, businessFlowMiddleware ), }); export type RootState = ReturnType; export type AppDispatch = typeof store.dispatch; export default store;