store.ts 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. import { configureStore } from '@reduxjs/toolkit';
  2. import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';
  3. import userInfoReducer from './user_info';
  4. import viewSelectionReducer from './patient/viewSelection';
  5. import patientTypeReducer from './patientTypeSlice';
  6. import bodyPartReducer from './bodyPartSlice';
  7. import selectionReducer from './patient/register/SelectionTypeSlice';
  8. import productReducer from './productSlice';
  9. import BusinessFlowReducer from './BusinessFlowSlice';
  10. import systemModeReducer from './systemModeSlice';
  11. import examWorksCacheReducer from './exam/examWorksCacheSlice';
  12. import bodyPositionListReducer from './exam/bodyPositionListSlice';
  13. import bodyPositionDetailReducer from './exam/bodyPositionDetailSlice';
  14. import appendViewReducer from './exam/appendViewSlice';
  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 measurementPanelReducer from './view/measurementPanelSlice';
  20. import advancedProcessingPanelReducer from './view/advancedProcessingPanelSlice';
  21. import sliderAdjustmentPanelReducer from './view/sliderAdjustmentPanelSlice';
  22. import rectCropPanelReducer from './view/rectCropPanelSlice';
  23. import viewerContainerReducer from './view/viewerContainerSlice';
  24. import markPanelReducer from './view/markPanelSlice';
  25. import searchReducer from './patient/worklist/slices/searchSlice';
  26. import businessFlowMiddleware from './businessFlowMiddleware';
  27. import leavingRegisterMonitor from './leavingRegisterMonitor';
  28. import hasEnteredExamMonitor from './hasEnteredExamMonitor';
  29. import {
  30. workEntitiesSlice,
  31. workFiltersSlice,
  32. workPaginationSlice,
  33. workSelectionSlice,
  34. workUISlice,
  35. } from './patient/worklist/slices/workSlice';
  36. import {
  37. historyEntitiesSlice,
  38. historyFiltersSlice,
  39. historyPaginationSlice,
  40. historySelectionSlice,
  41. historyUISlice,
  42. } from './patient/worklist/slices/history';
  43. import {
  44. sendJobEntitiesSlice,
  45. sendJobFiltersSlice,
  46. sendJobPaginationSlice,
  47. sendJobSelectionSlice,
  48. sendJobUISlice,
  49. } from './output/sendJob/slices/sendJobSlice';
  50. import generatorMonitorReducer from './exam/generatorMonitorSlice';
  51. import largeScreenReducer from './exam/largeScreenSlice';
  52. import deviceAreaReducer from './exam/deviceAreaSlice';
  53. import historyPanelSwitchReducer from './patient/worklist/slices/historyPanelSwitchSlice';
  54. import thumbnailListReducer from './patient/worklist/slices/thumbnailListSlice';
  55. import panelSwitchForViewReducer from './panelSwitchSliceForView';
  56. import quotaModalReducer from './security/quotaModalSlice';
  57. import quotaReducer from './security/quotaSlice';
  58. import formReducer from './patient/register/formSlice';
  59. import editFormReducer from './patient/edit/editFormSlice';
  60. import deviceReducer from './device/deviceSlice';
  61. import headerReducer from './patient/DiagnosticReport/headerSlice';
  62. import baseInfoReducer from './patient/DiagnosticReport/baseInfoSlice';
  63. import animalBaseInfoReducer from './patient/DiagnosticReport/animalBaseInfoSlice';
  64. import imageListReducer from './patient/DiagnosticReport/imageListSlice';
  65. import findingsReducer from './patient/DiagnosticReport/findingsSlice';
  66. import diagnosisReducer from './patient/DiagnosticReport/diagnosisSlice';
  67. import studyFilterReducer from './patient/DiagnosticReport/studyFilterSlice';
  68. import templateReducer from './patient/DiagnosticReport/templateSlice';
  69. import imageSelectionReducer from './patient/DiagnosticReport/imageSelectionSlice';
  70. import diagnosticReportReducer from './patient/DiagnosticReport/slice';
  71. import permissionReducer from './permissionSlice';
  72. import i18nReducer from './i18nSlice';
  73. import featureNotAvailableReducer from './featureNotAvailableSlice';
  74. import themeReducer from './themeSlice';
  75. import cameraReducer from './exam/cameraSlice';
  76. import pacsNodeReducer from './output/pacsNode/pacsNodeSlice';
  77. import selectedPatientReducer from './patient/worklist/slices/selectedPatientSlice';
  78. import reregisterReducer from './patient/reregister/reregisterSlice';
  79. import {
  80. binEntitiesSlice,
  81. binFiltersSlice,
  82. binPaginationSlice,
  83. binSelectionSlice,
  84. binUISlice,
  85. } from './patient/bin/slices/binSlice';
  86. import binDiskInfoSlice from './patient/bin/slices/binDiskInfoSlice';
  87. import dicomOverlayReducer from './view/dicomOverlaySlice';
  88. import playbackReducer from './view/playbackSlice';
  89. import printReducer from './print/printSlice';
  90. import risSyncReducer from './ris/risSyncSlice';
  91. import processingModeReducer from './system/processingModeSlice';
  92. import invertContrastReducer from './view/invertContrastSlice';
  93. import serverConfigReducer from '../features/serverConfig/state/serverConfigSlice';
  94. import annotationReducer from '../features/imageAnnotation/state/annotationSlice';
  95. const store = configureStore({
  96. reducer: {
  97. userInfo: userInfoReducer,
  98. viewSelection: viewSelectionReducer,
  99. patientType: patientTypeReducer,
  100. bodyPart: bodyPartReducer,
  101. selection: selectionReducer,
  102. product: productReducer,
  103. BusinessFlow: BusinessFlowReducer,
  104. systemMode: systemModeReducer,
  105. examWorksCache: examWorksCacheReducer,
  106. bodyPositionList: bodyPositionListReducer,
  107. bodyPositionDetail: bodyPositionDetailReducer,
  108. appendView: appendViewReducer,
  109. apr: aprReducer,
  110. functionArea: functionAreaReducer,
  111. measurementPanel: measurementPanelReducer,
  112. advancedProcessingPanel: advancedProcessingPanelReducer,
  113. sliderAdjustmentPanel: sliderAdjustmentPanelReducer,
  114. rectCropPanel: rectCropPanelReducer,
  115. viewerContainer: viewerContainerReducer,
  116. markPanel: markPanelReducer,
  117. workEntities: workEntitiesSlice.reducer,
  118. workFilters: workFiltersSlice.reducer,
  119. workPagination: workPaginationSlice.reducer,
  120. workSelection: workSelectionSlice.reducer,
  121. workUI: workUISlice.reducer,
  122. historyEntities: historyEntitiesSlice.reducer,
  123. historyFilters: historyFiltersSlice.reducer,
  124. historyPagination: historyPaginationSlice.reducer,
  125. historySelection: historySelectionSlice.reducer,
  126. historyUI: historyUISlice.reducer,
  127. sendJobEntities: sendJobEntitiesSlice.reducer,
  128. sendJobFilters: sendJobFiltersSlice.reducer,
  129. sendJobPagination: sendJobPaginationSlice.reducer,
  130. sendJobSelection: sendJobSelectionSlice.reducer,
  131. sendJobUI: sendJobUISlice.reducer,
  132. search: searchReducer,
  133. generatorMonitor: generatorMonitorReducer,
  134. largeScreen: largeScreenReducer,
  135. deviceArea: deviceAreaReducer,
  136. historyPanelSwitch: historyPanelSwitchReducer,
  137. thumbnailList: thumbnailListReducer,
  138. panelSwitchForView: panelSwitchForViewReducer,
  139. quotaModal: quotaModalReducer,
  140. quota: quotaReducer,
  141. form: formReducer,
  142. editForm: editFormReducer,
  143. device: deviceReducer,
  144. header: headerReducer,
  145. baseInfo: baseInfoReducer,
  146. animalBaseInfo: animalBaseInfoReducer,
  147. imageList: imageListReducer,
  148. findings: findingsReducer,
  149. diagnosis: diagnosisReducer,
  150. studyFilter: studyFilterReducer,
  151. template: templateReducer,
  152. imageSelection: imageSelectionReducer,
  153. diagnosticReport: diagnosticReportReducer,
  154. permission: permissionReducer,
  155. i18n: i18nReducer,
  156. featureNotAvailable: featureNotAvailableReducer,
  157. theme: themeReducer,
  158. camera: cameraReducer,
  159. pacsNode: pacsNodeReducer,
  160. selectedPatient: selectedPatientReducer,
  161. reregister: reregisterReducer,
  162. binEntities: binEntitiesSlice.reducer,
  163. binFilters: binFiltersSlice.reducer,
  164. binPagination: binPaginationSlice.reducer,
  165. binSelection: binSelectionSlice.reducer,
  166. binUI: binUISlice.reducer,
  167. binDiskInfo: binDiskInfoSlice.reducer,
  168. dicomOverlay: dicomOverlayReducer,
  169. playback: playbackReducer,
  170. print: printReducer,
  171. risSync: risSyncReducer,
  172. processingMode: processingModeReducer,
  173. invertContrast: invertContrastReducer,
  174. serverConfig: serverConfigReducer,
  175. annotation: annotationReducer,
  176. },
  177. middleware: (getDefaultMiddleware) =>
  178. getDefaultMiddleware().concat(
  179. bodyPositionListenerMiddleware,
  180. aprMiddleware,
  181. businessFlowMiddleware,
  182. leavingRegisterMonitor,
  183. hasEnteredExamMonitor
  184. ),
  185. });
  186. export type RootState = ReturnType<typeof store.getState>;
  187. export type AppDispatch = typeof store.dispatch;
  188. export const useAppDispatch = () => useDispatch<AppDispatch>();
  189. export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;
  190. export default store;