store.ts 9.2 KB

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