@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.
- package/LICENSE +287 -0
- package/README.md +101 -0
- package/dist/@types/mui.d.ts +12 -0
- package/dist/@types/ui-casedb.d.ts +3 -0
- package/dist/@types/vite-env.d.ts +3 -0
- package/dist/_chunks/AddCasesToEventDialog.js +246 -0
- package/dist/_chunks/AddCasesToEventDialog.js.map +1 -0
- package/dist/_chunks/CaseContentForm.js +43 -0
- package/dist/_chunks/CaseContentForm.js.map +1 -0
- package/dist/_chunks/CaseDbDownloadUtil.js +2307 -0
- package/dist/_chunks/CaseDbDownloadUtil.js.map +1 -0
- package/dist/_chunks/CaseInfoDialog.js +509 -0
- package/dist/_chunks/CaseInfoDialog.js.map +1 -0
- package/dist/_chunks/CaseSetInfoDialog.js +479 -0
- package/dist/_chunks/CaseSetInfoDialog.js.map +1 -0
- package/dist/_chunks/CaseTypeInfoDialog.js +470 -0
- package/dist/_chunks/CaseTypeInfoDialog.js.map +1 -0
- package/dist/_chunks/CasesAlreadyInCaseSetWarning.js +123 -0
- package/dist/_chunks/CasesAlreadyInCaseSetWarning.js.map +1 -0
- package/dist/_chunks/CollectionIcon.js +18 -0
- package/dist/_chunks/CollectionIcon.js.map +1 -0
- package/dist/_chunks/CompletCaseTypeLoader.js +53 -0
- package/dist/_chunks/CompletCaseTypeLoader.js.map +1 -0
- package/dist/_chunks/CreateEventDialogSuccessNotificationMessage.js +18 -0
- package/dist/_chunks/CreateEventDialogSuccessNotificationMessage.js.map +1 -0
- package/dist/_chunks/CustomTabPanel.js +21 -0
- package/dist/_chunks/CustomTabPanel.js.map +1 -0
- package/dist/_chunks/Dashboard.js +2582 -0
- package/dist/_chunks/Dashboard.js.map +1 -0
- package/dist/_chunks/DashboardStoreLoader.js +67 -0
- package/dist/_chunks/DashboardStoreLoader.js.map +1 -0
- package/dist/_chunks/DataCollectionAccessInfo.js +66 -0
- package/dist/_chunks/DataCollectionAccessInfo.js.map +1 -0
- package/dist/_chunks/EpiCurveUtil.js +378 -0
- package/dist/_chunks/EpiCurveUtil.js.map +1 -0
- package/dist/_chunks/EpiCurveWidget.js +570 -0
- package/dist/_chunks/EpiCurveWidget.js.map +1 -0
- package/dist/_chunks/FilterUtil.js +1537 -0
- package/dist/_chunks/FilterUtil.js.map +1 -0
- package/dist/_chunks/FindSimilarCasesDialog.js +439 -0
- package/dist/_chunks/FindSimilarCasesDialog.js.map +1 -0
- package/dist/_chunks/FindSimilarCasesUtil.js +100 -0
- package/dist/_chunks/FindSimilarCasesUtil.js.map +1 -0
- package/dist/_chunks/HomePageTrends.js +276 -0
- package/dist/_chunks/HomePageTrends.js.map +1 -0
- package/dist/_chunks/LegendaItem.js +325 -0
- package/dist/_chunks/LegendaItem.js.map +1 -0
- package/dist/_chunks/LineListWidget.js +702 -0
- package/dist/_chunks/LineListWidget.js.map +1 -0
- package/dist/_chunks/PanelSeparator.js +1676 -0
- package/dist/_chunks/PanelSeparator.js.map +1 -0
- package/dist/_chunks/Upload.js +1506 -0
- package/dist/_chunks/Upload.js.map +1 -0
- package/dist/_chunks/UploadUtil.js +1976 -0
- package/dist/_chunks/UploadUtil.js.map +1 -0
- package/dist/_chunks/UserRightsDialog.js +152 -0
- package/dist/_chunks/UserRightsDialog.js.map +1 -0
- package/dist/_chunks/_MapCache.js +274 -0
- package/dist/_chunks/_MapCache.js.map +1 -0
- package/dist/_chunks/_Set.js +9 -0
- package/dist/_chunks/_Set.js.map +1 -0
- package/dist/_chunks/_arrayIncludesWith.js +42 -0
- package/dist/_chunks/_arrayIncludesWith.js.map +1 -0
- package/dist/_chunks/_baseClone.js +262 -0
- package/dist/_chunks/_baseClone.js.map +1 -0
- package/dist/_chunks/_baseFlatten.js +26 -0
- package/dist/_chunks/_baseFlatten.js.map +1 -0
- package/dist/_chunks/_baseGet.js +246 -0
- package/dist/_chunks/_baseGet.js.map +1 -0
- package/dist/_chunks/_baseIteratee.js +246 -0
- package/dist/_chunks/_baseIteratee.js.map +1 -0
- package/dist/_chunks/_cacheHas.js +29 -0
- package/dist/_chunks/_cacheHas.js.map +1 -0
- package/dist/_chunks/_defineProperty.js +15 -0
- package/dist/_chunks/_defineProperty.js.map +1 -0
- package/dist/_chunks/_setToArray.js +15 -0
- package/dist/_chunks/_setToArray.js.map +1 -0
- package/dist/_chunks/_setToString.js +64 -0
- package/dist/_chunks/_setToString.js.map +1 -0
- package/dist/_chunks/chunk-KS7C4IRE.js +1327 -0
- package/dist/_chunks/chunk-KS7C4IRE.js.map +1 -0
- package/dist/_chunks/cloneDeep.js +119 -0
- package/dist/_chunks/cloneDeep.js.map +1 -0
- package/dist/_chunks/dashboardStore.js +743 -0
- package/dist/_chunks/dashboardStore.js.map +1 -0
- package/dist/_chunks/eachYearOfInterval.js +104 -0
- package/dist/_chunks/eachYearOfInterval.js.map +1 -0
- package/dist/_chunks/esm.js +46335 -0
- package/dist/_chunks/esm.js.map +1 -0
- package/dist/_chunks/format.js +504 -0
- package/dist/_chunks/format.js.map +1 -0
- package/dist/_chunks/hasIn.js +34 -0
- package/dist/_chunks/hasIn.js.map +1 -0
- package/dist/_chunks/index.esm.js +1342 -0
- package/dist/_chunks/index.esm.js.map +1 -0
- package/dist/_chunks/index.module.js +72 -0
- package/dist/_chunks/index.module.js.map +1 -0
- package/dist/_chunks/intersection.js +58 -0
- package/dist/_chunks/intersection.js.map +1 -0
- package/dist/_chunks/isArguments.js +27 -0
- package/dist/_chunks/isArguments.js.map +1 -0
- package/dist/_chunks/isArray.js +9 -0
- package/dist/_chunks/isArray.js.map +1 -0
- package/dist/_chunks/isArrayLike.js +30 -0
- package/dist/_chunks/isArrayLike.js.map +1 -0
- package/dist/_chunks/isObjectLike.js +18 -0
- package/dist/_chunks/isObjectLike.js.map +1 -0
- package/dist/_chunks/isValid.js +14 -0
- package/dist/_chunks/isValid.js.map +1 -0
- package/dist/_chunks/last.js +13 -0
- package/dist/_chunks/last.js.map +1 -0
- package/dist/_chunks/noop.js +10 -0
- package/dist/_chunks/noop.js.map +1 -0
- package/dist/_chunks/omit.js +81 -0
- package/dist/_chunks/omit.js.map +1 -0
- package/dist/_chunks/parseISO.js +117 -0
- package/dist/_chunks/parseISO.js.map +1 -0
- package/dist/_chunks/protectedTokens.js +630 -0
- package/dist/_chunks/protectedTokens.js.map +1 -0
- package/dist/_chunks/react.js +11 -0
- package/dist/_chunks/react.js.map +1 -0
- package/dist/_chunks/round.js +64 -0
- package/dist/_chunks/round.js.map +1 -0
- package/dist/_chunks/shallow.js +31 -0
- package/dist/_chunks/shallow.js.map +1 -0
- package/dist/_chunks/sync.js +3796 -0
- package/dist/_chunks/sync.js.map +1 -0
- package/dist/_chunks/toDate.js +18 -0
- package/dist/_chunks/toDate.js.map +1 -0
- package/dist/_chunks/toString.js +31 -0
- package/dist/_chunks/toString.js.map +1 -0
- package/dist/_chunks/useUnit.js +30 -0
- package/dist/_chunks/useUnit.js.map +1 -0
- package/dist/_chunks/userProfileStoreContext.js +7 -0
- package/dist/_chunks/userProfileStoreContext.js.map +1 -0
- package/dist/_chunks/vanilla.js +20 -0
- package/dist/_chunks/vanilla.js.map +1 -0
- package/dist/_chunks/yup.js +73 -0
- package/dist/_chunks/yup.js.map +1 -0
- package/dist/classes/errors/UploadError.d.ts +5 -0
- package/dist/classes/errors/index.d.ts +1 -0
- package/dist/classes/errors/index.js +11 -0
- package/dist/classes/errors/index.js.map +1 -0
- package/dist/classes/filters/SelectionFilter.d.ts +11 -0
- package/dist/classes/filters/TreeFilter.d.ts +11 -0
- package/dist/classes/services/DataService/DataService.d.ts +13 -0
- package/dist/classes/services/DataService/index.d.ts +1 -0
- package/dist/classes/services/DataService/index.js +83 -0
- package/dist/classes/services/DataService/index.js.map +1 -0
- package/dist/classes/services/EventBusService/EventBusService.d.ts +49 -0
- package/dist/classes/services/EventBusService/index.d.ts +1 -0
- package/dist/classes/services/EventBusService/index.js +16 -0
- package/dist/classes/services/EventBusService/index.js.map +1 -0
- package/dist/classes/services/LineListService/LineListCaseSetMembersService/LineListCaseSetMembersService.d.ts +9 -0
- package/dist/classes/services/LineListService/LineListCaseSetMembersService/index.d.ts +1 -0
- package/dist/classes/services/LineListService/LineListCaseSetMembersService/index.js +27 -0
- package/dist/classes/services/LineListService/LineListCaseSetMembersService/index.js.map +1 -0
- package/dist/classes/services/LineListService/LineListIsOwnCaseService/LineListIsOwnCaseService.d.ts +9 -0
- package/dist/classes/services/LineListService/LineListIsOwnCaseService/index.d.ts +1 -0
- package/dist/classes/services/LineListService/LineListIsOwnCaseService/index.js +30 -0
- package/dist/classes/services/LineListService/LineListIsOwnCaseService/index.js.map +1 -0
- package/dist/classes/services/LineListService/LineListServiceAbstract/LineListServiceAbstract.d.ts +11 -0
- package/dist/classes/services/LineListService/LineListServiceAbstract/index.d.ts +1 -0
- package/dist/classes/services/LineListService/LineListServiceAbstract/index.js +55 -0
- package/dist/classes/services/LineListService/LineListServiceAbstract/index.js.map +1 -0
- package/dist/components/app/CaseDbApp/CaseDbApp.d.ts +1 -0
- package/dist/components/app/CaseDbApp/index.d.ts +1 -0
- package/dist/components/app/CaseDbApp/index.js +14 -0
- package/dist/components/app/CaseDbApp/index.js.map +1 -0
- package/dist/components/form/fields/ArrangementEditor/ArrangementEditor.d.ts +17 -0
- package/dist/components/form/fields/ArrangementEditor/index.d.ts +1 -0
- package/dist/components/form/fields/ArrangementEditor/index.js +130 -0
- package/dist/components/form/fields/ArrangementEditor/index.js.map +1 -0
- package/dist/components/ui/AddCasesToEventDialog/AddCasesToEventDialog.d.ts +10 -0
- package/dist/components/ui/AddCasesToEventDialog/AddCasesToEventDialogSuccessNotificationMessage.d.ts +6 -0
- package/dist/components/ui/AddCasesToEventDialog/index.d.ts +1 -0
- package/dist/components/ui/AddCasesToEventDialog/index.js +2 -0
- package/dist/components/ui/CaseContentForm/CaseContentForm.d.ts +10 -0
- package/dist/components/ui/CaseContentForm/index.d.ts +1 -0
- package/dist/components/ui/CaseContentForm/index.js +2 -0
- package/dist/components/ui/CaseContentFormDialog/CaseContentFormDialog.d.ts +9 -0
- package/dist/components/ui/CaseContentFormDialog/index.d.ts +1 -0
- package/dist/components/ui/CaseContentFormDialog/index.js +57 -0
- package/dist/components/ui/CaseContentFormDialog/index.js.map +1 -0
- package/dist/components/ui/CaseInfoDialog/CaseCaseSetInfo.d.ts +6 -0
- package/dist/components/ui/CaseInfoDialog/CaseContent.d.ts +6 -0
- package/dist/components/ui/CaseInfoDialog/CaseInfoDialog.d.ts +15 -0
- package/dist/components/ui/CaseInfoDialog/CaseInfoForm.d.ts +10 -0
- package/dist/components/ui/CaseInfoDialog/CaseSharingForm.d.ts +9 -0
- package/dist/components/ui/CaseInfoDialog/CaseSharingInfo.d.ts +3 -0
- package/dist/components/ui/CaseInfoDialog/ReadOnlyCaseContent.d.ts +6 -0
- package/dist/components/ui/CaseInfoDialog/index.d.ts +1 -0
- package/dist/components/ui/CaseInfoDialog/index.js +2 -0
- package/dist/components/ui/CaseSetInfoDialog/CaseSetContent.d.ts +6 -0
- package/dist/components/ui/CaseSetInfoDialog/CaseSetDescription.d.ts +6 -0
- package/dist/components/ui/CaseSetInfoDialog/CaseSetForm.d.ts +8 -0
- package/dist/components/ui/CaseSetInfoDialog/CaseSetInfoDialog.d.ts +10 -0
- package/dist/components/ui/CaseSetInfoDialog/CaseSetSharingForm.d.ts +10 -0
- package/dist/components/ui/CaseSetInfoDialog/CaseSetSharingInfo.d.ts +3 -0
- package/dist/components/ui/CaseSetInfoDialog/index.d.ts +1 -0
- package/dist/components/ui/CaseSetInfoDialog/index.js +2 -0
- package/dist/components/ui/CaseSummary/CaseSummary.d.ts +5 -0
- package/dist/components/ui/CaseSummary/index.d.ts +1 -0
- package/dist/components/ui/CaseSummary/index.js +92 -0
- package/dist/components/ui/CaseSummary/index.js.map +1 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoAccessRights.d.ts +5 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoColAccessRights.d.ts +4 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoData.d.ts +5 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoDialog.d.ts +7 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoDialogContent.d.ts +3 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoDialogWithLoader.d.ts +8 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoRegions.d.ts +5 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoTrees.d.ts +5 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoValues.d.ts +5 -0
- package/dist/components/ui/CaseTypeInfoDialog/CaseTypeInfoVariableDetails.d.ts +6 -0
- package/dist/components/ui/CaseTypeInfoDialog/index.d.ts +10 -0
- package/dist/components/ui/CaseTypeInfoDialog/index.js +2 -0
- package/dist/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarning.d.ts +5 -0
- package/dist/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarningCaseSetLink.d.ts +5 -0
- package/dist/components/ui/CasesAlreadyInCaseSetWarning/index.d.ts +1 -0
- package/dist/components/ui/CasesAlreadyInCaseSetWarning/index.js +2 -0
- package/dist/components/ui/CompletCaseTypeLoader/CompletCaseTypeLoader.d.ts +7 -0
- package/dist/components/ui/CompletCaseTypeLoader/index.d.ts +1 -0
- package/dist/components/ui/CompletCaseTypeLoader/index.js +2 -0
- package/dist/components/ui/CompletCaseTypeLoader/withEpiCompleteCaseTypeLoader.d.ts +4 -0
- package/dist/components/ui/ContextMenu/ContextMenu.d.ts +20 -0
- package/dist/components/ui/ContextMenu/index.d.ts +1 -0
- package/dist/components/ui/ContextMenu/index.js +96 -0
- package/dist/components/ui/ContextMenu/index.js.map +1 -0
- package/dist/components/ui/CreateEventDialog/CreateEventDialog.d.ts +10 -0
- package/dist/components/ui/CreateEventDialog/CreateEventDialogSuccessNotificationMessage.d.ts +6 -0
- package/dist/components/ui/CreateEventDialog/index.d.ts +1 -0
- package/dist/components/ui/CreateEventDialog/index.js +278 -0
- package/dist/components/ui/CreateEventDialog/index.js.map +1 -0
- package/dist/components/ui/CustomTabPanel/CustomTabPanel.d.ts +6 -0
- package/dist/components/ui/CustomTabPanel/index.d.ts +1 -0
- package/dist/components/ui/CustomTabPanel/index.js +2 -0
- package/dist/components/ui/Dashboard/Dashboard.d.ts +1 -0
- package/dist/components/ui/Dashboard/DashboardContent.d.ts +6 -0
- package/dist/components/ui/Dashboard/DashboardDownloadSidebarItem.d.ts +6 -0
- package/dist/components/ui/Dashboard/DashboardGeneralSettingsForm.d.ts +1 -0
- package/dist/components/ui/Dashboard/DashboardLayoutRenderer.d.ts +9 -0
- package/dist/components/ui/Dashboard/DashboardLayoutSettingsForm.d.ts +4 -0
- package/dist/components/ui/Dashboard/DashboardSearch.d.ts +1 -0
- package/dist/components/ui/Dashboard/DashboardSearchSettings.d.ts +10 -0
- package/dist/components/ui/Dashboard/DashboardSettingsSidebarItem.d.ts +8 -0
- package/dist/components/ui/Dashboard/DashboardWidget.d.ts +12 -0
- package/dist/components/ui/Dashboard/DashboardWidgetPlaceHolder.d.ts +1 -0
- package/dist/components/ui/Dashboard/DashboardWidgetSettingsForm.d.ts +4 -0
- package/dist/components/ui/Dashboard/DashboardZoneContext.d.ts +1 -0
- package/dist/components/ui/Dashboard/context/DashboardContext.d.ts +12 -0
- package/dist/components/ui/Dashboard/context/DashboardContextProvider.d.ts +6 -0
- package/dist/components/ui/Dashboard/index.d.ts +2 -0
- package/dist/components/ui/Dashboard/index.js +2 -0
- package/dist/components/ui/DashboardEditCases/DashboardEditCases.d.ts +6 -0
- package/dist/components/ui/DashboardEditCases/index.d.ts +1 -0
- package/dist/components/ui/DashboardEditCases/index.js +70 -0
- package/dist/components/ui/DashboardEditCases/index.js.map +1 -0
- package/dist/components/ui/DashboardStoreLoader/DashboardStoreLoader.d.ts +7 -0
- package/dist/components/ui/DashboardStoreLoader/DashboardStoreLoaderContent.d.ts +8 -0
- package/dist/components/ui/DashboardStoreLoader/index.d.ts +2 -0
- package/dist/components/ui/DashboardStoreLoader/index.js +2 -0
- package/dist/components/ui/DashboardStoreLoader/withEpiDashboardStore.d.ts +4 -0
- package/dist/components/ui/DataCollectionAccessInfo/DataCollectionAccessInfo.d.ts +1 -0
- package/dist/components/ui/DataCollectionAccessInfo/index.d.ts +1 -0
- package/dist/components/ui/DataCollectionAccessInfo/index.js +2 -0
- package/dist/components/ui/EpiCurveWidget/EpiCurveBarChart.d.ts +21 -0
- package/dist/components/ui/EpiCurveWidget/EpiCurveStackedAreaChart.d.ts +22 -0
- package/dist/components/ui/EpiCurveWidget/EpiCurveWidget.d.ts +2 -0
- package/dist/components/ui/EpiCurveWidget/index.d.ts +1 -0
- package/dist/components/ui/EpiCurveWidget/index.js +2 -0
- package/dist/components/ui/FileSelector/FileSelector.d.ts +7 -0
- package/dist/components/ui/FileSelector/index.d.ts +1 -0
- package/dist/components/ui/FileSelector/index.js +206 -0
- package/dist/components/ui/FileSelector/index.js.map +1 -0
- package/dist/components/ui/FindSimilarCasesDialog/FindSimilarCasesDialog.d.ts +11 -0
- package/dist/components/ui/FindSimilarCasesDialog/FindSimilarCasesDialogDateRangeChart.d.ts +11 -0
- package/dist/components/ui/FindSimilarCasesDialog/index.d.ts +1 -0
- package/dist/components/ui/FindSimilarCasesDialog/index.js +2 -0
- package/dist/components/ui/Grouping/Grouping.d.ts +1 -0
- package/dist/components/ui/Grouping/index.d.ts +1 -0
- package/dist/components/ui/Grouping/index.js +102 -0
- package/dist/components/ui/Grouping/index.js.map +1 -0
- package/dist/components/ui/HistogramWidget/HistogramWidget.d.ts +1 -0
- package/dist/components/ui/HistogramWidget/index.d.ts +1 -0
- package/dist/components/ui/HistogramWidget/index.js +333 -0
- package/dist/components/ui/HistogramWidget/index.js.map +1 -0
- package/dist/components/ui/HomePageTrends/HomePageTrendCard.d.ts +9 -0
- package/dist/components/ui/HomePageTrends/HomePageTrends.d.ts +4 -0
- package/dist/components/ui/HomePageTrends/index.d.ts +1 -0
- package/dist/components/ui/HomePageTrends/index.js +2 -0
- package/dist/components/ui/LegendaItem/LegendaItem.d.ts +10 -0
- package/dist/components/ui/LegendaItem/index.d.ts +1 -0
- package/dist/components/ui/LegendaItem/index.js +2 -0
- package/dist/components/ui/LineListWidget/LineListWidget.d.ts +1 -0
- package/dist/components/ui/LineListWidget/LineListWidgetIsInEventCell.d.ts +6 -0
- package/dist/components/ui/LineListWidget/LineListWidgetIsOwnCaseCell.d.ts +6 -0
- package/dist/components/ui/LineListWidget/LineListWidgetPrimaryMenu.d.ts +5 -0
- package/dist/components/ui/LineListWidget/LineListWidgetSecondaryMenu.d.ts +1 -0
- package/dist/components/ui/LineListWidget/LineListWidgetTitle.d.ts +1 -0
- package/dist/components/ui/LineListWidget/index.d.ts +1 -0
- package/dist/components/ui/LineListWidget/index.js +2 -0
- package/dist/components/ui/LineListWidget/useEpiLineListWidgetEmitDownloadOptions.d.ts +1 -0
- package/dist/components/ui/MapWidget/MapWidget.d.ts +1 -0
- package/dist/components/ui/MapWidget/index.d.ts +1 -0
- package/dist/components/ui/MapWidget/index.js +302 -0
- package/dist/components/ui/MapWidget/index.js.map +1 -0
- package/dist/components/ui/PanelSeparator/PanelSeparatorHorizontal.d.ts +2 -0
- package/dist/components/ui/PanelSeparator/PanelSeparatorVertical.d.ts +2 -0
- package/dist/components/ui/PanelSeparator/index.d.ts +2 -0
- package/dist/components/ui/PanelSeparator/index.js +2 -0
- package/dist/components/ui/RemoveCasesFromEventDialog/RemoveCasesFromEventDialog.d.ts +10 -0
- package/dist/components/ui/RemoveCasesFromEventDialog/index.d.ts +1 -0
- package/dist/components/ui/RemoveCasesFromEventDialog/index.js +111 -0
- package/dist/components/ui/RemoveCasesFromEventDialog/index.js.map +1 -0
- package/dist/components/ui/RemoveFindSimilarCasesResultDialog/RemoveFindSimilarCasesResultDialog.d.ts +9 -0
- package/dist/components/ui/SequenceDownloadDialog/SequenceDownloadDialog.d.ts +10 -0
- package/dist/components/ui/SequenceDownloadDialog/index.d.ts +1 -0
- package/dist/components/ui/SequenceDownloadDialog/index.js +89 -0
- package/dist/components/ui/SequenceDownloadDialog/index.js.map +1 -0
- package/dist/components/ui/TreeDescription/TreeDescription.d.ts +5 -0
- package/dist/components/ui/TreeDescription/index.d.ts +1 -0
- package/dist/components/ui/TreeDescription/index.js +40 -0
- package/dist/components/ui/TreeDescription/index.js.map +1 -0
- package/dist/components/ui/TreeWidget/TreeWidget.d.ts +1 -0
- package/dist/components/ui/TreeWidget/index.d.ts +1 -0
- package/dist/components/ui/TreeWidget/index.js +404 -0
- package/dist/components/ui/TreeWidget/index.js.map +1 -0
- package/dist/components/ui/Upload/Upload.d.ts +1 -0
- package/dist/components/ui/Upload/UploadCaseResultTable.d.ts +18 -0
- package/dist/components/ui/Upload/UploadCreateCases.d.ts +1 -0
- package/dist/components/ui/Upload/UploadEditColumnValuesDialog.d.ts +12 -0
- package/dist/components/ui/Upload/UploadMapColumns.d.ts +1 -0
- package/dist/components/ui/Upload/UploadMapSequences.d.ts +1 -0
- package/dist/components/ui/Upload/UploadNavigation.d.ts +10 -0
- package/dist/components/ui/Upload/UploadPreview.d.ts +4 -0
- package/dist/components/ui/Upload/UploadPreviewNavigation.d.ts +5 -0
- package/dist/components/ui/Upload/UploadSelectFile.d.ts +1 -0
- package/dist/components/ui/Upload/UploadSelectSequenceFiles.d.ts +1 -0
- package/dist/components/ui/Upload/index.d.ts +1 -0
- package/dist/components/ui/Upload/index.js +2 -0
- package/dist/components/ui/UserRightsDialog/UserRightsDialog.d.ts +9 -0
- package/dist/components/ui/UserRightsDialog/UserRightsDialogCaseAccessPolicy.d.ts +5 -0
- package/dist/components/ui/UserRightsDialog/index.d.ts +1 -0
- package/dist/components/ui/UserRightsDialog/index.js +2 -0
- package/dist/components/ui/UsersEffectiveRightsDetailsDialog/UsersEffectiveRightsDetailsDialog.d.ts +13 -0
- package/dist/components/ui/UsersEffectiveRightsDetailsDialog/index.d.ts +1 -0
- package/dist/components/ui/UsersEffectiveRightsDetailsDialog/index.js +373 -0
- package/dist/components/ui/UsersEffectiveRightsDetailsDialog/index.js.map +1 -0
- package/dist/components/ui/Warning/Warning.d.ts +4 -0
- package/dist/components/ui/Warning/index.d.ts +1 -0
- package/dist/components/ui/Warning/index.js +29 -0
- package/dist/components/ui/Warning/index.js.map +1 -0
- package/dist/components/ui/WidgetHeaderIconButton/WidgetHeaderIconButton.d.ts +5 -0
- package/dist/components/ui/WidgetHeaderIconButton/index.d.ts +1 -0
- package/dist/components/ui/WidgetHeaderIconButton/index.js +24 -0
- package/dist/components/ui/WidgetHeaderIconButton/index.js.map +1 -0
- package/dist/components/ui/WidgetMenu/WidgetMenu.d.ts +6 -0
- package/dist/components/ui/WidgetMenu/index.d.ts +1 -0
- package/dist/components/ui/WidgetMenu/index.js +26 -0
- package/dist/components/ui/WidgetMenu/index.js.map +1 -0
- package/dist/components/ui/WidgetUnavailable/WidgetUnavailable.d.ts +6 -0
- package/dist/components/ui/WidgetUnavailable/index.d.ts +1 -0
- package/dist/components/ui/WidgetUnavailable/index.js +18 -0
- package/dist/components/ui/WidgetUnavailable/index.js.map +1 -0
- package/dist/constants/dashboard.d.ts +9 -0
- package/dist/constants/dashboard.js +14 -0
- package/dist/constants/dashboard.js.map +1 -0
- package/dist/constants/query.d.ts +62 -0
- package/dist/constants/query.js +163 -0
- package/dist/constants/query.js.map +1 -0
- package/dist/context/caseAbac/CaseAbacContext.d.ts +14 -0
- package/dist/context/caseAbac/CaseAbacContextProvider.d.ts +6 -0
- package/dist/context/caseAbac/index.d.ts +3 -0
- package/dist/context/caseAbac/useCaseAbacContext.d.ts +2 -0
- package/dist/context/caseTypeAbac/CaseTypeAbacContext.d.ts +14 -0
- package/dist/context/caseTypeAbac/CaseTypeAbacContextProvider.d.ts +6 -0
- package/dist/context/caseTypeAbac/index.d.ts +3 -0
- package/dist/context/caseTypeAbac/useCaseTypeAbacContext.d.ts +2 -0
- package/dist/dataHooks/useAssemblyProtocolsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useAssemblyProtocolsQuery/index.js +21 -0
- package/dist/dataHooks/useAssemblyProtocolsQuery/index.js.map +1 -0
- package/dist/dataHooks/useAssemblyProtocolsQuery/useAssemblyProtocolsQuery.d.ts +6 -0
- package/dist/dataHooks/useCaseRightsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseRightsQuery/index.js +17 -0
- package/dist/dataHooks/useCaseRightsQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseRightsQuery/useCaseRightsQuery.d.ts +3 -0
- package/dist/dataHooks/useCaseSetCategoriesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseSetCategoriesQuery/index.js +22 -0
- package/dist/dataHooks/useCaseSetCategoriesQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseSetCategoriesQuery/useCaseSetCategoriesQuery.d.ts +6 -0
- package/dist/dataHooks/useCaseSetRightsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseSetRightsQuery/index.js +13 -0
- package/dist/dataHooks/useCaseSetRightsQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseSetRightsQuery/useCaseSetRightsQuery.d.ts +3 -0
- package/dist/dataHooks/useCaseSetStatsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseSetStatsQuery/index.js +19 -0
- package/dist/dataHooks/useCaseSetStatsQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseSetStatsQuery/useCaseSetStatsQuery.d.ts +5 -0
- package/dist/dataHooks/useCaseSetStatusesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseSetStatusesQuery/index.js +22 -0
- package/dist/dataHooks/useCaseSetStatusesQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseSetStatusesQuery/useCaseSetStatusesQuery.d.ts +6 -0
- package/dist/dataHooks/useCaseSetsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseSetsQuery/index.js +22 -0
- package/dist/dataHooks/useCaseSetsQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseSetsQuery/useCaseSetsQuery.d.ts +6 -0
- package/dist/dataHooks/useCaseTypeSetCategoriesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseTypeSetCategoriesQuery/index.js +22 -0
- package/dist/dataHooks/useCaseTypeSetCategoriesQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseTypeSetCategoriesQuery/useCaseTypeSetCategoriesQuery.d.ts +6 -0
- package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/index.js +21 -0
- package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseTypeSetCategoryPurposeQuery/useCaseTypeSetCategoryPurposeQuery.d.ts +4 -0
- package/dist/dataHooks/useCaseTypeSetMembersQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseTypeSetMembersQuery/index.js +13 -0
- package/dist/dataHooks/useCaseTypeSetMembersQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseTypeSetMembersQuery/useCaseTypeSetMembersQuery.d.ts +3 -0
- package/dist/dataHooks/useCaseTypeSetsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseTypeSetsQuery/index.js +25 -0
- package/dist/dataHooks/useCaseTypeSetsQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseTypeSetsQuery/useCaseTypeSetsQuery.d.ts +7 -0
- package/dist/dataHooks/useCaseTypeStatsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseTypeStatsQuery/index.js +13 -0
- package/dist/dataHooks/useCaseTypeStatsQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseTypeStatsQuery/useCaseTypeStatsQuery.d.ts +3 -0
- package/dist/dataHooks/useCaseTypesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useCaseTypesQuery/index.js +24 -0
- package/dist/dataHooks/useCaseTypesQuery/index.js.map +1 -0
- package/dist/dataHooks/useCaseTypesQuery/useCaseTypesQuery.d.ts +9 -0
- package/dist/dataHooks/useColSetMembersQuery/index.d.ts +1 -0
- package/dist/dataHooks/useColSetMembersQuery/index.js +13 -0
- package/dist/dataHooks/useColSetMembersQuery/index.js.map +1 -0
- package/dist/dataHooks/useColSetMembersQuery/useColSetMembersQuery.d.ts +3 -0
- package/dist/dataHooks/useColSetsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useColSetsQuery/index.js +21 -0
- package/dist/dataHooks/useColSetsQuery/index.js.map +1 -0
- package/dist/dataHooks/useColSetsQuery/useColSetsQuery.d.ts +6 -0
- package/dist/dataHooks/useColTypesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useColTypesQuery/index.js +51 -0
- package/dist/dataHooks/useColTypesQuery/index.js.map +1 -0
- package/dist/dataHooks/useColTypesQuery/useColTypesQuery.d.ts +4 -0
- package/dist/dataHooks/useColsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useColsQuery/index.js +27 -0
- package/dist/dataHooks/useColsQuery/index.js.map +1 -0
- package/dist/dataHooks/useColsQuery/useColsQuery.d.ts +7 -0
- package/dist/dataHooks/useConceptQuery/index.d.ts +1 -0
- package/dist/dataHooks/useConceptQuery/index.js +26 -0
- package/dist/dataHooks/useConceptQuery/index.js.map +1 -0
- package/dist/dataHooks/useConceptQuery/useConceptQuery.d.ts +7 -0
- package/dist/dataHooks/useConceptRelationTypeQuery/index.d.ts +1 -0
- package/dist/dataHooks/useConceptRelationTypeQuery/index.js +15 -0
- package/dist/dataHooks/useConceptRelationTypeQuery/index.js.map +1 -0
- package/dist/dataHooks/useConceptRelationTypeQuery/useConceptRelationTypeQuery.d.ts +4 -0
- package/dist/dataHooks/useConceptSetTypeQuery/index.d.ts +1 -0
- package/dist/dataHooks/useConceptSetTypeQuery/index.js +22 -0
- package/dist/dataHooks/useConceptSetTypeQuery/index.js.map +1 -0
- package/dist/dataHooks/useConceptSetTypeQuery/useConceptSetTypeQuery.d.ts +4 -0
- package/dist/dataHooks/useConceptSetsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useConceptSetsQuery/index.js +21 -0
- package/dist/dataHooks/useConceptSetsQuery/index.js.map +1 -0
- package/dist/dataHooks/useConceptSetsQuery/useConceptSetsQuery.d.ts +6 -0
- package/dist/dataHooks/useDataCollectionSetMembersQuery/index.d.ts +1 -0
- package/dist/dataHooks/useDataCollectionSetMembersQuery/index.js +13 -0
- package/dist/dataHooks/useDataCollectionSetMembersQuery/index.js.map +1 -0
- package/dist/dataHooks/useDataCollectionSetMembersQuery/useDataCollectionSetMembersQuery.d.ts +3 -0
- package/dist/dataHooks/useDataCollectionsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useDataCollectionsQuery/index.js +22 -0
- package/dist/dataHooks/useDataCollectionsQuery/index.js.map +1 -0
- package/dist/dataHooks/useDataCollectionsQuery/useDataCollectionsQuery.d.ts +6 -0
- package/dist/dataHooks/useDimTypesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useDimTypesQuery/index.js +26 -0
- package/dist/dataHooks/useDimTypesQuery/index.js.map +1 -0
- package/dist/dataHooks/useDimTypesQuery/useDimTypesQuery.d.ts +4 -0
- package/dist/dataHooks/useDimsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useDimsQuery/index.js +26 -0
- package/dist/dataHooks/useDimsQuery/index.js.map +1 -0
- package/dist/dataHooks/useDimsQuery/useDimsQuery.d.ts +7 -0
- package/dist/dataHooks/useDiseasesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useDiseasesQuery/index.js +21 -0
- package/dist/dataHooks/useDiseasesQuery/index.js.map +1 -0
- package/dist/dataHooks/useDiseasesQuery/useDiseasesQuery.d.ts +6 -0
- package/dist/dataHooks/useEtiologicalAgentsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useEtiologicalAgentsQuery/index.js +21 -0
- package/dist/dataHooks/useEtiologicalAgentsQuery/index.js.map +1 -0
- package/dist/dataHooks/useEtiologicalAgentsQuery/useEtiologicalAgentsQuery.d.ts +6 -0
- package/dist/dataHooks/useGeneticDistanceProtocolsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useGeneticDistanceProtocolsQuery/index.js +18 -0
- package/dist/dataHooks/useGeneticDistanceProtocolsQuery/index.js.map +1 -0
- package/dist/dataHooks/useGeneticDistanceProtocolsQuery/useGeneticDistanceProtocolsQuery.d.ts +5 -0
- package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/index.js +14 -0
- package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/index.js.map +1 -0
- package/dist/dataHooks/useOrganizationAccessCasePoliciesQuery/useOrganizationAccessCasePoliciesQuery.d.ts +3 -0
- package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/index.js +14 -0
- package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/index.js.map +1 -0
- package/dist/dataHooks/useOrganizationShareCasePoliciesQuery/useOrganizationShareCasePoliciesQuery.d.ts +3 -0
- package/dist/dataHooks/useRefColsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useRefColsQuery/index.js +22 -0
- package/dist/dataHooks/useRefColsQuery/index.js.map +1 -0
- package/dist/dataHooks/useRefColsQuery/useRefColsQuery.d.ts +6 -0
- package/dist/dataHooks/useRefColsValidationRulesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useRefColsValidationRulesQuery/index.js +13 -0
- package/dist/dataHooks/useRefColsValidationRulesQuery/index.js.map +1 -0
- package/dist/dataHooks/useRefColsValidationRulesQuery/useRefColsValidationRulesQuery.d.ts +3 -0
- package/dist/dataHooks/useRefDimsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useRefDimsQuery/index.js +22 -0
- package/dist/dataHooks/useRefDimsQuery/index.js.map +1 -0
- package/dist/dataHooks/useRefDimsQuery/useRefDimsQuery.d.ts +6 -0
- package/dist/dataHooks/useRegionQuery/index.d.ts +1 -0
- package/dist/dataHooks/useRegionQuery/index.js +25 -0
- package/dist/dataHooks/useRegionQuery/index.js.map +1 -0
- package/dist/dataHooks/useRegionQuery/useRegionQuery.d.ts +7 -0
- package/dist/dataHooks/useRegionRelationTypeQuery/index.d.ts +1 -0
- package/dist/dataHooks/useRegionRelationTypeQuery/index.js +20 -0
- package/dist/dataHooks/useRegionRelationTypeQuery/index.js.map +1 -0
- package/dist/dataHooks/useRegionRelationTypeQuery/useRegionRelationTypeQuery.d.ts +4 -0
- package/dist/dataHooks/useRegionSetsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useRegionSetsQuery/index.js +21 -0
- package/dist/dataHooks/useRegionSetsQuery/index.js.map +1 -0
- package/dist/dataHooks/useRegionSetsQuery/useRegionSetsQuery.d.ts +6 -0
- package/dist/dataHooks/useSequencingProtocolsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useSequencingProtocolsQuery/index.js +21 -0
- package/dist/dataHooks/useSequencingProtocolsQuery/index.js.map +1 -0
- package/dist/dataHooks/useSequencingProtocolsQuery/useSequencingProtocolsQuery.d.ts +6 -0
- package/dist/dataHooks/useTreeAlgorithmCodesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useTreeAlgorithmCodesQuery/index.js +42 -0
- package/dist/dataHooks/useTreeAlgorithmCodesQuery/index.js.map +1 -0
- package/dist/dataHooks/useTreeAlgorithmCodesQuery/useTreeAlgorithmCodesQuery.d.ts +4 -0
- package/dist/dataHooks/useUnitQuery/index.d.ts +1 -0
- package/dist/dataHooks/useUnitQuery/index.js +2 -0
- package/dist/dataHooks/useUnitQuery/useUnit.d.ts +4 -0
- package/dist/dataHooks/useUserAccessCasePoliciesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useUserAccessCasePoliciesQuery/index.js +14 -0
- package/dist/dataHooks/useUserAccessCasePoliciesQuery/index.js.map +1 -0
- package/dist/dataHooks/useUserAccessCasePoliciesQuery/useUserAccessCasePoliciesQuery.d.ts +3 -0
- package/dist/dataHooks/useUserEffectiveRightsQuery/index.d.ts +1 -0
- package/dist/dataHooks/useUserEffectiveRightsQuery/index.js +83 -0
- package/dist/dataHooks/useUserEffectiveRightsQuery/index.js.map +1 -0
- package/dist/dataHooks/useUserEffectiveRightsQuery/useUserEffectiveRightsQuery.d.ts +16 -0
- package/dist/dataHooks/useUserShareCasePoliciesQuery/index.d.ts +1 -0
- package/dist/dataHooks/useUserShareCasePoliciesQuery/index.js +14 -0
- package/dist/dataHooks/useUserShareCasePoliciesQuery/index.js.map +1 -0
- package/dist/dataHooks/useUserShareCasePoliciesQuery/useUserShareCasePoliciesQuery.d.ts +3 -0
- package/dist/hooks/useOrganizationCasePolicyNameFactory/index.d.ts +1 -0
- package/dist/hooks/useOrganizationCasePolicyNameFactory/index.js +25 -0
- package/dist/hooks/useOrganizationCasePolicyNameFactory/index.js.map +1 -0
- package/dist/hooks/useOrganizationCasePolicyNameFactory/useOrganizationCasePolicyNameFactory.d.ts +3 -0
- package/dist/hooks/useUserCasePolicyNameFactory/index.d.ts +1 -0
- package/dist/hooks/useUserCasePolicyNameFactory/index.js +28 -0
- package/dist/hooks/useUserCasePolicyNameFactory/index.js.map +1 -0
- package/dist/hooks/useUserCasePolicyNameFactory/useUserCasePolicyNameFactory.d.ts +3 -0
- package/dist/locale/en.json +676 -0
- package/dist/locale/nl.json +676 -0
- package/dist/models/caseAccess.d.ts +15 -0
- package/dist/models/caseAccess.js +0 -0
- package/dist/models/caseDb.d.ts +96 -0
- package/dist/models/caseDb.js +8 -0
- package/dist/models/caseDb.js.map +1 -0
- package/dist/models/config.d.ts +70 -0
- package/dist/models/config.js +0 -0
- package/dist/models/dashboard.d.ts +91 -0
- package/dist/models/dashboard.js +10 -0
- package/dist/models/dashboard.js.map +1 -0
- package/dist/models/stratification.d.ts +40 -0
- package/dist/models/stratification.js +12 -0
- package/dist/models/stratification.js.map +1 -0
- package/dist/models/theme.d.ts +17 -0
- package/dist/models/theme.js +0 -0
- package/dist/models/upload.d.ts +51 -0
- package/dist/models/upload.js +8 -0
- package/dist/models/upload.js.map +1 -0
- package/dist/pages/CaseDbUsersAdminPage/CaseDbUsersAdminPage.d.ts +1 -0
- package/dist/pages/CaseDbUsersAdminPage/index.d.ts +1 -0
- package/dist/pages/CaseDbUsersAdminPage/index.js +67 -0
- package/dist/pages/CaseDbUsersAdminPage/index.js.map +1 -0
- package/dist/pages/CaseSetCategoryAdminPage/CaseSetCategoryAdminPage.d.ts +1 -0
- package/dist/pages/CaseSetCategoryAdminPage/index.d.ts +1 -0
- package/dist/pages/CaseSetCategoryAdminPage/index.js +69 -0
- package/dist/pages/CaseSetCategoryAdminPage/index.js.map +1 -0
- package/dist/pages/CaseSetStatusAdminPage/CaseSetStatusAdminPage.d.ts +1 -0
- package/dist/pages/CaseSetStatusAdminPage/index.d.ts +1 -0
- package/dist/pages/CaseSetStatusAdminPage/index.js +69 -0
- package/dist/pages/CaseSetStatusAdminPage/index.js.map +1 -0
- package/dist/pages/CaseTypeSetCategoriesAdminPage/CaseTypeSetCategoriesAdminPage.d.ts +1 -0
- package/dist/pages/CaseTypeSetCategoriesAdminPage/index.d.ts +1 -0
- package/dist/pages/CaseTypeSetCategoriesAdminPage/index.js +92 -0
- package/dist/pages/CaseTypeSetCategoriesAdminPage/index.js.map +1 -0
- package/dist/pages/CaseTypeSetsAdminPage/CaseTypeSetsAdminPage.d.ts +1 -0
- package/dist/pages/CaseTypeSetsAdminPage/index.d.ts +1 -0
- package/dist/pages/CaseTypeSetsAdminPage/index.js +148 -0
- package/dist/pages/CaseTypeSetsAdminPage/index.js.map +1 -0
- package/dist/pages/CaseTypesAdminPage/CaseTypesAdminPage.d.ts +1 -0
- package/dist/pages/CaseTypesAdminPage/index.d.ts +1 -0
- package/dist/pages/CaseTypesAdminPage/index.js +288 -0
- package/dist/pages/CaseTypesAdminPage/index.js.map +1 -0
- package/dist/pages/CasesDetailPage/CasesDetailPage.d.ts +1 -0
- package/dist/pages/CasesDetailPage/index.d.ts +1 -0
- package/dist/pages/CasesDetailPage/index.js +41 -0
- package/dist/pages/CasesDetailPage/index.js.map +1 -0
- package/dist/pages/CasesPage/CasesPage.d.ts +1 -0
- package/dist/pages/CasesPage/index.d.ts +1 -0
- package/dist/pages/CasesPage/index.js +229 -0
- package/dist/pages/CasesPage/index.js.map +1 -0
- package/dist/pages/ColSetsAdminPage/ColSetsAdminPage.d.ts +1 -0
- package/dist/pages/ColSetsAdminPage/index.d.ts +1 -0
- package/dist/pages/ColSetsAdminPage/index.js +109 -0
- package/dist/pages/ColSetsAdminPage/index.js.map +1 -0
- package/dist/pages/ColsAdminPage/ColsAdminPage.d.ts +1 -0
- package/dist/pages/ColsAdminPage/index.d.ts +1 -0
- package/dist/pages/ColsAdminPage/index.js +315 -0
- package/dist/pages/ColsAdminPage/index.js.map +1 -0
- package/dist/pages/ConceptRelationsAdminPage/ConceptRelationsAdminPage.d.ts +1 -0
- package/dist/pages/ConceptRelationsAdminPage/index.d.ts +1 -0
- package/dist/pages/ConceptRelationsAdminPage/index.js +103 -0
- package/dist/pages/ConceptRelationsAdminPage/index.js.map +1 -0
- package/dist/pages/ConceptSetsAdminPage/ConceptSetsAdminPage.d.ts +1 -0
- package/dist/pages/ConceptSetsAdminPage/index.d.ts +1 -0
- package/dist/pages/ConceptSetsAdminPage/index.js +112 -0
- package/dist/pages/ConceptSetsAdminPage/index.js.map +1 -0
- package/dist/pages/ConceptsAdminPage/ConceptsAdminPage.d.ts +1 -0
- package/dist/pages/ConceptsAdminPage/index.d.ts +1 -0
- package/dist/pages/ConceptsAdminPage/index.js +94 -0
- package/dist/pages/ConceptsAdminPage/index.js.map +1 -0
- package/dist/pages/DataCollectionSetsAdminPage/DataCollectionSetsAdminPage.d.ts +1 -0
- package/dist/pages/DataCollectionSetsAdminPage/index.d.ts +1 -0
- package/dist/pages/DataCollectionSetsAdminPage/index.js +99 -0
- package/dist/pages/DataCollectionSetsAdminPage/index.js.map +1 -0
- package/dist/pages/DataCollectionVisualizationPage/DataCollectionVisualizationPage.d.ts +1 -0
- package/dist/pages/DataCollectionVisualizationPage/index.d.ts +1 -0
- package/dist/pages/DataCollectionVisualizationPage/index.js +494 -0
- package/dist/pages/DataCollectionVisualizationPage/index.js.map +1 -0
- package/dist/pages/DataCollectionsAdminPage/DataCollectionsAdminPage.d.ts +1 -0
- package/dist/pages/DataCollectionsAdminPage/index.d.ts +1 -0
- package/dist/pages/DataCollectionsAdminPage/index.js +54 -0
- package/dist/pages/DataCollectionsAdminPage/index.js.map +1 -0
- package/dist/pages/DimsAdminPage/DimsAdminPage.d.ts +1 -0
- package/dist/pages/DimsAdminPage/index.d.ts +1 -0
- package/dist/pages/DimsAdminPage/index.js +146 -0
- package/dist/pages/DimsAdminPage/index.js.map +1 -0
- package/dist/pages/DiseasesAdminPage/DiseasesAdminPage.d.ts +1 -0
- package/dist/pages/DiseasesAdminPage/index.d.ts +1 -0
- package/dist/pages/DiseasesAdminPage/index.js +57 -0
- package/dist/pages/DiseasesAdminPage/index.js.map +1 -0
- package/dist/pages/EtiologicalAgentsAdminPage/EtiologicalAgentsAdminPage.d.ts +1 -0
- package/dist/pages/EtiologicalAgentsAdminPage/index.d.ts +1 -0
- package/dist/pages/EtiologicalAgentsAdminPage/index.js +54 -0
- package/dist/pages/EtiologicalAgentsAdminPage/index.js.map +1 -0
- package/dist/pages/EtiologiesAdminPage/EtiologiesAdminPage.d.ts +1 -0
- package/dist/pages/EtiologiesAdminPage/index.d.ts +1 -0
- package/dist/pages/EtiologiesAdminPage/index.js +76 -0
- package/dist/pages/EtiologiesAdminPage/index.js.map +1 -0
- package/dist/pages/EventsDetailPage/EventsDetailPage.d.ts +1 -0
- package/dist/pages/EventsDetailPage/index.d.ts +1 -0
- package/dist/pages/EventsDetailPage/index.js +56 -0
- package/dist/pages/EventsDetailPage/index.js.map +1 -0
- package/dist/pages/EventsPage/EventsPage.d.ts +1 -0
- package/dist/pages/EventsPage/index.d.ts +1 -0
- package/dist/pages/EventsPage/index.js +221 -0
- package/dist/pages/EventsPage/index.js.map +1 -0
- package/dist/pages/HomePage/HomePage.d.ts +1 -0
- package/dist/pages/HomePage/index.d.ts +1 -0
- package/dist/pages/HomePage/index.js +35 -0
- package/dist/pages/HomePage/index.js.map +1 -0
- package/dist/pages/OrganizationAccessCasePoliciesAdminPage/OrganizationAccessCasePoliciesAdminPage.d.ts +1 -0
- package/dist/pages/OrganizationAccessCasePoliciesAdminPage/index.d.ts +1 -0
- package/dist/pages/OrganizationAccessCasePoliciesAdminPage/index.js +216 -0
- package/dist/pages/OrganizationAccessCasePoliciesAdminPage/index.js.map +1 -0
- package/dist/pages/OrganizationShareCasePoliciesAdminPage/OrganizationShareCasePoliciesAdminPage.d.ts +1 -0
- package/dist/pages/OrganizationShareCasePoliciesAdminPage/index.d.ts +1 -0
- package/dist/pages/OrganizationShareCasePoliciesAdminPage/index.js +170 -0
- package/dist/pages/OrganizationShareCasePoliciesAdminPage/index.js.map +1 -0
- package/dist/pages/RefColsAdminPage/RefColsAdminPage.d.ts +1 -0
- package/dist/pages/RefColsAdminPage/index.d.ts +1 -0
- package/dist/pages/RefColsAdminPage/index.js +302 -0
- package/dist/pages/RefColsAdminPage/index.js.map +1 -0
- package/dist/pages/RefDimsAdminPage/RefDimsAdminPage.d.ts +1 -0
- package/dist/pages/RefDimsAdminPage/index.d.ts +1 -0
- package/dist/pages/RefDimsAdminPage/index.js +110 -0
- package/dist/pages/RefDimsAdminPage/index.js.map +1 -0
- package/dist/pages/RegionRelationsAdminPage/RegionRelationsAdminPage.d.ts +1 -0
- package/dist/pages/RegionRelationsAdminPage/index.d.ts +1 -0
- package/dist/pages/RegionRelationsAdminPage/index.js +102 -0
- package/dist/pages/RegionRelationsAdminPage/index.js.map +1 -0
- package/dist/pages/RegionSetShapesAdminPage/RegionSetShapesAdminPage.d.ts +1 -0
- package/dist/pages/RegionSetShapesAdminPage/index.d.ts +1 -0
- package/dist/pages/RegionSetShapesAdminPage/index.js +73 -0
- package/dist/pages/RegionSetShapesAdminPage/index.js.map +1 -0
- package/dist/pages/RegionSetsAdminPage/RegionSetsAdminPage.d.ts +1 -0
- package/dist/pages/RegionSetsAdminPage/index.d.ts +1 -0
- package/dist/pages/RegionSetsAdminPage/index.js +101 -0
- package/dist/pages/RegionSetsAdminPage/index.js.map +1 -0
- package/dist/pages/RegionsAdminPage/RegionsAdminPage.d.ts +1 -0
- package/dist/pages/RegionsAdminPage/index.d.ts +1 -0
- package/dist/pages/RegionsAdminPage/index.js +99 -0
- package/dist/pages/RegionsAdminPage/index.js.map +1 -0
- package/dist/pages/TrendsPage/TrendsPage.d.ts +1 -0
- package/dist/pages/TrendsPage/index.d.ts +1 -0
- package/dist/pages/TrendsPage/index.js +17 -0
- package/dist/pages/TrendsPage/index.js.map +1 -0
- package/dist/pages/UploadPage/UploadPage.d.ts +1 -0
- package/dist/pages/UploadPage/index.d.ts +1 -0
- package/dist/pages/UploadPage/index.js +31 -0
- package/dist/pages/UploadPage/index.js.map +1 -0
- package/dist/pages/UserAccessCasePoliciesAdminPage/UserAccessCasePoliciesAdminPage.d.ts +1 -0
- package/dist/pages/UserAccessCasePoliciesAdminPage/index.d.ts +1 -0
- package/dist/pages/UserAccessCasePoliciesAdminPage/index.js +206 -0
- package/dist/pages/UserAccessCasePoliciesAdminPage/index.js.map +1 -0
- package/dist/pages/UserEffectiveRightsAdminPage/UserEffectiveRightsAdminPage.d.ts +1 -0
- package/dist/pages/UserEffectiveRightsAdminPage/index.d.ts +1 -0
- package/dist/pages/UserEffectiveRightsAdminPage/index.js +246 -0
- package/dist/pages/UserEffectiveRightsAdminPage/index.js.map +1 -0
- package/dist/pages/UserEffectiveRightsTesterAdminPage/UserEffectiveRightsTesterAdminPage.d.ts +1 -0
- package/dist/pages/UserEffectiveRightsTesterAdminPage/index.d.ts +1 -0
- package/dist/pages/UserEffectiveRightsTesterAdminPage/index.js +195 -0
- package/dist/pages/UserEffectiveRightsTesterAdminPage/index.js.map +1 -0
- package/dist/pages/UserShareCasePoliciesAdminPage/UserShareCasePoliciesAdminPage.d.ts +1 -0
- package/dist/pages/UserShareCasePoliciesAdminPage/index.d.ts +1 -0
- package/dist/pages/UserShareCasePoliciesAdminPage/index.js +169 -0
- package/dist/pages/UserShareCasePoliciesAdminPage/index.js.map +1 -0
- package/dist/routes/adminRoutes.d.ts +6 -0
- package/dist/routes/index.d.ts +2 -0
- package/dist/routes/index.js +1110 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/routes.d.ts +6 -0
- package/dist/setup/setup.d.ts +1 -0
- package/dist/setup/setup.js +28 -0
- package/dist/setup/setup.js.map +1 -0
- package/dist/stores/dashboardStore/dashboardStore.d.ts +80 -0
- package/dist/stores/dashboardStore/dashboardStoreContext.d.ts +3 -0
- package/dist/stores/dashboardStore/index.d.ts +2 -0
- package/dist/stores/dashboardStore/index.js +2 -0
- package/dist/stores/uploadStore/index.d.ts +2 -0
- package/dist/stores/uploadStore/index.js +185 -0
- package/dist/stores/uploadStore/index.js.map +1 -0
- package/dist/stores/uploadStore/uploadStore.d.ts +80 -0
- package/dist/stores/uploadStore/uploadStoreContext.d.ts +3 -0
- package/dist/stores/userProfileStore/index.d.ts +1 -0
- package/dist/stores/userProfileStore/index.js +81 -0
- package/dist/stores/userProfileStore/index.js.map +1 -0
- package/dist/stores/userProfileStore/userProfileStore.d.ts +38 -0
- package/dist/stores/userProfileStore/userProfileStoreContext.d.ts +3 -0
- package/dist/theme/demoTheme/demoTheme.d.ts +3 -0
- package/dist/theme/demoTheme/index.d.ts +1 -0
- package/dist/theme/demoTheme/index.js +20 -0
- package/dist/theme/demoTheme/index.js.map +1 -0
- package/dist/utils/AbacUtil/AbacUtil.d.ts +7 -0
- package/dist/utils/AbacUtil/index.d.ts +1 -0
- package/dist/utils/AbacUtil/index.js +31 -0
- package/dist/utils/AbacUtil/index.js.map +1 -0
- package/dist/utils/CaseDbDataUtil/CaseDbDataUtil.d.ts +31 -0
- package/dist/utils/CaseDbDataUtil/index.d.ts +1 -0
- package/dist/utils/CaseDbDataUtil/index.js +43 -0
- package/dist/utils/CaseDbDataUtil/index.js.map +1 -0
- package/dist/utils/CaseDbDownloadUtil/CaseDbDownloadUtil.d.ts +17 -0
- package/dist/utils/CaseDbDownloadUtil/index.d.ts +1 -0
- package/dist/utils/CaseDbDownloadUtil/index.js +2 -0
- package/dist/utils/CaseDbStandardConfigUtil/CaseDbStandardConfigUtil.d.ts +7 -0
- package/dist/utils/CaseDbStandardConfigUtil/index.d.ts +1 -0
- package/dist/utils/CaseDbStandardConfigUtil/index.js +4778 -0
- package/dist/utils/CaseDbStandardConfigUtil/index.js.map +1 -0
- package/dist/utils/CaseDbTableUtil/CaseDbTableUtil.d.ts +6 -0
- package/dist/utils/CaseDbTableUtil/index.d.ts +1 -0
- package/dist/utils/CaseDbTableUtil/index.js +41 -0
- package/dist/utils/CaseDbTableUtil/index.js.map +1 -0
- package/dist/utils/CaseSelectionUtil/CaseSelectionUtil.d.ts +8 -0
- package/dist/utils/CaseSelectionUtil/index.d.ts +1 -0
- package/dist/utils/CaseSelectionUtil/index.js +29 -0
- package/dist/utils/CaseSelectionUtil/index.js.map +1 -0
- package/dist/utils/CaseSetUtil/CaseSetUtil.d.ts +4 -0
- package/dist/utils/CaseSetUtil/index.d.ts +1 -0
- package/dist/utils/CaseSetUtil/index.js +13 -0
- package/dist/utils/CaseSetUtil/index.js.map +1 -0
- package/dist/utils/CaseTypeFormUtil/CaseTypeFormUtil.d.ts +20 -0
- package/dist/utils/CaseTypeFormUtil/index.d.ts +1 -0
- package/dist/utils/CaseTypeFormUtil/index.js +199 -0
- package/dist/utils/CaseTypeFormUtil/index.js.map +1 -0
- package/dist/utils/CaseTypeUtil/CaseTypeUtil.d.ts +39 -0
- package/dist/utils/CaseTypeUtil/index.d.ts +1 -0
- package/dist/utils/CaseTypeUtil/index.js +135 -0
- package/dist/utils/CaseTypeUtil/index.js.map +1 -0
- package/dist/utils/CaseUtil/CaseUtil.d.ts +18 -0
- package/dist/utils/CaseUtil/index.d.ts +1 -0
- package/dist/utils/CaseUtil/index.js +138 -0
- package/dist/utils/CaseUtil/index.js.map +1 -0
- package/dist/utils/DashboardUtil/DashboardUtil.d.ts +29 -0
- package/dist/utils/DashboardUtil/index.d.ts +1 -0
- package/dist/utils/DashboardUtil/index.js +152 -0
- package/dist/utils/DashboardUtil/index.js.map +1 -0
- package/dist/utils/DataSetUtil/DataSetUtil.d.ts +17 -0
- package/dist/utils/DataSetUtil/index.d.ts +1 -0
- package/dist/utils/DataSetUtil/index.js +43 -0
- package/dist/utils/DataSetUtil/index.js.map +1 -0
- package/dist/utils/EffectiveRightsUtil/EffectiveRightsUtil.d.ts +29 -0
- package/dist/utils/EffectiveRightsUtil/index.d.ts +1 -0
- package/dist/utils/EffectiveRightsUtil/index.js +118 -0
- package/dist/utils/EffectiveRightsUtil/index.js.map +1 -0
- package/dist/utils/EpiCurveUtil/EpiCurveUtil.d.ts +96 -0
- package/dist/utils/EpiCurveUtil/index.d.ts +1 -0
- package/dist/utils/EpiCurveUtil/index.js +2 -0
- package/dist/utils/FileUtil/FileUtil.d.ts +5 -0
- package/dist/utils/FileUtil/index.d.ts +1 -0
- package/dist/utils/FileUtil/index.js +15 -0
- package/dist/utils/FileUtil/index.js.map +1 -0
- package/dist/utils/FilterUtil/FilterUtil.d.ts +11 -0
- package/dist/utils/FilterUtil/index.d.ts +1 -0
- package/dist/utils/FilterUtil/index.js +2 -0
- package/dist/utils/FindSimilarCasesUtil/FindSimilarCasesUtil.d.ts +7 -0
- package/dist/utils/FindSimilarCasesUtil/index.d.ts +1 -0
- package/dist/utils/FindSimilarCasesUtil/index.js +2 -0
- package/dist/utils/HistogramUtil/HistogramUtil.d.ts +78 -0
- package/dist/utils/HistogramUtil/index.d.ts +1 -0
- package/dist/utils/HistogramUtil/index.js +145 -0
- package/dist/utils/HistogramUtil/index.js.map +1 -0
- package/dist/utils/MapUtil/MapUtil.d.ts +38 -0
- package/dist/utils/MapUtil/index.d.ts +1 -0
- package/dist/utils/MapUtil/index.js +210 -0
- package/dist/utils/MapUtil/index.js.map +1 -0
- package/dist/utils/StratificationUtil/StratificationUtil.d.ts +25 -0
- package/dist/utils/StratificationUtil/index.d.ts +1 -0
- package/dist/utils/StratificationUtil/index.js +198 -0
- package/dist/utils/StratificationUtil/index.js.map +1 -0
- package/dist/utils/TreeWidgetUtil/TreeWidgetUtil.d.ts +7 -0
- package/dist/utils/TreeWidgetUtil/index.d.ts +1 -0
- package/dist/utils/TreeWidgetUtil/index.js +35 -0
- package/dist/utils/TreeWidgetUtil/index.js.map +1 -0
- package/dist/utils/UploadUtil/UploadUtil.d.ts +106 -0
- package/dist/utils/UploadUtil/index.d.ts +1 -0
- package/dist/utils/UploadUtil/index.js +2 -0
- package/package.json +784 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { DataSetUtil as e } from "../DataSetUtil/index.js";
|
|
2
|
+
//#region src/utils/EffectiveRightsUtil/EffectiveRightsUtil.ts
|
|
3
|
+
var t = class t {
|
|
4
|
+
static assembleUserEffectiveRights({ caseTypeSetMembers: n, colSetMembers: r, organizationAccessCasePolicies: i, organizationShareCasePolicies: a, user: o, userAccessCasePolicies: s, userShareCasePolicies: c }) {
|
|
5
|
+
if (!o || !i || !a || !s || !c || !n || !r) return [];
|
|
6
|
+
let l = e.getMappedSetMembers({
|
|
7
|
+
items: n,
|
|
8
|
+
memberProperty: "case_type_id",
|
|
9
|
+
setProperty: "case_type_set_id"
|
|
10
|
+
}), u = e.getMappedSetMembers({
|
|
11
|
+
items: r,
|
|
12
|
+
memberProperty: "col_id",
|
|
13
|
+
setProperty: "col_set_id"
|
|
14
|
+
});
|
|
15
|
+
return i.map((i) => {
|
|
16
|
+
let o = s.find((e) => e.data_collection_id === i.data_collection_id), d = t.getMatchingOrganizationShareCasePolicies({
|
|
17
|
+
dataCollectionId: i.data_collection_id,
|
|
18
|
+
organizationId: i.organization_id,
|
|
19
|
+
organizationShareCasePolicies: a
|
|
20
|
+
}), f = c.filter((e) => e.data_collection_id === i.data_collection_id), p = [];
|
|
21
|
+
d.forEach((t) => {
|
|
22
|
+
let r = f.find((e) => e.from_data_collection_id === t.from_data_collection_id), i = n.filter((e) => e.case_type_set_id === t.case_type_set_id).map((e) => e.case_type_id), a = n.filter((e) => e.case_type_set_id === r?.case_type_set_id).map((e) => e.case_type_id), { categorizedMemberIds: o, setIds: s, uncategorizedMemberIds: c } = e.getCategorizedSetMembers({
|
|
23
|
+
childMemberIds: a,
|
|
24
|
+
mappedSetMembers: l,
|
|
25
|
+
parentMemberIds: i,
|
|
26
|
+
parentSetId: t.case_type_set_id
|
|
27
|
+
}), u = t.add_case && r?.add_case, d = t.remove_case && r?.remove_case, m = t.add_case_set && r?.add_case_set, h = t.remove_case_set && r?.remove_case_set;
|
|
28
|
+
[
|
|
29
|
+
u,
|
|
30
|
+
d,
|
|
31
|
+
m,
|
|
32
|
+
h
|
|
33
|
+
].some((e) => e) && p.push({
|
|
34
|
+
add_case: u,
|
|
35
|
+
add_case_set: m,
|
|
36
|
+
case_type_set_ids: s,
|
|
37
|
+
categorized_case_type_ids: o,
|
|
38
|
+
from_data_collection_id: t.from_data_collection_id,
|
|
39
|
+
remove_case: d,
|
|
40
|
+
remove_case_set: h,
|
|
41
|
+
uncategorized_case_type_ids: c
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
let m = n.filter((e) => e.case_type_set_id === i.case_type_set_id).map((e) => e.case_type_id), h = n.filter((e) => e.case_type_set_id === o?.case_type_set_id).map((e) => e.case_type_id), { categorizedMemberIds: g, setIds: _, uncategorizedMemberIds: v } = e.getCategorizedSetMembers({
|
|
45
|
+
childMemberIds: h,
|
|
46
|
+
mappedSetMembers: l,
|
|
47
|
+
parentMemberIds: m,
|
|
48
|
+
parentSetId: i.case_type_set_id
|
|
49
|
+
}), y = r.filter((e) => e.col_set_id === i.read_col_set_id).map((e) => e.col_id), b = r.filter((e) => e.col_set_id === o?.read_col_set_id).map((e) => e.col_id), { categorizedMemberIds: x, setIds: S, uncategorizedMemberIds: C } = e.getCategorizedSetMembers({
|
|
50
|
+
childMemberIds: b,
|
|
51
|
+
mappedSetMembers: u,
|
|
52
|
+
parentMemberIds: y,
|
|
53
|
+
parentSetId: i.read_col_set_id
|
|
54
|
+
}), w = r.filter((e) => e.col_set_id === i.write_col_set_id).map((e) => e.col_id), T = r.filter((e) => e.col_set_id === o?.write_col_set_id).map((e) => e.col_id), { categorizedMemberIds: E, setIds: D, uncategorizedMemberIds: O } = e.getCategorizedSetMembers({
|
|
55
|
+
childMemberIds: T,
|
|
56
|
+
mappedSetMembers: u,
|
|
57
|
+
parentMemberIds: w,
|
|
58
|
+
parentSetId: i.write_col_set_id
|
|
59
|
+
});
|
|
60
|
+
return {
|
|
61
|
+
add_case: i.add_case && o?.add_case,
|
|
62
|
+
add_case_set: i.add_case_set && o?.add_case_set,
|
|
63
|
+
case_type_set_ids: _,
|
|
64
|
+
categorized_case_type_ids: g,
|
|
65
|
+
categorized_read_col_ids: x,
|
|
66
|
+
categorized_write_col_ids: E,
|
|
67
|
+
data_collection_id: i.data_collection_id,
|
|
68
|
+
effective_share_case_rights: p,
|
|
69
|
+
is_private: i.is_private,
|
|
70
|
+
organization_id: i.organization_id,
|
|
71
|
+
read_case_set: i.read_case_set && o?.read_case_set,
|
|
72
|
+
read_col_set_id: i.read_col_set_id,
|
|
73
|
+
read_col_set_ids: S,
|
|
74
|
+
remove_case: i.remove_case && o?.remove_case,
|
|
75
|
+
remove_case_set: i.remove_case_set && o?.remove_case_set,
|
|
76
|
+
uncategorized_case_type_ids: v,
|
|
77
|
+
uncategorized_read_col_ids: C,
|
|
78
|
+
uncategorized_write_col_ids: O,
|
|
79
|
+
write_case_set: i.write_case_set && o?.write_case_set,
|
|
80
|
+
write_col_set_id: i.write_col_set_id,
|
|
81
|
+
write_col_set_ids: D
|
|
82
|
+
};
|
|
83
|
+
}).filter(((e) => !!e));
|
|
84
|
+
}
|
|
85
|
+
static getMatchingOrganizationShareCasePolicies(e) {
|
|
86
|
+
let { dataCollectionId: t, organizationId: n, organizationShareCasePolicies: r } = e;
|
|
87
|
+
return r ? r.filter((e) => e.is_active && e.organization_id === n && e.data_collection_id === t) : [];
|
|
88
|
+
}
|
|
89
|
+
static getOrganizationPolicyGroups({ organizationAccessCasePolicies: e, organizationShareCasePolicies: n }) {
|
|
90
|
+
if (!e || !n) return [];
|
|
91
|
+
let r = /* @__PURE__ */ new Map();
|
|
92
|
+
n.filter((e) => e.is_active).forEach((e) => {
|
|
93
|
+
let n = t.getOrganizationDataCollectionKey(e.organization_id, e.data_collection_id), i = r.get(n) ?? [];
|
|
94
|
+
i.push(e), r.set(n, i);
|
|
95
|
+
});
|
|
96
|
+
let i = /* @__PURE__ */ new Map();
|
|
97
|
+
return e.filter((e) => e.is_active).forEach((e) => {
|
|
98
|
+
let n = t.getOrganizationDataCollectionKey(e.organization_id, e.data_collection_id), a = i.get(n);
|
|
99
|
+
if (a) {
|
|
100
|
+
a.access_case_policies.push(e);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
i.set(n, {
|
|
104
|
+
access_case_policies: [e],
|
|
105
|
+
data_collection_id: e.data_collection_id,
|
|
106
|
+
organization_id: e.organization_id,
|
|
107
|
+
share_case_policies: r.get(n) ?? []
|
|
108
|
+
});
|
|
109
|
+
}), Array.from(i.values());
|
|
110
|
+
}
|
|
111
|
+
static getOrganizationDataCollectionKey(e, t) {
|
|
112
|
+
return `${e}::${t}`;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
//#endregion
|
|
116
|
+
export { t as EffectiveRightsUtil };
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/EffectiveRightsUtil/EffectiveRightsUtil.ts"],"sourcesContent":["import type {\n CaseDbCaseTypeSetMember,\n CaseDbColSetMember,\n CaseDbOrganizationAccessCasePolicy,\n CaseDbOrganizationShareCasePolicy,\n CaseDbUser,\n CaseDbUserAccessCasePolicy,\n CaseDbUserShareCasePolicy,\n} from '@gen-epix/api-casedb';\n\nimport type { UserEffectiveRight } from '../../models/caseAccess';\nimport { DataSetUtil } from '../DataSetUtil';\n\nexport type OrganizationPolicyGroup = {\n access_case_policies: CaseDbOrganizationAccessCasePolicy[];\n data_collection_id: string;\n organization_id: string;\n share_case_policies: CaseDbOrganizationShareCasePolicy[];\n};\n\ntype AssembleUserEffectiveRightsKwArgs = {\n caseTypeSetMembers: CaseDbCaseTypeSetMember[];\n colSetMembers: CaseDbColSetMember[];\n organizationAccessCasePolicies: CaseDbOrganizationAccessCasePolicy[];\n organizationShareCasePolicies: CaseDbOrganizationShareCasePolicy[];\n user: CaseDbUser;\n userAccessCasePolicies: CaseDbUserAccessCasePolicy[];\n userShareCasePolicies: CaseDbUserShareCasePolicy[];\n};\n\ntype GetOrganizationPolicyGroupsKwArgs = Pick<AssembleUserEffectiveRightsKwArgs, 'organizationAccessCasePolicies' | 'organizationShareCasePolicies'>;\n\nexport class EffectiveRightsUtil {\n public static assembleUserEffectiveRights({\n caseTypeSetMembers,\n colSetMembers,\n organizationAccessCasePolicies,\n organizationShareCasePolicies,\n user,\n userAccessCasePolicies,\n userShareCasePolicies,\n }: AssembleUserEffectiveRightsKwArgs): UserEffectiveRight[] {\n if (!user) {\n return [];\n }\n\n if (!organizationAccessCasePolicies || !organizationShareCasePolicies || !userAccessCasePolicies || !userShareCasePolicies || !caseTypeSetMembers || !colSetMembers) {\n return [];\n }\n\n const mappedCaseTypeSetMembers = DataSetUtil.getMappedSetMembers({\n items: caseTypeSetMembers,\n memberProperty: 'case_type_id',\n setProperty: 'case_type_set_id',\n });\n\n const mappedColSetMembers = DataSetUtil.getMappedSetMembers({\n items: colSetMembers,\n memberProperty: 'col_id',\n setProperty: 'col_set_id',\n });\n\n return organizationAccessCasePolicies.map(organizationPolicy => {\n const userPolicy = userAccessCasePolicies.find(p => p.data_collection_id === organizationPolicy.data_collection_id);\n const organizationSharePolicy = EffectiveRightsUtil.getMatchingOrganizationShareCasePolicies({\n dataCollectionId: organizationPolicy.data_collection_id,\n organizationId: organizationPolicy.organization_id,\n organizationShareCasePolicies,\n });\n const userSharePolicy = userShareCasePolicies.filter(p => p.data_collection_id === organizationPolicy.data_collection_id);\n\n const effectiveShareCaseRights: UserEffectiveRight['effective_share_case_rights'] = [];\n organizationSharePolicy.forEach(organizationShareCasePolicy => {\n const userShareCasePolicy = userSharePolicy.find(p => p.from_data_collection_id === organizationShareCasePolicy.from_data_collection_id);\n const organizationShareCaseTypeIds = caseTypeSetMembers.filter(member => member.case_type_set_id === organizationShareCasePolicy.case_type_set_id).map(member => member.case_type_id);\n const userShareCaseTypeIds = caseTypeSetMembers.filter(member => member.case_type_set_id === userShareCasePolicy?.case_type_set_id).map(member => member.case_type_id);\n const { categorizedMemberIds: categorized_case_type_ids, setIds: case_type_set_ids, uncategorizedMemberIds: uncategorized_case_type_ids } = DataSetUtil.getCategorizedSetMembers({\n childMemberIds: userShareCaseTypeIds,\n mappedSetMembers: mappedCaseTypeSetMembers,\n parentMemberIds: organizationShareCaseTypeIds,\n parentSetId: organizationShareCasePolicy.case_type_set_id,\n });\n\n const add_case = organizationShareCasePolicy.add_case && userShareCasePolicy?.add_case;\n const remove_case = organizationShareCasePolicy.remove_case && userShareCasePolicy?.remove_case;\n const add_case_set = organizationShareCasePolicy.add_case_set && userShareCasePolicy?.add_case_set;\n const remove_case_set = organizationShareCasePolicy.remove_case_set && userShareCasePolicy?.remove_case_set;\n\n if ([add_case, remove_case, add_case_set, remove_case_set].some(x => x)) {\n effectiveShareCaseRights.push({\n add_case,\n add_case_set,\n case_type_set_ids,\n categorized_case_type_ids,\n from_data_collection_id: organizationShareCasePolicy.from_data_collection_id,\n remove_case,\n remove_case_set,\n uncategorized_case_type_ids,\n } satisfies UserEffectiveRight['effective_share_case_rights'][number]);\n }\n });\n\n\n const organizationCaseTypeIds = caseTypeSetMembers.filter(member => member.case_type_set_id === organizationPolicy.case_type_set_id).map(member => member.case_type_id);\n const userCaseTypeIds = caseTypeSetMembers.filter(member => member.case_type_set_id === userPolicy?.case_type_set_id).map(member => member.case_type_id);\n const { categorizedMemberIds: categorized_case_type_ids, setIds: case_type_set_ids, uncategorizedMemberIds: uncategorized_case_type_ids } = DataSetUtil.getCategorizedSetMembers({\n childMemberIds: userCaseTypeIds,\n mappedSetMembers: mappedCaseTypeSetMembers,\n parentMemberIds: organizationCaseTypeIds,\n parentSetId: organizationPolicy.case_type_set_id,\n });\n\n const organizationReadColIds = colSetMembers.filter(member => member.col_set_id === organizationPolicy.read_col_set_id).map(member => member.col_id);\n const userReadColIds = colSetMembers.filter(member => member.col_set_id === userPolicy?.read_col_set_id).map(member => member.col_id);\n const { categorizedMemberIds: categorized_read_col_ids, setIds: read_col_set_ids, uncategorizedMemberIds: uncategorized_read_col_ids } = DataSetUtil.getCategorizedSetMembers({\n childMemberIds: userReadColIds,\n mappedSetMembers: mappedColSetMembers,\n parentMemberIds: organizationReadColIds,\n parentSetId: organizationPolicy.read_col_set_id,\n });\n\n const organizationWriteColIds = colSetMembers.filter(member => member.col_set_id === organizationPolicy.write_col_set_id).map(member => member.col_id);\n const userWriteColIds = colSetMembers.filter(member => member.col_set_id === userPolicy?.write_col_set_id).map(member => member.col_id);\n const { categorizedMemberIds: categorized_write_col_ids, setIds: write_col_set_ids, uncategorizedMemberIds: uncategorized_write_col_ids } = DataSetUtil.getCategorizedSetMembers({\n childMemberIds: userWriteColIds,\n mappedSetMembers: mappedColSetMembers,\n parentMemberIds: organizationWriteColIds,\n parentSetId: organizationPolicy.write_col_set_id,\n });\n\n return {\n add_case: organizationPolicy.add_case && userPolicy?.add_case,\n add_case_set: organizationPolicy.add_case_set && userPolicy?.add_case_set,\n case_type_set_ids,\n categorized_case_type_ids,\n categorized_read_col_ids,\n categorized_write_col_ids,\n data_collection_id: organizationPolicy.data_collection_id,\n effective_share_case_rights: effectiveShareCaseRights,\n is_private: organizationPolicy.is_private,\n organization_id: organizationPolicy.organization_id,\n read_case_set: organizationPolicy.read_case_set && userPolicy?.read_case_set,\n read_col_set_id: organizationPolicy.read_col_set_id,\n read_col_set_ids,\n remove_case: organizationPolicy.remove_case && userPolicy?.remove_case,\n remove_case_set: organizationPolicy.remove_case_set && userPolicy?.remove_case_set,\n uncategorized_case_type_ids,\n uncategorized_read_col_ids,\n uncategorized_write_col_ids,\n write_case_set: organizationPolicy.write_case_set && userPolicy?.write_case_set,\n write_col_set_id: organizationPolicy.write_col_set_id,\n write_col_set_ids,\n } satisfies UserEffectiveRight;\n }).filter((policy => !!policy));\n }\n\n public static getMatchingOrganizationShareCasePolicies(params: {\n dataCollectionId: string;\n organizationId: string;\n organizationShareCasePolicies: CaseDbOrganizationShareCasePolicy[];\n }): CaseDbOrganizationShareCasePolicy[] {\n const {\n dataCollectionId,\n organizationId,\n organizationShareCasePolicies,\n } = params;\n\n if (!organizationShareCasePolicies) {\n return [];\n }\n\n return organizationShareCasePolicies.filter(policy => policy.is_active && policy.organization_id === organizationId && policy.data_collection_id === dataCollectionId);\n }\n\n public static getOrganizationPolicyGroups({\n organizationAccessCasePolicies,\n organizationShareCasePolicies,\n }: GetOrganizationPolicyGroupsKwArgs): OrganizationPolicyGroup[] {\n if (!organizationAccessCasePolicies || !organizationShareCasePolicies) {\n return [];\n }\n\n const sharePoliciesByKey = new Map<string, CaseDbOrganizationShareCasePolicy[]>();\n\n organizationShareCasePolicies\n .filter(policy => policy.is_active)\n .forEach(policy => {\n const key = EffectiveRightsUtil.getOrganizationDataCollectionKey(policy.organization_id, policy.data_collection_id);\n const matchingPolicies = sharePoliciesByKey.get(key) ?? [];\n matchingPolicies.push(policy);\n sharePoliciesByKey.set(key, matchingPolicies);\n });\n\n const groups = new Map<string, OrganizationPolicyGroup>();\n\n organizationAccessCasePolicies\n .filter(policy => policy.is_active)\n .forEach(policy => {\n const key = EffectiveRightsUtil.getOrganizationDataCollectionKey(policy.organization_id, policy.data_collection_id);\n const existingGroup = groups.get(key);\n\n if (existingGroup) {\n existingGroup.access_case_policies.push(policy);\n return;\n }\n\n groups.set(key, {\n access_case_policies: [policy],\n data_collection_id: policy.data_collection_id,\n organization_id: policy.organization_id,\n share_case_policies: sharePoliciesByKey.get(key) ?? [],\n });\n });\n\n return Array.from(groups.values());\n }\n\n private static getOrganizationDataCollectionKey(organizationId: string, dataCollectionId: string) {\n return `${organizationId}::${dataCollectionId}`;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { CaseDbCase, CaseDbCol, CaseDbCompleteCaseType, CaseDbColType } from '@gen-epix/api-casedb';
|
|
2
|
+
import { Theme } from '@mui/material';
|
|
3
|
+
import { Stratification } from '../../models/stratification';
|
|
4
|
+
export interface EpiCurveChartItem {
|
|
5
|
+
date: Date;
|
|
6
|
+
row: CaseDbCase;
|
|
7
|
+
value: number;
|
|
8
|
+
}
|
|
9
|
+
export interface EpiCurveNormalizedAreaChartDataPoint {
|
|
10
|
+
caseIds: {
|
|
11
|
+
[seriesName: string]: string[];
|
|
12
|
+
};
|
|
13
|
+
date: Date;
|
|
14
|
+
values: {
|
|
15
|
+
[seriesName: string]: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare class EpiCurveUtil {
|
|
19
|
+
/**
|
|
20
|
+
* Creates normalized stacked area chart series data (0-100%) for the epi curve
|
|
21
|
+
* @param items
|
|
22
|
+
* @param xAxisIntervals
|
|
23
|
+
* @param getXAxisLabel
|
|
24
|
+
* @param stratification
|
|
25
|
+
* @returns Area chart series data with max value (always 100) and series array
|
|
26
|
+
*/
|
|
27
|
+
static getAreaChartSeriesData(items: EpiCurveChartItem[], xAxisIntervals: Date[], getXAxisLabel: (value: Date) => string, includeMissingValues: boolean, stratification: Stratification): {
|
|
28
|
+
max: number;
|
|
29
|
+
series: (null | unknown[]);
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Gets items within a specific interval (for bar chart)
|
|
33
|
+
* @param items
|
|
34
|
+
* @param intervals
|
|
35
|
+
* @param index
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
static getBarChartItemsWithinInterval(items: EpiCurveChartItem[], intervals: Date[], index: number): EpiCurveChartItem[];
|
|
39
|
+
/**
|
|
40
|
+
* Creates bar chart series data for the epi curve
|
|
41
|
+
* @param items
|
|
42
|
+
* @param xAxisIntervals
|
|
43
|
+
* @param getXAxisLabel
|
|
44
|
+
* @param stratification
|
|
45
|
+
* @returns Bar chart series data with max value and series array
|
|
46
|
+
*/
|
|
47
|
+
static getBarChartSeriesData(items: EpiCurveChartItem[], xAxisIntervals: Date[], getXAxisLabel: (value: Date) => string, stratification: Stratification, theme: Theme): {
|
|
48
|
+
max: number;
|
|
49
|
+
series: (null | unknown[]);
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Gets rows sorted by time for bar chart
|
|
53
|
+
* @param completeCaseType
|
|
54
|
+
* @param cases
|
|
55
|
+
* @param cols
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
static getBarChartSortedItems(completeCaseType: CaseDbCompleteCaseType, cases: CaseDbCase[], cols: CaseDbCol[]): EpiCurveChartItem[];
|
|
59
|
+
/**
|
|
60
|
+
* Creates normalized stacked area chart data (0-100%) with linear interpolation
|
|
61
|
+
* @param items
|
|
62
|
+
* @param xAxisIntervals
|
|
63
|
+
* @param stratification
|
|
64
|
+
* @returns Normalized data points ready for area chart
|
|
65
|
+
*/
|
|
66
|
+
static getNormalizedAreaChartData(items: EpiCurveChartItem[], xAxisIntervals: Date[], stratification: {
|
|
67
|
+
caseIdColors: {
|
|
68
|
+
[caseId: string]: string;
|
|
69
|
+
};
|
|
70
|
+
legendaItems: Array<{
|
|
71
|
+
color: string;
|
|
72
|
+
rowValue: {
|
|
73
|
+
full: string;
|
|
74
|
+
};
|
|
75
|
+
}>;
|
|
76
|
+
} | null): EpiCurveNormalizedAreaChartDataPoint[];
|
|
77
|
+
/**
|
|
78
|
+
* Finds the initial column (resolution) for the given dimensionId in the given lineList
|
|
79
|
+
* @param completeCaseType
|
|
80
|
+
* @param lineList
|
|
81
|
+
* @param cols
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
static getPreferredTimeColumn(completeCaseType: CaseDbCompleteCaseType, cases: CaseDbCase[], cols: CaseDbCol[]): CaseDbCol;
|
|
85
|
+
/**
|
|
86
|
+
* Gets rows sorted by time
|
|
87
|
+
* @param completeCaseType
|
|
88
|
+
* @param cases
|
|
89
|
+
* @param cols
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
static getSortedItems(completeCaseType: CaseDbCompleteCaseType, cases: CaseDbCase[], cols: CaseDbCol[]): EpiCurveChartItem[];
|
|
93
|
+
static getXAxisIntervals(colType: CaseDbColType, items: EpiCurveChartItem[]): Date[];
|
|
94
|
+
static getXAxisLabel(colType: CaseDbColType, value: Date): string;
|
|
95
|
+
private static getIntervalBuckets;
|
|
96
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './EpiCurveUtil';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FileUtil';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CaseDbFileCompression as e } from "@gen-epix/api-casedb";
|
|
2
|
+
//#region src/utils/FileUtil/FileUtil.ts
|
|
3
|
+
var t = class {
|
|
4
|
+
static getFileCompressionFromFileName(t) {
|
|
5
|
+
let n = t.toLowerCase();
|
|
6
|
+
return n.endsWith(".gz") || n.endsWith(".gzip") ? e.GZIP : e.NONE;
|
|
7
|
+
}
|
|
8
|
+
static getReadableFileSize(e) {
|
|
9
|
+
return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(2)} KB` : e < 1024 * 1024 * 1024 ? `${(e / (1024 * 1024)).toFixed(2)} MB` : `${(e / (1024 * 1024 * 1024)).toFixed(2)} GB`;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { t as FileUtil };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/FileUtil/FileUtil.ts"],"sourcesContent":["import { CaseDbFileCompression } from '@gen-epix/api-casedb';\n\nexport class FileUtil {\n public static getFileCompressionFromFileName(fileName: string): CaseDbFileCompression {\n const lowerFileName = fileName.toLowerCase();\n if (lowerFileName.endsWith('.gz') || lowerFileName.endsWith('.gzip')) {\n return CaseDbFileCompression.GZIP;\n }\n return CaseDbFileCompression.NONE;\n }\n\n public static getReadableFileSize(sizeInBytes: number): string {\n if (sizeInBytes < 1024) {\n return `${sizeInBytes} B`;\n } else if (sizeInBytes < 1024 * 1024) {\n return `${(sizeInBytes / 1024).toFixed(2)} KB`;\n } else if (sizeInBytes < 1024 * 1024 * 1024) {\n return `${(sizeInBytes / (1024 * 1024)).toFixed(2)} MB`;\n }\n return `${(sizeInBytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;\n }\n}\n"],"mappings":";;AAEA,IAAa,IAAb,MAAsB;CACpB,OAAc,+BAA+B,GAAyC;EACpF,IAAM,IAAgB,EAAS,YAAY;EAI3C,OAHI,EAAc,SAAS,KAAK,KAAK,EAAc,SAAS,OAAO,IAC1D,EAAsB,OAExB,EAAsB;CAC/B;CAEA,OAAc,oBAAoB,GAA6B;EAQ7D,OAPI,IAAc,OACT,GAAG,EAAY,MACb,IAAc,OAAO,OACvB,IAAI,IAAc,KAAA,CAAM,QAAQ,CAAC,EAAE,OACjC,IAAc,OAAO,OAAO,OAC9B,IAAI,KAAe,OAAO,MAAA,CAAO,QAAQ,CAAC,EAAE,OAE9C,IAAI,KAAe,OAAO,OAAO,MAAA,CAAO,QAAQ,CAAC,EAAE;CAC5D;AACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CaseDbCol, CaseDbCompleteCaseType, CaseDbRefCol } from '@gen-epix/api-casedb';
|
|
2
|
+
import { FilterDimension, Filters } from '@gen-epix/ui/models/filter';
|
|
3
|
+
import { MultiSelectFilter, TextFilter } from '@gen-epix/ui/classes/filters';
|
|
4
|
+
export declare class FilterUtil {
|
|
5
|
+
private static readonly colTypeBlackList;
|
|
6
|
+
static createCategoricalFilter(col: CaseDbCol, dimId: string, completeCaseType: CaseDbCompleteCaseType): MultiSelectFilter | TextFilter;
|
|
7
|
+
static createFilterDimensions(completeCaseType: CaseDbCompleteCaseType): FilterDimension[];
|
|
8
|
+
static createFilters(completeCaseType: CaseDbCompleteCaseType): Filters;
|
|
9
|
+
static createTextFilter(col: CaseDbCol, dimId: string): TextFilter;
|
|
10
|
+
static getDateParser(refCol: CaseDbRefCol): (date: string) => Date;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FilterUtil';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FindSimilarCasesChartDataPoint, FindSimilarCasesChartInterval } from '../../models/caseDb';
|
|
2
|
+
export declare class FindSimilarCasesUtil {
|
|
3
|
+
static buildChartIntervals(data: FindSimilarCasesChartDataPoint[]): FindSimilarCasesChartInterval[];
|
|
4
|
+
private static generateIntervalStartDates;
|
|
5
|
+
private static getIntervalBoundsAndLabel;
|
|
6
|
+
private static pickGranularity;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FindSimilarCasesUtil';
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { EChartsOption } from 'echarts';
|
|
2
|
+
import { CallbackDataParams } from 'echarts/types/dist/shared';
|
|
3
|
+
import { CaseDbCase, CaseDbCol, CaseDbCompleteCaseType, CaseDbConcept, CaseDbColType } from '@gen-epix/api-casedb';
|
|
4
|
+
import { Theme } from '@mui/material';
|
|
5
|
+
export type GetChartOptionsParams = {
|
|
6
|
+
aCol: CaseDbCol;
|
|
7
|
+
bCol: CaseDbCol;
|
|
8
|
+
colors: string[];
|
|
9
|
+
conceptsA: CaseDbConcept[];
|
|
10
|
+
conceptsB: CaseDbConcept[];
|
|
11
|
+
series: SeriesItem[];
|
|
12
|
+
t: (key: string, options?: Record<string, unknown>) => string;
|
|
13
|
+
theme: Theme;
|
|
14
|
+
};
|
|
15
|
+
export type SeriesItem = {
|
|
16
|
+
data: (number | string)[];
|
|
17
|
+
emphasis: {
|
|
18
|
+
focus: 'self';
|
|
19
|
+
};
|
|
20
|
+
name: string;
|
|
21
|
+
type: 'bar';
|
|
22
|
+
xCaseIds: string[][];
|
|
23
|
+
};
|
|
24
|
+
export type TooltipCallbackDataParams = {
|
|
25
|
+
axisDim?: string;
|
|
26
|
+
axisId?: string;
|
|
27
|
+
axisIndex?: number;
|
|
28
|
+
axisType?: string;
|
|
29
|
+
axisValue?: number | string;
|
|
30
|
+
axisValueLabel?: string;
|
|
31
|
+
marker?: string;
|
|
32
|
+
} & CallbackDataParams;
|
|
33
|
+
export declare const HISTOGRAM_ALLOWED_COL_TYPES: CaseDbColType[];
|
|
34
|
+
export declare class HistogramUtil {
|
|
35
|
+
/**
|
|
36
|
+
* Returns columns of the allowed col types for the histogram,
|
|
37
|
+
* excluding cols whose concept count exceeds MAX_ALLOWED_UNIQUE_VALUES.
|
|
38
|
+
*/
|
|
39
|
+
static getAllowedCols(completeCaseType: CaseDbCompleteCaseType, allowedColTypes: CaseDbColType[]): CaseDbCol[];
|
|
40
|
+
/**
|
|
41
|
+
* Returns the total case count represented in the series
|
|
42
|
+
*/
|
|
43
|
+
static getCaseCount(series: SeriesItem[]): number;
|
|
44
|
+
/**
|
|
45
|
+
* Builds the ECharts options object for the histogram
|
|
46
|
+
*/
|
|
47
|
+
static getChartOptions({ aCol, bCol, colors, conceptsA, conceptsB, series, t, theme, }: GetChartOptionsParams): EChartsOption;
|
|
48
|
+
/**
|
|
49
|
+
* Returns the colors for the series based on stratification
|
|
50
|
+
*/
|
|
51
|
+
static getColors(aCol: CaseDbCol | null, completeCaseType: CaseDbCompleteCaseType | null, sortedData: CaseDbCase[]): string[];
|
|
52
|
+
static getColValuesFromPayload: (payload: unknown, conceptsA: CaseDbConcept[], conceptsB: CaseDbConcept[]) => {
|
|
53
|
+
a: string;
|
|
54
|
+
b: string;
|
|
55
|
+
} | null;
|
|
56
|
+
/**
|
|
57
|
+
* Returns the sorted concepts for colA and colB.
|
|
58
|
+
*/
|
|
59
|
+
static getConcepts(aCol: CaseDbCol | null, bCol: CaseDbCol | null, completeCaseType: CaseDbCompleteCaseType | null): [CaseDbConcept[], CaseDbConcept[]];
|
|
60
|
+
/**
|
|
61
|
+
* Returns the sorted concepts for a single col.
|
|
62
|
+
*/
|
|
63
|
+
static getConceptsForCol(col: CaseDbCol, completeCaseType: CaseDbCompleteCaseType): CaseDbConcept[];
|
|
64
|
+
/**
|
|
65
|
+
* Returns the default aCol and bCol to use when none are selected yet.
|
|
66
|
+
* Picks the first col from the second dimension as aCol, and the last col
|
|
67
|
+
* from the first dimension as bCol. Returns null when there are insufficient
|
|
68
|
+
* dimensions or columns.
|
|
69
|
+
*/
|
|
70
|
+
static getDefaultCols(allowedCols: CaseDbCol[], completeCaseType: CaseDbCompleteCaseType): {
|
|
71
|
+
newColA: CaseDbCol;
|
|
72
|
+
newColB: CaseDbCol;
|
|
73
|
+
} | null;
|
|
74
|
+
/**
|
|
75
|
+
* Builds the bar-chart series items from the sorted case data
|
|
76
|
+
*/
|
|
77
|
+
static getSeries(aCol: CaseDbCol | null, bCol: CaseDbCol | null, completeCaseType: CaseDbCompleteCaseType | null, sortedData: CaseDbCase[], conceptsA: CaseDbConcept[], conceptsB: CaseDbConcept[]): SeriesItem[];
|
|
78
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './HistogramUtil';
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { DataService as e } from "../../classes/services/DataService/index.js";
|
|
2
|
+
import { CaseUtil as t } from "../CaseUtil/index.js";
|
|
3
|
+
import { STRATIFICATION_MODE as n } from "../../models/stratification.js";
|
|
4
|
+
import { CaseDbDataUtil as r } from "../CaseDbDataUtil/index.js";
|
|
5
|
+
import { StratificationUtil as i } from "../StratificationUtil/index.js";
|
|
6
|
+
import { CaseDbColType as a } from "@gen-epix/api-casedb";
|
|
7
|
+
import { ConfigService as o } from "@gen-epix/ui/classes/services/ConfigService";
|
|
8
|
+
//#region src/utils/HistogramUtil/HistogramUtil.ts
|
|
9
|
+
var s = [
|
|
10
|
+
a.INTERVAL,
|
|
11
|
+
a.NOMINAL,
|
|
12
|
+
a.ORDINAL
|
|
13
|
+
], c = class a {
|
|
14
|
+
static getAllowedCols(e, t) {
|
|
15
|
+
if (!e) return [];
|
|
16
|
+
let { MAX_ALLOWED_UNIQUE_VALUES: n } = o.getInstance().config.epi.STRATIFICATION;
|
|
17
|
+
return e.ordered_col_ids.reduce((r, i) => {
|
|
18
|
+
let o = e.cols[i], s = e.ref_cols[o.ref_col_id];
|
|
19
|
+
return t.includes(s.col_type) && a.getConceptsForCol(o, e).length <= n && r.push(o), r;
|
|
20
|
+
}, []);
|
|
21
|
+
}
|
|
22
|
+
static getCaseCount(e) {
|
|
23
|
+
return e?.length ? e.reduce((e, t) => e + t.data.reduce((e, t) => typeof t == "number" ? e + t : e, 0), 0) : 0;
|
|
24
|
+
}
|
|
25
|
+
static getChartOptions({ aCol: e, bCol: t, colors: n, conceptsA: r, conceptsB: i, series: a, t: o, theme: s }) {
|
|
26
|
+
return {
|
|
27
|
+
color: n,
|
|
28
|
+
grid: {
|
|
29
|
+
bottom: s.spacing(8),
|
|
30
|
+
left: s.spacing(25),
|
|
31
|
+
right: s.spacing(1),
|
|
32
|
+
top: s.spacing(6)
|
|
33
|
+
},
|
|
34
|
+
legend: {
|
|
35
|
+
align: "left",
|
|
36
|
+
data: r.map((e) => e.name),
|
|
37
|
+
left: "left",
|
|
38
|
+
orient: "vertical",
|
|
39
|
+
pageIconColor: s.palette.primary.main,
|
|
40
|
+
pageIconInactiveColor: s.palette.text.disabled,
|
|
41
|
+
selectedMode: !1,
|
|
42
|
+
top: s.spacing(4),
|
|
43
|
+
type: "scroll"
|
|
44
|
+
},
|
|
45
|
+
series: a,
|
|
46
|
+
title: {
|
|
47
|
+
left: "left",
|
|
48
|
+
text: e.label,
|
|
49
|
+
textStyle: {
|
|
50
|
+
fontSize: s.typography.caption.fontSize,
|
|
51
|
+
fontWeight: "bold"
|
|
52
|
+
},
|
|
53
|
+
top: s.spacing(1)
|
|
54
|
+
},
|
|
55
|
+
tooltip: {
|
|
56
|
+
formatter: (n) => {
|
|
57
|
+
let r = n;
|
|
58
|
+
return `${r.name} (${t.label})\n${r.seriesName}: ${r.value} (${e.label})`;
|
|
59
|
+
},
|
|
60
|
+
renderMode: "richText",
|
|
61
|
+
show: !0,
|
|
62
|
+
trigger: "item",
|
|
63
|
+
valueFormatter: (e) => o("{{numCases}} case(s)", { numCases: e })
|
|
64
|
+
},
|
|
65
|
+
xAxis: [{
|
|
66
|
+
axisLabel: {
|
|
67
|
+
height: 100,
|
|
68
|
+
rotate: 45
|
|
69
|
+
},
|
|
70
|
+
axisPointer: { type: "shadow" },
|
|
71
|
+
axisTick: {
|
|
72
|
+
alignWithLabel: !0,
|
|
73
|
+
show: !0
|
|
74
|
+
},
|
|
75
|
+
data: i.map((e) => e.name),
|
|
76
|
+
name: t?.label,
|
|
77
|
+
nameTextStyle: {
|
|
78
|
+
fontSize: s.typography.caption.fontSize,
|
|
79
|
+
fontWeight: "bold"
|
|
80
|
+
},
|
|
81
|
+
type: "category"
|
|
82
|
+
}],
|
|
83
|
+
yAxis: [{
|
|
84
|
+
minInterval: 1,
|
|
85
|
+
type: "value"
|
|
86
|
+
}]
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
static getColors(e, t, r) {
|
|
90
|
+
return i.getStratification({
|
|
91
|
+
col: e,
|
|
92
|
+
completeCaseType: t,
|
|
93
|
+
mode: n.FIELD,
|
|
94
|
+
sortedData: r
|
|
95
|
+
})?.legendaItems.map((e) => e.color) ?? [];
|
|
96
|
+
}
|
|
97
|
+
static getColValuesFromPayload = (e, t, n) => {
|
|
98
|
+
let { name: r, seriesName: i } = e, a = t.find((e) => e.name === i), o = n.find((e) => e.name === r);
|
|
99
|
+
return !a || !o ? null : {
|
|
100
|
+
a: a.id,
|
|
101
|
+
b: o.id
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
static getConcepts(e, t, n) {
|
|
105
|
+
return !e || !t || !n ? [[], []] : [a.getConceptsForCol(e, n), a.getConceptsForCol(t, n)];
|
|
106
|
+
}
|
|
107
|
+
static getConceptsForCol(t, n) {
|
|
108
|
+
let i = n.ref_cols[t.ref_col_id ?? ""];
|
|
109
|
+
return e.getInstance().data.conceptsIdsBySetId[i.concept_set_id]?.map((t) => e.getInstance().data.conceptsById[t]).sort(r.conceptComparator) ?? [];
|
|
110
|
+
}
|
|
111
|
+
static getDefaultCols(e, t) {
|
|
112
|
+
let n = e.reduce((e, t) => (e[t.dim_id] || (e[t.dim_id] = []), e[t.dim_id].push(t), e), {}), r = t?.ordered_dim_ids.filter((e) => n[e]?.length > 0) ?? [], i = n[r[0]] ?? [], a = n[r[1]] ?? [];
|
|
113
|
+
return !i.length || !a.length ? null : {
|
|
114
|
+
newColA: a.at(0),
|
|
115
|
+
newColB: i.at(-1)
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
static getSeries(e, n, r, i, a, o) {
|
|
119
|
+
if (!e || !n || !r) return [];
|
|
120
|
+
let s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
|
|
121
|
+
return i.forEach((i) => {
|
|
122
|
+
let a = t.getRowValue(i.content, e, r), o = t.getRowValue(i.content, n, r);
|
|
123
|
+
if (a.isMissing || o.isMissing) return;
|
|
124
|
+
let l = a.raw, u = o.raw;
|
|
125
|
+
s.has(l) || s.set(l, /* @__PURE__ */ new Map());
|
|
126
|
+
let d = s.get(l);
|
|
127
|
+
d.set(u, (d.get(u) ?? 0) + (i.count ?? 1)), c.has(l) || c.set(l, /* @__PURE__ */ new Map());
|
|
128
|
+
let f = c.get(l);
|
|
129
|
+
f.set(u, [...f.get(u) ?? [], i.id]);
|
|
130
|
+
}), a.map((e) => {
|
|
131
|
+
let t = s.get(e.id) ?? /* @__PURE__ */ new Map(), n = c.get(e.id) ?? /* @__PURE__ */ new Map();
|
|
132
|
+
return {
|
|
133
|
+
data: o.map((e) => t.get(e.id) ?? 0),
|
|
134
|
+
emphasis: { focus: "self" },
|
|
135
|
+
name: e.name,
|
|
136
|
+
type: "bar",
|
|
137
|
+
xCaseIds: o.map((e) => n.get(e.id) ?? [])
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
//#endregion
|
|
143
|
+
export { s as HISTOGRAM_ALLOWED_COL_TYPES, c as HistogramUtil };
|
|
144
|
+
|
|
145
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/HistogramUtil/HistogramUtil.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\nimport type { CallbackDataParams } from 'echarts/types/dist/shared';\nimport type {\n CaseDbCase,\n CaseDbCol,\n CaseDbCompleteCaseType,\n CaseDbConcept,\n} from '@gen-epix/api-casedb';\nimport { CaseDbColType } from '@gen-epix/api-casedb';\nimport type { Theme } from '@mui/material';\nimport { ConfigService } from '@gen-epix/ui/classes/services/ConfigService';\n\nimport { DataService } from '../../classes/services/DataService';\nimport type { CaseDbConfig } from '../../models/config';\nimport { CaseUtil } from '../CaseUtil';\nimport { StratificationUtil } from '../StratificationUtil';\nimport { STRATIFICATION_MODE } from '../../models/stratification';\nimport { CaseDbDataUtil } from '../CaseDbDataUtil';\n\nexport type GetChartOptionsParams = {\n aCol: CaseDbCol;\n bCol: CaseDbCol;\n colors: string[];\n conceptsA: CaseDbConcept[];\n conceptsB: CaseDbConcept[];\n series: SeriesItem[];\n t: (key: string, options?: Record<string, unknown>) => string;\n theme: Theme;\n};\n\nexport type SeriesItem = {\n data: (number | string)[];\n emphasis: {\n focus: 'self';\n };\n name: string;\n type: 'bar';\n xCaseIds: string[][];\n};\n\n// Note the typings are not exposed by echarts, so we need to define our own type here\nexport type TooltipCallbackDataParams = {\n axisDim?: string;\n axisId?: string;\n axisIndex?: number;\n axisType?: string;\n axisValue?: number | string;\n axisValueLabel?: string;\n marker?: string;\n} & CallbackDataParams;\n\nexport const HISTOGRAM_ALLOWED_COL_TYPES: CaseDbColType[] = [\n CaseDbColType.INTERVAL,\n CaseDbColType.NOMINAL,\n CaseDbColType.ORDINAL,\n];\n\nexport class HistogramUtil {\n /**\n * Returns columns of the allowed col types for the histogram,\n * excluding cols whose concept count exceeds MAX_ALLOWED_UNIQUE_VALUES.\n */\n public static getAllowedCols(\n completeCaseType: CaseDbCompleteCaseType,\n allowedColTypes: CaseDbColType[],\n ): CaseDbCol[] {\n if (!completeCaseType) {\n return [];\n }\n const { MAX_ALLOWED_UNIQUE_VALUES } =\n ConfigService.getInstance<CaseDbConfig>().config.epi.STRATIFICATION;\n return completeCaseType.ordered_col_ids.reduce<CaseDbCol[]>((acc, colId) => {\n const col = completeCaseType.cols[colId];\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n if (!allowedColTypes.includes(refCol.col_type)) {\n return acc;\n }\n const concepts = HistogramUtil.getConceptsForCol(col, completeCaseType);\n if (concepts.length <= MAX_ALLOWED_UNIQUE_VALUES) {\n acc.push(col);\n }\n return acc;\n }, []);\n }\n\n /**\n * Returns the total case count represented in the series\n */\n public static getCaseCount(series: SeriesItem[]): number {\n if (!series?.length) {\n return 0;\n }\n return series.reduce((total, item) => {\n return (\n total +\n (item.data as number[]).reduce((subTotal, value) => {\n if (typeof value === 'number') {\n return subTotal + value;\n }\n return subTotal;\n }, 0)\n );\n }, 0);\n }\n\n /**\n * Builds the ECharts options object for the histogram\n */\n public static getChartOptions({\n aCol,\n bCol,\n colors,\n conceptsA,\n conceptsB,\n series,\n t,\n theme,\n }: GetChartOptionsParams): EChartsOption {\n return {\n color: colors,\n grid: {\n bottom: theme.spacing(8),\n left: theme.spacing(25),\n right: theme.spacing(1),\n top: theme.spacing(6),\n },\n legend: {\n align: 'left',\n data: conceptsA.map(concept => concept.name),\n left: 'left',\n orient: 'vertical',\n pageIconColor: theme.palette.primary.main,\n pageIconInactiveColor: theme.palette.text.disabled,\n selectedMode: false,\n top: theme.spacing(4),\n type: 'scroll',\n },\n series,\n title: {\n left: 'left',\n text: aCol.label,\n textStyle: {\n fontSize: theme.typography.caption.fontSize,\n fontWeight: 'bold',\n },\n top: theme.spacing(1),\n },\n tooltip: {\n formatter: (item) => {\n const castedItem = item as TooltipCallbackDataParams;\n const axisValue = castedItem.name;\n const result = `${axisValue} (${bCol.label})\\n${castedItem.seriesName}: ${castedItem.value as number} (${aCol.label})`;\n return result;\n },\n renderMode: 'richText',\n show: true,\n trigger: 'item',\n valueFormatter: (value: unknown) => {\n return t('{{numCases}} case(s)', { numCases: value });\n },\n },\n xAxis: [\n {\n axisLabel: {\n height: 100,\n rotate: 45,\n },\n axisPointer: {\n type: 'shadow',\n },\n axisTick: {\n alignWithLabel: true,\n show: true,\n },\n data: conceptsB.map(concept => concept.name),\n name: bCol?.label,\n nameTextStyle: {\n fontSize: theme.typography.caption.fontSize,\n fontWeight: 'bold',\n },\n type: 'category',\n },\n ],\n yAxis: [\n {\n minInterval: 1,\n type: 'value',\n },\n ],\n } satisfies EChartsOption;\n }\n\n /**\n * Returns the colors for the series based on stratification\n */\n public static getColors(\n aCol: CaseDbCol | null,\n completeCaseType: CaseDbCompleteCaseType | null,\n sortedData: CaseDbCase[],\n ): string[] {\n const stratification = StratificationUtil.getStratification({\n col: aCol,\n completeCaseType,\n mode: STRATIFICATION_MODE.FIELD,\n sortedData,\n });\n return stratification?.legendaItems.map(l => l.color) ?? [];\n }\n\n public static getColValuesFromPayload = (payload: unknown, conceptsA: CaseDbConcept[], conceptsB: CaseDbConcept[]): { a: string; b: string } | null => {\n const { name, seriesName } = payload as { name: string; seriesName: string };\n const aConcept = conceptsA.find(concept => concept.name === seriesName);\n const bConcept = conceptsB.find(concept => concept.name === name);\n if (!aConcept || !bConcept) {\n return null;\n }\n return { a: aConcept.id, b: bConcept.id };\n };\n\n /**\n * Returns the sorted concepts for colA and colB.\n */\n public static getConcepts(\n aCol: CaseDbCol | null,\n bCol: CaseDbCol | null,\n completeCaseType: CaseDbCompleteCaseType | null,\n ): [CaseDbConcept[], CaseDbConcept[]] {\n if (!aCol || !bCol || !completeCaseType) {\n return [[], []];\n }\n return [\n HistogramUtil.getConceptsForCol(aCol, completeCaseType),\n HistogramUtil.getConceptsForCol(bCol, completeCaseType),\n ];\n }\n\n /**\n * Returns the sorted concepts for a single col.\n */\n public static getConceptsForCol(\n col: CaseDbCol,\n completeCaseType: CaseDbCompleteCaseType,\n ): CaseDbConcept[] {\n const refCol = completeCaseType.ref_cols[col.ref_col_id ?? ''];\n const conceptIds =\n DataService.getInstance().data.conceptsIdsBySetId[refCol.concept_set_id];\n return (\n conceptIds\n ?.map(conceptId => DataService.getInstance().data.conceptsById[conceptId])\n .sort(CaseDbDataUtil.conceptComparator) ?? []\n );\n }\n\n /**\n * Returns the default aCol and bCol to use when none are selected yet.\n * Picks the first col from the second dimension as aCol, and the last col\n * from the first dimension as bCol. Returns null when there are insufficient\n * dimensions or columns.\n */\n public static getDefaultCols(\n allowedCols: CaseDbCol[],\n completeCaseType: CaseDbCompleteCaseType,\n ): { newColA: CaseDbCol; newColB: CaseDbCol } | null {\n const colsPerDimId = allowedCols.reduce<{ [dimId: string]: CaseDbCol[] }>((acc, col) => {\n if (!acc[col.dim_id]) {\n acc[col.dim_id] = [];\n }\n acc[col.dim_id].push(col);\n return acc;\n }, {});\n\n const orderedDimIdsWithCols =\n completeCaseType?.ordered_dim_ids.filter(dimId => colsPerDimId[dimId]?.length > 0) ?? [];\n const firstDimensionCols = colsPerDimId[orderedDimIdsWithCols[0]] ?? [];\n const secondDimensionCols = colsPerDimId[orderedDimIdsWithCols[1]] ?? [];\n\n if (!firstDimensionCols.length || !secondDimensionCols.length) {\n return null;\n }\n\n const newColA = secondDimensionCols.at(0);\n const newColB = firstDimensionCols.at(-1);\n\n return { newColA, newColB };\n }\n\n /**\n * Builds the bar-chart series items from the sorted case data\n */\n public static getSeries(\n aCol: CaseDbCol | null,\n bCol: CaseDbCol | null,\n completeCaseType: CaseDbCompleteCaseType | null,\n sortedData: CaseDbCase[],\n conceptsA: CaseDbConcept[],\n conceptsB: CaseDbConcept[],\n ): SeriesItem[] {\n if (!aCol || !bCol || !completeCaseType) {\n return [];\n }\n\n const countMap = new Map<string, Map<string, number>>();\n const caseIdsMap = new Map<string, Map<string, string[]>>();\n\n sortedData.forEach(caseDbCase => {\n const aValue = CaseUtil.getRowValue(caseDbCase.content, aCol, completeCaseType);\n const bValue = CaseUtil.getRowValue(caseDbCase.content, bCol, completeCaseType);\n\n if (aValue.isMissing || bValue.isMissing) {\n return;\n }\n\n const aKey = aValue.raw;\n const bKey = bValue.raw;\n\n if (!countMap.has(aKey)) {\n countMap.set(aKey, new Map<string, number>());\n }\n const aMap = countMap.get(aKey);\n aMap.set(bKey, (aMap.get(bKey) ?? 0) + (caseDbCase.count ?? 1));\n\n if (!caseIdsMap.has(aKey)) {\n caseIdsMap.set(aKey, new Map<string, string[]>());\n }\n const aCaseIdsMap = caseIdsMap.get(aKey);\n aCaseIdsMap.set(bKey, [...(aCaseIdsMap.get(bKey) ?? []), caseDbCase.id]);\n });\n\n return conceptsA.map(aConcept => {\n const aCounts = countMap.get(aConcept.id) ?? new Map<string, number>();\n const aCaseIds = caseIdsMap.get(aConcept.id) ?? new Map<string, string[]>();\n return {\n data: conceptsB.map(bConcept => aCounts.get(bConcept.id) ?? 0),\n emphasis: {\n focus: 'self',\n },\n name: aConcept.name,\n type: 'bar',\n xCaseIds: conceptsB.map(bConcept => aCaseIds.get(bConcept.id) ?? []),\n };\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PieSeriesOption } from 'echarts';
|
|
2
|
+
import { CaseDbCase, CaseDbCol, CaseDbRegion } from '@gen-epix/api-casedb';
|
|
3
|
+
import { Stratification } from '../../models/stratification';
|
|
4
|
+
export type GenEpixPieSeriesOptionEventData = {
|
|
5
|
+
genEpixData?: {
|
|
6
|
+
caseIds: string[];
|
|
7
|
+
regionId: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type RegionStatistics = {
|
|
11
|
+
maxNumCases: number;
|
|
12
|
+
minNumCases: number;
|
|
13
|
+
numCases: number;
|
|
14
|
+
statisticsPerRegion: Record<string, {
|
|
15
|
+
numCases: number;
|
|
16
|
+
region: CaseDbRegion;
|
|
17
|
+
rows: CaseDbCase[];
|
|
18
|
+
}>;
|
|
19
|
+
};
|
|
20
|
+
export declare class MapUtil {
|
|
21
|
+
static getGeoJsonAspectScale(geoJson: string): number;
|
|
22
|
+
static getMapSeries(col: CaseDbCol | null, regions: CaseDbRegion[], sortedData: CaseDbCase[], stratification: null | Stratification, getPieChartRadius: (numCases: number) => number): {
|
|
23
|
+
mapCaseCount: number;
|
|
24
|
+
series: PieSeriesOption[];
|
|
25
|
+
};
|
|
26
|
+
static getMaxPieChartArea(width: number, height: number, numZones: number): number;
|
|
27
|
+
static getPieChartRadius(numCases: number, maxPieChartArea: number, statistics: RegionStatistics): number;
|
|
28
|
+
static getRegionStatistics(cases: CaseDbCase[], columnId: string, regions: CaseDbRegion[]): RegionStatistics;
|
|
29
|
+
private static createEmptyBounds;
|
|
30
|
+
private static expandBoundsFromCoordinates;
|
|
31
|
+
private static expandBoundsFromFeature;
|
|
32
|
+
private static expandBoundsFromGeometry;
|
|
33
|
+
private static getGeoJsonBounds;
|
|
34
|
+
private static getGeoJsonObjectBounds;
|
|
35
|
+
private static hasBounds;
|
|
36
|
+
private static mergeBounds;
|
|
37
|
+
private static normalizeBounds;
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MapUtil';
|