store.ts 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  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 qrCodeScanReducer from './patient/register/qrCodeScanSlice';
  60. import editFormReducer from './patient/edit/editFormSlice';
  61. import deviceReducer from './device/deviceSlice';
  62. import headerReducer from './patient/DiagnosticReport/headerSlice';
  63. import baseInfoReducer from './patient/DiagnosticReport/baseInfoSlice';
  64. import animalBaseInfoReducer from './patient/DiagnosticReport/animalBaseInfoSlice';
  65. import imageListReducer from './patient/DiagnosticReport/imageListSlice';
  66. import findingsReducer from './patient/DiagnosticReport/findingsSlice';
  67. import diagnosisReducer from './patient/DiagnosticReport/diagnosisSlice';
  68. import studyFilterReducer from './patient/DiagnosticReport/studyFilterSlice';
  69. import templateReducer from './patient/DiagnosticReport/templateSlice';
  70. import imageSelectionReducer from './patient/DiagnosticReport/imageSelectionSlice';
  71. import diagnosticReportReducer from './patient/DiagnosticReport/slice';
  72. import diagnosticReportBatchDownloadReducer from './patient/DiagnosticReport/diagnosticReportBatchDownloadSlice';
  73. import permissionReducer from './permissionSlice';
  74. import i18nReducer from './i18nSlice';
  75. import featureNotAvailableReducer from './featureNotAvailableSlice';
  76. import themeReducer from './themeSlice';
  77. import cameraReducer from './exam/cameraSlice';
  78. import pacsNodeReducer from './output/pacsNode/pacsNodeSlice';
  79. import selectedPatientReducer from './patient/worklist/slices/selectedPatientSlice';
  80. import reregisterReducer from './patient/reregister/reregisterSlice';
  81. import {
  82. binEntitiesSlice,
  83. binFiltersSlice,
  84. binPaginationSlice,
  85. binSelectionSlice,
  86. binUISlice,
  87. } from './patient/bin/slices/binSlice';
  88. import binDiskInfoSlice from './patient/bin/slices/binDiskInfoSlice';
  89. import dicomOverlayReducer from './view/dicomOverlaySlice';
  90. import playbackReducer from './view/playbackSlice';
  91. import printReducer from './print/printSlice';
  92. import risSyncReducer from './ris/risSyncSlice';
  93. import processingModeReducer from './system/processingModeSlice';
  94. import invertContrastReducer from './view/invertContrastSlice';
  95. import serverConfigReducer from '../features/serverConfig/state/serverConfigSlice';
  96. // import annotationReducer from '../features/imageAnnotation/state/annotationSlice';
  97. import versionUpdateReducer from './versionUpdateSlice';
  98. const store = configureStore({
  99. reducer: {
  100. userInfo: userInfoReducer,
  101. viewSelection: viewSelectionReducer,
  102. patientType: patientTypeReducer,
  103. bodyPart: bodyPartReducer,
  104. selection: selectionReducer,
  105. product: productReducer,
  106. BusinessFlow: BusinessFlowReducer,
  107. systemMode: systemModeReducer,
  108. examWorksCache: examWorksCacheReducer,
  109. bodyPositionList: bodyPositionListReducer,
  110. bodyPositionDetail: bodyPositionDetailReducer,
  111. appendView: appendViewReducer,
  112. apr: aprReducer,
  113. functionArea: functionAreaReducer,
  114. measurementPanel: measurementPanelReducer,
  115. advancedProcessingPanel: advancedProcessingPanelReducer,
  116. sliderAdjustmentPanel: sliderAdjustmentPanelReducer,
  117. rectCropPanel: rectCropPanelReducer,
  118. viewerContainer: viewerContainerReducer,
  119. markPanel: markPanelReducer,
  120. workEntities: workEntitiesSlice.reducer,
  121. workFilters: workFiltersSlice.reducer,
  122. workPagination: workPaginationSlice.reducer,
  123. workSelection: workSelectionSlice.reducer,
  124. workUI: workUISlice.reducer,
  125. historyEntities: historyEntitiesSlice.reducer,
  126. historyFilters: historyFiltersSlice.reducer,
  127. historyPagination: historyPaginationSlice.reducer,
  128. historySelection: historySelectionSlice.reducer,
  129. historyUI: historyUISlice.reducer,
  130. sendJobEntities: sendJobEntitiesSlice.reducer,
  131. sendJobFilters: sendJobFiltersSlice.reducer,
  132. sendJobPagination: sendJobPaginationSlice.reducer,
  133. sendJobSelection: sendJobSelectionSlice.reducer,
  134. sendJobUI: sendJobUISlice.reducer,
  135. search: searchReducer,
  136. generatorMonitor: generatorMonitorReducer,
  137. largeScreen: largeScreenReducer,
  138. deviceArea: deviceAreaReducer,
  139. historyPanelSwitch: historyPanelSwitchReducer,
  140. thumbnailList: thumbnailListReducer,
  141. panelSwitchForView: panelSwitchForViewReducer,
  142. quotaModal: quotaModalReducer,
  143. quota: quotaReducer,
  144. form: formReducer,
  145. qrCodeScan: qrCodeScanReducer,
  146. editForm: editFormReducer,
  147. device: deviceReducer,
  148. header: headerReducer,
  149. baseInfo: baseInfoReducer,
  150. animalBaseInfo: animalBaseInfoReducer,
  151. imageList: imageListReducer,
  152. findings: findingsReducer,
  153. diagnosis: diagnosisReducer,
  154. studyFilter: studyFilterReducer,
  155. template: templateReducer,
  156. imageSelection: imageSelectionReducer,
  157. diagnosticReport: diagnosticReportReducer,
  158. diagnosticReportBatchDownload: diagnosticReportBatchDownloadReducer,
  159. permission: permissionReducer,
  160. i18n: i18nReducer,
  161. featureNotAvailable: featureNotAvailableReducer,
  162. theme: themeReducer,
  163. camera: cameraReducer,
  164. pacsNode: pacsNodeReducer,
  165. selectedPatient: selectedPatientReducer,
  166. reregister: reregisterReducer,
  167. binEntities: binEntitiesSlice.reducer,
  168. binFilters: binFiltersSlice.reducer,
  169. binPagination: binPaginationSlice.reducer,
  170. binSelection: binSelectionSlice.reducer,
  171. binUI: binUISlice.reducer,
  172. binDiskInfo: binDiskInfoSlice.reducer,
  173. dicomOverlay: dicomOverlayReducer,
  174. playback: playbackReducer,
  175. print: printReducer,
  176. risSync: risSyncReducer,
  177. processingMode: processingModeReducer,
  178. invertContrast: invertContrastReducer,
  179. serverConfig: serverConfigReducer,
  180. // annotation: annotationReducer,
  181. versionUpdate: versionUpdateReducer,
  182. },
  183. middleware: (getDefaultMiddleware) =>
  184. getDefaultMiddleware().concat(
  185. bodyPositionListenerMiddleware,
  186. aprMiddleware,
  187. businessFlowMiddleware,
  188. leavingRegisterMonitor,
  189. hasEnteredExamMonitor
  190. ),
  191. });
  192. export type RootState = ReturnType<typeof store.getState>;
  193. export type AppDispatch = typeof store.dispatch;
  194. export const useAppDispatch = () => useDispatch<AppDispatch>();
  195. export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;
  196. export default store;