@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,210 @@
|
|
|
1
|
+
import { h as e, p as t } from "../../_chunks/_MapCache.js";
|
|
2
|
+
import { r as n } from "../../_chunks/isArrayLike.js";
|
|
3
|
+
import { n as r } from "../../_chunks/toString.js";
|
|
4
|
+
import { t as i } from "../../_chunks/round.js";
|
|
5
|
+
import { DashboardUtil as a } from "../DashboardUtil/index.js";
|
|
6
|
+
import { ConfigService as o } from "@gen-epix/ui/classes/services/ConfigService";
|
|
7
|
+
//#region ../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseExtremum.js
|
|
8
|
+
var s = /* @__PURE__ */ t(((e, t) => {
|
|
9
|
+
var n = r();
|
|
10
|
+
function i(e, t, r) {
|
|
11
|
+
for (var i = -1, a = e.length; ++i < a;) {
|
|
12
|
+
var o = e[i], s = t(o);
|
|
13
|
+
if (s != null && (c === void 0 ? s === s && !n(s) : r(s, c))) var c = s, l = o;
|
|
14
|
+
}
|
|
15
|
+
return l;
|
|
16
|
+
}
|
|
17
|
+
t.exports = i;
|
|
18
|
+
})), c = /* @__PURE__ */ t(((e, t) => {
|
|
19
|
+
function n(e, t) {
|
|
20
|
+
return e > t;
|
|
21
|
+
}
|
|
22
|
+
t.exports = n;
|
|
23
|
+
})), l = /* @__PURE__ */ t(((e, t) => {
|
|
24
|
+
var r = s(), i = c(), a = n();
|
|
25
|
+
function o(e) {
|
|
26
|
+
return e && e.length ? r(e, a, i) : void 0;
|
|
27
|
+
}
|
|
28
|
+
t.exports = o;
|
|
29
|
+
})), u = /* @__PURE__ */ t(((e, t) => {
|
|
30
|
+
function n(e, t) {
|
|
31
|
+
return e < t;
|
|
32
|
+
}
|
|
33
|
+
t.exports = n;
|
|
34
|
+
})), d = /* @__PURE__ */ t(((e, t) => {
|
|
35
|
+
var r = s(), i = u(), a = n();
|
|
36
|
+
function o(e) {
|
|
37
|
+
return e && e.length ? r(e, a, i) : void 0;
|
|
38
|
+
}
|
|
39
|
+
t.exports = o;
|
|
40
|
+
})), f = /* @__PURE__ */ e(l(), 1), p = /* @__PURE__ */ e(d(), 1), m = /* @__PURE__ */ e(i(), 1), h = class e {
|
|
41
|
+
static getGeoJsonAspectScale(t) {
|
|
42
|
+
let n = e.getGeoJsonBounds(t);
|
|
43
|
+
if (!n) return 1;
|
|
44
|
+
let r = (n[1] + n[3]) / 2;
|
|
45
|
+
if (!Number.isFinite(r) || Math.abs(r) > 90) return 1;
|
|
46
|
+
let i = Math.cos(r * Math.PI / 180);
|
|
47
|
+
return Number.isFinite(i) && i > 0 ? i : 1;
|
|
48
|
+
}
|
|
49
|
+
static getMapSeries(t, n, r, i, o) {
|
|
50
|
+
if (!t || !n) return {
|
|
51
|
+
mapCaseCount: void 0,
|
|
52
|
+
series: []
|
|
53
|
+
};
|
|
54
|
+
let s = [], { numCases: c, statisticsPerRegion: l } = e.getRegionStatistics(r, t.id, n), u = {
|
|
55
|
+
animation: !1,
|
|
56
|
+
coordinateSystem: "geo",
|
|
57
|
+
label: {
|
|
58
|
+
show: !1,
|
|
59
|
+
silent: !0
|
|
60
|
+
},
|
|
61
|
+
labelLine: {
|
|
62
|
+
show: !0,
|
|
63
|
+
smooth: !0
|
|
64
|
+
},
|
|
65
|
+
type: "pie"
|
|
66
|
+
};
|
|
67
|
+
return Object.entries(l).forEach(([e, t]) => {
|
|
68
|
+
let n = [];
|
|
69
|
+
if (i) i.legendaItems.forEach((r) => {
|
|
70
|
+
let i = t.rows.filter((e) => r.caseIds.includes(e.id)), o = i.map((e) => e.id), s = a.getCaseCount(i);
|
|
71
|
+
n.push({
|
|
72
|
+
emphasis: { focus: "self" },
|
|
73
|
+
genEpixData: {
|
|
74
|
+
caseIds: o,
|
|
75
|
+
regionId: e
|
|
76
|
+
},
|
|
77
|
+
label: { formatter: () => t.region.name },
|
|
78
|
+
name: r.rowValue.full,
|
|
79
|
+
value: s
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
else {
|
|
83
|
+
let r = t.rows.map((e) => e.id);
|
|
84
|
+
if (r.length === 0) return;
|
|
85
|
+
n.push({
|
|
86
|
+
emphasis: { focus: "self" },
|
|
87
|
+
genEpixData: {
|
|
88
|
+
caseIds: r,
|
|
89
|
+
regionId: e
|
|
90
|
+
},
|
|
91
|
+
label: { formatter: () => t.region.name },
|
|
92
|
+
name: "num-cases",
|
|
93
|
+
value: t.numCases
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
s.push({
|
|
97
|
+
...u,
|
|
98
|
+
center: [t.region.center_lon, t.region.center_lat],
|
|
99
|
+
data: n,
|
|
100
|
+
radius: o(t.numCases),
|
|
101
|
+
tooltip: { formatter: (e) => {
|
|
102
|
+
let n = e.data;
|
|
103
|
+
return i ? `${t.region.name} - ${n.name} (n=${n.value}, ${Math.round(n.value / t.numCases * 100)}%)` : `${t.region.name} (n=${t.numCases}, ${Math.round(t.numCases / c * 100)}%)`;
|
|
104
|
+
} }
|
|
105
|
+
});
|
|
106
|
+
}), {
|
|
107
|
+
mapCaseCount: c,
|
|
108
|
+
series: s
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
static getMaxPieChartArea(e, t, n) {
|
|
112
|
+
if (!e || !t || !n) return 0;
|
|
113
|
+
let r = Math.min(e, t) ** 2 / n;
|
|
114
|
+
return (Math.sqrt(r) / 4 / 2) ** 2 * Math.PI;
|
|
115
|
+
}
|
|
116
|
+
static getPieChartRadius(e, t, n) {
|
|
117
|
+
let { maxNumCases: r, minNumCases: i } = n, { MIN_PIE_CHART_RADIUS: a } = o.getInstance().config.map, s = a ** 2 * Math.PI, c;
|
|
118
|
+
c = r > i ? Math.max(s, t - s) / (r - i) * (e - i) + s : t;
|
|
119
|
+
let l = (0, m.default)(Math.sqrt(c / Math.PI), 2);
|
|
120
|
+
return Math.max(a, l);
|
|
121
|
+
}
|
|
122
|
+
static getRegionStatistics(e, t, n) {
|
|
123
|
+
if (!e.length || !t || !n?.length) return {
|
|
124
|
+
maxNumCases: 0,
|
|
125
|
+
minNumCases: 0,
|
|
126
|
+
numCases: 0,
|
|
127
|
+
statisticsPerRegion: {}
|
|
128
|
+
};
|
|
129
|
+
let r = 0, i = {};
|
|
130
|
+
return e.forEach((e) => {
|
|
131
|
+
let a = e.content[t];
|
|
132
|
+
a && (i[a] || (i[a] = {
|
|
133
|
+
numCases: 0,
|
|
134
|
+
region: n.find((e) => e.id === a),
|
|
135
|
+
rows: []
|
|
136
|
+
}), i[a].rows.push(e), i[a].numCases += e.count ?? 1, r += e.count ?? 1);
|
|
137
|
+
}), {
|
|
138
|
+
maxNumCases: (0, f.default)(Object.values(i).map((e) => e.numCases)),
|
|
139
|
+
minNumCases: (0, p.default)(Object.values(i).map((e) => e.numCases)),
|
|
140
|
+
numCases: r,
|
|
141
|
+
statisticsPerRegion: i
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
static createEmptyBounds() {
|
|
145
|
+
return [
|
|
146
|
+
Infinity,
|
|
147
|
+
Infinity,
|
|
148
|
+
-Infinity,
|
|
149
|
+
-Infinity
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
static expandBoundsFromCoordinates(t, n) {
|
|
153
|
+
if (!(!Array.isArray(n) || !n.length)) {
|
|
154
|
+
if (typeof n[0] == "number" && typeof n[1] == "number") {
|
|
155
|
+
let [e, r] = n;
|
|
156
|
+
if (!Number.isFinite(e) || !Number.isFinite(r)) return;
|
|
157
|
+
t[0] = Math.min(t[0], e), t[1] = Math.min(t[1], r), t[2] = Math.max(t[2], e), t[3] = Math.max(t[3], r);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
n.forEach((n) => e.expandBoundsFromCoordinates(t, n));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
static expandBoundsFromFeature(t, n) {
|
|
164
|
+
if (!n) return;
|
|
165
|
+
let r = e.normalizeBounds(n.bbox);
|
|
166
|
+
if (r) {
|
|
167
|
+
e.mergeBounds(t, r);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
e.expandBoundsFromGeometry(t, n.geometry);
|
|
171
|
+
}
|
|
172
|
+
static expandBoundsFromGeometry(t, n) {
|
|
173
|
+
if (!n) return;
|
|
174
|
+
let r = e.normalizeBounds(n.bbox);
|
|
175
|
+
if (r) {
|
|
176
|
+
e.mergeBounds(t, r);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
e.expandBoundsFromCoordinates(t, n.coordinates), n.geometries?.forEach((n) => e.expandBoundsFromGeometry(t, n));
|
|
180
|
+
}
|
|
181
|
+
static getGeoJsonBounds(t) {
|
|
182
|
+
try {
|
|
183
|
+
let n = JSON.parse(t);
|
|
184
|
+
return e.getGeoJsonObjectBounds(n);
|
|
185
|
+
} catch {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
static getGeoJsonObjectBounds(t) {
|
|
190
|
+
let n = e.normalizeBounds(t.bbox);
|
|
191
|
+
if (n) return n;
|
|
192
|
+
let r = e.createEmptyBounds();
|
|
193
|
+
return e.expandBoundsFromCoordinates(r, t.coordinates), t.features?.forEach((t) => e.expandBoundsFromFeature(r, t)), t.geometries?.forEach((t) => e.expandBoundsFromGeometry(r, t)), e.expandBoundsFromGeometry(r, t.geometry), e.hasBounds(r) ? r : null;
|
|
194
|
+
}
|
|
195
|
+
static hasBounds(e) {
|
|
196
|
+
return e.every(Number.isFinite);
|
|
197
|
+
}
|
|
198
|
+
static mergeBounds(e, t) {
|
|
199
|
+
e[0] = Math.min(e[0], t[0]), e[1] = Math.min(e[1], t[1]), e[2] = Math.max(e[2], t[2]), e[3] = Math.max(e[3], t[3]);
|
|
200
|
+
}
|
|
201
|
+
static normalizeBounds(e) {
|
|
202
|
+
if (!e || e.length < 4) return null;
|
|
203
|
+
let t = e.slice(0, 4);
|
|
204
|
+
return t.every(Number.isFinite) ? t : null;
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
//#endregion
|
|
208
|
+
export { h as MapUtil };
|
|
209
|
+
|
|
210
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseExtremum.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseGt.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/max.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseLt.js","../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/min.js","../../../src/utils/MapUtil/MapUtil.ts"],"sourcesContent":["var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;\n","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","import max from 'lodash/max';\nimport min from 'lodash/min';\nimport round from 'lodash/round';\nimport type { PieSeriesOption } from 'echarts';\nimport type {\n CaseDbCase,\n CaseDbCol,\n CaseDbRegion,\n} from '@gen-epix/api-casedb';\nimport { ConfigService } from '@gen-epix/ui/classes/services/ConfigService';\nimport type { UnwrapArray } from '@gen-epix/ui-core/models/generic';\n\nimport type { CaseDbConfig } from '../../models/config';\nimport type { Stratification } from '../../models/stratification';\nimport { DashboardUtil } from '../DashboardUtil';\n\n\nexport type GenEpixPieSeriesOptionEventData = {\n genEpixData?: {\n caseIds: string[];\n regionId: string;\n };\n};\n\nexport type RegionStatistics = {\n maxNumCases: number;\n minNumCases: number;\n numCases: number;\n statisticsPerRegion: Record<string, { numCases: number; region: CaseDbRegion; rows: CaseDbCase[] }>;\n};\n\ntype GenEpixPieSeriesOptionData = Array<GenEpixPieSeriesOptionEventData & UnwrapArray<PieSeriesOption['data']>>;\n\ntype GeoJsonBounds = [number, number, number, number];\ntype GeoJsonFeature = {\n bbox?: number[];\n geometry?: GeoJsonGeometry | null;\n};\ntype GeoJsonGeometry = {\n bbox?: number[];\n coordinates?: unknown;\n geometries?: GeoJsonGeometry[];\n};\ntype GeoJsonObject = {\n bbox?: number[];\n coordinates?: unknown;\n features?: GeoJsonFeature[];\n geometries?: GeoJsonGeometry[];\n geometry?: GeoJsonGeometry | null;\n};\n\nexport class MapUtil {\n public static getGeoJsonAspectScale(geoJson: string) {\n const bounds = MapUtil.getGeoJsonBounds(geoJson);\n if (!bounds) {\n return 1;\n }\n\n const centerLatitude = (bounds[1] + bounds[3]) / 2;\n if (!Number.isFinite(centerLatitude) || Math.abs(centerLatitude) > 90) {\n return 1;\n }\n\n const aspectScale = Math.cos(centerLatitude * Math.PI / 180);\n return Number.isFinite(aspectScale) && aspectScale > 0 ? aspectScale : 1;\n }\n\n public static getMapSeries(\n col: CaseDbCol | null,\n regions: CaseDbRegion[],\n sortedData: CaseDbCase[],\n stratification: null | Stratification,\n getPieChartRadius: (numCases: number) => number,\n ): { mapCaseCount: number; series: PieSeriesOption[] } {\n if (!col || !regions) {\n return {\n mapCaseCount: undefined,\n series: [],\n };\n }\n\n const pieSeriesOptions: PieSeriesOption[] = [];\n\n const { numCases: totalNumCases, statisticsPerRegion } = MapUtil.getRegionStatistics(sortedData, col.id, regions);\n\n const pieChartOptionsBase: Partial<PieSeriesOption> = {\n animation: false,\n coordinateSystem: 'geo',\n label: {\n show: false,\n silent: true,\n },\n labelLine: {\n show: true,\n smooth: true,\n },\n type: 'pie',\n };\n\n Object.entries(statisticsPerRegion).forEach(([regionId, regionData]) => {\n const data: GenEpixPieSeriesOptionData = [];\n\n if (!stratification) {\n const caseIds = regionData.rows.map(row => row.id);\n if (caseIds.length === 0) {\n return;\n }\n data.push({\n emphasis: {\n focus: 'self',\n },\n genEpixData: {\n caseIds,\n regionId,\n },\n label: {\n formatter: () => regionData.region.name,\n },\n name: 'num-cases',\n value: regionData.numCases,\n });\n } else {\n stratification.legendaItems.forEach(legendaItem => {\n const rows = regionData.rows.filter(row => legendaItem.caseIds.includes(row.id));\n const caseIds = rows.map(row => row.id);\n const numCases = DashboardUtil.getCaseCount(rows);\n data.push({\n emphasis: {\n focus: 'self',\n },\n genEpixData: {\n caseIds,\n regionId,\n },\n label: {\n formatter: () => regionData.region.name,\n },\n name: legendaItem.rowValue.full,\n value: numCases,\n });\n });\n }\n\n pieSeriesOptions.push({\n ...pieChartOptionsBase,\n center: [regionData.region.center_lon, regionData.region.center_lat],\n data,\n radius: getPieChartRadius(regionData.numCases),\n tooltip: {\n formatter: (callbackParams) => {\n const d = (callbackParams as { data: { name: string; value: number } }).data;\n if (stratification) {\n return `${regionData.region.name} - ${d.name} (n=${d.value}, ${Math.round(d.value / regionData.numCases * 100)}%)`;\n }\n return `${regionData.region.name} (n=${regionData.numCases}, ${Math.round(regionData.numCases / totalNumCases * 100)}%)`;\n },\n },\n });\n });\n\n return {\n mapCaseCount: totalNumCases,\n series: pieSeriesOptions,\n };\n }\n\n public static getMaxPieChartArea(width: number, height: number, numZones: number): number {\n if (!width || !height || !numZones) {\n return 0;\n }\n const smallestDimension = Math.min(width, height);\n const mapArea = smallestDimension ** 2;\n const zoneArea = mapArea / numZones;\n const zoneDimension = Math.sqrt(zoneArea);\n const normalizedZoneDimension = zoneDimension / 4;\n const zonePieArea = ((normalizedZoneDimension / 2) ** 2) * Math.PI;\n return zonePieArea;\n }\n\n public static getPieChartRadius(numCases: number, maxPieChartArea: number, statistics: RegionStatistics) {\n const { maxNumCases, minNumCases } = statistics;\n const { MIN_PIE_CHART_RADIUS } = ConfigService.getInstance<CaseDbConfig>().config.map;\n const MIN_PIE_CHART_AREA = MIN_PIE_CHART_RADIUS ** 2 * Math.PI;\n\n let area: number;\n\n if (maxNumCases > minNumCases) {\n const slope = Math.max(MIN_PIE_CHART_AREA, (maxPieChartArea - MIN_PIE_CHART_AREA)) / (maxNumCases - minNumCases);\n area = (slope * (numCases - minNumCases)) + MIN_PIE_CHART_AREA;\n } else {\n area = maxPieChartArea;\n }\n const radius = round(Math.sqrt(area / Math.PI), 2);\n return Math.max(MIN_PIE_CHART_RADIUS, radius);\n }\n\n public static getRegionStatistics(cases: CaseDbCase[], columnId: string, regions: CaseDbRegion[]): RegionStatistics {\n if (!cases.length || !columnId || !regions?.length) {\n return {\n maxNumCases: 0,\n minNumCases: 0,\n numCases: 0,\n statisticsPerRegion: {},\n };\n }\n\n let numCases = 0;\n const statisticsPerRegion: Record<string, {\n numCases: number;\n region: CaseDbRegion;\n rows: CaseDbCase[];\n }> = {};\n cases.forEach(row => {\n const regionId = row.content[columnId];\n if (!regionId) {\n return;\n }\n if (!statisticsPerRegion[regionId]) {\n statisticsPerRegion[regionId] = {\n numCases: 0,\n region: regions.find(region => region.id === regionId),\n rows: [],\n };\n }\n statisticsPerRegion[regionId].rows.push(row);\n // when count is null, 1 should be assumed\n statisticsPerRegion[regionId].numCases += (row.count ?? 1);\n // when count is null, 1 should be assumed\n numCases += (row.count ?? 1);\n });\n const maxNumCases = max(Object.values(statisticsPerRegion).map(region => region.numCases));\n const minNumCases = min(Object.values(statisticsPerRegion).map(region => region.numCases));\n\n return {\n maxNumCases,\n minNumCases,\n numCases,\n statisticsPerRegion,\n };\n }\n\n private static createEmptyBounds(): GeoJsonBounds {\n return [Infinity, Infinity, -Infinity, -Infinity];\n }\n\n private static expandBoundsFromCoordinates(bounds: GeoJsonBounds, coordinates: unknown) {\n if (!Array.isArray(coordinates) || !coordinates.length) {\n return;\n }\n\n if (typeof coordinates[0] === 'number' && typeof coordinates[1] === 'number') {\n const [longitude, latitude] = coordinates as [number, number];\n\n if (!Number.isFinite(longitude) || !Number.isFinite(latitude)) {\n return;\n }\n\n bounds[0] = Math.min(bounds[0], longitude);\n bounds[1] = Math.min(bounds[1], latitude);\n bounds[2] = Math.max(bounds[2], longitude);\n bounds[3] = Math.max(bounds[3], latitude);\n return;\n }\n\n coordinates.forEach(childCoordinates => MapUtil.expandBoundsFromCoordinates(bounds, childCoordinates));\n }\n\n private static expandBoundsFromFeature(bounds: GeoJsonBounds, feature?: GeoJsonFeature | null) {\n if (!feature) {\n return;\n }\n\n const bboxBounds = MapUtil.normalizeBounds(feature.bbox);\n if (bboxBounds) {\n MapUtil.mergeBounds(bounds, bboxBounds);\n return;\n }\n\n MapUtil.expandBoundsFromGeometry(bounds, feature.geometry);\n }\n\n private static expandBoundsFromGeometry(bounds: GeoJsonBounds, geometry?: GeoJsonGeometry | null) {\n if (!geometry) {\n return;\n }\n\n const bboxBounds = MapUtil.normalizeBounds(geometry.bbox);\n if (bboxBounds) {\n MapUtil.mergeBounds(bounds, bboxBounds);\n return;\n }\n\n MapUtil.expandBoundsFromCoordinates(bounds, geometry.coordinates);\n geometry.geometries?.forEach(childGeometry => MapUtil.expandBoundsFromGeometry(bounds, childGeometry));\n }\n\n private static getGeoJsonBounds(geoJson: string): GeoJsonBounds | null {\n try {\n const parsedGeoJson = JSON.parse(geoJson) as GeoJsonObject;\n return MapUtil.getGeoJsonObjectBounds(parsedGeoJson);\n } catch {\n return null;\n }\n }\n\n private static getGeoJsonObjectBounds(geoJson: GeoJsonObject): GeoJsonBounds | null {\n const bboxBounds = MapUtil.normalizeBounds(geoJson.bbox);\n if (bboxBounds) {\n return bboxBounds;\n }\n\n const bounds = MapUtil.createEmptyBounds();\n MapUtil.expandBoundsFromCoordinates(bounds, geoJson.coordinates);\n geoJson.features?.forEach(feature => MapUtil.expandBoundsFromFeature(bounds, feature));\n geoJson.geometries?.forEach(geometry => MapUtil.expandBoundsFromGeometry(bounds, geometry));\n MapUtil.expandBoundsFromGeometry(bounds, geoJson.geometry);\n\n return MapUtil.hasBounds(bounds) ? bounds : null;\n }\n\n private static hasBounds(bounds: GeoJsonBounds) {\n return bounds.every(Number.isFinite);\n }\n\n private static mergeBounds(bounds: GeoJsonBounds, otherBounds: GeoJsonBounds) {\n bounds[0] = Math.min(bounds[0], otherBounds[0]);\n bounds[1] = Math.min(bounds[1], otherBounds[1]);\n bounds[2] = Math.max(bounds[2], otherBounds[2]);\n bounds[3] = Math.max(bounds[3], otherBounds[3]);\n }\n\n private static normalizeBounds(bounds?: number[]): GeoJsonBounds | null {\n if (!bounds || bounds.length < 4) {\n return null;\n }\n\n const normalizedBounds = bounds.slice(0, 4) as GeoJsonBounds;\n return normalizedBounds.every(Number.isFinite) ? normalizedBounds : null;\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Theme } from '@mui/material';
|
|
2
|
+
import { CaseDbCase, CaseDbCol, CaseDbCompleteCaseType } from '@gen-epix/api-casedb';
|
|
3
|
+
import { StratifiableColumn, Stratification, STRATIFICATION_MODE } from '../../models/stratification';
|
|
4
|
+
export declare class StratificationUtil {
|
|
5
|
+
static getEchartsColors(stratification: Stratification, theme: Theme): string[];
|
|
6
|
+
static getStratification(kwArgs: {
|
|
7
|
+
col?: CaseDbCol;
|
|
8
|
+
completeCaseType: CaseDbCompleteCaseType;
|
|
9
|
+
mode: STRATIFICATION_MODE;
|
|
10
|
+
selectedIds?: string[];
|
|
11
|
+
similarCaseIds?: string[];
|
|
12
|
+
sortedData: CaseDbCase[];
|
|
13
|
+
useExtraGradients?: boolean;
|
|
14
|
+
}): Stratification;
|
|
15
|
+
static getStratifyableColumns(kwArgs: {
|
|
16
|
+
completeCaseType: CaseDbCompleteCaseType;
|
|
17
|
+
data: CaseDbCase[];
|
|
18
|
+
}): StratifiableColumn[];
|
|
19
|
+
private static getFieldStratification;
|
|
20
|
+
private static getSelectionStratification;
|
|
21
|
+
private static getSimilarCasesStratification;
|
|
22
|
+
private static getUniqueRowValues;
|
|
23
|
+
private static isEpiConceptBoundaryProps;
|
|
24
|
+
private static rowValueComperator;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './StratificationUtil';
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { h as e, p as t } from "../../_chunks/_MapCache.js";
|
|
2
|
+
import { CaseTypeUtil as n, n as r, t as i } from "../CaseTypeUtil/index.js";
|
|
3
|
+
import { DataService as a } from "../../classes/services/DataService/index.js";
|
|
4
|
+
import { CaseUtil as o } from "../CaseUtil/index.js";
|
|
5
|
+
import { t as s } from "../../_chunks/_baseIteratee.js";
|
|
6
|
+
import { STRATIFICATION_MODE as c, STRATIFICATION_SELECTED as l, STRATIFICATION_SIMILAR_CASE as u } from "../../models/stratification.js";
|
|
7
|
+
import { CaseDbDataUtil as d } from "../CaseDbDataUtil/index.js";
|
|
8
|
+
import { t as f } from "i18next";
|
|
9
|
+
import { ConfigService as p } from "@gen-epix/ui/classes/services/ConfigService";
|
|
10
|
+
//#region ../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/uniqBy.js
|
|
11
|
+
var m = /* @__PURE__ */ t(((e, t) => {
|
|
12
|
+
var n = s(), i = r();
|
|
13
|
+
function a(e, t) {
|
|
14
|
+
return e && e.length ? i(e, n(t, 2)) : [];
|
|
15
|
+
}
|
|
16
|
+
t.exports = a;
|
|
17
|
+
})), h = /* @__PURE__ */ e(i(), 1), g = /* @__PURE__ */ e(m(), 1), _ = class e {
|
|
18
|
+
static getEchartsColors(e, t) {
|
|
19
|
+
return e ? e.legendaItems?.map((e) => e.color) ?? [] : [t.palette.primary.main];
|
|
20
|
+
}
|
|
21
|
+
static getStratification(t) {
|
|
22
|
+
let { col: n, completeCaseType: r, mode: i, selectedIds: a, similarCaseIds: o, sortedData: s } = t;
|
|
23
|
+
return i ? i === c.FIELD ? e.getFieldStratification({
|
|
24
|
+
col: n,
|
|
25
|
+
completeCaseType: r,
|
|
26
|
+
sortedData: s,
|
|
27
|
+
useExtraGradients: t.useExtraGradients
|
|
28
|
+
}) : i === c.SELECTION ? a ? e.getSelectionStratification({
|
|
29
|
+
selectedIds: a,
|
|
30
|
+
sortedData: s
|
|
31
|
+
}) : null : i === c.SIMILAR_CASES && o ? e.getSimilarCasesStratification({
|
|
32
|
+
similarCaseIds: o,
|
|
33
|
+
sortedData: s
|
|
34
|
+
}) : null : null;
|
|
35
|
+
}
|
|
36
|
+
static getStratifyableColumns(e) {
|
|
37
|
+
let { completeCaseType: t, data: r } = e, { STRATIFICATION: i } = p.getInstance().config.epi;
|
|
38
|
+
return n.getCols(t).filter((e) => {
|
|
39
|
+
let n = t.ref_cols[e.ref_col_id];
|
|
40
|
+
return i.ALLOWED_COL_TYPES.includes(n.col_type);
|
|
41
|
+
}).map((e) => {
|
|
42
|
+
let n = (0, h.default)(r.map((n) => o.getRowValue(n.content, e, t).raw).filter((e) => !!e)).length;
|
|
43
|
+
return {
|
|
44
|
+
col: e,
|
|
45
|
+
enabled: n > 1 && n <= i.MAX_ALLOWED_UNIQUE_VALUES
|
|
46
|
+
};
|
|
47
|
+
}).sort((e, n) => t.ordered_col_ids.indexOf(e.col.id) - t.ordered_col_ids.indexOf(n.col.id));
|
|
48
|
+
}
|
|
49
|
+
static getFieldStratification(t) {
|
|
50
|
+
let { STRATIFICATION: n } = p.getInstance().config.epi, { col: r, completeCaseType: i, sortedData: s, useExtraGradients: l } = t;
|
|
51
|
+
if (!r) return null;
|
|
52
|
+
let u = {}, f = [], m = {}, h = {}, g = i.ref_cols[r.ref_col_id], _ = e.getUniqueRowValues({
|
|
53
|
+
col: r,
|
|
54
|
+
completeCaseType: i,
|
|
55
|
+
sortedData: s
|
|
56
|
+
}), v = {
|
|
57
|
+
caseIds: [],
|
|
58
|
+
color: n.ITEM_MISSING_COLOR,
|
|
59
|
+
columnType: g.col_type,
|
|
60
|
+
rowValue: o.getMissingRowValue("")
|
|
61
|
+
}, y = [];
|
|
62
|
+
if (n.GRADIENT_COL_TYPES.includes(g.col_type) || _.length > n.BASE_COLORS.length) {
|
|
63
|
+
let t;
|
|
64
|
+
if (n.GRADIENT_COL_TYPES.includes(g.col_type)) t = n.BASE_ORDERED_GRADIENT;
|
|
65
|
+
else if (l) {
|
|
66
|
+
let e = n.EXTRA_GRADIENTS.length, a = i.dims[r.dim_id], o = Object.values(i.dims).map((e) => e.id).indexOf(a.id);
|
|
67
|
+
t = n.EXTRA_GRADIENTS[o % e];
|
|
68
|
+
} else t = n.BASE_UNORDERED_GRADIENT;
|
|
69
|
+
let o = a.getInstance().data.conceptsIdsBySetId[g.concept_set_id];
|
|
70
|
+
if (o?.length) {
|
|
71
|
+
let n = o.map((e) => a.getInstance().data.conceptsById[e]).sort(d.conceptComparator);
|
|
72
|
+
if (n.every((t) => e.isEpiConceptBoundaryProps(t.props))) {
|
|
73
|
+
let e = n.map((e) => e.props), r = e.map((e) => e.lb).filter((e) => isFinite(e)), i = e.map((e) => e.ub).filter((e) => isFinite(e)), a = Math.min(...r, ...i), o = Math.max(...r, ...i);
|
|
74
|
+
isFinite(a) && isFinite(o) && o > a && e.forEach((e) => {
|
|
75
|
+
let n = ((isFinite(e.lb) ? e.lb : a) + (isFinite(e.ub) ? e.ub : o)) / 2, r = Math.max(0, Math.min(1, (n - a) / (o - a)));
|
|
76
|
+
y.push(t(r).toString({ format: "hex" }));
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
y.length === 0 && _.forEach((e, n) => {
|
|
81
|
+
y.push(t(n / _.length).toString({ format: "hex" }));
|
|
82
|
+
});
|
|
83
|
+
} else y.push(...n.BASE_COLORS);
|
|
84
|
+
return _.forEach((e, t) => {
|
|
85
|
+
let n = y[t], r = {
|
|
86
|
+
caseIds: [],
|
|
87
|
+
color: n,
|
|
88
|
+
columnType: g.col_type,
|
|
89
|
+
rowValue: e
|
|
90
|
+
};
|
|
91
|
+
m[n] = r, h[e.raw] = r, f.push(r);
|
|
92
|
+
}), s.forEach((e) => {
|
|
93
|
+
let t = o.getRowValue(e.content, r, i);
|
|
94
|
+
if (t.isMissing) {
|
|
95
|
+
v.caseIds.push(e.id), u[e.id] = v.color;
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
let n = h[t.raw];
|
|
99
|
+
n.caseIds.push(e.id), u[e.id] = n.color;
|
|
100
|
+
}), v.caseIds.length > 0 && (m[n.ITEM_MISSING_COLOR] = v, h[""] = v, f.push(v)), {
|
|
101
|
+
caseIdColors: u,
|
|
102
|
+
col: r,
|
|
103
|
+
colorForIsMissing: n.ITEM_MISSING_COLOR,
|
|
104
|
+
legendaItems: f,
|
|
105
|
+
legendaItemsByColor: m,
|
|
106
|
+
legendaItemsByValue: h,
|
|
107
|
+
mode: c.FIELD
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
static getSelectionStratification(e) {
|
|
111
|
+
let { STRATIFICATION: t } = p.getInstance().config.epi, { selectedIds: n, sortedData: r } = e, i = {}, a = [], o = {}, s = {};
|
|
112
|
+
return [l.SELECTED, l.UNSELECTED].forEach((e) => {
|
|
113
|
+
let n = e === l.SELECTED ? t.BASE_COLORS[0] : t.BASE_COLORS[1], r = e === l.SELECTED ? f`Selected` : f`Unselected`, i = {
|
|
114
|
+
caseIds: [],
|
|
115
|
+
color: n,
|
|
116
|
+
rowValue: {
|
|
117
|
+
full: r,
|
|
118
|
+
isMissing: !1,
|
|
119
|
+
long: r,
|
|
120
|
+
raw: e,
|
|
121
|
+
short: r
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
o[n] = i, s[e] = i, a.push(i);
|
|
125
|
+
}), r.forEach((e) => {
|
|
126
|
+
let t = n.includes(e.id) ? s[l.SELECTED] : s[l.UNSELECTED];
|
|
127
|
+
t.caseIds.push(e.id), i[e.id] = t.color;
|
|
128
|
+
}), {
|
|
129
|
+
caseIdColors: i,
|
|
130
|
+
colorForIsMissing: t.ITEM_MISSING_COLOR,
|
|
131
|
+
legendaItems: a,
|
|
132
|
+
legendaItemsByColor: o,
|
|
133
|
+
legendaItemsByValue: s,
|
|
134
|
+
mode: c.SELECTION
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
static getSimilarCasesStratification(e) {
|
|
138
|
+
let { STRATIFICATION: t } = p.getInstance().config.epi, { similarCaseIds: n, sortedData: r } = e, i = {}, a = [], o = {}, s = {};
|
|
139
|
+
return [u.NO, u.YES].forEach((e) => {
|
|
140
|
+
let n = e === u.YES ? t.BASE_COLORS[0] : t.BASE_COLORS[1], r = e === u.YES ? f`Cases found by similarity` : f`Regular cases`, i = {
|
|
141
|
+
caseIds: [],
|
|
142
|
+
color: n,
|
|
143
|
+
rowValue: {
|
|
144
|
+
full: r,
|
|
145
|
+
isMissing: !1,
|
|
146
|
+
long: r,
|
|
147
|
+
raw: e,
|
|
148
|
+
short: r
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
o[n] = i, s[e] = i, a.push(i);
|
|
152
|
+
}), r.forEach((e) => {
|
|
153
|
+
let t = n.includes(e.id) ? s[u.YES] : s[u.NO];
|
|
154
|
+
t.caseIds.push(e.id), i[e.id] = t.color;
|
|
155
|
+
}), {
|
|
156
|
+
caseIdColors: i,
|
|
157
|
+
colorForIsMissing: t.ITEM_MISSING_COLOR,
|
|
158
|
+
legendaItems: a,
|
|
159
|
+
legendaItemsByColor: o,
|
|
160
|
+
legendaItemsByValue: s,
|
|
161
|
+
mode: c.SIMILAR_CASES
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
static getUniqueRowValues(t) {
|
|
165
|
+
let { STRATIFICATION: n } = p.getInstance().config.epi, { col: r, completeCaseType: i, sortedData: s } = t, c = i.ref_cols[r.ref_col_id], l = a.getInstance().data.conceptsIdsBySetId[c.concept_set_id];
|
|
166
|
+
if (l) {
|
|
167
|
+
let e = [];
|
|
168
|
+
return l.map((e) => a.getInstance().data.conceptsById[e]).sort((e, t) => n.GRADIENT_COL_TYPES.includes(c.col_type) && e.rank !== t.rank ? e.rank - t.rank : e.code.localeCompare(t.code)).forEach((t) => {
|
|
169
|
+
e.push({
|
|
170
|
+
full: `${t.code} (${t.name})`,
|
|
171
|
+
isMissing: !1,
|
|
172
|
+
long: t.name,
|
|
173
|
+
raw: t.id,
|
|
174
|
+
short: t.code
|
|
175
|
+
});
|
|
176
|
+
}), e;
|
|
177
|
+
}
|
|
178
|
+
return (0, g.default)(s.map((e) => o.getRowValue(e.content, r, i)).filter((e) => !e.isMissing), ((e) => e.raw)).sort((t, n) => e.rowValueComperator(t, n));
|
|
179
|
+
}
|
|
180
|
+
static isEpiConceptBoundaryProps(e) {
|
|
181
|
+
if (typeof e != "object" || !e) return !1;
|
|
182
|
+
let t = e;
|
|
183
|
+
return [
|
|
184
|
+
"lb",
|
|
185
|
+
"lb_in",
|
|
186
|
+
"ub",
|
|
187
|
+
"ub_in",
|
|
188
|
+
"unit"
|
|
189
|
+
].every((e) => e in t);
|
|
190
|
+
}
|
|
191
|
+
static rowValueComperator(e, t) {
|
|
192
|
+
return e.raw === t.raw ? 0 : e.isMissing ? 1 : t.isMissing ? -1 : e.short.localeCompare(t.short);
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
//#endregion
|
|
196
|
+
export { _ as StratificationUtil };
|
|
197
|
+
|
|
198
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/uniqBy.js","../../../src/utils/StratificationUtil/StratificationUtil.ts"],"sourcesContent":["var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","import type { Theme } from '@mui/material';\nimport uniq from 'lodash/uniq';\nimport uniqBy from 'lodash/uniqBy';\nimport type {\n CaseDbCase,\n CaseDbCol,\n CaseDbCompleteCaseType,\n} from '@gen-epix/api-casedb';\nimport { ConfigService } from '@gen-epix/ui/classes/services/ConfigService';\nimport { t } from 'i18next';\nimport type { Range } from 'colorjs.io';\n\nimport { DataService } from '../../classes/services/DataService';\nimport type { CaseDbConfig } from '../../models/config';\nimport type {\n CaseTypeRowValue,\n ConceptBoundaryProps,\n} from '../../models/caseDb';\nimport type {\n StratifiableColumn,\n Stratification,\n StratificationLegendaItem,\n} from '../../models/stratification';\nimport {\n STRATIFICATION_MODE,\n STRATIFICATION_SELECTED,\n STRATIFICATION_SIMILAR_CASE,\n} from '../../models/stratification';\nimport { CaseTypeUtil } from '../CaseTypeUtil';\nimport { CaseUtil } from '../CaseUtil';\nimport { CaseDbDataUtil } from '../CaseDbDataUtil';\n\nexport class StratificationUtil {\n public static getEchartsColors(stratification: Stratification, theme: Theme): string[] {\n if (!stratification) {\n return [theme.palette.primary.main];\n }\n return stratification.legendaItems?.map(item => item.color) ?? [];\n }\n\n\n public static getStratification(\n kwArgs: {\n col?: CaseDbCol;\n completeCaseType: CaseDbCompleteCaseType;\n mode: STRATIFICATION_MODE;\n selectedIds?: string[];\n similarCaseIds?: string[];\n sortedData: CaseDbCase[];\n useExtraGradients?: boolean;\n },\n ): Stratification {\n const { col, completeCaseType, mode, selectedIds, similarCaseIds, sortedData } = kwArgs;\n if (!mode) {\n return null;\n }\n\n if (mode === STRATIFICATION_MODE.FIELD) {\n return StratificationUtil.getFieldStratification({ col, completeCaseType, sortedData, useExtraGradients: kwArgs.useExtraGradients });\n }\n\n if (mode === STRATIFICATION_MODE.SELECTION) {\n if (!selectedIds) {\n return null;\n }\n return StratificationUtil.getSelectionStratification({ selectedIds, sortedData });\n }\n\n if (mode === STRATIFICATION_MODE.SIMILAR_CASES) {\n if (!similarCaseIds) {\n return null;\n }\n return StratificationUtil.getSimilarCasesStratification({ similarCaseIds, sortedData });\n }\n\n return null;\n }\n\n public static getStratifyableColumns(\n kwArgs: {\n completeCaseType: CaseDbCompleteCaseType;\n data: CaseDbCase[];\n },\n ): StratifiableColumn[] {\n const { completeCaseType, data } = kwArgs;\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n\n const filteredCols = CaseTypeUtil.getCols(completeCaseType).filter(col => {\n const column = completeCaseType.ref_cols[col.ref_col_id];\n return STRATIFICATION.ALLOWED_COL_TYPES.includes(column.col_type);\n });\n\n return filteredCols.map<StratifiableColumn>(col => {\n const numUniqueValues = uniq(data.map(row => CaseUtil.getRowValue(row.content, col, completeCaseType).raw).filter(x => !!x)).length;\n const enabled = numUniqueValues > 1 && numUniqueValues <= STRATIFICATION.MAX_ALLOWED_UNIQUE_VALUES;\n return {\n col,\n enabled,\n };\n }).sort((a, b) => completeCaseType.ordered_col_ids.indexOf(a.col.id) - completeCaseType.ordered_col_ids.indexOf(b.col.id));\n }\n\n private static getFieldStratification(\n kwArgs: {\n col?: CaseDbCol;\n completeCaseType: CaseDbCompleteCaseType;\n sortedData: CaseDbCase[];\n useExtraGradients?: boolean;\n },\n ): Stratification {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { col, completeCaseType, sortedData, useExtraGradients } = kwArgs;\n if (!col) {\n return null;\n }\n\n const caseIdColors: { [key: string]: string } = {};\n const legendaItems: StratificationLegendaItem[] = [];\n const legendaItemsByColor: { [key: string]: StratificationLegendaItem } = {};\n const legendaItemsByValue: { [key: string]: StratificationLegendaItem } = {};\n\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n\n const uniqueRowValues = StratificationUtil.getUniqueRowValues({ col, completeCaseType, sortedData });\n const legendaItemMissingData: StratificationLegendaItem = {\n caseIds: [],\n color: STRATIFICATION.ITEM_MISSING_COLOR,\n columnType: refCol.col_type,\n rowValue: CaseUtil.getMissingRowValue(''),\n };\n const colors: string[] = [];\n\n if (STRATIFICATION.GRADIENT_COL_TYPES.includes(refCol.col_type) || uniqueRowValues.length > STRATIFICATION.BASE_COLORS.length) {\n let gradient: Range;\n if (STRATIFICATION.GRADIENT_COL_TYPES.includes(refCol.col_type)) {\n gradient = STRATIFICATION.BASE_ORDERED_GRADIENT;\n } else {\n if (useExtraGradients) {\n const numExtraGradients = STRATIFICATION.EXTRA_GRADIENTS.length;\n const dim = completeCaseType.dims[col.dim_id];\n const dims = Object.values(completeCaseType.dims).map(d => d.id);\n const colIndexInCompleteCaseType = dims.indexOf(dim.id);\n gradient = STRATIFICATION.EXTRA_GRADIENTS[colIndexInCompleteCaseType % numExtraGradients];\n } else {\n gradient = STRATIFICATION.BASE_UNORDERED_GRADIENT;\n }\n }\n const conceptSetConceptIds = DataService.getInstance().data.conceptsIdsBySetId[refCol.concept_set_id];\n if (conceptSetConceptIds?.length) {\n const concepts = conceptSetConceptIds.map(conceptId => DataService.getInstance().data.conceptsById[conceptId]).sort(CaseDbDataUtil.conceptComparator);\n if (concepts.every(concept => StratificationUtil.isEpiConceptBoundaryProps(concept.props))) {\n const boundaryProps = concepts.map(concept => concept.props as ConceptBoundaryProps);\n const finiteLbs = boundaryProps.map(bp => bp.lb).filter(v => isFinite(v));\n const finiteUbs = boundaryProps.map(bp => bp.ub).filter(v => isFinite(v));\n const globalMin = Math.min(...finiteLbs, ...finiteUbs);\n const globalMax = Math.max(...finiteLbs, ...finiteUbs);\n if (isFinite(globalMin) && isFinite(globalMax) && globalMax > globalMin) {\n boundaryProps.forEach((bp) => {\n const lb = isFinite(bp.lb) ? bp.lb : globalMin;\n const ub = isFinite(bp.ub) ? bp.ub : globalMax;\n const midpoint = (lb + ub) / 2;\n const gradientPosition = Math.max(0, Math.min(1, (midpoint - globalMin) / (globalMax - globalMin)));\n colors.push(gradient(gradientPosition).toString({ format: 'hex' }));\n });\n }\n }\n }\n\n if (colors.length === 0) {\n uniqueRowValues.forEach((_, index) => {\n colors.push(gradient(index / uniqueRowValues.length).toString({ format: 'hex' }));\n });\n }\n } else {\n colors.push(...STRATIFICATION.BASE_COLORS);\n }\n\n uniqueRowValues.forEach((rowValue, index) => {\n const color = colors[index];\n const legendaItem: StratificationLegendaItem = {\n caseIds: [],\n color,\n columnType: refCol.col_type,\n rowValue,\n };\n legendaItemsByColor[color] = legendaItem;\n legendaItemsByValue[rowValue.raw] = legendaItem;\n legendaItems.push(legendaItem);\n });\n\n sortedData.forEach(row => {\n const rowValue = CaseUtil.getRowValue(row.content, col, completeCaseType);\n if (rowValue.isMissing) {\n legendaItemMissingData.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItemMissingData.color;\n return;\n }\n const legendaItem = legendaItemsByValue[rowValue.raw];\n legendaItem.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItem.color;\n });\n\n if (legendaItemMissingData.caseIds.length > 0) {\n legendaItemsByColor[STRATIFICATION.ITEM_MISSING_COLOR] = legendaItemMissingData;\n legendaItemsByValue[''] = legendaItemMissingData;\n legendaItems.push(legendaItemMissingData);\n }\n\n return {\n caseIdColors,\n col,\n colorForIsMissing: STRATIFICATION.ITEM_MISSING_COLOR,\n legendaItems,\n legendaItemsByColor,\n legendaItemsByValue,\n mode: STRATIFICATION_MODE.FIELD,\n };\n }\n\n private static getSelectionStratification(\n kwArgs: {\n selectedIds: string[];\n sortedData: CaseDbCase[];\n },\n ): Stratification {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { selectedIds, sortedData } = kwArgs;\n const caseIdColors: { [key: string]: string } = {};\n const legendaItems: StratificationLegendaItem[] = [];\n const legendaItemsByColor: { [key: string]: StratificationLegendaItem } = {};\n const legendaItemsByValue: { [key: string]: StratificationLegendaItem } = {};\n\n const rawValues: STRATIFICATION_SELECTED[] = [STRATIFICATION_SELECTED.SELECTED, STRATIFICATION_SELECTED.UNSELECTED];\n\n rawValues.forEach(rawValue => {\n const color = rawValue === STRATIFICATION_SELECTED.SELECTED ? STRATIFICATION.BASE_COLORS[0] : STRATIFICATION.BASE_COLORS[1];\n const presentationValue = rawValue === STRATIFICATION_SELECTED.SELECTED ? t`Selected` : t`Unselected`;\n const legendaItem: StratificationLegendaItem = {\n caseIds: [],\n color,\n rowValue: {\n full: presentationValue,\n isMissing: false,\n long: presentationValue,\n raw: rawValue,\n short: presentationValue,\n },\n };\n legendaItemsByColor[color] = legendaItem;\n legendaItemsByValue[rawValue] = legendaItem;\n legendaItems.push(legendaItem);\n });\n\n sortedData.forEach(row => {\n const legendaItem = selectedIds.includes(row.id) ? legendaItemsByValue[STRATIFICATION_SELECTED.SELECTED] : legendaItemsByValue[STRATIFICATION_SELECTED.UNSELECTED];\n legendaItem.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItem.color;\n });\n\n return {\n caseIdColors,\n colorForIsMissing: STRATIFICATION.ITEM_MISSING_COLOR,\n legendaItems,\n legendaItemsByColor,\n legendaItemsByValue,\n mode: STRATIFICATION_MODE.SELECTION,\n };\n }\n\n private static getSimilarCasesStratification(\n kwArgs: {\n similarCaseIds: string[];\n sortedData: CaseDbCase[];\n },\n ): Stratification {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { similarCaseIds, sortedData } = kwArgs;\n const caseIdColors: { [key: string]: string } = {};\n const legendaItems: StratificationLegendaItem[] = [];\n const legendaItemsByColor: { [key: string]: StratificationLegendaItem } = {};\n const legendaItemsByValue: { [key: string]: StratificationLegendaItem } = {};\n\n const rawValues: STRATIFICATION_SIMILAR_CASE[] = [STRATIFICATION_SIMILAR_CASE.NO, STRATIFICATION_SIMILAR_CASE.YES];\n\n rawValues.forEach(rawValue => {\n const color = rawValue === STRATIFICATION_SIMILAR_CASE.YES ? STRATIFICATION.BASE_COLORS[0] : STRATIFICATION.BASE_COLORS[1];\n const presentationValue = rawValue === STRATIFICATION_SIMILAR_CASE.YES ? t`Cases found by similarity` : t`Regular cases`;\n const legendaItem: StratificationLegendaItem = {\n caseIds: [],\n color,\n rowValue: {\n full: presentationValue,\n isMissing: false,\n long: presentationValue,\n raw: rawValue,\n short: presentationValue,\n },\n };\n legendaItemsByColor[color] = legendaItem;\n legendaItemsByValue[rawValue] = legendaItem;\n legendaItems.push(legendaItem);\n });\n\n sortedData.forEach(row => {\n const legendaItem = similarCaseIds.includes(row.id) ? legendaItemsByValue[STRATIFICATION_SIMILAR_CASE.YES] : legendaItemsByValue[STRATIFICATION_SIMILAR_CASE.NO];\n legendaItem.caseIds.push(row.id);\n caseIdColors[row.id] = legendaItem.color;\n });\n\n return {\n caseIdColors,\n colorForIsMissing: STRATIFICATION.ITEM_MISSING_COLOR,\n legendaItems,\n legendaItemsByColor,\n legendaItemsByValue,\n mode: STRATIFICATION_MODE.SIMILAR_CASES,\n };\n }\n\n private static getUniqueRowValues(\n kwArgs: {\n col?: CaseDbCol;\n completeCaseType: CaseDbCompleteCaseType;\n sortedData: CaseDbCase[];\n },\n ): CaseTypeRowValue[] {\n const { STRATIFICATION } = ConfigService.getInstance<CaseDbConfig>().config.epi;\n const { col, completeCaseType, sortedData } = kwArgs;\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n const conceptSetConceptIds = DataService.getInstance().data.conceptsIdsBySetId[refCol.concept_set_id];\n\n if (conceptSetConceptIds) {\n const uniqueRowValues: CaseTypeRowValue[] = [];\n conceptSetConceptIds.map(conceptId => DataService.getInstance().data.conceptsById[conceptId]).sort((a, b) => {\n if (STRATIFICATION.GRADIENT_COL_TYPES.includes(refCol.col_type) && a.rank !== b.rank) {\n return a.rank - b.rank;\n }\n return a.code.localeCompare(b.code);\n }).forEach((concept) => {\n uniqueRowValues.push({\n full: `${concept.code} (${concept.name})`,\n isMissing: false,\n long: concept.name,\n raw: concept.id,\n short: concept.code,\n });\n });\n return uniqueRowValues;\n }\n const rowValues = sortedData.map(row => CaseUtil.getRowValue(row.content, col, completeCaseType)).filter(x => !x.isMissing);\n const uniqueRowValues = uniqBy(rowValues, (rowValue => rowValue.raw)).sort((a, b) => {\n return StratificationUtil.rowValueComperator(a, b);\n });\n return uniqueRowValues;\n }\n\n private static isEpiConceptBoundaryProps(prop: unknown): prop is ConceptBoundaryProps {\n if (typeof prop !== 'object' || prop === null) {\n return false;\n }\n const propAsEpiConceptBoundaryProps = prop as ConceptBoundaryProps;\n return ['lb', 'lb_in', 'ub', 'ub_in', 'unit'].every(key => key in propAsEpiConceptBoundaryProps);\n }\n\n private static rowValueComperator(a: CaseTypeRowValue, b: CaseTypeRowValue): number {\n if (a.raw === b.raw) {\n return 0;\n }\n if (a.isMissing) {\n return 1;\n }\n if (b.isMissing) {\n return -1;\n }\n return a.short.localeCompare(b.short);\n }\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CaseDbCompleteCaseType } from '@gen-epix/api-casedb';
|
|
2
|
+
import { TreeConfiguration } from '../../models/dashboard';
|
|
3
|
+
export declare class TreeWidgetUtil {
|
|
4
|
+
static getTreeConfigurationId(treeConfiguration: Omit<TreeConfiguration, 'computedId'>): string;
|
|
5
|
+
static getTreeConfigurationLabel(config: TreeConfiguration): string;
|
|
6
|
+
static getTreeConfigurations(completeCaseType: CaseDbCompleteCaseType): TreeConfiguration[];
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TreeWidgetUtil';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DataService as e } from "../../classes/services/DataService/index.js";
|
|
2
|
+
import { CaseDbColType as t } from "@gen-epix/api-casedb";
|
|
3
|
+
//#region src/utils/TreeWidgetUtil/TreeWidgetUtil.ts
|
|
4
|
+
var n = class n {
|
|
5
|
+
static getTreeConfigurationId(e) {
|
|
6
|
+
return `${e.col.id}_${e.refCol.id}_${e.geneticDistanceProtocol.id}_${e.treeAlgorithm.id}`;
|
|
7
|
+
}
|
|
8
|
+
static getTreeConfigurationLabel(e) {
|
|
9
|
+
return `${e.geneticDistanceProtocol.name} - ${e.treeAlgorithm.name}`;
|
|
10
|
+
}
|
|
11
|
+
static getTreeConfigurations(r) {
|
|
12
|
+
let i = [], a = Object.values(r.cols).filter((e) => r.ref_cols[e.ref_col_id].col_type === t.GENETIC_DISTANCE), o = e.getInstance().data.treeAlgorithms.map((e) => e.code);
|
|
13
|
+
return a.forEach((e) => {
|
|
14
|
+
let t = r.ref_cols[e.ref_col_id], a = r.genetic_distance_protocols[t.genetic_distance_protocol_id];
|
|
15
|
+
[...e.tree_algorithm_codes].sort((e, t) => o.indexOf(e) - o.indexOf(t)).map((e) => r.tree_algorithms[e]).forEach((r) => {
|
|
16
|
+
i.push({
|
|
17
|
+
col: e,
|
|
18
|
+
computedId: n.getTreeConfigurationId({
|
|
19
|
+
col: e,
|
|
20
|
+
geneticDistanceProtocol: a,
|
|
21
|
+
refCol: t,
|
|
22
|
+
treeAlgorithm: r
|
|
23
|
+
}),
|
|
24
|
+
geneticDistanceProtocol: a,
|
|
25
|
+
refCol: t,
|
|
26
|
+
treeAlgorithm: r
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
}), i;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { n as TreeWidgetUtil };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/TreeWidgetUtil/TreeWidgetUtil.ts"],"sourcesContent":["import type { CaseDbCompleteCaseType } from '@gen-epix/api-casedb';\nimport { CaseDbColType } from '@gen-epix/api-casedb';\n\nimport type { TreeConfiguration } from '../../models/dashboard';\nimport { DataService } from '../../classes/services/DataService';\n\nexport class TreeWidgetUtil {\n public static getTreeConfigurationId(treeConfiguration: Omit<TreeConfiguration, 'computedId'>): string {\n return `${treeConfiguration.col.id}_${treeConfiguration.refCol.id}_${treeConfiguration.geneticDistanceProtocol.id}_${treeConfiguration.treeAlgorithm.id}`;\n }\n\n public static getTreeConfigurationLabel(config: TreeConfiguration): string {\n return `${config.geneticDistanceProtocol.name} - ${config.treeAlgorithm.name}`;\n }\n\n public static getTreeConfigurations(completeCaseType: CaseDbCompleteCaseType): TreeConfiguration[] {\n const treeConfigurations: TreeConfiguration[] = [];\n\n const geneticDistanceCols = Object.values(completeCaseType.cols).filter(col => {\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n return refCol.col_type === CaseDbColType.GENETIC_DISTANCE;\n });\n\n const sortedTreeAlgorithmCodes = DataService.getInstance().data.treeAlgorithms.map(x => x.code);\n\n geneticDistanceCols.forEach(col => {\n const refCol = completeCaseType.ref_cols[col.ref_col_id];\n const geneticDistanceProtocol = completeCaseType.genetic_distance_protocols[refCol.genetic_distance_protocol_id];\n const treeAlgorithms = [...col.tree_algorithm_codes].sort((a, b) => {\n return sortedTreeAlgorithmCodes.indexOf(a) - sortedTreeAlgorithmCodes.indexOf(b);\n }).map(treeAlgorithmCode => completeCaseType.tree_algorithms[treeAlgorithmCode]);\n\n treeAlgorithms.forEach(treeAlgorithm => {\n treeConfigurations.push({\n col,\n computedId: TreeWidgetUtil.getTreeConfigurationId({ col, geneticDistanceProtocol, refCol, treeAlgorithm }),\n geneticDistanceProtocol,\n refCol,\n treeAlgorithm,\n });\n });\n });\n\n return treeConfigurations;\n }\n}\n"],"mappings":";;;AAMA,IAAa,IAAb,MAAa,EAAe;CAC1B,OAAc,uBAAuB,GAAkE;EACrG,OAAO,GAAG,EAAkB,IAAI,GAAG,GAAG,EAAkB,OAAO,GAAG,GAAG,EAAkB,wBAAwB,GAAG,GAAG,EAAkB,cAAc;CACvJ;CAEA,OAAc,0BAA0B,GAAmC;EACzE,OAAO,GAAG,EAAO,wBAAwB,KAAK,KAAK,EAAO,cAAc;CAC1E;CAEA,OAAc,sBAAsB,GAA+D;EACjG,IAAM,IAA0C,CAAC,GAE3C,IAAsB,OAAO,OAAO,EAAiB,IAAI,CAAC,CAAC,QAAO,MACvD,EAAiB,SAAS,EAAI,WACtC,CAAO,aAAa,EAAc,gBAC1C,GAEK,IAA2B,EAAY,YAAY,CAAC,CAAC,KAAK,eAAe,KAAI,MAAK,EAAE,IAAI;EAoB9F,OAlBA,EAAoB,SAAQ,MAAO;GACjC,IAAM,IAAS,EAAiB,SAAS,EAAI,aACvC,IAA0B,EAAiB,2BAA2B,EAAO;GAKnF,CAJwB,GAAG,EAAI,oBAAoB,CAAC,CAAC,MAAM,GAAG,MACrD,EAAyB,QAAQ,CAAC,IAAI,EAAyB,QAAQ,CAAC,CAChF,CAAC,CAAC,KAAI,MAAqB,EAAiB,gBAAgB,EAE7D,CAAA,CAAe,SAAQ,MAAiB;IACtC,EAAmB,KAAK;KACtB;KACA,YAAY,EAAe,uBAAuB;MAAE;MAAK;MAAyB;MAAQ;KAAc,CAAC;KACzG;KACA;KACA;IACF,CAAC;GACH,CAAC;EACH,CAAC,GAEM;CACT;AACF"}
|