@gen-epix/ui-client-casedb 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/LICENSE +287 -0
  2. package/README.md +101 -0
  3. package/dist/@types/mui.d.ts +12 -0
  4. package/dist/@types/ui-casedb.d.ts +3 -0
  5. package/dist/@types/vite-env.d.ts +3 -0
  6. package/dist/_chunks/AddCasesToEventDialog.js +246 -0
  7. package/dist/_chunks/AddCasesToEventDialog.js.map +1 -0
  8. package/dist/_chunks/CaseContentForm.js +43 -0
  9. package/dist/_chunks/CaseContentForm.js.map +1 -0
  10. package/dist/_chunks/CaseDbDownloadUtil.js +2307 -0
  11. package/dist/_chunks/CaseDbDownloadUtil.js.map +1 -0
  12. package/dist/_chunks/CaseInfoDialog.js +509 -0
  13. package/dist/_chunks/CaseInfoDialog.js.map +1 -0
  14. package/dist/_chunks/CaseSetInfoDialog.js +479 -0
  15. package/dist/_chunks/CaseSetInfoDialog.js.map +1 -0
  16. package/dist/_chunks/CaseTypeInfoDialog.js +470 -0
  17. package/dist/_chunks/CaseTypeInfoDialog.js.map +1 -0
  18. package/dist/_chunks/CasesAlreadyInCaseSetWarning.js +123 -0
  19. package/dist/_chunks/CasesAlreadyInCaseSetWarning.js.map +1 -0
  20. package/dist/_chunks/CollectionIcon.js +18 -0
  21. package/dist/_chunks/CollectionIcon.js.map +1 -0
  22. package/dist/_chunks/CompletCaseTypeLoader.js +53 -0
  23. package/dist/_chunks/CompletCaseTypeLoader.js.map +1 -0
  24. package/dist/_chunks/CreateEventDialogSuccessNotificationMessage.js +18 -0
  25. package/dist/_chunks/CreateEventDialogSuccessNotificationMessage.js.map +1 -0
  26. package/dist/_chunks/CustomTabPanel.js +21 -0
  27. package/dist/_chunks/CustomTabPanel.js.map +1 -0
  28. package/dist/_chunks/Dashboard.js +2582 -0
  29. package/dist/_chunks/Dashboard.js.map +1 -0
  30. package/dist/_chunks/DashboardStoreLoader.js +67 -0
  31. package/dist/_chunks/DashboardStoreLoader.js.map +1 -0
  32. package/dist/_chunks/DataCollectionAccessInfo.js +66 -0
  33. package/dist/_chunks/DataCollectionAccessInfo.js.map +1 -0
  34. package/dist/_chunks/EpiCurveUtil.js +378 -0
  35. package/dist/_chunks/EpiCurveUtil.js.map +1 -0
  36. package/dist/_chunks/EpiCurveWidget.js +570 -0
  37. package/dist/_chunks/EpiCurveWidget.js.map +1 -0
  38. package/dist/_chunks/FilterUtil.js +1537 -0
  39. package/dist/_chunks/FilterUtil.js.map +1 -0
  40. package/dist/_chunks/FindSimilarCasesDialog.js +439 -0
  41. package/dist/_chunks/FindSimilarCasesDialog.js.map +1 -0
  42. package/dist/_chunks/FindSimilarCasesUtil.js +100 -0
  43. package/dist/_chunks/FindSimilarCasesUtil.js.map +1 -0
  44. package/dist/_chunks/HomePageTrends.js +276 -0
  45. package/dist/_chunks/HomePageTrends.js.map +1 -0
  46. package/dist/_chunks/LegendaItem.js +325 -0
  47. package/dist/_chunks/LegendaItem.js.map +1 -0
  48. package/dist/_chunks/LineListWidget.js +702 -0
  49. package/dist/_chunks/LineListWidget.js.map +1 -0
  50. package/dist/_chunks/PanelSeparator.js +1676 -0
  51. package/dist/_chunks/PanelSeparator.js.map +1 -0
  52. package/dist/_chunks/Upload.js +1506 -0
  53. package/dist/_chunks/Upload.js.map +1 -0
  54. package/dist/_chunks/UploadUtil.js +1976 -0
  55. package/dist/_chunks/UploadUtil.js.map +1 -0
  56. package/dist/_chunks/UserRightsDialog.js +152 -0
  57. package/dist/_chunks/UserRightsDialog.js.map +1 -0
  58. package/dist/_chunks/_MapCache.js +274 -0
  59. package/dist/_chunks/_MapCache.js.map +1 -0
  60. package/dist/_chunks/_Set.js +9 -0
  61. package/dist/_chunks/_Set.js.map +1 -0
  62. package/dist/_chunks/_arrayIncludesWith.js +42 -0
  63. package/dist/_chunks/_arrayIncludesWith.js.map +1 -0
  64. package/dist/_chunks/_baseClone.js +262 -0
  65. package/dist/_chunks/_baseClone.js.map +1 -0
  66. package/dist/_chunks/_baseFlatten.js +26 -0
  67. package/dist/_chunks/_baseFlatten.js.map +1 -0
  68. package/dist/_chunks/_baseGet.js +246 -0
  69. package/dist/_chunks/_baseGet.js.map +1 -0
  70. package/dist/_chunks/_baseIteratee.js +246 -0
  71. package/dist/_chunks/_baseIteratee.js.map +1 -0
  72. package/dist/_chunks/_cacheHas.js +29 -0
  73. package/dist/_chunks/_cacheHas.js.map +1 -0
  74. package/dist/_chunks/_defineProperty.js +15 -0
  75. package/dist/_chunks/_defineProperty.js.map +1 -0
  76. package/dist/_chunks/_setToArray.js +15 -0
  77. package/dist/_chunks/_setToArray.js.map +1 -0
  78. package/dist/_chunks/_setToString.js +64 -0
  79. package/dist/_chunks/_setToString.js.map +1 -0
  80. package/dist/_chunks/chunk-KS7C4IRE.js +1327 -0
  81. package/dist/_chunks/chunk-KS7C4IRE.js.map +1 -0
  82. package/dist/_chunks/cloneDeep.js +119 -0
  83. package/dist/_chunks/cloneDeep.js.map +1 -0
  84. package/dist/_chunks/dashboardStore.js +743 -0
  85. package/dist/_chunks/dashboardStore.js.map +1 -0
  86. package/dist/_chunks/eachYearOfInterval.js +104 -0
  87. package/dist/_chunks/eachYearOfInterval.js.map +1 -0
  88. package/dist/_chunks/esm.js +46335 -0
  89. package/dist/_chunks/esm.js.map +1 -0
  90. package/dist/_chunks/format.js +504 -0
  91. package/dist/_chunks/format.js.map +1 -0
  92. package/dist/_chunks/hasIn.js +34 -0
  93. package/dist/_chunks/hasIn.js.map +1 -0
  94. package/dist/_chunks/index.esm.js +1342 -0
  95. package/dist/_chunks/index.esm.js.map +1 -0
  96. package/dist/_chunks/index.module.js +72 -0
  97. package/dist/_chunks/index.module.js.map +1 -0
  98. package/dist/_chunks/intersection.js +58 -0
  99. package/dist/_chunks/intersection.js.map +1 -0
  100. package/dist/_chunks/isArguments.js +27 -0
  101. package/dist/_chunks/isArguments.js.map +1 -0
  102. package/dist/_chunks/isArray.js +9 -0
  103. package/dist/_chunks/isArray.js.map +1 -0
  104. package/dist/_chunks/isArrayLike.js +30 -0
  105. package/dist/_chunks/isArrayLike.js.map +1 -0
  106. package/dist/_chunks/isObjectLike.js +18 -0
  107. package/dist/_chunks/isObjectLike.js.map +1 -0
  108. package/dist/_chunks/isValid.js +14 -0
  109. package/dist/_chunks/isValid.js.map +1 -0
  110. package/dist/_chunks/last.js +13 -0
  111. package/dist/_chunks/last.js.map +1 -0
  112. package/dist/_chunks/noop.js +10 -0
  113. package/dist/_chunks/noop.js.map +1 -0
  114. package/dist/_chunks/omit.js +81 -0
  115. package/dist/_chunks/omit.js.map +1 -0
  116. package/dist/_chunks/parseISO.js +117 -0
  117. package/dist/_chunks/parseISO.js.map +1 -0
  118. package/dist/_chunks/protectedTokens.js +630 -0
  119. package/dist/_chunks/protectedTokens.js.map +1 -0
  120. package/dist/_chunks/react.js +11 -0
  121. package/dist/_chunks/react.js.map +1 -0
  122. package/dist/_chunks/round.js +64 -0
  123. package/dist/_chunks/round.js.map +1 -0
  124. package/dist/_chunks/shallow.js +31 -0
  125. package/dist/_chunks/shallow.js.map +1 -0
  126. package/dist/_chunks/sync.js +3796 -0
  127. package/dist/_chunks/sync.js.map +1 -0
  128. package/dist/_chunks/toDate.js +18 -0
  129. package/dist/_chunks/toDate.js.map +1 -0
  130. package/dist/_chunks/toString.js +31 -0
  131. package/dist/_chunks/toString.js.map +1 -0
  132. package/dist/_chunks/useUnit.js +30 -0
  133. package/dist/_chunks/useUnit.js.map +1 -0
  134. package/dist/_chunks/userProfileStoreContext.js +7 -0
  135. package/dist/_chunks/userProfileStoreContext.js.map +1 -0
  136. package/dist/_chunks/vanilla.js +20 -0
  137. package/dist/_chunks/vanilla.js.map +1 -0
  138. package/dist/_chunks/yup.js +73 -0
  139. package/dist/_chunks/yup.js.map +1 -0
  140. package/dist/classes/errors/UploadError.d.ts +5 -0
  141. package/dist/classes/errors/index.d.ts +1 -0
  142. package/dist/classes/errors/index.js +11 -0
  143. package/dist/classes/errors/index.js.map +1 -0
  144. package/dist/classes/filters/SelectionFilter.d.ts +11 -0
  145. package/dist/classes/filters/TreeFilter.d.ts +11 -0
  146. package/dist/classes/services/DataService/DataService.d.ts +13 -0
  147. package/dist/classes/services/DataService/index.d.ts +1 -0
  148. package/dist/classes/services/DataService/index.js +83 -0
  149. package/dist/classes/services/DataService/index.js.map +1 -0
  150. package/dist/classes/services/EventBusService/EventBusService.d.ts +49 -0
  151. package/dist/classes/services/EventBusService/index.d.ts +1 -0
  152. package/dist/classes/services/EventBusService/index.js +16 -0
  153. package/dist/classes/services/EventBusService/index.js.map +1 -0
  154. package/dist/classes/services/LineListService/LineListCaseSetMembersService/LineListCaseSetMembersService.d.ts +9 -0
  155. package/dist/classes/services/LineListService/LineListCaseSetMembersService/index.d.ts +1 -0
  156. package/dist/classes/services/LineListService/LineListCaseSetMembersService/index.js +27 -0
  157. package/dist/classes/services/LineListService/LineListCaseSetMembersService/index.js.map +1 -0
  158. package/dist/classes/services/LineListService/LineListIsOwnCaseService/LineListIsOwnCaseService.d.ts +9 -0
  159. package/dist/classes/services/LineListService/LineListIsOwnCaseService/index.d.ts +1 -0
  160. package/dist/classes/services/LineListService/LineListIsOwnCaseService/index.js +30 -0
  161. package/dist/classes/services/LineListService/LineListIsOwnCaseService/index.js.map +1 -0
  162. package/dist/classes/services/LineListService/LineListServiceAbstract/LineListServiceAbstract.d.ts +11 -0
  163. package/dist/classes/services/LineListService/LineListServiceAbstract/index.d.ts +1 -0
  164. package/dist/classes/services/LineListService/LineListServiceAbstract/index.js +55 -0
  165. package/dist/classes/services/LineListService/LineListServiceAbstract/index.js.map +1 -0
  166. package/dist/components/app/CaseDbApp/CaseDbApp.d.ts +1 -0
  167. package/dist/components/app/CaseDbApp/index.d.ts +1 -0
  168. package/dist/components/app/CaseDbApp/index.js +14 -0
  169. package/dist/components/app/CaseDbApp/index.js.map +1 -0
  170. package/dist/components/form/fields/ArrangementEditor/ArrangementEditor.d.ts +17 -0
  171. package/dist/components/form/fields/ArrangementEditor/index.d.ts +1 -0
  172. package/dist/components/form/fields/ArrangementEditor/index.js +130 -0
  173. package/dist/components/form/fields/ArrangementEditor/index.js.map +1 -0
  174. package/dist/components/ui/AddCasesToEventDialog/AddCasesToEventDialog.d.ts +10 -0
  175. package/dist/components/ui/AddCasesToEventDialog/AddCasesToEventDialogSuccessNotificationMessage.d.ts +6 -0
  176. package/dist/components/ui/AddCasesToEventDialog/index.d.ts +1 -0
  177. package/dist/components/ui/AddCasesToEventDialog/index.js +2 -0
  178. package/dist/components/ui/CaseContentForm/CaseContentForm.d.ts +10 -0
  179. package/dist/components/ui/CaseContentForm/index.d.ts +1 -0
  180. package/dist/components/ui/CaseContentForm/index.js +2 -0
  181. package/dist/components/ui/CaseContentFormDialog/CaseContentFormDialog.d.ts +9 -0
  182. package/dist/components/ui/CaseContentFormDialog/index.d.ts +1 -0
  183. package/dist/components/ui/CaseContentFormDialog/index.js +57 -0
  184. package/dist/components/ui/CaseContentFormDialog/index.js.map +1 -0
  185. package/dist/components/ui/CaseInfoDialog/CaseCaseSetInfo.d.ts +6 -0
  186. package/dist/components/ui/CaseInfoDialog/CaseContent.d.ts +6 -0
  187. package/dist/components/ui/CaseInfoDialog/CaseInfoDialog.d.ts +15 -0
  188. package/dist/components/ui/CaseInfoDialog/CaseInfoForm.d.ts +10 -0
  189. package/dist/components/ui/CaseInfoDialog/CaseSharingForm.d.ts +9 -0
  190. package/dist/components/ui/CaseInfoDialog/CaseSharingInfo.d.ts +3 -0
  191. package/dist/components/ui/CaseInfoDialog/ReadOnlyCaseContent.d.ts +6 -0
  192. package/dist/components/ui/CaseInfoDialog/index.d.ts +1 -0
  193. package/dist/components/ui/CaseInfoDialog/index.js +2 -0
  194. package/dist/components/ui/CaseSetInfoDialog/CaseSetContent.d.ts +6 -0
  195. package/dist/components/ui/CaseSetInfoDialog/CaseSetDescription.d.ts +6 -0
  196. package/dist/components/ui/CaseSetInfoDialog/CaseSetForm.d.ts +8 -0
  197. package/dist/components/ui/CaseSetInfoDialog/CaseSetInfoDialog.d.ts +10 -0
  198. package/dist/components/ui/CaseSetInfoDialog/CaseSetSharingForm.d.ts +10 -0
  199. package/dist/components/ui/CaseSetInfoDialog/CaseSetSharingInfo.d.ts +3 -0
  200. package/dist/components/ui/CaseSetInfoDialog/index.d.ts +1 -0
  201. package/dist/components/ui/CaseSetInfoDialog/index.js +2 -0
  202. package/dist/components/ui/CaseSummary/CaseSummary.d.ts +5 -0
  203. package/dist/components/ui/CaseSummary/index.d.ts +1 -0
  204. package/dist/components/ui/CaseSummary/index.js +92 -0
  205. package/dist/components/ui/CaseSummary/index.js.map +1 -0
  206. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoAccessRights.d.ts +5 -0
  207. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoColAccessRights.d.ts +4 -0
  208. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoData.d.ts +5 -0
  209. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoDialog.d.ts +7 -0
  210. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoDialogContent.d.ts +3 -0
  211. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoDialogWithLoader.d.ts +8 -0
  212. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoRegions.d.ts +5 -0
  213. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoTrees.d.ts +5 -0
  214. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoValues.d.ts +5 -0
  215. package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoVariableDetails.d.ts +6 -0
  216. package/dist/components/ui/CaseTypeInfoDialog/index.d.ts +10 -0
  217. package/dist/components/ui/CaseTypeInfoDialog/index.js +2 -0
  218. package/dist/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarning.d.ts +5 -0
  219. package/dist/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarningCaseSetLink.d.ts +5 -0
  220. package/dist/components/ui/CasesAlreadyInCaseSetWarning/index.d.ts +1 -0
  221. package/dist/components/ui/CasesAlreadyInCaseSetWarning/index.js +2 -0
  222. package/dist/components/ui/CompletCaseTypeLoader/CompletCaseTypeLoader.d.ts +7 -0
  223. package/dist/components/ui/CompletCaseTypeLoader/index.d.ts +1 -0
  224. package/dist/components/ui/CompletCaseTypeLoader/index.js +2 -0
  225. package/dist/components/ui/CompletCaseTypeLoader/withEpiCompleteCaseTypeLoader.d.ts +4 -0
  226. package/dist/components/ui/ContextMenu/ContextMenu.d.ts +20 -0
  227. package/dist/components/ui/ContextMenu/index.d.ts +1 -0
  228. package/dist/components/ui/ContextMenu/index.js +96 -0
  229. package/dist/components/ui/ContextMenu/index.js.map +1 -0
  230. package/dist/components/ui/CreateEventDialog/CreateEventDialog.d.ts +10 -0
  231. package/dist/components/ui/CreateEventDialog/CreateEventDialogSuccessNotificationMessage.d.ts +6 -0
  232. package/dist/components/ui/CreateEventDialog/index.d.ts +1 -0
  233. package/dist/components/ui/CreateEventDialog/index.js +278 -0
  234. package/dist/components/ui/CreateEventDialog/index.js.map +1 -0
  235. package/dist/components/ui/CustomTabPanel/CustomTabPanel.d.ts +6 -0
  236. package/dist/components/ui/CustomTabPanel/index.d.ts +1 -0
  237. package/dist/components/ui/CustomTabPanel/index.js +2 -0
  238. package/dist/components/ui/Dashboard/Dashboard.d.ts +1 -0
  239. package/dist/components/ui/Dashboard/DashboardContent.d.ts +6 -0
  240. package/dist/components/ui/Dashboard/DashboardDownloadSidebarItem.d.ts +6 -0
  241. package/dist/components/ui/Dashboard/DashboardGeneralSettingsForm.d.ts +1 -0
  242. package/dist/components/ui/Dashboard/DashboardLayoutRenderer.d.ts +9 -0
  243. package/dist/components/ui/Dashboard/DashboardLayoutSettingsForm.d.ts +4 -0
  244. package/dist/components/ui/Dashboard/DashboardSearch.d.ts +1 -0
  245. package/dist/components/ui/Dashboard/DashboardSearchSettings.d.ts +10 -0
  246. package/dist/components/ui/Dashboard/DashboardSettingsSidebarItem.d.ts +8 -0
  247. package/dist/components/ui/Dashboard/DashboardWidget.d.ts +12 -0
  248. package/dist/components/ui/Dashboard/DashboardWidgetPlaceHolder.d.ts +1 -0
  249. package/dist/components/ui/Dashboard/DashboardWidgetSettingsForm.d.ts +4 -0
  250. package/dist/components/ui/Dashboard/DashboardZoneContext.d.ts +1 -0
  251. package/dist/components/ui/Dashboard/context/DashboardContext.d.ts +12 -0
  252. package/dist/components/ui/Dashboard/context/DashboardContextProvider.d.ts +6 -0
  253. package/dist/components/ui/Dashboard/index.d.ts +2 -0
  254. package/dist/components/ui/Dashboard/index.js +2 -0
  255. package/dist/components/ui/DashboardEditCases/DashboardEditCases.d.ts +6 -0
  256. package/dist/components/ui/DashboardEditCases/index.d.ts +1 -0
  257. package/dist/components/ui/DashboardEditCases/index.js +70 -0
  258. package/dist/components/ui/DashboardEditCases/index.js.map +1 -0
  259. package/dist/components/ui/DashboardStoreLoader/DashboardStoreLoader.d.ts +7 -0
  260. package/dist/components/ui/DashboardStoreLoader/DashboardStoreLoaderContent.d.ts +8 -0
  261. package/dist/components/ui/DashboardStoreLoader/index.d.ts +2 -0
  262. package/dist/components/ui/DashboardStoreLoader/index.js +2 -0
  263. package/dist/components/ui/DashboardStoreLoader/withEpiDashboardStore.d.ts +4 -0
  264. package/dist/components/ui/DataCollectionAccessInfo/DataCollectionAccessInfo.d.ts +1 -0
  265. package/dist/components/ui/DataCollectionAccessInfo/index.d.ts +1 -0
  266. package/dist/components/ui/DataCollectionAccessInfo/index.js +2 -0
  267. package/dist/components/ui/EpiCurveWidget/EpiCurveBarChart.d.ts +21 -0
  268. package/dist/components/ui/EpiCurveWidget/EpiCurveStackedAreaChart.d.ts +22 -0
  269. package/dist/components/ui/EpiCurveWidget/EpiCurveWidget.d.ts +2 -0
  270. package/dist/components/ui/EpiCurveWidget/index.d.ts +1 -0
  271. package/dist/components/ui/EpiCurveWidget/index.js +2 -0
  272. package/dist/components/ui/FileSelector/FileSelector.d.ts +7 -0
  273. package/dist/components/ui/FileSelector/index.d.ts +1 -0
  274. package/dist/components/ui/FileSelector/index.js +206 -0
  275. package/dist/components/ui/FileSelector/index.js.map +1 -0
  276. package/dist/components/ui/FindSimilarCasesDialog/FindSimilarCasesDialog.d.ts +11 -0
  277. package/dist/components/ui/FindSimilarCasesDialog/FindSimilarCasesDialogDateRangeChart.d.ts +11 -0
  278. package/dist/components/ui/FindSimilarCasesDialog/index.d.ts +1 -0
  279. package/dist/components/ui/FindSimilarCasesDialog/index.js +2 -0
  280. package/dist/components/ui/Grouping/Grouping.d.ts +1 -0
  281. package/dist/components/ui/Grouping/index.d.ts +1 -0
  282. package/dist/components/ui/Grouping/index.js +102 -0
  283. package/dist/components/ui/Grouping/index.js.map +1 -0
  284. package/dist/components/ui/HistogramWidget/HistogramWidget.d.ts +1 -0
  285. package/dist/components/ui/HistogramWidget/index.d.ts +1 -0
  286. package/dist/components/ui/HistogramWidget/index.js +333 -0
  287. package/dist/components/ui/HistogramWidget/index.js.map +1 -0
  288. package/dist/components/ui/HomePageTrends/HomePageTrendCard.d.ts +9 -0
  289. package/dist/components/ui/HomePageTrends/HomePageTrends.d.ts +4 -0
  290. package/dist/components/ui/HomePageTrends/index.d.ts +1 -0
  291. package/dist/components/ui/HomePageTrends/index.js +2 -0
  292. package/dist/components/ui/LegendaItem/LegendaItem.d.ts +10 -0
  293. package/dist/components/ui/LegendaItem/index.d.ts +1 -0
  294. package/dist/components/ui/LegendaItem/index.js +2 -0
  295. package/dist/components/ui/LineListWidget/LineListWidget.d.ts +1 -0
  296. package/dist/components/ui/LineListWidget/LineListWidgetIsInEventCell.d.ts +6 -0
  297. package/dist/components/ui/LineListWidget/LineListWidgetIsOwnCaseCell.d.ts +6 -0
  298. package/dist/components/ui/LineListWidget/LineListWidgetPrimaryMenu.d.ts +5 -0
  299. package/dist/components/ui/LineListWidget/LineListWidgetSecondaryMenu.d.ts +1 -0
  300. package/dist/components/ui/LineListWidget/LineListWidgetTitle.d.ts +1 -0
  301. package/dist/components/ui/LineListWidget/index.d.ts +1 -0
  302. package/dist/components/ui/LineListWidget/index.js +2 -0
  303. package/dist/components/ui/LineListWidget/useEpiLineListWidgetEmitDownloadOptions.d.ts +1 -0
  304. package/dist/components/ui/MapWidget/MapWidget.d.ts +1 -0
  305. package/dist/components/ui/MapWidget/index.d.ts +1 -0
  306. package/dist/components/ui/MapWidget/index.js +302 -0
  307. package/dist/components/ui/MapWidget/index.js.map +1 -0
  308. package/dist/components/ui/PanelSeparator/PanelSeparatorHorizontal.d.ts +2 -0
  309. package/dist/components/ui/PanelSeparator/PanelSeparatorVertical.d.ts +2 -0
  310. package/dist/components/ui/PanelSeparator/index.d.ts +2 -0
  311. package/dist/components/ui/PanelSeparator/index.js +2 -0
  312. package/dist/components/ui/RemoveCasesFromEventDialog/RemoveCasesFromEventDialog.d.ts +10 -0
  313. package/dist/components/ui/RemoveCasesFromEventDialog/index.d.ts +1 -0
  314. package/dist/components/ui/RemoveCasesFromEventDialog/index.js +111 -0
  315. package/dist/components/ui/RemoveCasesFromEventDialog/index.js.map +1 -0
  316. package/dist/components/ui/RemoveFindSimilarCasesResultDialog/RemoveFindSimilarCasesResultDialog.d.ts +9 -0
  317. package/dist/components/ui/SequenceDownloadDialog/SequenceDownloadDialog.d.ts +10 -0
  318. package/dist/components/ui/SequenceDownloadDialog/index.d.ts +1 -0
  319. package/dist/components/ui/SequenceDownloadDialog/index.js +89 -0
  320. package/dist/components/ui/SequenceDownloadDialog/index.js.map +1 -0
  321. package/dist/components/ui/TreeDescription/TreeDescription.d.ts +5 -0
  322. package/dist/components/ui/TreeDescription/index.d.ts +1 -0
  323. package/dist/components/ui/TreeDescription/index.js +40 -0
  324. package/dist/components/ui/TreeDescription/index.js.map +1 -0
  325. package/dist/components/ui/TreeWidget/TreeWidget.d.ts +1 -0
  326. package/dist/components/ui/TreeWidget/index.d.ts +1 -0
  327. package/dist/components/ui/TreeWidget/index.js +404 -0
  328. package/dist/components/ui/TreeWidget/index.js.map +1 -0
  329. package/dist/components/ui/Upload/Upload.d.ts +1 -0
  330. package/dist/components/ui/Upload/UploadCaseResultTable.d.ts +18 -0
  331. package/dist/components/ui/Upload/UploadCreateCases.d.ts +1 -0
  332. package/dist/components/ui/Upload/UploadEditColumnValuesDialog.d.ts +12 -0
  333. package/dist/components/ui/Upload/UploadMapColumns.d.ts +1 -0
  334. package/dist/components/ui/Upload/UploadMapSequences.d.ts +1 -0
  335. package/dist/components/ui/Upload/UploadNavigation.d.ts +10 -0
  336. package/dist/components/ui/Upload/UploadPreview.d.ts +4 -0
  337. package/dist/components/ui/Upload/UploadPreviewNavigation.d.ts +5 -0
  338. package/dist/components/ui/Upload/UploadSelectFile.d.ts +1 -0
  339. package/dist/components/ui/Upload/UploadSelectSequenceFiles.d.ts +1 -0
  340. package/dist/components/ui/Upload/index.d.ts +1 -0
  341. package/dist/components/ui/Upload/index.js +2 -0
  342. package/dist/components/ui/UserRightsDialog/UserRightsDialog.d.ts +9 -0
  343. package/dist/components/ui/UserRightsDialog/UserRightsDialogCaseAccessPolicy.d.ts +5 -0
  344. package/dist/components/ui/UserRightsDialog/index.d.ts +1 -0
  345. package/dist/components/ui/UserRightsDialog/index.js +2 -0
  346. package/dist/components/ui/UsersEffectiveRightsDetailsDialog/UsersEffectiveRightsDetailsDialog.d.ts +13 -0
  347. package/dist/components/ui/UsersEffectiveRightsDetailsDialog/index.d.ts +1 -0
  348. package/dist/components/ui/UsersEffectiveRightsDetailsDialog/index.js +373 -0
  349. package/dist/components/ui/UsersEffectiveRightsDetailsDialog/index.js.map +1 -0
  350. package/dist/components/ui/Warning/Warning.d.ts +4 -0
  351. package/dist/components/ui/Warning/index.d.ts +1 -0
  352. package/dist/components/ui/Warning/index.js +29 -0
  353. package/dist/components/ui/Warning/index.js.map +1 -0
  354. package/dist/components/ui/WidgetHeaderIconButton/WidgetHeaderIconButton.d.ts +5 -0
  355. package/dist/components/ui/WidgetHeaderIconButton/index.d.ts +1 -0
  356. package/dist/components/ui/WidgetHeaderIconButton/index.js +24 -0
  357. package/dist/components/ui/WidgetHeaderIconButton/index.js.map +1 -0
  358. package/dist/components/ui/WidgetMenu/WidgetMenu.d.ts +6 -0
  359. package/dist/components/ui/WidgetMenu/index.d.ts +1 -0
  360. package/dist/components/ui/WidgetMenu/index.js +26 -0
  361. package/dist/components/ui/WidgetMenu/index.js.map +1 -0
  362. package/dist/components/ui/WidgetUnavailable/WidgetUnavailable.d.ts +6 -0
  363. package/dist/components/ui/WidgetUnavailable/index.d.ts +1 -0
  364. package/dist/components/ui/WidgetUnavailable/index.js +18 -0
  365. package/dist/components/ui/WidgetUnavailable/index.js.map +1 -0
  366. package/dist/constants/dashboard.d.ts +9 -0
  367. package/dist/constants/dashboard.js +14 -0
  368. package/dist/constants/dashboard.js.map +1 -0
  369. package/dist/constants/query.d.ts +62 -0
  370. package/dist/constants/query.js +163 -0
  371. package/dist/constants/query.js.map +1 -0
  372. package/dist/context/caseAbac/CaseAbacContext.d.ts +14 -0
  373. package/dist/context/caseAbac/CaseAbacContextProvider.d.ts +6 -0
  374. package/dist/context/caseAbac/index.d.ts +3 -0
  375. package/dist/context/caseAbac/useCaseAbacContext.d.ts +2 -0
  376. package/dist/context/caseTypeAbac/CaseTypeAbacContext.d.ts +14 -0
  377. package/dist/context/caseTypeAbac/CaseTypeAbacContextProvider.d.ts +6 -0
  378. package/dist/context/caseTypeAbac/index.d.ts +3 -0
  379. package/dist/context/caseTypeAbac/useCaseTypeAbacContext.d.ts +2 -0
  380. package/dist/dataHooks/useAssemblyProtocolsQuery/index.d.ts +1 -0
  381. package/dist/dataHooks/useAssemblyProtocolsQuery/index.js +21 -0
  382. package/dist/dataHooks/useAssemblyProtocolsQuery/index.js.map +1 -0
  383. package/dist/dataHooks/useAssemblyProtocolsQuery/useAssemblyProtocolsQuery.d.ts +6 -0
  384. package/dist/dataHooks/useCaseRightsQuery/index.d.ts +1 -0
  385. package/dist/dataHooks/useCaseRightsQuery/index.js +17 -0
  386. package/dist/dataHooks/useCaseRightsQuery/index.js.map +1 -0
  387. package/dist/dataHooks/useCaseRightsQuery/useCaseRightsQuery.d.ts +3 -0
  388. package/dist/dataHooks/useCaseSetCategoriesQuery/index.d.ts +1 -0
  389. package/dist/dataHooks/useCaseSetCategoriesQuery/index.js +22 -0
  390. package/dist/dataHooks/useCaseSetCategoriesQuery/index.js.map +1 -0
  391. package/dist/dataHooks/useCaseSetCategoriesQuery/useCaseSetCategoriesQuery.d.ts +6 -0
  392. package/dist/dataHooks/useCaseSetRightsQuery/index.d.ts +1 -0
  393. package/dist/dataHooks/useCaseSetRightsQuery/index.js +13 -0
  394. package/dist/dataHooks/useCaseSetRightsQuery/index.js.map +1 -0
  395. package/dist/dataHooks/useCaseSetRightsQuery/useCaseSetRightsQuery.d.ts +3 -0
  396. package/dist/dataHooks/useCaseSetStatsQuery/index.d.ts +1 -0
  397. package/dist/dataHooks/useCaseSetStatsQuery/index.js +19 -0
  398. package/dist/dataHooks/useCaseSetStatsQuery/index.js.map +1 -0
  399. package/dist/dataHooks/useCaseSetStatsQuery/useCaseSetStatsQuery.d.ts +5 -0
  400. package/dist/dataHooks/useCaseSetStatusesQuery/index.d.ts +1 -0
  401. package/dist/dataHooks/useCaseSetStatusesQuery/index.js +22 -0
  402. package/dist/dataHooks/useCaseSetStatusesQuery/index.js.map +1 -0
  403. package/dist/dataHooks/useCaseSetStatusesQuery/useCaseSetStatusesQuery.d.ts +6 -0
  404. package/dist/dataHooks/useCaseSetsQuery/index.d.ts +1 -0
  405. package/dist/dataHooks/useCaseSetsQuery/index.js +22 -0
  406. package/dist/dataHooks/useCaseSetsQuery/index.js.map +1 -0
  407. package/dist/dataHooks/useCaseSetsQuery/useCaseSetsQuery.d.ts +6 -0
  408. package/dist/dataHooks/useCaseTypeSetCategoriesQuery/index.d.ts +1 -0
  409. package/dist/dataHooks/useCaseTypeSetCategoriesQuery/index.js +22 -0
  410. package/dist/dataHooks/useCaseTypeSetCategoriesQuery/index.js.map +1 -0
  411. package/dist/dataHooks/useCaseTypeSetCategoriesQuery/useCaseTypeSetCategoriesQuery.d.ts +6 -0
  412. package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/index.d.ts +1 -0
  413. package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/index.js +21 -0
  414. package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/index.js.map +1 -0
  415. package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/useCaseTypeSetCategoryPurposeQuery.d.ts +4 -0
  416. package/dist/dataHooks/useCaseTypeSetMembersQuery/index.d.ts +1 -0
  417. package/dist/dataHooks/useCaseTypeSetMembersQuery/index.js +13 -0
  418. package/dist/dataHooks/useCaseTypeSetMembersQuery/index.js.map +1 -0
  419. package/dist/dataHooks/useCaseTypeSetMembersQuery/useCaseTypeSetMembersQuery.d.ts +3 -0
  420. package/dist/dataHooks/useCaseTypeSetsQuery/index.d.ts +1 -0
  421. package/dist/dataHooks/useCaseTypeSetsQuery/index.js +25 -0
  422. package/dist/dataHooks/useCaseTypeSetsQuery/index.js.map +1 -0
  423. package/dist/dataHooks/useCaseTypeSetsQuery/useCaseTypeSetsQuery.d.ts +7 -0
  424. package/dist/dataHooks/useCaseTypeStatsQuery/index.d.ts +1 -0
  425. package/dist/dataHooks/useCaseTypeStatsQuery/index.js +13 -0
  426. package/dist/dataHooks/useCaseTypeStatsQuery/index.js.map +1 -0
  427. package/dist/dataHooks/useCaseTypeStatsQuery/useCaseTypeStatsQuery.d.ts +3 -0
  428. package/dist/dataHooks/useCaseTypesQuery/index.d.ts +1 -0
  429. package/dist/dataHooks/useCaseTypesQuery/index.js +24 -0
  430. package/dist/dataHooks/useCaseTypesQuery/index.js.map +1 -0
  431. package/dist/dataHooks/useCaseTypesQuery/useCaseTypesQuery.d.ts +9 -0
  432. package/dist/dataHooks/useColSetMembersQuery/index.d.ts +1 -0
  433. package/dist/dataHooks/useColSetMembersQuery/index.js +13 -0
  434. package/dist/dataHooks/useColSetMembersQuery/index.js.map +1 -0
  435. package/dist/dataHooks/useColSetMembersQuery/useColSetMembersQuery.d.ts +3 -0
  436. package/dist/dataHooks/useColSetsQuery/index.d.ts +1 -0
  437. package/dist/dataHooks/useColSetsQuery/index.js +21 -0
  438. package/dist/dataHooks/useColSetsQuery/index.js.map +1 -0
  439. package/dist/dataHooks/useColSetsQuery/useColSetsQuery.d.ts +6 -0
  440. package/dist/dataHooks/useColTypesQuery/index.d.ts +1 -0
  441. package/dist/dataHooks/useColTypesQuery/index.js +51 -0
  442. package/dist/dataHooks/useColTypesQuery/index.js.map +1 -0
  443. package/dist/dataHooks/useColTypesQuery/useColTypesQuery.d.ts +4 -0
  444. package/dist/dataHooks/useColsQuery/index.d.ts +1 -0
  445. package/dist/dataHooks/useColsQuery/index.js +27 -0
  446. package/dist/dataHooks/useColsQuery/index.js.map +1 -0
  447. package/dist/dataHooks/useColsQuery/useColsQuery.d.ts +7 -0
  448. package/dist/dataHooks/useConceptQuery/index.d.ts +1 -0
  449. package/dist/dataHooks/useConceptQuery/index.js +26 -0
  450. package/dist/dataHooks/useConceptQuery/index.js.map +1 -0
  451. package/dist/dataHooks/useConceptQuery/useConceptQuery.d.ts +7 -0
  452. package/dist/dataHooks/useConceptRelationTypeQuery/index.d.ts +1 -0
  453. package/dist/dataHooks/useConceptRelationTypeQuery/index.js +15 -0
  454. package/dist/dataHooks/useConceptRelationTypeQuery/index.js.map +1 -0
  455. package/dist/dataHooks/useConceptRelationTypeQuery/useConceptRelationTypeQuery.d.ts +4 -0
  456. package/dist/dataHooks/useConceptSetTypeQuery/index.d.ts +1 -0
  457. package/dist/dataHooks/useConceptSetTypeQuery/index.js +22 -0
  458. package/dist/dataHooks/useConceptSetTypeQuery/index.js.map +1 -0
  459. package/dist/dataHooks/useConceptSetTypeQuery/useConceptSetTypeQuery.d.ts +4 -0
  460. package/dist/dataHooks/useConceptSetsQuery/index.d.ts +1 -0
  461. package/dist/dataHooks/useConceptSetsQuery/index.js +21 -0
  462. package/dist/dataHooks/useConceptSetsQuery/index.js.map +1 -0
  463. package/dist/dataHooks/useConceptSetsQuery/useConceptSetsQuery.d.ts +6 -0
  464. package/dist/dataHooks/useDataCollectionSetMembersQuery/index.d.ts +1 -0
  465. package/dist/dataHooks/useDataCollectionSetMembersQuery/index.js +13 -0
  466. package/dist/dataHooks/useDataCollectionSetMembersQuery/index.js.map +1 -0
  467. package/dist/dataHooks/useDataCollectionSetMembersQuery/useDataCollectionSetMembersQuery.d.ts +3 -0
  468. package/dist/dataHooks/useDataCollectionsQuery/index.d.ts +1 -0
  469. package/dist/dataHooks/useDataCollectionsQuery/index.js +22 -0
  470. package/dist/dataHooks/useDataCollectionsQuery/index.js.map +1 -0
  471. package/dist/dataHooks/useDataCollectionsQuery/useDataCollectionsQuery.d.ts +6 -0
  472. package/dist/dataHooks/useDimTypesQuery/index.d.ts +1 -0
  473. package/dist/dataHooks/useDimTypesQuery/index.js +26 -0
  474. package/dist/dataHooks/useDimTypesQuery/index.js.map +1 -0
  475. package/dist/dataHooks/useDimTypesQuery/useDimTypesQuery.d.ts +4 -0
  476. package/dist/dataHooks/useDimsQuery/index.d.ts +1 -0
  477. package/dist/dataHooks/useDimsQuery/index.js +26 -0
  478. package/dist/dataHooks/useDimsQuery/index.js.map +1 -0
  479. package/dist/dataHooks/useDimsQuery/useDimsQuery.d.ts +7 -0
  480. package/dist/dataHooks/useDiseasesQuery/index.d.ts +1 -0
  481. package/dist/dataHooks/useDiseasesQuery/index.js +21 -0
  482. package/dist/dataHooks/useDiseasesQuery/index.js.map +1 -0
  483. package/dist/dataHooks/useDiseasesQuery/useDiseasesQuery.d.ts +6 -0
  484. package/dist/dataHooks/useEtiologicalAgentsQuery/index.d.ts +1 -0
  485. package/dist/dataHooks/useEtiologicalAgentsQuery/index.js +21 -0
  486. package/dist/dataHooks/useEtiologicalAgentsQuery/index.js.map +1 -0
  487. package/dist/dataHooks/useEtiologicalAgentsQuery/useEtiologicalAgentsQuery.d.ts +6 -0
  488. package/dist/dataHooks/useGeneticDistanceProtocolsQuery/index.d.ts +1 -0
  489. package/dist/dataHooks/useGeneticDistanceProtocolsQuery/index.js +18 -0
  490. package/dist/dataHooks/useGeneticDistanceProtocolsQuery/index.js.map +1 -0
  491. package/dist/dataHooks/useGeneticDistanceProtocolsQuery/useGeneticDistanceProtocolsQuery.d.ts +5 -0
  492. package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/index.d.ts +1 -0
  493. package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/index.js +14 -0
  494. package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/index.js.map +1 -0
  495. package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/useOrganizationAccessCasePoliciesQuery.d.ts +3 -0
  496. package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/index.d.ts +1 -0
  497. package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/index.js +14 -0
  498. package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/index.js.map +1 -0
  499. package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/useOrganizationShareCasePoliciesQuery.d.ts +3 -0
  500. package/dist/dataHooks/useRefColsQuery/index.d.ts +1 -0
  501. package/dist/dataHooks/useRefColsQuery/index.js +22 -0
  502. package/dist/dataHooks/useRefColsQuery/index.js.map +1 -0
  503. package/dist/dataHooks/useRefColsQuery/useRefColsQuery.d.ts +6 -0
  504. package/dist/dataHooks/useRefColsValidationRulesQuery/index.d.ts +1 -0
  505. package/dist/dataHooks/useRefColsValidationRulesQuery/index.js +13 -0
  506. package/dist/dataHooks/useRefColsValidationRulesQuery/index.js.map +1 -0
  507. package/dist/dataHooks/useRefColsValidationRulesQuery/useRefColsValidationRulesQuery.d.ts +3 -0
  508. package/dist/dataHooks/useRefDimsQuery/index.d.ts +1 -0
  509. package/dist/dataHooks/useRefDimsQuery/index.js +22 -0
  510. package/dist/dataHooks/useRefDimsQuery/index.js.map +1 -0
  511. package/dist/dataHooks/useRefDimsQuery/useRefDimsQuery.d.ts +6 -0
  512. package/dist/dataHooks/useRegionQuery/index.d.ts +1 -0
  513. package/dist/dataHooks/useRegionQuery/index.js +25 -0
  514. package/dist/dataHooks/useRegionQuery/index.js.map +1 -0
  515. package/dist/dataHooks/useRegionQuery/useRegionQuery.d.ts +7 -0
  516. package/dist/dataHooks/useRegionRelationTypeQuery/index.d.ts +1 -0
  517. package/dist/dataHooks/useRegionRelationTypeQuery/index.js +20 -0
  518. package/dist/dataHooks/useRegionRelationTypeQuery/index.js.map +1 -0
  519. package/dist/dataHooks/useRegionRelationTypeQuery/useRegionRelationTypeQuery.d.ts +4 -0
  520. package/dist/dataHooks/useRegionSetsQuery/index.d.ts +1 -0
  521. package/dist/dataHooks/useRegionSetsQuery/index.js +21 -0
  522. package/dist/dataHooks/useRegionSetsQuery/index.js.map +1 -0
  523. package/dist/dataHooks/useRegionSetsQuery/useRegionSetsQuery.d.ts +6 -0
  524. package/dist/dataHooks/useSequencingProtocolsQuery/index.d.ts +1 -0
  525. package/dist/dataHooks/useSequencingProtocolsQuery/index.js +21 -0
  526. package/dist/dataHooks/useSequencingProtocolsQuery/index.js.map +1 -0
  527. package/dist/dataHooks/useSequencingProtocolsQuery/useSequencingProtocolsQuery.d.ts +6 -0
  528. package/dist/dataHooks/useTreeAlgorithmCodesQuery/index.d.ts +1 -0
  529. package/dist/dataHooks/useTreeAlgorithmCodesQuery/index.js +42 -0
  530. package/dist/dataHooks/useTreeAlgorithmCodesQuery/index.js.map +1 -0
  531. package/dist/dataHooks/useTreeAlgorithmCodesQuery/useTreeAlgorithmCodesQuery.d.ts +4 -0
  532. package/dist/dataHooks/useUnitQuery/index.d.ts +1 -0
  533. package/dist/dataHooks/useUnitQuery/index.js +2 -0
  534. package/dist/dataHooks/useUnitQuery/useUnit.d.ts +4 -0
  535. package/dist/dataHooks/useUserAccessCasePoliciesQuery/index.d.ts +1 -0
  536. package/dist/dataHooks/useUserAccessCasePoliciesQuery/index.js +14 -0
  537. package/dist/dataHooks/useUserAccessCasePoliciesQuery/index.js.map +1 -0
  538. package/dist/dataHooks/useUserAccessCasePoliciesQuery/useUserAccessCasePoliciesQuery.d.ts +3 -0
  539. package/dist/dataHooks/useUserEffectiveRightsQuery/index.d.ts +1 -0
  540. package/dist/dataHooks/useUserEffectiveRightsQuery/index.js +83 -0
  541. package/dist/dataHooks/useUserEffectiveRightsQuery/index.js.map +1 -0
  542. package/dist/dataHooks/useUserEffectiveRightsQuery/useUserEffectiveRightsQuery.d.ts +16 -0
  543. package/dist/dataHooks/useUserShareCasePoliciesQuery/index.d.ts +1 -0
  544. package/dist/dataHooks/useUserShareCasePoliciesQuery/index.js +14 -0
  545. package/dist/dataHooks/useUserShareCasePoliciesQuery/index.js.map +1 -0
  546. package/dist/dataHooks/useUserShareCasePoliciesQuery/useUserShareCasePoliciesQuery.d.ts +3 -0
  547. package/dist/hooks/useOrganizationCasePolicyNameFactory/index.d.ts +1 -0
  548. package/dist/hooks/useOrganizationCasePolicyNameFactory/index.js +25 -0
  549. package/dist/hooks/useOrganizationCasePolicyNameFactory/index.js.map +1 -0
  550. package/dist/hooks/useOrganizationCasePolicyNameFactory/useOrganizationCasePolicyNameFactory.d.ts +3 -0
  551. package/dist/hooks/useUserCasePolicyNameFactory/index.d.ts +1 -0
  552. package/dist/hooks/useUserCasePolicyNameFactory/index.js +28 -0
  553. package/dist/hooks/useUserCasePolicyNameFactory/index.js.map +1 -0
  554. package/dist/hooks/useUserCasePolicyNameFactory/useUserCasePolicyNameFactory.d.ts +3 -0
  555. package/dist/locale/en.json +676 -0
  556. package/dist/locale/nl.json +676 -0
  557. package/dist/models/caseAccess.d.ts +15 -0
  558. package/dist/models/caseAccess.js +0 -0
  559. package/dist/models/caseDb.d.ts +96 -0
  560. package/dist/models/caseDb.js +8 -0
  561. package/dist/models/caseDb.js.map +1 -0
  562. package/dist/models/config.d.ts +70 -0
  563. package/dist/models/config.js +0 -0
  564. package/dist/models/dashboard.d.ts +91 -0
  565. package/dist/models/dashboard.js +10 -0
  566. package/dist/models/dashboard.js.map +1 -0
  567. package/dist/models/stratification.d.ts +40 -0
  568. package/dist/models/stratification.js +12 -0
  569. package/dist/models/stratification.js.map +1 -0
  570. package/dist/models/theme.d.ts +17 -0
  571. package/dist/models/theme.js +0 -0
  572. package/dist/models/upload.d.ts +51 -0
  573. package/dist/models/upload.js +8 -0
  574. package/dist/models/upload.js.map +1 -0
  575. package/dist/pages/CaseDbUsersAdminPage/CaseDbUsersAdminPage.d.ts +1 -0
  576. package/dist/pages/CaseDbUsersAdminPage/index.d.ts +1 -0
  577. package/dist/pages/CaseDbUsersAdminPage/index.js +67 -0
  578. package/dist/pages/CaseDbUsersAdminPage/index.js.map +1 -0
  579. package/dist/pages/CaseSetCategoryAdminPage/CaseSetCategoryAdminPage.d.ts +1 -0
  580. package/dist/pages/CaseSetCategoryAdminPage/index.d.ts +1 -0
  581. package/dist/pages/CaseSetCategoryAdminPage/index.js +69 -0
  582. package/dist/pages/CaseSetCategoryAdminPage/index.js.map +1 -0
  583. package/dist/pages/CaseSetStatusAdminPage/CaseSetStatusAdminPage.d.ts +1 -0
  584. package/dist/pages/CaseSetStatusAdminPage/index.d.ts +1 -0
  585. package/dist/pages/CaseSetStatusAdminPage/index.js +69 -0
  586. package/dist/pages/CaseSetStatusAdminPage/index.js.map +1 -0
  587. package/dist/pages/CaseTypeSetCategoriesAdminPage/CaseTypeSetCategoriesAdminPage.d.ts +1 -0
  588. package/dist/pages/CaseTypeSetCategoriesAdminPage/index.d.ts +1 -0
  589. package/dist/pages/CaseTypeSetCategoriesAdminPage/index.js +92 -0
  590. package/dist/pages/CaseTypeSetCategoriesAdminPage/index.js.map +1 -0
  591. package/dist/pages/CaseTypeSetsAdminPage/CaseTypeSetsAdminPage.d.ts +1 -0
  592. package/dist/pages/CaseTypeSetsAdminPage/index.d.ts +1 -0
  593. package/dist/pages/CaseTypeSetsAdminPage/index.js +148 -0
  594. package/dist/pages/CaseTypeSetsAdminPage/index.js.map +1 -0
  595. package/dist/pages/CaseTypesAdminPage/CaseTypesAdminPage.d.ts +1 -0
  596. package/dist/pages/CaseTypesAdminPage/index.d.ts +1 -0
  597. package/dist/pages/CaseTypesAdminPage/index.js +288 -0
  598. package/dist/pages/CaseTypesAdminPage/index.js.map +1 -0
  599. package/dist/pages/CasesDetailPage/CasesDetailPage.d.ts +1 -0
  600. package/dist/pages/CasesDetailPage/index.d.ts +1 -0
  601. package/dist/pages/CasesDetailPage/index.js +41 -0
  602. package/dist/pages/CasesDetailPage/index.js.map +1 -0
  603. package/dist/pages/CasesPage/CasesPage.d.ts +1 -0
  604. package/dist/pages/CasesPage/index.d.ts +1 -0
  605. package/dist/pages/CasesPage/index.js +229 -0
  606. package/dist/pages/CasesPage/index.js.map +1 -0
  607. package/dist/pages/ColSetsAdminPage/ColSetsAdminPage.d.ts +1 -0
  608. package/dist/pages/ColSetsAdminPage/index.d.ts +1 -0
  609. package/dist/pages/ColSetsAdminPage/index.js +109 -0
  610. package/dist/pages/ColSetsAdminPage/index.js.map +1 -0
  611. package/dist/pages/ColsAdminPage/ColsAdminPage.d.ts +1 -0
  612. package/dist/pages/ColsAdminPage/index.d.ts +1 -0
  613. package/dist/pages/ColsAdminPage/index.js +315 -0
  614. package/dist/pages/ColsAdminPage/index.js.map +1 -0
  615. package/dist/pages/ConceptRelationsAdminPage/ConceptRelationsAdminPage.d.ts +1 -0
  616. package/dist/pages/ConceptRelationsAdminPage/index.d.ts +1 -0
  617. package/dist/pages/ConceptRelationsAdminPage/index.js +103 -0
  618. package/dist/pages/ConceptRelationsAdminPage/index.js.map +1 -0
  619. package/dist/pages/ConceptSetsAdminPage/ConceptSetsAdminPage.d.ts +1 -0
  620. package/dist/pages/ConceptSetsAdminPage/index.d.ts +1 -0
  621. package/dist/pages/ConceptSetsAdminPage/index.js +112 -0
  622. package/dist/pages/ConceptSetsAdminPage/index.js.map +1 -0
  623. package/dist/pages/ConceptsAdminPage/ConceptsAdminPage.d.ts +1 -0
  624. package/dist/pages/ConceptsAdminPage/index.d.ts +1 -0
  625. package/dist/pages/ConceptsAdminPage/index.js +94 -0
  626. package/dist/pages/ConceptsAdminPage/index.js.map +1 -0
  627. package/dist/pages/DataCollectionSetsAdminPage/DataCollectionSetsAdminPage.d.ts +1 -0
  628. package/dist/pages/DataCollectionSetsAdminPage/index.d.ts +1 -0
  629. package/dist/pages/DataCollectionSetsAdminPage/index.js +99 -0
  630. package/dist/pages/DataCollectionSetsAdminPage/index.js.map +1 -0
  631. package/dist/pages/DataCollectionVisualizationPage/DataCollectionVisualizationPage.d.ts +1 -0
  632. package/dist/pages/DataCollectionVisualizationPage/index.d.ts +1 -0
  633. package/dist/pages/DataCollectionVisualizationPage/index.js +494 -0
  634. package/dist/pages/DataCollectionVisualizationPage/index.js.map +1 -0
  635. package/dist/pages/DataCollectionsAdminPage/DataCollectionsAdminPage.d.ts +1 -0
  636. package/dist/pages/DataCollectionsAdminPage/index.d.ts +1 -0
  637. package/dist/pages/DataCollectionsAdminPage/index.js +54 -0
  638. package/dist/pages/DataCollectionsAdminPage/index.js.map +1 -0
  639. package/dist/pages/DimsAdminPage/DimsAdminPage.d.ts +1 -0
  640. package/dist/pages/DimsAdminPage/index.d.ts +1 -0
  641. package/dist/pages/DimsAdminPage/index.js +146 -0
  642. package/dist/pages/DimsAdminPage/index.js.map +1 -0
  643. package/dist/pages/DiseasesAdminPage/DiseasesAdminPage.d.ts +1 -0
  644. package/dist/pages/DiseasesAdminPage/index.d.ts +1 -0
  645. package/dist/pages/DiseasesAdminPage/index.js +57 -0
  646. package/dist/pages/DiseasesAdminPage/index.js.map +1 -0
  647. package/dist/pages/EtiologicalAgentsAdminPage/EtiologicalAgentsAdminPage.d.ts +1 -0
  648. package/dist/pages/EtiologicalAgentsAdminPage/index.d.ts +1 -0
  649. package/dist/pages/EtiologicalAgentsAdminPage/index.js +54 -0
  650. package/dist/pages/EtiologicalAgentsAdminPage/index.js.map +1 -0
  651. package/dist/pages/EtiologiesAdminPage/EtiologiesAdminPage.d.ts +1 -0
  652. package/dist/pages/EtiologiesAdminPage/index.d.ts +1 -0
  653. package/dist/pages/EtiologiesAdminPage/index.js +76 -0
  654. package/dist/pages/EtiologiesAdminPage/index.js.map +1 -0
  655. package/dist/pages/EventsDetailPage/EventsDetailPage.d.ts +1 -0
  656. package/dist/pages/EventsDetailPage/index.d.ts +1 -0
  657. package/dist/pages/EventsDetailPage/index.js +56 -0
  658. package/dist/pages/EventsDetailPage/index.js.map +1 -0
  659. package/dist/pages/EventsPage/EventsPage.d.ts +1 -0
  660. package/dist/pages/EventsPage/index.d.ts +1 -0
  661. package/dist/pages/EventsPage/index.js +221 -0
  662. package/dist/pages/EventsPage/index.js.map +1 -0
  663. package/dist/pages/HomePage/HomePage.d.ts +1 -0
  664. package/dist/pages/HomePage/index.d.ts +1 -0
  665. package/dist/pages/HomePage/index.js +35 -0
  666. package/dist/pages/HomePage/index.js.map +1 -0
  667. package/dist/pages/OrganizationAccessCasePoliciesAdminPage/OrganizationAccessCasePoliciesAdminPage.d.ts +1 -0
  668. package/dist/pages/OrganizationAccessCasePoliciesAdminPage/index.d.ts +1 -0
  669. package/dist/pages/OrganizationAccessCasePoliciesAdminPage/index.js +216 -0
  670. package/dist/pages/OrganizationAccessCasePoliciesAdminPage/index.js.map +1 -0
  671. package/dist/pages/OrganizationShareCasePoliciesAdminPage/OrganizationShareCasePoliciesAdminPage.d.ts +1 -0
  672. package/dist/pages/OrganizationShareCasePoliciesAdminPage/index.d.ts +1 -0
  673. package/dist/pages/OrganizationShareCasePoliciesAdminPage/index.js +170 -0
  674. package/dist/pages/OrganizationShareCasePoliciesAdminPage/index.js.map +1 -0
  675. package/dist/pages/RefColsAdminPage/RefColsAdminPage.d.ts +1 -0
  676. package/dist/pages/RefColsAdminPage/index.d.ts +1 -0
  677. package/dist/pages/RefColsAdminPage/index.js +302 -0
  678. package/dist/pages/RefColsAdminPage/index.js.map +1 -0
  679. package/dist/pages/RefDimsAdminPage/RefDimsAdminPage.d.ts +1 -0
  680. package/dist/pages/RefDimsAdminPage/index.d.ts +1 -0
  681. package/dist/pages/RefDimsAdminPage/index.js +110 -0
  682. package/dist/pages/RefDimsAdminPage/index.js.map +1 -0
  683. package/dist/pages/RegionRelationsAdminPage/RegionRelationsAdminPage.d.ts +1 -0
  684. package/dist/pages/RegionRelationsAdminPage/index.d.ts +1 -0
  685. package/dist/pages/RegionRelationsAdminPage/index.js +102 -0
  686. package/dist/pages/RegionRelationsAdminPage/index.js.map +1 -0
  687. package/dist/pages/RegionSetShapesAdminPage/RegionSetShapesAdminPage.d.ts +1 -0
  688. package/dist/pages/RegionSetShapesAdminPage/index.d.ts +1 -0
  689. package/dist/pages/RegionSetShapesAdminPage/index.js +73 -0
  690. package/dist/pages/RegionSetShapesAdminPage/index.js.map +1 -0
  691. package/dist/pages/RegionSetsAdminPage/RegionSetsAdminPage.d.ts +1 -0
  692. package/dist/pages/RegionSetsAdminPage/index.d.ts +1 -0
  693. package/dist/pages/RegionSetsAdminPage/index.js +101 -0
  694. package/dist/pages/RegionSetsAdminPage/index.js.map +1 -0
  695. package/dist/pages/RegionsAdminPage/RegionsAdminPage.d.ts +1 -0
  696. package/dist/pages/RegionsAdminPage/index.d.ts +1 -0
  697. package/dist/pages/RegionsAdminPage/index.js +99 -0
  698. package/dist/pages/RegionsAdminPage/index.js.map +1 -0
  699. package/dist/pages/TrendsPage/TrendsPage.d.ts +1 -0
  700. package/dist/pages/TrendsPage/index.d.ts +1 -0
  701. package/dist/pages/TrendsPage/index.js +17 -0
  702. package/dist/pages/TrendsPage/index.js.map +1 -0
  703. package/dist/pages/UploadPage/UploadPage.d.ts +1 -0
  704. package/dist/pages/UploadPage/index.d.ts +1 -0
  705. package/dist/pages/UploadPage/index.js +31 -0
  706. package/dist/pages/UploadPage/index.js.map +1 -0
  707. package/dist/pages/UserAccessCasePoliciesAdminPage/UserAccessCasePoliciesAdminPage.d.ts +1 -0
  708. package/dist/pages/UserAccessCasePoliciesAdminPage/index.d.ts +1 -0
  709. package/dist/pages/UserAccessCasePoliciesAdminPage/index.js +206 -0
  710. package/dist/pages/UserAccessCasePoliciesAdminPage/index.js.map +1 -0
  711. package/dist/pages/UserEffectiveRightsAdminPage/UserEffectiveRightsAdminPage.d.ts +1 -0
  712. package/dist/pages/UserEffectiveRightsAdminPage/index.d.ts +1 -0
  713. package/dist/pages/UserEffectiveRightsAdminPage/index.js +246 -0
  714. package/dist/pages/UserEffectiveRightsAdminPage/index.js.map +1 -0
  715. package/dist/pages/UserEffectiveRightsTesterAdminPage/UserEffectiveRightsTesterAdminPage.d.ts +1 -0
  716. package/dist/pages/UserEffectiveRightsTesterAdminPage/index.d.ts +1 -0
  717. package/dist/pages/UserEffectiveRightsTesterAdminPage/index.js +195 -0
  718. package/dist/pages/UserEffectiveRightsTesterAdminPage/index.js.map +1 -0
  719. package/dist/pages/UserShareCasePoliciesAdminPage/UserShareCasePoliciesAdminPage.d.ts +1 -0
  720. package/dist/pages/UserShareCasePoliciesAdminPage/index.d.ts +1 -0
  721. package/dist/pages/UserShareCasePoliciesAdminPage/index.js +169 -0
  722. package/dist/pages/UserShareCasePoliciesAdminPage/index.js.map +1 -0
  723. package/dist/routes/adminRoutes.d.ts +6 -0
  724. package/dist/routes/index.d.ts +2 -0
  725. package/dist/routes/index.js +1110 -0
  726. package/dist/routes/index.js.map +1 -0
  727. package/dist/routes/routes.d.ts +6 -0
  728. package/dist/setup/setup.d.ts +1 -0
  729. package/dist/setup/setup.js +28 -0
  730. package/dist/setup/setup.js.map +1 -0
  731. package/dist/stores/dashboardStore/dashboardStore.d.ts +80 -0
  732. package/dist/stores/dashboardStore/dashboardStoreContext.d.ts +3 -0
  733. package/dist/stores/dashboardStore/index.d.ts +2 -0
  734. package/dist/stores/dashboardStore/index.js +2 -0
  735. package/dist/stores/uploadStore/index.d.ts +2 -0
  736. package/dist/stores/uploadStore/index.js +185 -0
  737. package/dist/stores/uploadStore/index.js.map +1 -0
  738. package/dist/stores/uploadStore/uploadStore.d.ts +80 -0
  739. package/dist/stores/uploadStore/uploadStoreContext.d.ts +3 -0
  740. package/dist/stores/userProfileStore/index.d.ts +1 -0
  741. package/dist/stores/userProfileStore/index.js +81 -0
  742. package/dist/stores/userProfileStore/index.js.map +1 -0
  743. package/dist/stores/userProfileStore/userProfileStore.d.ts +38 -0
  744. package/dist/stores/userProfileStore/userProfileStoreContext.d.ts +3 -0
  745. package/dist/theme/demoTheme/demoTheme.d.ts +3 -0
  746. package/dist/theme/demoTheme/index.d.ts +1 -0
  747. package/dist/theme/demoTheme/index.js +20 -0
  748. package/dist/theme/demoTheme/index.js.map +1 -0
  749. package/dist/utils/AbacUtil/AbacUtil.d.ts +7 -0
  750. package/dist/utils/AbacUtil/index.d.ts +1 -0
  751. package/dist/utils/AbacUtil/index.js +31 -0
  752. package/dist/utils/AbacUtil/index.js.map +1 -0
  753. package/dist/utils/CaseDbDataUtil/CaseDbDataUtil.d.ts +31 -0
  754. package/dist/utils/CaseDbDataUtil/index.d.ts +1 -0
  755. package/dist/utils/CaseDbDataUtil/index.js +43 -0
  756. package/dist/utils/CaseDbDataUtil/index.js.map +1 -0
  757. package/dist/utils/CaseDbDownloadUtil/CaseDbDownloadUtil.d.ts +17 -0
  758. package/dist/utils/CaseDbDownloadUtil/index.d.ts +1 -0
  759. package/dist/utils/CaseDbDownloadUtil/index.js +2 -0
  760. package/dist/utils/CaseDbStandardConfigUtil/CaseDbStandardConfigUtil.d.ts +7 -0
  761. package/dist/utils/CaseDbStandardConfigUtil/index.d.ts +1 -0
  762. package/dist/utils/CaseDbStandardConfigUtil/index.js +4778 -0
  763. package/dist/utils/CaseDbStandardConfigUtil/index.js.map +1 -0
  764. package/dist/utils/CaseDbTableUtil/CaseDbTableUtil.d.ts +6 -0
  765. package/dist/utils/CaseDbTableUtil/index.d.ts +1 -0
  766. package/dist/utils/CaseDbTableUtil/index.js +41 -0
  767. package/dist/utils/CaseDbTableUtil/index.js.map +1 -0
  768. package/dist/utils/CaseSelectionUtil/CaseSelectionUtil.d.ts +8 -0
  769. package/dist/utils/CaseSelectionUtil/index.d.ts +1 -0
  770. package/dist/utils/CaseSelectionUtil/index.js +29 -0
  771. package/dist/utils/CaseSelectionUtil/index.js.map +1 -0
  772. package/dist/utils/CaseSetUtil/CaseSetUtil.d.ts +4 -0
  773. package/dist/utils/CaseSetUtil/index.d.ts +1 -0
  774. package/dist/utils/CaseSetUtil/index.js +13 -0
  775. package/dist/utils/CaseSetUtil/index.js.map +1 -0
  776. package/dist/utils/CaseTypeFormUtil/CaseTypeFormUtil.d.ts +20 -0
  777. package/dist/utils/CaseTypeFormUtil/index.d.ts +1 -0
  778. package/dist/utils/CaseTypeFormUtil/index.js +199 -0
  779. package/dist/utils/CaseTypeFormUtil/index.js.map +1 -0
  780. package/dist/utils/CaseTypeUtil/CaseTypeUtil.d.ts +39 -0
  781. package/dist/utils/CaseTypeUtil/index.d.ts +1 -0
  782. package/dist/utils/CaseTypeUtil/index.js +135 -0
  783. package/dist/utils/CaseTypeUtil/index.js.map +1 -0
  784. package/dist/utils/CaseUtil/CaseUtil.d.ts +18 -0
  785. package/dist/utils/CaseUtil/index.d.ts +1 -0
  786. package/dist/utils/CaseUtil/index.js +138 -0
  787. package/dist/utils/CaseUtil/index.js.map +1 -0
  788. package/dist/utils/DashboardUtil/DashboardUtil.d.ts +29 -0
  789. package/dist/utils/DashboardUtil/index.d.ts +1 -0
  790. package/dist/utils/DashboardUtil/index.js +152 -0
  791. package/dist/utils/DashboardUtil/index.js.map +1 -0
  792. package/dist/utils/DataSetUtil/DataSetUtil.d.ts +17 -0
  793. package/dist/utils/DataSetUtil/index.d.ts +1 -0
  794. package/dist/utils/DataSetUtil/index.js +43 -0
  795. package/dist/utils/DataSetUtil/index.js.map +1 -0
  796. package/dist/utils/EffectiveRightsUtil/EffectiveRightsUtil.d.ts +29 -0
  797. package/dist/utils/EffectiveRightsUtil/index.d.ts +1 -0
  798. package/dist/utils/EffectiveRightsUtil/index.js +118 -0
  799. package/dist/utils/EffectiveRightsUtil/index.js.map +1 -0
  800. package/dist/utils/EpiCurveUtil/EpiCurveUtil.d.ts +96 -0
  801. package/dist/utils/EpiCurveUtil/index.d.ts +1 -0
  802. package/dist/utils/EpiCurveUtil/index.js +2 -0
  803. package/dist/utils/FileUtil/FileUtil.d.ts +5 -0
  804. package/dist/utils/FileUtil/index.d.ts +1 -0
  805. package/dist/utils/FileUtil/index.js +15 -0
  806. package/dist/utils/FileUtil/index.js.map +1 -0
  807. package/dist/utils/FilterUtil/FilterUtil.d.ts +11 -0
  808. package/dist/utils/FilterUtil/index.d.ts +1 -0
  809. package/dist/utils/FilterUtil/index.js +2 -0
  810. package/dist/utils/FindSimilarCasesUtil/FindSimilarCasesUtil.d.ts +7 -0
  811. package/dist/utils/FindSimilarCasesUtil/index.d.ts +1 -0
  812. package/dist/utils/FindSimilarCasesUtil/index.js +2 -0
  813. package/dist/utils/HistogramUtil/HistogramUtil.d.ts +78 -0
  814. package/dist/utils/HistogramUtil/index.d.ts +1 -0
  815. package/dist/utils/HistogramUtil/index.js +145 -0
  816. package/dist/utils/HistogramUtil/index.js.map +1 -0
  817. package/dist/utils/MapUtil/MapUtil.d.ts +38 -0
  818. package/dist/utils/MapUtil/index.d.ts +1 -0
  819. package/dist/utils/MapUtil/index.js +210 -0
  820. package/dist/utils/MapUtil/index.js.map +1 -0
  821. package/dist/utils/StratificationUtil/StratificationUtil.d.ts +25 -0
  822. package/dist/utils/StratificationUtil/index.d.ts +1 -0
  823. package/dist/utils/StratificationUtil/index.js +198 -0
  824. package/dist/utils/StratificationUtil/index.js.map +1 -0
  825. package/dist/utils/TreeWidgetUtil/TreeWidgetUtil.d.ts +7 -0
  826. package/dist/utils/TreeWidgetUtil/index.d.ts +1 -0
  827. package/dist/utils/TreeWidgetUtil/index.js +35 -0
  828. package/dist/utils/TreeWidgetUtil/index.js.map +1 -0
  829. package/dist/utils/UploadUtil/UploadUtil.d.ts +106 -0
  830. package/dist/utils/UploadUtil/index.d.ts +1 -0
  831. package/dist/utils/UploadUtil/index.js +2 -0
  832. package/package.json +784 -0
@@ -0,0 +1,210 @@
1
+ import { h as e, p as t } from "../../_chunks/_MapCache.js";
2
+ import { r as n } from "../../_chunks/isArrayLike.js";
3
+ import { n as r } from "../../_chunks/toString.js";
4
+ import { t as i } from "../../_chunks/round.js";
5
+ import { DashboardUtil as a } from "../DashboardUtil/index.js";
6
+ import { ConfigService as o } from "@gen-epix/ui/classes/services/ConfigService";
7
+ //#region ../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseExtremum.js
8
+ var s = /* @__PURE__ */ t(((e, t) => {
9
+ var n = r();
10
+ function i(e, t, r) {
11
+ for (var i = -1, a = e.length; ++i < a;) {
12
+ var o = e[i], s = t(o);
13
+ if (s != null && (c === void 0 ? s === s && !n(s) : r(s, c))) var c = s, l = o;
14
+ }
15
+ return l;
16
+ }
17
+ t.exports = i;
18
+ })), c = /* @__PURE__ */ t(((e, t) => {
19
+ function n(e, t) {
20
+ return e > t;
21
+ }
22
+ t.exports = n;
23
+ })), l = /* @__PURE__ */ t(((e, t) => {
24
+ var r = s(), i = c(), a = n();
25
+ function o(e) {
26
+ return e && e.length ? r(e, a, i) : void 0;
27
+ }
28
+ t.exports = o;
29
+ })), u = /* @__PURE__ */ t(((e, t) => {
30
+ function n(e, t) {
31
+ return e < t;
32
+ }
33
+ t.exports = n;
34
+ })), d = /* @__PURE__ */ t(((e, t) => {
35
+ var r = s(), i = u(), a = n();
36
+ function o(e) {
37
+ return e && e.length ? r(e, a, i) : void 0;
38
+ }
39
+ t.exports = o;
40
+ })), f = /* @__PURE__ */ e(l(), 1), p = /* @__PURE__ */ e(d(), 1), m = /* @__PURE__ */ e(i(), 1), h = class e {
41
+ static getGeoJsonAspectScale(t) {
42
+ let n = e.getGeoJsonBounds(t);
43
+ if (!n) return 1;
44
+ let r = (n[1] + n[3]) / 2;
45
+ if (!Number.isFinite(r) || Math.abs(r) > 90) return 1;
46
+ let i = Math.cos(r * Math.PI / 180);
47
+ return Number.isFinite(i) && i > 0 ? i : 1;
48
+ }
49
+ static getMapSeries(t, n, r, i, o) {
50
+ if (!t || !n) return {
51
+ mapCaseCount: void 0,
52
+ series: []
53
+ };
54
+ let s = [], { numCases: c, statisticsPerRegion: l } = e.getRegionStatistics(r, t.id, n), u = {
55
+ animation: !1,
56
+ coordinateSystem: "geo",
57
+ label: {
58
+ show: !1,
59
+ silent: !0
60
+ },
61
+ labelLine: {
62
+ show: !0,
63
+ smooth: !0
64
+ },
65
+ type: "pie"
66
+ };
67
+ return Object.entries(l).forEach(([e, t]) => {
68
+ let n = [];
69
+ if (i) i.legendaItems.forEach((r) => {
70
+ let i = t.rows.filter((e) => r.caseIds.includes(e.id)), o = i.map((e) => e.id), s = a.getCaseCount(i);
71
+ n.push({
72
+ emphasis: { focus: "self" },
73
+ genEpixData: {
74
+ caseIds: o,
75
+ regionId: e
76
+ },
77
+ label: { formatter: () => t.region.name },
78
+ name: r.rowValue.full,
79
+ value: s
80
+ });
81
+ });
82
+ else {
83
+ let r = t.rows.map((e) => e.id);
84
+ if (r.length === 0) return;
85
+ n.push({
86
+ emphasis: { focus: "self" },
87
+ genEpixData: {
88
+ caseIds: r,
89
+ regionId: e
90
+ },
91
+ label: { formatter: () => t.region.name },
92
+ name: "num-cases",
93
+ value: t.numCases
94
+ });
95
+ }
96
+ s.push({
97
+ ...u,
98
+ center: [t.region.center_lon, t.region.center_lat],
99
+ data: n,
100
+ radius: o(t.numCases),
101
+ tooltip: { formatter: (e) => {
102
+ let n = e.data;
103
+ return i ? `${t.region.name} - ${n.name} (n=${n.value}, ${Math.round(n.value / t.numCases * 100)}%)` : `${t.region.name} (n=${t.numCases}, ${Math.round(t.numCases / c * 100)}%)`;
104
+ } }
105
+ });
106
+ }), {
107
+ mapCaseCount: c,
108
+ series: s
109
+ };
110
+ }
111
+ static getMaxPieChartArea(e, t, n) {
112
+ if (!e || !t || !n) return 0;
113
+ let r = Math.min(e, t) ** 2 / n;
114
+ return (Math.sqrt(r) / 4 / 2) ** 2 * Math.PI;
115
+ }
116
+ static getPieChartRadius(e, t, n) {
117
+ let { maxNumCases: r, minNumCases: i } = n, { MIN_PIE_CHART_RADIUS: a } = o.getInstance().config.map, s = a ** 2 * Math.PI, c;
118
+ c = r > i ? Math.max(s, t - s) / (r - i) * (e - i) + s : t;
119
+ let l = (0, m.default)(Math.sqrt(c / Math.PI), 2);
120
+ return Math.max(a, l);
121
+ }
122
+ static getRegionStatistics(e, t, n) {
123
+ if (!e.length || !t || !n?.length) return {
124
+ maxNumCases: 0,
125
+ minNumCases: 0,
126
+ numCases: 0,
127
+ statisticsPerRegion: {}
128
+ };
129
+ let r = 0, i = {};
130
+ return e.forEach((e) => {
131
+ let a = e.content[t];
132
+ a && (i[a] || (i[a] = {
133
+ numCases: 0,
134
+ region: n.find((e) => e.id === a),
135
+ rows: []
136
+ }), i[a].rows.push(e), i[a].numCases += e.count ?? 1, r += e.count ?? 1);
137
+ }), {
138
+ maxNumCases: (0, f.default)(Object.values(i).map((e) => e.numCases)),
139
+ minNumCases: (0, p.default)(Object.values(i).map((e) => e.numCases)),
140
+ numCases: r,
141
+ statisticsPerRegion: i
142
+ };
143
+ }
144
+ static createEmptyBounds() {
145
+ return [
146
+ Infinity,
147
+ Infinity,
148
+ -Infinity,
149
+ -Infinity
150
+ ];
151
+ }
152
+ static expandBoundsFromCoordinates(t, n) {
153
+ if (!(!Array.isArray(n) || !n.length)) {
154
+ if (typeof n[0] == "number" && typeof n[1] == "number") {
155
+ let [e, r] = n;
156
+ if (!Number.isFinite(e) || !Number.isFinite(r)) return;
157
+ t[0] = Math.min(t[0], e), t[1] = Math.min(t[1], r), t[2] = Math.max(t[2], e), t[3] = Math.max(t[3], r);
158
+ return;
159
+ }
160
+ n.forEach((n) => e.expandBoundsFromCoordinates(t, n));
161
+ }
162
+ }
163
+ static expandBoundsFromFeature(t, n) {
164
+ if (!n) return;
165
+ let r = e.normalizeBounds(n.bbox);
166
+ if (r) {
167
+ e.mergeBounds(t, r);
168
+ return;
169
+ }
170
+ e.expandBoundsFromGeometry(t, n.geometry);
171
+ }
172
+ static expandBoundsFromGeometry(t, n) {
173
+ if (!n) return;
174
+ let r = e.normalizeBounds(n.bbox);
175
+ if (r) {
176
+ e.mergeBounds(t, r);
177
+ return;
178
+ }
179
+ e.expandBoundsFromCoordinates(t, n.coordinates), n.geometries?.forEach((n) => e.expandBoundsFromGeometry(t, n));
180
+ }
181
+ static getGeoJsonBounds(t) {
182
+ try {
183
+ let n = JSON.parse(t);
184
+ return e.getGeoJsonObjectBounds(n);
185
+ } catch {
186
+ return null;
187
+ }
188
+ }
189
+ static getGeoJsonObjectBounds(t) {
190
+ let n = e.normalizeBounds(t.bbox);
191
+ if (n) return n;
192
+ let r = e.createEmptyBounds();
193
+ return e.expandBoundsFromCoordinates(r, t.coordinates), t.features?.forEach((t) => e.expandBoundsFromFeature(r, t)), t.geometries?.forEach((t) => e.expandBoundsFromGeometry(r, t)), e.expandBoundsFromGeometry(r, t.geometry), e.hasBounds(r) ? r : null;
194
+ }
195
+ static hasBounds(e) {
196
+ return e.every(Number.isFinite);
197
+ }
198
+ static mergeBounds(e, t) {
199
+ e[0] = Math.min(e[0], t[0]), e[1] = Math.min(e[1], t[1]), e[2] = Math.max(e[2], t[2]), e[3] = Math.max(e[3], t[3]);
200
+ }
201
+ static normalizeBounds(e) {
202
+ if (!e || e.length < 4) return null;
203
+ let t = e.slice(0, 4);
204
+ return t.every(Number.isFinite) ? t : null;
205
+ }
206
+ };
207
+ //#endregion
208
+ export { h as MapUtil };
209
+
210
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseExtremum.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseGt.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/max.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseLt.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/min.js","../../../src/utils/MapUtil/MapUtil.ts"],"sourcesContent":["var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;\n","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","import max from 'lodash/max';\nimport min from 'lodash/min';\nimport round from 'lodash/round';\nimport type { PieSeriesOption } from 'echarts';\nimport type {\n CaseDbCase,\n CaseDbCol,\n CaseDbRegion,\n} from '@gen-epix/api-casedb';\nimport { ConfigService } from '@gen-epix/ui/classes/services/ConfigService';\nimport type { UnwrapArray } from '@gen-epix/ui-core/models/generic';\n\nimport type { CaseDbConfig } from '../../models/config';\nimport type { Stratification } from '../../models/stratification';\nimport { DashboardUtil } from '../DashboardUtil';\n\n\nexport type GenEpixPieSeriesOptionEventData = {\n genEpixData?: {\n caseIds: string[];\n regionId: string;\n };\n};\n\nexport type RegionStatistics = {\n maxNumCases: number;\n minNumCases: number;\n numCases: number;\n statisticsPerRegion: Record<string, { numCases: number; region: CaseDbRegion; rows: CaseDbCase[] }>;\n};\n\ntype GenEpixPieSeriesOptionData = Array<GenEpixPieSeriesOptionEventData & UnwrapArray<PieSeriesOption['data']>>;\n\ntype GeoJsonBounds = [number, number, number, number];\ntype GeoJsonFeature = {\n bbox?: number[];\n geometry?: GeoJsonGeometry | null;\n};\ntype GeoJsonGeometry = {\n bbox?: number[];\n coordinates?: unknown;\n geometries?: GeoJsonGeometry[];\n};\ntype GeoJsonObject = {\n bbox?: number[];\n coordinates?: unknown;\n features?: GeoJsonFeature[];\n geometries?: GeoJsonGeometry[];\n geometry?: GeoJsonGeometry | null;\n};\n\nexport class MapUtil {\n public static getGeoJsonAspectScale(geoJson: string) {\n const bounds = MapUtil.getGeoJsonBounds(geoJson);\n if (!bounds) {\n return 1;\n }\n\n const centerLatitude = (bounds[1] + bounds[3]) / 2;\n if (!Number.isFinite(centerLatitude) || Math.abs(centerLatitude) > 90) {\n return 1;\n }\n\n const aspectScale = Math.cos(centerLatitude * Math.PI / 180);\n return Number.isFinite(aspectScale) && aspectScale > 0 ? aspectScale : 1;\n }\n\n public static getMapSeries(\n col: CaseDbCol | null,\n regions: CaseDbRegion[],\n sortedData: CaseDbCase[],\n stratification: null | Stratification,\n getPieChartRadius: (numCases: number) => number,\n ): { mapCaseCount: number; series: PieSeriesOption[] } {\n if (!col || !regions) {\n return {\n mapCaseCount: undefined,\n series: [],\n };\n }\n\n const pieSeriesOptions: PieSeriesOption[] = [];\n\n const { numCases: totalNumCases, statisticsPerRegion } = MapUtil.getRegionStatistics(sortedData, col.id, regions);\n\n const pieChartOptionsBase: Partial<PieSeriesOption> = {\n animation: false,\n coordinateSystem: 'geo',\n label: {\n show: false,\n silent: true,\n },\n labelLine: {\n show: true,\n smooth: true,\n },\n type: 'pie',\n };\n\n Object.entries(statisticsPerRegion).forEach(([regionId, regionData]) => {\n const data: GenEpixPieSeriesOptionData = [];\n\n if (!stratification) {\n const caseIds = regionData.rows.map(row => row.id);\n if (caseIds.length === 0) {\n return;\n }\n data.push({\n emphasis: {\n focus: 'self',\n },\n genEpixData: {\n caseIds,\n regionId,\n },\n label: {\n formatter: () => regionData.region.name,\n },\n name: 'num-cases',\n value: regionData.numCases,\n });\n } else {\n stratification.legendaItems.forEach(legendaItem => {\n const rows = regionData.rows.filter(row => legendaItem.caseIds.includes(row.id));\n const caseIds = rows.map(row => row.id);\n const numCases = DashboardUtil.getCaseCount(rows);\n data.push({\n emphasis: {\n focus: 'self',\n },\n genEpixData: {\n caseIds,\n regionId,\n },\n label: {\n formatter: () => regionData.region.name,\n },\n name: legendaItem.rowValue.full,\n value: numCases,\n });\n });\n }\n\n pieSeriesOptions.push({\n ...pieChartOptionsBase,\n center: [regionData.region.center_lon, regionData.region.center_lat],\n data,\n radius: getPieChartRadius(regionData.numCases),\n tooltip: {\n formatter: (callbackParams) => {\n const d = (callbackParams as { data: { name: string; value: number } }).data;\n if (stratification) {\n return `${regionData.region.name} - ${d.name} (n=${d.value}, ${Math.round(d.value / regionData.numCases * 100)}%)`;\n }\n return `${regionData.region.name} (n=${regionData.numCases}, ${Math.round(regionData.numCases / totalNumCases * 100)}%)`;\n },\n },\n });\n });\n\n return {\n mapCaseCount: totalNumCases,\n series: pieSeriesOptions,\n };\n }\n\n public static getMaxPieChartArea(width: number, height: number, numZones: number): number {\n if (!width || !height || !numZones) {\n return 0;\n }\n const smallestDimension = Math.min(width, height);\n const mapArea = smallestDimension ** 2;\n const zoneArea = mapArea / numZones;\n const zoneDimension = Math.sqrt(zoneArea);\n const normalizedZoneDimension = zoneDimension / 4;\n const zonePieArea = ((normalizedZoneDimension / 2) ** 2) * Math.PI;\n return zonePieArea;\n }\n\n public static getPieChartRadius(numCases: number, maxPieChartArea: number, statistics: RegionStatistics) {\n const { maxNumCases, minNumCases } = statistics;\n const { MIN_PIE_CHART_RADIUS } = ConfigService.getInstance<CaseDbConfig>().config.map;\n const MIN_PIE_CHART_AREA = MIN_PIE_CHART_RADIUS ** 2 * Math.PI;\n\n let area: number;\n\n if (maxNumCases > minNumCases) {\n const slope = Math.max(MIN_PIE_CHART_AREA, (maxPieChartArea - MIN_PIE_CHART_AREA)) / (maxNumCases - minNumCases);\n area = (slope * (numCases - minNumCases)) + MIN_PIE_CHART_AREA;\n } else {\n area = maxPieChartArea;\n }\n const radius = round(Math.sqrt(area / Math.PI), 2);\n return Math.max(MIN_PIE_CHART_RADIUS, radius);\n }\n\n public static getRegionStatistics(cases: CaseDbCase[], columnId: string, regions: CaseDbRegion[]): RegionStatistics {\n if (!cases.length || !columnId || !regions?.length) {\n return {\n maxNumCases: 0,\n minNumCases: 0,\n numCases: 0,\n statisticsPerRegion: {},\n };\n }\n\n let numCases = 0;\n const statisticsPerRegion: Record<string, {\n numCases: number;\n region: CaseDbRegion;\n rows: CaseDbCase[];\n }> = {};\n cases.forEach(row => {\n const regionId = row.content[columnId];\n if (!regionId) {\n return;\n }\n if (!statisticsPerRegion[regionId]) {\n statisticsPerRegion[regionId] = {\n numCases: 0,\n region: regions.find(region => region.id === regionId),\n rows: [],\n };\n }\n statisticsPerRegion[regionId].rows.push(row);\n // when count is null, 1 should be assumed\n statisticsPerRegion[regionId].numCases += (row.count ?? 1);\n // when count is null, 1 should be assumed\n numCases += (row.count ?? 1);\n });\n const maxNumCases = max(Object.values(statisticsPerRegion).map(region => region.numCases));\n const minNumCases = min(Object.values(statisticsPerRegion).map(region => region.numCases));\n\n return {\n maxNumCases,\n minNumCases,\n numCases,\n statisticsPerRegion,\n };\n }\n\n private static createEmptyBounds(): GeoJsonBounds {\n return [Infinity, Infinity, -Infinity, -Infinity];\n }\n\n private static expandBoundsFromCoordinates(bounds: GeoJsonBounds, coordinates: unknown) {\n if (!Array.isArray(coordinates) || !coordinates.length) {\n return;\n }\n\n if (typeof coordinates[0] === 'number' && typeof coordinates[1] === 'number') {\n const [longitude, latitude] = coordinates as [number, number];\n\n if (!Number.isFinite(longitude) || !Number.isFinite(latitude)) {\n return;\n }\n\n bounds[0] = Math.min(bounds[0], longitude);\n bounds[1] = Math.min(bounds[1], latitude);\n bounds[2] = Math.max(bounds[2], longitude);\n bounds[3] = Math.max(bounds[3], latitude);\n return;\n }\n\n coordinates.forEach(childCoordinates => MapUtil.expandBoundsFromCoordinates(bounds, childCoordinates));\n }\n\n private static expandBoundsFromFeature(bounds: GeoJsonBounds, feature?: GeoJsonFeature | null) {\n if (!feature) {\n return;\n }\n\n const bboxBounds = MapUtil.normalizeBounds(feature.bbox);\n if (bboxBounds) {\n MapUtil.mergeBounds(bounds, bboxBounds);\n return;\n }\n\n MapUtil.expandBoundsFromGeometry(bounds, feature.geometry);\n }\n\n private static expandBoundsFromGeometry(bounds: GeoJsonBounds, geometry?: GeoJsonGeometry | null) {\n if (!geometry) {\n return;\n }\n\n const bboxBounds = MapUtil.normalizeBounds(geometry.bbox);\n if (bboxBounds) {\n MapUtil.mergeBounds(bounds, bboxBounds);\n return;\n }\n\n MapUtil.expandBoundsFromCoordinates(bounds, geometry.coordinates);\n geometry.geometries?.forEach(childGeometry => MapUtil.expandBoundsFromGeometry(bounds, childGeometry));\n }\n\n private static getGeoJsonBounds(geoJson: string): GeoJsonBounds | null {\n try {\n const parsedGeoJson = JSON.parse(geoJson) as GeoJsonObject;\n return MapUtil.getGeoJsonObjectBounds(parsedGeoJson);\n } catch {\n return null;\n }\n }\n\n private static getGeoJsonObjectBounds(geoJson: GeoJsonObject): GeoJsonBounds | null {\n const bboxBounds = MapUtil.normalizeBounds(geoJson.bbox);\n if (bboxBounds) {\n return bboxBounds;\n }\n\n const bounds = MapUtil.createEmptyBounds();\n MapUtil.expandBoundsFromCoordinates(bounds, geoJson.coordinates);\n geoJson.features?.forEach(feature => MapUtil.expandBoundsFromFeature(bounds, feature));\n geoJson.geometries?.forEach(geometry => MapUtil.expandBoundsFromGeometry(bounds, geometry));\n MapUtil.expandBoundsFromGeometry(bounds, geoJson.geometry);\n\n return MapUtil.hasBounds(bounds) ? bounds : null;\n }\n\n private static hasBounds(bounds: GeoJsonBounds) {\n return bounds.every(Number.isFinite);\n }\n\n private static mergeBounds(bounds: GeoJsonBounds, otherBounds: GeoJsonBounds) {\n bounds[0] = Math.min(bounds[0], otherBounds[0]);\n bounds[1] = Math.min(bounds[1], otherBounds[1]);\n bounds[2] = Math.max(bounds[2], otherBounds[2]);\n bounds[3] = Math.max(bounds[3], otherBounds[3]);\n }\n\n private static normalizeBounds(bounds?: number[]): GeoJsonBounds | null {\n if (!bounds || bounds.length < 4) {\n return null;\n }\n\n const normalizedBounds = bounds.slice(0, 4) as GeoJsonBounds;\n return normalizedBounds.every(Number.isFinite) ? normalizedBounds : null;\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Theme } from '@mui/material';
2
+ import { CaseDbCase, CaseDbCol, CaseDbCompleteCaseType } from '@gen-epix/api-casedb';
3
+ import { StratifiableColumn, Stratification, STRATIFICATION_MODE } from '../../models/stratification';
4
+ export declare class StratificationUtil {
5
+ static getEchartsColors(stratification: Stratification, theme: Theme): string[];
6
+ static getStratification(kwArgs: {
7
+ col?: CaseDbCol;
8
+ completeCaseType: CaseDbCompleteCaseType;
9
+ mode: STRATIFICATION_MODE;
10
+ selectedIds?: string[];
11
+ similarCaseIds?: string[];
12
+ sortedData: CaseDbCase[];
13
+ useExtraGradients?: boolean;
14
+ }): Stratification;
15
+ static getStratifyableColumns(kwArgs: {
16
+ completeCaseType: CaseDbCompleteCaseType;
17
+ data: CaseDbCase[];
18
+ }): StratifiableColumn[];
19
+ private static getFieldStratification;
20
+ private static getSelectionStratification;
21
+ private static getSimilarCasesStratification;
22
+ private static getUniqueRowValues;
23
+ private static isEpiConceptBoundaryProps;
24
+ private static rowValueComperator;
25
+ }
@@ -0,0 +1 @@
1
+ export * from './StratificationUtil';
@@ -0,0 +1,198 @@
1
+ import { h as e, p as t } from "../../_chunks/_MapCache.js";
2
+ import { CaseTypeUtil as n, n as r, t as i } from "../CaseTypeUtil/index.js";
3
+ import { DataService as a } from "../../classes/services/DataService/index.js";
4
+ import { CaseUtil as o } from "../CaseUtil/index.js";
5
+ import { t as s } from "../../_chunks/_baseIteratee.js";
6
+ import { STRATIFICATION_MODE as c, STRATIFICATION_SELECTED as l, STRATIFICATION_SIMILAR_CASE as u } from "../../models/stratification.js";
7
+ import { CaseDbDataUtil as d } from "../CaseDbDataUtil/index.js";
8
+ import { t as f } from "i18next";
9
+ import { ConfigService as p } from "@gen-epix/ui/classes/services/ConfigService";
10
+ //#region ../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/uniqBy.js
11
+ var m = /* @__PURE__ */ t(((e, t) => {
12
+ var n = s(), i = r();
13
+ function a(e, t) {
14
+ return e && e.length ? i(e, n(t, 2)) : [];
15
+ }
16
+ t.exports = a;
17
+ })), h = /* @__PURE__ */ e(i(), 1), g = /* @__PURE__ */ e(m(), 1), _ = class e {
18
+ static getEchartsColors(e, t) {
19
+ return e ? e.legendaItems?.map((e) => e.color) ?? [] : [t.palette.primary.main];
20
+ }
21
+ static getStratification(t) {
22
+ let { col: n, completeCaseType: r, mode: i, selectedIds: a, similarCaseIds: o, sortedData: s } = t;
23
+ return i ? i === c.FIELD ? e.getFieldStratification({
24
+ col: n,
25
+ completeCaseType: r,
26
+ sortedData: s,
27
+ useExtraGradients: t.useExtraGradients
28
+ }) : i === c.SELECTION ? a ? e.getSelectionStratification({
29
+ selectedIds: a,
30
+ sortedData: s
31
+ }) : null : i === c.SIMILAR_CASES && o ? e.getSimilarCasesStratification({
32
+ similarCaseIds: o,
33
+ sortedData: s
34
+ }) : null : null;
35
+ }
36
+ static getStratifyableColumns(e) {
37
+ let { completeCaseType: t, data: r } = e, { STRATIFICATION: i } = p.getInstance().config.epi;
38
+ return n.getCols(t).filter((e) => {
39
+ let n = t.ref_cols[e.ref_col_id];
40
+ return i.ALLOWED_COL_TYPES.includes(n.col_type);
41
+ }).map((e) => {
42
+ let n = (0, h.default)(r.map((n) => o.getRowValue(n.content, e, t).raw).filter((e) => !!e)).length;
43
+ return {
44
+ col: e,
45
+ enabled: n > 1 && n <= i.MAX_ALLOWED_UNIQUE_VALUES
46
+ };
47
+ }).sort((e, n) => t.ordered_col_ids.indexOf(e.col.id) - t.ordered_col_ids.indexOf(n.col.id));
48
+ }
49
+ static getFieldStratification(t) {
50
+ let { STRATIFICATION: n } = p.getInstance().config.epi, { col: r, completeCaseType: i, sortedData: s, useExtraGradients: l } = t;
51
+ if (!r) return null;
52
+ let u = {}, f = [], m = {}, h = {}, g = i.ref_cols[r.ref_col_id], _ = e.getUniqueRowValues({
53
+ col: r,
54
+ completeCaseType: i,
55
+ sortedData: s
56
+ }), v = {
57
+ caseIds: [],
58
+ color: n.ITEM_MISSING_COLOR,
59
+ columnType: g.col_type,
60
+ rowValue: o.getMissingRowValue("")
61
+ }, y = [];
62
+ if (n.GRADIENT_COL_TYPES.includes(g.col_type) || _.length > n.BASE_COLORS.length) {
63
+ let t;
64
+ if (n.GRADIENT_COL_TYPES.includes(g.col_type)) t = n.BASE_ORDERED_GRADIENT;
65
+ else if (l) {
66
+ let e = n.EXTRA_GRADIENTS.length, a = i.dims[r.dim_id], o = Object.values(i.dims).map((e) => e.id).indexOf(a.id);
67
+ t = n.EXTRA_GRADIENTS[o % e];
68
+ } else t = n.BASE_UNORDERED_GRADIENT;
69
+ let o = a.getInstance().data.conceptsIdsBySetId[g.concept_set_id];
70
+ if (o?.length) {
71
+ let n = o.map((e) => a.getInstance().data.conceptsById[e]).sort(d.conceptComparator);
72
+ if (n.every((t) => e.isEpiConceptBoundaryProps(t.props))) {
73
+ let e = n.map((e) => e.props), r = e.map((e) => e.lb).filter((e) => isFinite(e)), i = e.map((e) => e.ub).filter((e) => isFinite(e)), a = Math.min(...r, ...i), o = Math.max(...r, ...i);
74
+ isFinite(a) && isFinite(o) && o > a && e.forEach((e) => {
75
+ let n = ((isFinite(e.lb) ? e.lb : a) + (isFinite(e.ub) ? e.ub : o)) / 2, r = Math.max(0, Math.min(1, (n - a) / (o - a)));
76
+ y.push(t(r).toString({ format: "hex" }));
77
+ });
78
+ }
79
+ }
80
+ y.length === 0 && _.forEach((e, n) => {
81
+ y.push(t(n / _.length).toString({ format: "hex" }));
82
+ });
83
+ } else y.push(...n.BASE_COLORS);
84
+ return _.forEach((e, t) => {
85
+ let n = y[t], r = {
86
+ caseIds: [],
87
+ color: n,
88
+ columnType: g.col_type,
89
+ rowValue: e
90
+ };
91
+ m[n] = r, h[e.raw] = r, f.push(r);
92
+ }), s.forEach((e) => {
93
+ let t = o.getRowValue(e.content, r, i);
94
+ if (t.isMissing) {
95
+ v.caseIds.push(e.id), u[e.id] = v.color;
96
+ return;
97
+ }
98
+ let n = h[t.raw];
99
+ n.caseIds.push(e.id), u[e.id] = n.color;
100
+ }), v.caseIds.length > 0 && (m[n.ITEM_MISSING_COLOR] = v, h[""] = v, f.push(v)), {
101
+ caseIdColors: u,
102
+ col: r,
103
+ colorForIsMissing: n.ITEM_MISSING_COLOR,
104
+ legendaItems: f,
105
+ legendaItemsByColor: m,
106
+ legendaItemsByValue: h,
107
+ mode: c.FIELD
108
+ };
109
+ }
110
+ static getSelectionStratification(e) {
111
+ let { STRATIFICATION: t } = p.getInstance().config.epi, { selectedIds: n, sortedData: r } = e, i = {}, a = [], o = {}, s = {};
112
+ return [l.SELECTED, l.UNSELECTED].forEach((e) => {
113
+ let n = e === l.SELECTED ? t.BASE_COLORS[0] : t.BASE_COLORS[1], r = e === l.SELECTED ? f`Selected` : f`Unselected`, i = {
114
+ caseIds: [],
115
+ color: n,
116
+ rowValue: {
117
+ full: r,
118
+ isMissing: !1,
119
+ long: r,
120
+ raw: e,
121
+ short: r
122
+ }
123
+ };
124
+ o[n] = i, s[e] = i, a.push(i);
125
+ }), r.forEach((e) => {
126
+ let t = n.includes(e.id) ? s[l.SELECTED] : s[l.UNSELECTED];
127
+ t.caseIds.push(e.id), i[e.id] = t.color;
128
+ }), {
129
+ caseIdColors: i,
130
+ colorForIsMissing: t.ITEM_MISSING_COLOR,
131
+ legendaItems: a,
132
+ legendaItemsByColor: o,
133
+ legendaItemsByValue: s,
134
+ mode: c.SELECTION
135
+ };
136
+ }
137
+ static getSimilarCasesStratification(e) {
138
+ let { STRATIFICATION: t } = p.getInstance().config.epi, { similarCaseIds: n, sortedData: r } = e, i = {}, a = [], o = {}, s = {};
139
+ return [u.NO, u.YES].forEach((e) => {
140
+ let n = e === u.YES ? t.BASE_COLORS[0] : t.BASE_COLORS[1], r = e === u.YES ? f`Cases found by similarity` : f`Regular cases`, i = {
141
+ caseIds: [],
142
+ color: n,
143
+ rowValue: {
144
+ full: r,
145
+ isMissing: !1,
146
+ long: r,
147
+ raw: e,
148
+ short: r
149
+ }
150
+ };
151
+ o[n] = i, s[e] = i, a.push(i);
152
+ }), r.forEach((e) => {
153
+ let t = n.includes(e.id) ? s[u.YES] : s[u.NO];
154
+ t.caseIds.push(e.id), i[e.id] = t.color;
155
+ }), {
156
+ caseIdColors: i,
157
+ colorForIsMissing: t.ITEM_MISSING_COLOR,
158
+ legendaItems: a,
159
+ legendaItemsByColor: o,
160
+ legendaItemsByValue: s,
161
+ mode: c.SIMILAR_CASES
162
+ };
163
+ }
164
+ static getUniqueRowValues(t) {
165
+ let { STRATIFICATION: n } = p.getInstance().config.epi, { col: r, completeCaseType: i, sortedData: s } = t, c = i.ref_cols[r.ref_col_id], l = a.getInstance().data.conceptsIdsBySetId[c.concept_set_id];
166
+ if (l) {
167
+ let e = [];
168
+ return l.map((e) => a.getInstance().data.conceptsById[e]).sort((e, t) => n.GRADIENT_COL_TYPES.includes(c.col_type) && e.rank !== t.rank ? e.rank - t.rank : e.code.localeCompare(t.code)).forEach((t) => {
169
+ e.push({
170
+ full: `${t.code} (${t.name})`,
171
+ isMissing: !1,
172
+ long: t.name,
173
+ raw: t.id,
174
+ short: t.code
175
+ });
176
+ }), e;
177
+ }
178
+ return (0, g.default)(s.map((e) => o.getRowValue(e.content, r, i)).filter((e) => !e.isMissing), ((e) => e.raw)).sort((t, n) => e.rowValueComperator(t, n));
179
+ }
180
+ static isEpiConceptBoundaryProps(e) {
181
+ if (typeof e != "object" || !e) return !1;
182
+ let t = e;
183
+ return [
184
+ "lb",
185
+ "lb_in",
186
+ "ub",
187
+ "ub_in",
188
+ "unit"
189
+ ].every((e) => e in t);
190
+ }
191
+ static rowValueComperator(e, t) {
192
+ return e.raw === t.raw ? 0 : e.isMissing ? 1 : t.isMissing ? -1 : e.short.localeCompare(t.short);
193
+ }
194
+ };
195
+ //#endregion
196
+ export { _ as StratificationUtil };
197
+
198
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/uniqBy.js","../../../src/utils/StratificationUtil/StratificationUtil.ts"],"sourcesContent":["var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","import type { Theme } from '@mui/material';\nimport uniq from 'lodash/uniq';\nimport uniqBy from 'lodash/uniqBy';\nimport type {\n CaseDbCase,\n CaseDbCol,\n CaseDbCompleteCaseType,\n} from '@gen-epix/api-casedb';\nimport { ConfigService } from '@gen-epix/ui/classes/services/ConfigService';\nimport { t } from 'i18next';\nimport type { Range } from 'colorjs.io';\n\nimport { DataService } from '../../classes/services/DataService';\nimport type { CaseDbConfig } from '../../models/config';\nimport type {\n CaseTypeRowValue,\n ConceptBoundaryProps,\n} from '../../models/caseDb';\nimport type {\n StratifiableColumn,\n Stratification,\n StratificationLegendaItem,\n} from '../../models/stratification';\nimport {\n STRATIFICATION_MODE,\n STRATIFICATION_SELECTED,\n STRATIFICATION_SIMILAR_CASE,\n} from '../../models/stratification';\nimport { CaseTypeUtil } from '../CaseTypeUtil';\nimport { CaseUtil } from '../CaseUtil';\nimport { CaseDbDataUtil } from '../CaseDbDataUtil';\n\nexport class StratificationUtil {\n public static getEchartsColors(stratification: Stratification, theme: Theme): string[] {\n if (!stratification) {\n return [theme.palette.primary.main];\n }\n return stratification.legendaItems?.map(item => item.color) ?? [];\n }\n\n\n public static getStratification(\n kwArgs: {\n col?: CaseDbCol;\n completeCaseType: CaseDbCompleteCaseType;\n mode: STRATIFICATION_MODE;\n selectedIds?: string[];\n similarCaseIds?: string[];\n sortedData: CaseDbCase[];\n useExtraGradients?: boolean;\n },\n ): Stratification {\n const { col, completeCaseType, mode, selectedIds, similarCaseIds, sortedData } = kwArgs;\n if (!mode) {\n return null;\n }\n\n if (mode === STRATIFICATION_MODE.FIELD) {\n return StratificationUtil.getFieldStratification({ col, completeCaseType, sortedData, useExtraGradients: kwArgs.useExtraGradients });\n }\n\n if (mode === STRATIFICATION_MODE.SELECTION) {\n if (!selectedIds) {\n return null;\n }\n return StratificationUtil.getSelectionStratification({ selectedIds, sortedData });\n }\n\n if (mode === STRATIFICATION_MODE.SIMILAR_CASES) {\n if (!similarCaseIds) {\n return null;\n }\n return StratificationUtil.getSimilarCasesStratification({ similarCaseIds, sortedData });\n }\n\n return null;\n }\n\n public static getStratifyableColumns(\n kwArgs: {\n completeCaseType: CaseDbCompleteCaseType;\n data: CaseDbCase[];\n },\n ): StratifiableColumn[] {\n const { completeCaseType, data } = kwArgs;\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n\n const filteredCols = CaseTypeUtil.getCols(completeCaseType).filter(col => {\n const column = completeCaseType.ref_cols[col.ref_col_id];\n return STRATIFICATION.ALLOWED_COL_TYPES.includes(column.col_type);\n });\n\n return filteredCols.map<StratifiableColumn>(col => {\n const numUniqueValues = uniq(data.map(row => CaseUtil.getRowValue(row.content, col, completeCaseType).raw).filter(x => !!x)).length;\n const enabled = numUniqueValues > 1 && numUniqueValues <= STRATIFICATION.MAX_ALLOWED_UNIQUE_VALUES;\n return {\n col,\n enabled,\n };\n }).sort((a, b) => completeCaseType.ordered_col_ids.indexOf(a.col.id) - completeCaseType.ordered_col_ids.indexOf(b.col.id));\n }\n\n private static getFieldStratification(\n kwArgs: {\n col?: CaseDbCol;\n completeCaseType: CaseDbCompleteCaseType;\n sortedData: CaseDbCase[];\n useExtraGradients?: boolean;\n },\n ): Stratification {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { col, completeCaseType, sortedData, useExtraGradients } = kwArgs;\n if (!col) {\n return null;\n }\n\n const caseIdColors: { [key: string]: string } = {};\n const legendaItems: StratificationLegendaItem[] = [];\n const legendaItemsByColor: { [key: string]: StratificationLegendaItem } = {};\n const legendaItemsByValue: { [key: string]: StratificationLegendaItem } = {};\n\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n\n const uniqueRowValues = StratificationUtil.getUniqueRowValues({ col, completeCaseType, sortedData });\n const legendaItemMissingData: StratificationLegendaItem = {\n caseIds: [],\n color: STRATIFICATION.ITEM_MISSING_COLOR,\n columnType: refCol.col_type,\n rowValue: CaseUtil.getMissingRowValue(''),\n };\n const colors: string[] = [];\n\n if (STRATIFICATION.GRADIENT_COL_TYPES.includes(refCol.col_type) || uniqueRowValues.length > STRATIFICATION.BASE_COLORS.length) {\n let gradient: Range;\n if (STRATIFICATION.GRADIENT_COL_TYPES.includes(refCol.col_type)) {\n gradient = STRATIFICATION.BASE_ORDERED_GRADIENT;\n } else {\n if (useExtraGradients) {\n const numExtraGradients = STRATIFICATION.EXTRA_GRADIENTS.length;\n const dim = completeCaseType.dims[col.dim_id];\n const dims = Object.values(completeCaseType.dims).map(d => d.id);\n const colIndexInCompleteCaseType = dims.indexOf(dim.id);\n gradient = STRATIFICATION.EXTRA_GRADIENTS[colIndexInCompleteCaseType % numExtraGradients];\n } else {\n gradient = STRATIFICATION.BASE_UNORDERED_GRADIENT;\n }\n }\n const conceptSetConceptIds = DataService.getInstance().data.conceptsIdsBySetId[refCol.concept_set_id];\n if (conceptSetConceptIds?.length) {\n const concepts = conceptSetConceptIds.map(conceptId => DataService.getInstance().data.conceptsById[conceptId]).sort(CaseDbDataUtil.conceptComparator);\n if (concepts.every(concept => StratificationUtil.isEpiConceptBoundaryProps(concept.props))) {\n const boundaryProps = concepts.map(concept => concept.props as ConceptBoundaryProps);\n const finiteLbs = boundaryProps.map(bp => bp.lb).filter(v => isFinite(v));\n const finiteUbs = boundaryProps.map(bp => bp.ub).filter(v => isFinite(v));\n const globalMin = Math.min(...finiteLbs, ...finiteUbs);\n const globalMax = Math.max(...finiteLbs, ...finiteUbs);\n if (isFinite(globalMin) && isFinite(globalMax) && globalMax > globalMin) {\n boundaryProps.forEach((bp) => {\n const lb = isFinite(bp.lb) ? bp.lb : globalMin;\n const ub = isFinite(bp.ub) ? bp.ub : globalMax;\n const midpoint = (lb + ub) / 2;\n const gradientPosition = Math.max(0, Math.min(1, (midpoint - globalMin) / (globalMax - globalMin)));\n colors.push(gradient(gradientPosition).toString({ format: 'hex' }));\n });\n }\n }\n }\n\n if (colors.length === 0) {\n uniqueRowValues.forEach((_, index) => {\n colors.push(gradient(index / uniqueRowValues.length).toString({ format: 'hex' }));\n });\n }\n } else {\n colors.push(...STRATIFICATION.BASE_COLORS);\n }\n\n uniqueRowValues.forEach((rowValue, index) => {\n const color = colors[index];\n const legendaItem: StratificationLegendaItem = {\n caseIds: [],\n color,\n columnType: refCol.col_type,\n rowValue,\n };\n legendaItemsByColor[color] = legendaItem;\n legendaItemsByValue[rowValue.raw] = legendaItem;\n legendaItems.push(legendaItem);\n });\n\n sortedData.forEach(row => {\n const rowValue = CaseUtil.getRowValue(row.content, col, completeCaseType);\n if (rowValue.isMissing) {\n legendaItemMissingData.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItemMissingData.color;\n return;\n }\n const legendaItem = legendaItemsByValue[rowValue.raw];\n legendaItem.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItem.color;\n });\n\n if (legendaItemMissingData.caseIds.length > 0) {\n legendaItemsByColor[STRATIFICATION.ITEM_MISSING_COLOR] = legendaItemMissingData;\n legendaItemsByValue[''] = legendaItemMissingData;\n legendaItems.push(legendaItemMissingData);\n }\n\n return {\n caseIdColors,\n col,\n colorForIsMissing: STRATIFICATION.ITEM_MISSING_COLOR,\n legendaItems,\n legendaItemsByColor,\n legendaItemsByValue,\n mode: STRATIFICATION_MODE.FIELD,\n };\n }\n\n private static getSelectionStratification(\n kwArgs: {\n selectedIds: string[];\n sortedData: CaseDbCase[];\n },\n ): Stratification {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { selectedIds, sortedData } = kwArgs;\n const caseIdColors: { [key: string]: string } = {};\n const legendaItems: StratificationLegendaItem[] = [];\n const legendaItemsByColor: { [key: string]: StratificationLegendaItem } = {};\n const legendaItemsByValue: { [key: string]: StratificationLegendaItem } = {};\n\n const rawValues: STRATIFICATION_SELECTED[] = [STRATIFICATION_SELECTED.SELECTED, STRATIFICATION_SELECTED.UNSELECTED];\n\n rawValues.forEach(rawValue => {\n const color = rawValue === STRATIFICATION_SELECTED.SELECTED ? STRATIFICATION.BASE_COLORS[0] : STRATIFICATION.BASE_COLORS[1];\n const presentationValue = rawValue === STRATIFICATION_SELECTED.SELECTED ? t`Selected` : t`Unselected`;\n const legendaItem: StratificationLegendaItem = {\n caseIds: [],\n color,\n rowValue: {\n full: presentationValue,\n isMissing: false,\n long: presentationValue,\n raw: rawValue,\n short: presentationValue,\n },\n };\n legendaItemsByColor[color] = legendaItem;\n legendaItemsByValue[rawValue] = legendaItem;\n legendaItems.push(legendaItem);\n });\n\n sortedData.forEach(row => {\n const legendaItem = selectedIds.includes(row.id) ? legendaItemsByValue[STRATIFICATION_SELECTED.SELECTED] : legendaItemsByValue[STRATIFICATION_SELECTED.UNSELECTED];\n legendaItem.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItem.color;\n });\n\n return {\n caseIdColors,\n colorForIsMissing: STRATIFICATION.ITEM_MISSING_COLOR,\n legendaItems,\n legendaItemsByColor,\n legendaItemsByValue,\n mode: STRATIFICATION_MODE.SELECTION,\n };\n }\n\n private static getSimilarCasesStratification(\n kwArgs: {\n similarCaseIds: string[];\n sortedData: CaseDbCase[];\n },\n ): Stratification {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { similarCaseIds, sortedData } = kwArgs;\n const caseIdColors: { [key: string]: string } = {};\n const legendaItems: StratificationLegendaItem[] = [];\n const legendaItemsByColor: { [key: string]: StratificationLegendaItem } = {};\n const legendaItemsByValue: { [key: string]: StratificationLegendaItem } = {};\n\n const rawValues: STRATIFICATION_SIMILAR_CASE[] = [STRATIFICATION_SIMILAR_CASE.NO, STRATIFICATION_SIMILAR_CASE.YES];\n\n rawValues.forEach(rawValue => {\n const color = rawValue === STRATIFICATION_SIMILAR_CASE.YES ? STRATIFICATION.BASE_COLORS[0] : STRATIFICATION.BASE_COLORS[1];\n const presentationValue = rawValue === STRATIFICATION_SIMILAR_CASE.YES ? t`Cases found by similarity` : t`Regular cases`;\n const legendaItem: StratificationLegendaItem = {\n caseIds: [],\n color,\n rowValue: {\n full: presentationValue,\n isMissing: false,\n long: presentationValue,\n raw: rawValue,\n short: presentationValue,\n },\n };\n legendaItemsByColor[color] = legendaItem;\n legendaItemsByValue[rawValue] = legendaItem;\n legendaItems.push(legendaItem);\n });\n\n sortedData.forEach(row => {\n const legendaItem = similarCaseIds.includes(row.id) ? legendaItemsByValue[STRATIFICATION_SIMILAR_CASE.YES] : legendaItemsByValue[STRATIFICATION_SIMILAR_CASE.NO];\n legendaItem.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItem.color;\n });\n\n return {\n caseIdColors,\n colorForIsMissing: STRATIFICATION.ITEM_MISSING_COLOR,\n legendaItems,\n legendaItemsByColor,\n legendaItemsByValue,\n mode: STRATIFICATION_MODE.SIMILAR_CASES,\n };\n }\n\n private static getUniqueRowValues(\n kwArgs: {\n col?: CaseDbCol;\n completeCaseType: CaseDbCompleteCaseType;\n sortedData: CaseDbCase[];\n },\n ): CaseTypeRowValue[] {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { col, completeCaseType, sortedData } = kwArgs;\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n const conceptSetConceptIds = DataService.getInstance().data.conceptsIdsBySetId[refCol.concept_set_id];\n\n if (conceptSetConceptIds) {\n const uniqueRowValues: CaseTypeRowValue[] = [];\n conceptSetConceptIds.map(conceptId => DataService.getInstance().data.conceptsById[conceptId]).sort((a, b) => {\n if (STRATIFICATION.GRADIENT_COL_TYPES.includes(refCol.col_type) && a.rank !== b.rank) {\n return a.rank - b.rank;\n }\n return a.code.localeCompare(b.code);\n }).forEach((concept) => {\n uniqueRowValues.push({\n full: `${concept.code} (${concept.name})`,\n isMissing: false,\n long: concept.name,\n raw: concept.id,\n short: concept.code,\n });\n });\n return uniqueRowValues;\n }\n const rowValues = sortedData.map(row => CaseUtil.getRowValue(row.content, col, completeCaseType)).filter(x => !x.isMissing);\n const uniqueRowValues = uniqBy(rowValues, (rowValue => rowValue.raw)).sort((a, b) => {\n return StratificationUtil.rowValueComperator(a, b);\n });\n return uniqueRowValues;\n }\n\n private static isEpiConceptBoundaryProps(prop: unknown): prop is ConceptBoundaryProps {\n if (typeof prop !== 'object' || prop === null) {\n return false;\n }\n const propAsEpiConceptBoundaryProps = prop as ConceptBoundaryProps;\n return ['lb', 'lb_in', 'ub', 'ub_in', 'unit'].every(key => key in propAsEpiConceptBoundaryProps);\n }\n\n private static rowValueComperator(a: CaseTypeRowValue, b: CaseTypeRowValue): number {\n if (a.raw === b.raw) {\n return 0;\n }\n if (a.isMissing) {\n return 1;\n }\n if (b.isMissing) {\n return -1;\n }\n return a.short.localeCompare(b.short);\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { CaseDbCompleteCaseType } from '@gen-epix/api-casedb';
2
+ import { TreeConfiguration } from '../../models/dashboard';
3
+ export declare class TreeWidgetUtil {
4
+ static getTreeConfigurationId(treeConfiguration: Omit<TreeConfiguration, 'computedId'>): string;
5
+ static getTreeConfigurationLabel(config: TreeConfiguration): string;
6
+ static getTreeConfigurations(completeCaseType: CaseDbCompleteCaseType): TreeConfiguration[];
7
+ }
@@ -0,0 +1 @@
1
+ export * from './TreeWidgetUtil';
@@ -0,0 +1,35 @@
1
+ import { DataService as e } from "../../classes/services/DataService/index.js";
2
+ import { CaseDbColType as t } from "@gen-epix/api-casedb";
3
+ //#region src/utils/TreeWidgetUtil/TreeWidgetUtil.ts
4
+ var n = class n {
5
+ static getTreeConfigurationId(e) {
6
+ return `${e.col.id}_${e.refCol.id}_${e.geneticDistanceProtocol.id}_${e.treeAlgorithm.id}`;
7
+ }
8
+ static getTreeConfigurationLabel(e) {
9
+ return `${e.geneticDistanceProtocol.name} - ${e.treeAlgorithm.name}`;
10
+ }
11
+ static getTreeConfigurations(r) {
12
+ let i = [], a = Object.values(r.cols).filter((e) => r.ref_cols[e.ref_col_id].col_type === t.GENETIC_DISTANCE), o = e.getInstance().data.treeAlgorithms.map((e) => e.code);
13
+ return a.forEach((e) => {
14
+ let t = r.ref_cols[e.ref_col_id], a = r.genetic_distance_protocols[t.genetic_distance_protocol_id];
15
+ [...e.tree_algorithm_codes].sort((e, t) => o.indexOf(e) - o.indexOf(t)).map((e) => r.tree_algorithms[e]).forEach((r) => {
16
+ i.push({
17
+ col: e,
18
+ computedId: n.getTreeConfigurationId({
19
+ col: e,
20
+ geneticDistanceProtocol: a,
21
+ refCol: t,
22
+ treeAlgorithm: r
23
+ }),
24
+ geneticDistanceProtocol: a,
25
+ refCol: t,
26
+ treeAlgorithm: r
27
+ });
28
+ });
29
+ }), i;
30
+ }
31
+ };
32
+ //#endregion
33
+ export { n as TreeWidgetUtil };
34
+
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/TreeWidgetUtil/TreeWidgetUtil.ts"],"sourcesContent":["import type { CaseDbCompleteCaseType } from '@gen-epix/api-casedb';\nimport { CaseDbColType } from '@gen-epix/api-casedb';\n\nimport type { TreeConfiguration } from '../../models/dashboard';\nimport { DataService } from '../../classes/services/DataService';\n\nexport class TreeWidgetUtil {\n public static getTreeConfigurationId(treeConfiguration: Omit<TreeConfiguration, 'computedId'>): string {\n return `${treeConfiguration.col.id}_${treeConfiguration.refCol.id}_${treeConfiguration.geneticDistanceProtocol.id}_${treeConfiguration.treeAlgorithm.id}`;\n }\n\n public static getTreeConfigurationLabel(config: TreeConfiguration): string {\n return `${config.geneticDistanceProtocol.name} - ${config.treeAlgorithm.name}`;\n }\n\n public static getTreeConfigurations(completeCaseType: CaseDbCompleteCaseType): TreeConfiguration[] {\n const treeConfigurations: TreeConfiguration[] = [];\n\n const geneticDistanceCols = Object.values(completeCaseType.cols).filter(col => {\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n return refCol.col_type === CaseDbColType.GENETIC_DISTANCE;\n });\n\n const sortedTreeAlgorithmCodes = DataService.getInstance().data.treeAlgorithms.map(x => x.code);\n\n geneticDistanceCols.forEach(col => {\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n const geneticDistanceProtocol = completeCaseType.genetic_distance_protocols[refCol.genetic_distance_protocol_id];\n const treeAlgorithms = [...col.tree_algorithm_codes].sort((a, b) => {\n return sortedTreeAlgorithmCodes.indexOf(a) - sortedTreeAlgorithmCodes.indexOf(b);\n }).map(treeAlgorithmCode => completeCaseType.tree_algorithms[treeAlgorithmCode]);\n\n treeAlgorithms.forEach(treeAlgorithm => {\n treeConfigurations.push({\n col,\n computedId: TreeWidgetUtil.getTreeConfigurationId({ col, geneticDistanceProtocol, refCol, treeAlgorithm }),\n geneticDistanceProtocol,\n refCol,\n treeAlgorithm,\n });\n });\n });\n\n return treeConfigurations;\n }\n}\n"],"mappings":";;;AAMA,IAAa,IAAb,MAAa,EAAe;CAC1B,OAAc,uBAAuB,GAAkE;EACrG,OAAO,GAAG,EAAkB,IAAI,GAAG,GAAG,EAAkB,OAAO,GAAG,GAAG,EAAkB,wBAAwB,GAAG,GAAG,EAAkB,cAAc;CACvJ;CAEA,OAAc,0BAA0B,GAAmC;EACzE,OAAO,GAAG,EAAO,wBAAwB,KAAK,KAAK,EAAO,cAAc;CAC1E;CAEA,OAAc,sBAAsB,GAA+D;EACjG,IAAM,IAA0C,CAAC,GAE3C,IAAsB,OAAO,OAAO,EAAiB,IAAI,CAAC,CAAC,QAAO,MACvD,EAAiB,SAAS,EAAI,WACtC,CAAO,aAAa,EAAc,gBAC1C,GAEK,IAA2B,EAAY,YAAY,CAAC,CAAC,KAAK,eAAe,KAAI,MAAK,EAAE,IAAI;EAoB9F,OAlBA,EAAoB,SAAQ,MAAO;GACjC,IAAM,IAAS,EAAiB,SAAS,EAAI,aACvC,IAA0B,EAAiB,2BAA2B,EAAO;GAKnF,CAJwB,GAAG,EAAI,oBAAoB,CAAC,CAAC,MAAM,GAAG,MACrD,EAAyB,QAAQ,CAAC,IAAI,EAAyB,QAAQ,CAAC,CAChF,CAAC,CAAC,KAAI,MAAqB,EAAiB,gBAAgB,EAE7D,CAAA,CAAe,SAAQ,MAAiB;IACtC,EAAmB,KAAK;KACtB;KACA,YAAY,EAAe,uBAAuB;MAAE;MAAK;MAAyB;MAAQ;KAAc,CAAC;KACzG;KACA;KACA;IACF,CAAC;GACH,CAAC;EACH,CAAC,GAEM;CACT;AACF"}