store.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import { configureStore } from '@reduxjs/toolkit';
  2. import userInfoReducer from './user_info';
  3. import viewSelectionReducer from './patient/viewSelection';
  4. import patientTypeReducer from './patientTypeSlice';
  5. import bodyPartReducer from './bodyPartSlice';
  6. import selectionReducer from './patient/register/SelectionTypeSlice';
  7. import productReducer from './productSlice';
  8. import BusinessFlowReducer from './BusinessFlowSlice';
  9. import systemModeReducer from './systemModeSlice';
  10. import examWorksCacheReducer from './exam/examWorksCacheSlice';
  11. import bodyPositionListReducer, {
  12. worksListenerMiddleware,
  13. } from './exam/bodyPositionListSlice';
  14. import bodyPositionDetailReducer from './exam/bodyPositionDetailSlice';
  15. import aprReducer from './exam/aprSlice';
  16. import bodyPositionListenerMiddleware from './exam/bodyPositionListener';
  17. import { aprMiddleware } from './exam/aprSlice';
  18. import functionAreaReducer from './view/functionAreaSlice';
  19. import searchReducer from './patient/worklist/slices/searchSlice';
  20. import businessFlowMiddleware from './businessFlowMiddleware';
  21. import leavingRegisterMonitor from './leavingRegisterMonitor';
  22. import {
  23. workEntitiesSlice,
  24. workFiltersSlice,
  25. workPaginationSlice,
  26. workSelectionSlice,
  27. workUISlice,
  28. } from './patient/worklist/slices/workSlice';
  29. import {
  30. historyEntitiesSlice,
  31. historyFiltersSlice,
  32. historyPaginationSlice,
  33. historySelectionSlice,
  34. historyUISlice,
  35. } from './patient/worklist/slices/history';
  36. import generatorMonitorReducer from './exam/generatorMonitorSlice';
  37. import largeScreenReducer from './exam/largeScreenSlice';
  38. import deviceAreaReducer from './exam/deviceAreaSlice';
  39. import historyPanelSwitchReducer from './patient/worklist/slices/historyPanelSwitchSlice';
  40. import panelSwitchForViewReducer from './panelSwitchSliceForView';
  41. import quotaModalReducer from './security/quotaModalSlice';
  42. import quotaReducer from './security/quotaSlice';
  43. const store = configureStore({
  44. reducer: {
  45. userInfo: userInfoReducer,
  46. viewSelection: viewSelectionReducer,
  47. patientType: patientTypeReducer,
  48. bodyPart: bodyPartReducer,
  49. selection: selectionReducer,
  50. product: productReducer,
  51. BusinessFlow: BusinessFlowReducer,
  52. systemMode: systemModeReducer,
  53. examWorksCache: examWorksCacheReducer,
  54. bodyPositionList: bodyPositionListReducer,
  55. bodyPositionDetail: bodyPositionDetailReducer,
  56. apr: aprReducer,
  57. functionArea: functionAreaReducer,
  58. workEntities: workEntitiesSlice.reducer,
  59. workFilters: workFiltersSlice.reducer,
  60. workPagination: workPaginationSlice.reducer,
  61. workSelection: workSelectionSlice.reducer,
  62. workUI: workUISlice.reducer,
  63. historyEntities: historyEntitiesSlice.reducer,
  64. historyFilters: historyFiltersSlice.reducer,
  65. historyPagination: historyPaginationSlice.reducer,
  66. historySelection: historySelectionSlice.reducer,
  67. historyUI: historyUISlice.reducer,
  68. search: searchReducer,
  69. generatorMonitor: generatorMonitorReducer,
  70. largeScreen: largeScreenReducer,
  71. deviceArea: deviceAreaReducer,
  72. historyPanelSwitch: historyPanelSwitchReducer,
  73. panelSwitchForView: panelSwitchForViewReducer,
  74. quotaModal: quotaModalReducer,
  75. quota: quotaReducer,
  76. },
  77. middleware: (getDefaultMiddleware) =>
  78. getDefaultMiddleware().concat(
  79. worksListenerMiddleware,
  80. bodyPositionListenerMiddleware,
  81. aprMiddleware,
  82. businessFlowMiddleware,
  83. leavingRegisterMonitor
  84. ),
  85. });
  86. export type RootState = ReturnType<typeof store.getState>;
  87. export type AppDispatch = typeof store.dispatch;
  88. export default store;