@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,5 @@
|
|
|
1
|
+
import { TreeConfiguration } from '../../../models/dashboard';
|
|
2
|
+
export type TreeDescriptionProps = {
|
|
3
|
+
readonly treeConfiguration: TreeConfiguration;
|
|
4
|
+
};
|
|
5
|
+
export declare const TreeDescription: ({ treeConfiguration, }: TreeDescriptionProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TreeDescription';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Box as e, useTheme as t } from "@mui/material";
|
|
2
|
+
import { useTranslation as n } from "react-i18next";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/ui/TreeDescription/TreeDescription.tsx
|
|
5
|
+
var a = ({ treeConfiguration: a }) => {
|
|
6
|
+
let o = t(), { t: s } = n();
|
|
7
|
+
return /* @__PURE__ */ i(e, {
|
|
8
|
+
sx: {
|
|
9
|
+
"& dd": { marginLeft: o.spacing(2) },
|
|
10
|
+
"& dl": { margin: 0 }
|
|
11
|
+
},
|
|
12
|
+
children: [/* @__PURE__ */ i(e, {
|
|
13
|
+
sx: { marginY: 1 },
|
|
14
|
+
children: [/* @__PURE__ */ r("strong", {
|
|
15
|
+
style: { fontSize: "1rem" },
|
|
16
|
+
children: s`Genetic distance protocol`
|
|
17
|
+
}), /* @__PURE__ */ i("dl", { children: [
|
|
18
|
+
/* @__PURE__ */ r("dt", { children: s`Name` }),
|
|
19
|
+
/* @__PURE__ */ r("dd", { children: a.geneticDistanceProtocol.name }),
|
|
20
|
+
/* @__PURE__ */ r("dt", { children: s`Description` }),
|
|
21
|
+
/* @__PURE__ */ r("dd", { children: a.geneticDistanceProtocol.description })
|
|
22
|
+
] })]
|
|
23
|
+
}), /* @__PURE__ */ i(e, {
|
|
24
|
+
sx: { marginY: 1 },
|
|
25
|
+
children: [/* @__PURE__ */ r("strong", {
|
|
26
|
+
style: { fontSize: "1rem" },
|
|
27
|
+
children: s`Tree algorithm`
|
|
28
|
+
}), /* @__PURE__ */ i("dl", { children: [
|
|
29
|
+
/* @__PURE__ */ r("dt", { children: s`Name` }),
|
|
30
|
+
/* @__PURE__ */ r("dd", { children: a.treeAlgorithm.name }),
|
|
31
|
+
/* @__PURE__ */ r("dt", { children: s`Description` }),
|
|
32
|
+
/* @__PURE__ */ r("dd", { children: a.treeAlgorithm.description })
|
|
33
|
+
] })]
|
|
34
|
+
})]
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
export { a as TreeDescription };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/ui/TreeDescription/TreeDescription.tsx"],"sourcesContent":["import {\n Box,\n useTheme,\n} from '@mui/material';\nimport { useTranslation } from 'react-i18next';\n\nimport type { TreeConfiguration } from '../../../models/dashboard';\n\nexport type TreeDescriptionProps = {\n readonly treeConfiguration: TreeConfiguration;\n};\n\nexport const TreeDescription = ({\n treeConfiguration,\n}: TreeDescriptionProps) => {\n const theme = useTheme();\n const { t } = useTranslation();\n\n return (\n <Box\n sx={{\n '& dd': {\n marginLeft: theme.spacing(2),\n },\n '& dl': {\n margin: 0,\n },\n }}\n >\n <Box\n sx={{\n marginY: 1,\n }}\n >\n <strong style={{ fontSize: '1rem' }}>\n {t`Genetic distance protocol`}\n </strong>\n <dl>\n <dt>\n {t`Name`}\n </dt>\n <dd>\n {treeConfiguration.geneticDistanceProtocol.name}\n </dd>\n <dt>\n {t`Description`}\n </dt>\n <dd>\n {treeConfiguration.geneticDistanceProtocol.description}\n </dd>\n </dl>\n </Box>\n <Box\n sx={{\n marginY: 1,\n }}\n >\n <strong style={{ fontSize: '1rem' }}>\n {t`Tree algorithm`}\n </strong>\n <dl>\n <dt>\n {t`Name`}\n </dt>\n <dd>\n {treeConfiguration.treeAlgorithm.name}\n </dd>\n <dt>\n {t`Description`}\n </dt>\n <dd>\n {treeConfiguration.treeAlgorithm.description}\n </dd>\n </dl>\n </Box>\n\n </Box>\n );\n};\n"],"mappings":";;;;AAYA,IAAa,KAAmB,EAC9B,2BAC0B;CAC1B,IAAM,IAAQ,EAAS,GACjB,EAAE,SAAM,EAAe;CAE7B,OACE,kBAAC,GAAD;EACE,IAAI;GACF,QAAQ,EACN,YAAY,EAAM,QAAQ,CAAC,EAC7B;GACA,QAAQ,EACN,QAAQ,EACV;EACF;YARF,CAUE,kBAAC,GAAD;GACE,IAAI,EACF,SAAS,EACX;aAHF,CAKE,kBAAC,UAAD;IAAQ,OAAO,EAAE,UAAU,OAAO;cAC/B,CAAC;GACI,CAAA,GACR,kBAAC,MAAD,EAAA,UAAA;IACE,kBAAC,MAAD,EAAA,UACG,CAAC,OACA,CAAA;IACJ,kBAAC,MAAD,EAAA,UACG,EAAkB,wBAAwB,KACzC,CAAA;IACJ,kBAAC,MAAD,EAAA,UACG,CAAC,cACA,CAAA;IACJ,kBAAC,MAAD,EAAA,UACG,EAAkB,wBAAwB,YACzC,CAAA;GACF,EAAA,CAAA,CACD;MACL,kBAAC,GAAD;GACE,IAAI,EACF,SAAS,EACX;aAHF,CAKE,kBAAC,UAAD;IAAQ,OAAO,EAAE,UAAU,OAAO;cAC/B,CAAC;GACI,CAAA,GACR,kBAAC,MAAD,EAAA,UAAA;IACE,kBAAC,MAAD,EAAA,UACG,CAAC,OACA,CAAA;IACJ,kBAAC,MAAD,EAAA,UACG,EAAkB,cAAc,KAC/B,CAAA;IACJ,kBAAC,MAAD,EAAA,UACG,CAAC,cACA,CAAA;IACJ,kBAAC,MAAD,EAAA,UACG,EAAkB,cAAc,YAC/B,CAAA;GACF,EAAA,CAAA,CACD;IAEF;;AAET"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TreeWidget: () => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TreeWidget';
|
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { n as e } from "../../../_chunks/FilterUtil.js";
|
|
2
|
+
import { SELECTION_FILTER_GROUP as t } from "../../../utils/CaseTypeUtil/index.js";
|
|
3
|
+
import { CASEDB_QUERY_KEY as n } from "../../../constants/query.js";
|
|
4
|
+
import { TreeWidgetUtil as r } from "../../../utils/TreeWidgetUtil/index.js";
|
|
5
|
+
import { DASHBOARD_COMPONENT_NAME as i } from "../../../constants/dashboard.js";
|
|
6
|
+
import { t as a } from "../../../_chunks/react.js";
|
|
7
|
+
import { t as ee } from "../../../_chunks/dashboardStore.js";
|
|
8
|
+
import { ContextMenu as te } from "../ContextMenu/index.js";
|
|
9
|
+
import { WidgetUnavailable as ne } from "../WidgetUnavailable/index.js";
|
|
10
|
+
import { EventBusService as o } from "../../../classes/services/EventBusService/index.js";
|
|
11
|
+
import { t as s } from "../../../_chunks/CaseDbDownloadUtil.js";
|
|
12
|
+
import { TreeDescription as re } from "../TreeDescription/index.js";
|
|
13
|
+
import { n as ie } from "../../../_chunks/LegendaItem.js";
|
|
14
|
+
import { t as ae } from "../../../_chunks/Dashboard.js";
|
|
15
|
+
import { t as oe } from "../../../_chunks/userProfileStoreContext.js";
|
|
16
|
+
import { t as se } from "../../../_chunks/index.module.js";
|
|
17
|
+
import { CaseDbCaseApi as ce } from "@gen-epix/api-casedb";
|
|
18
|
+
import { ConfigService as c } from "@gen-epix/ui/classes/services/ConfigService";
|
|
19
|
+
import { Box as le, Button as ue, ListItemIcon as de, ListItemText as l, MenuItem as u, useTheme as fe } from "@mui/material";
|
|
20
|
+
import { use as d, useCallback as f, useEffect as p, useMemo as m, useRef as pe, useState as h } from "react";
|
|
21
|
+
import { useTranslation as me } from "react-i18next";
|
|
22
|
+
import he from "@mui/icons-material/FilterAlt";
|
|
23
|
+
import { Fragment as ge, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
24
|
+
import { useQueryMemo as _e } from "@gen-epix/ui/hooks/useQueryMemo";
|
|
25
|
+
import { Spinner as ve } from "@gen-epix/ui/components/ui/Spinner";
|
|
26
|
+
import { Subject as ye } from "@gen-epix/ui-core/classes/Subject";
|
|
27
|
+
import be from "@mui/icons-material/Link";
|
|
28
|
+
import xe from "@mui/icons-material/Clear";
|
|
29
|
+
import Se from "@mui/icons-material/ArrowUpward";
|
|
30
|
+
import Ce from "@mui/icons-material/InfoOutlined";
|
|
31
|
+
import { PhylogeneticTree as we } from "@gen-epix/ui-phylogenetic-tree/components/PhylogeneticTree";
|
|
32
|
+
//#region src/components/ui/TreeWidget/TreeWidget.tsx
|
|
33
|
+
var v = () => {
|
|
34
|
+
let v = fe(), { t: y } = me(), b = c.getInstance().config.tree, [x, Te] = h(), [S, C] = h(!0), w = pe(null), T = d(ee), E = d(ie), D = d(oe), O = a(T, (e) => e.setPhylogeneticTreeResponse), k = a(T, (e) => e.baseData), Ee = a(T, (e) => e.sortedData), De = a(T, (e) => e.filteredData[t]), Oe = a(T, (e) => e.setSorting), A = a(T, (e) => e.tree), j = a(T, (e) => e.sortByField), ke = a(T, (e) => e.stratification), M = a(T, (e) => e.completeCaseType), N = a(T, (t) => !t.filters.find((t) => t instanceof e).isInitialFilterValue()), Ae = a(T, (e) => e.addTreeFilter), je = a(T, (e) => e.treeFilterStepOut), Me = a(T, (e) => e.updateWidgetData), P = a(T, (e) => e.updateWidgetDataPersistable), F = a(T, (e) => e.removeTreeFilter), I = a(T, (e) => e.isDataLoading), Ne = a(T, (e) => e.newick), Pe = a(T, (e) => e.resetTreeAddresses), Fe = a(D, (e) => e.dashboardWidgetSettings[i.TREE].isShowDistancesEnabled), Ie = a(D, (e) => e.dashboardWidgetSettings[i.TREE].isShowSupportLinesWhenUnlinkedEnabled), [Le, L] = h(null), [R, z] = h(null), [B, Re] = h(null), [V, H] = h(T.getState().getWidgetDataPersistable(i.TREE).treeConfiguration), U = m(() => new ye({
|
|
35
|
+
caseIds: [],
|
|
36
|
+
origin: null
|
|
37
|
+
}), []), ze = m(() => {
|
|
38
|
+
let e = T.getState().getWidgetData(i.TREE);
|
|
39
|
+
return {
|
|
40
|
+
horizontalScrollPosition: isNaN(e?.horizontalScrollPosition) ? 0 : e.horizontalScrollPosition,
|
|
41
|
+
verticalScrollPosition: isNaN(e?.verticalScrollPosition) ? 0 : e.verticalScrollPosition,
|
|
42
|
+
zoomLevel: isNaN(e?.zoomLevel) ? 1 : e.zoomLevel
|
|
43
|
+
};
|
|
44
|
+
}, [T]), Be = m(() => Ee.map((e) => e.id), [Ee]), W = m(() => r.getTreeConfigurations(M), [M]), Ve = m(() => {
|
|
45
|
+
if (!V) return y("Phylogenetic tree visualization");
|
|
46
|
+
let e = V.col?.label || y("data");
|
|
47
|
+
return y("Figure of a phylogenetic tree belonging to {{label}}. Generated using {{geneticDistanceProtocol}} and {{treeAlgorithm}}.", {
|
|
48
|
+
geneticDistanceProtocol: V.geneticDistanceProtocol?.name || y("unknown protocol"),
|
|
49
|
+
label: e,
|
|
50
|
+
treeAlgorithm: V.treeAlgorithm?.name || y("unknown algorithm")
|
|
51
|
+
});
|
|
52
|
+
}, [V, y]);
|
|
53
|
+
p(() => {
|
|
54
|
+
let e = E.highlightSubject.subscribe((e) => {
|
|
55
|
+
e.origin !== i.TREE && U.next(e);
|
|
56
|
+
}), t = U.subscribe((e) => {
|
|
57
|
+
e.origin === i.TREE && E.highlight(e);
|
|
58
|
+
});
|
|
59
|
+
return () => {
|
|
60
|
+
e(), t();
|
|
61
|
+
};
|
|
62
|
+
}, [E, U]);
|
|
63
|
+
let G = m(() => De.map((e) => e.id).sort(), [De]);
|
|
64
|
+
p(() => {
|
|
65
|
+
Pe();
|
|
66
|
+
}, [G, Pe]);
|
|
67
|
+
let K = m(() => G.length >= 2 && G.every((e) => !!e), [G]), q = m(() => G.length > 0 && M.props.read_max_tree_size > 0 && G.length > M.props.read_max_tree_size, [G, M.props.read_max_tree_size]), He = m(() => ({
|
|
68
|
+
case_ids: G,
|
|
69
|
+
case_type_id: M.id,
|
|
70
|
+
genetic_distance_col_id: V?.col.id,
|
|
71
|
+
tree_algorithm_code: V?.treeAlgorithm.code
|
|
72
|
+
}), [
|
|
73
|
+
G,
|
|
74
|
+
M.id,
|
|
75
|
+
V
|
|
76
|
+
]), { data: J, error: Ue, isLoading: We } = _e({
|
|
77
|
+
enabled: K && !!V && !q,
|
|
78
|
+
queryFn: async ({ signal: e }) => (await ce.getInstance().retrievePhylogeneticTree(He, { signal: e })).data,
|
|
79
|
+
queryKey: [n.PHYLOGENETIC_TREE, JSON.stringify(He)],
|
|
80
|
+
retry: !1,
|
|
81
|
+
staleTime: Infinity
|
|
82
|
+
}), Ge = f(() => {
|
|
83
|
+
o.getInstance().emit("openFiltersMenu");
|
|
84
|
+
}, []), Y = !!V && (I || K && We), X = q || !I && (!Y && !!Ue || !K || A?.maxBranchLength?.toNumber() === 0 || A?.size === 0 || !V || !Y && A === null), Z = !q && !!V && !I && !Ue && !We && A?.size > 0 && K, Ke = m(() => {
|
|
85
|
+
if (!X) return null;
|
|
86
|
+
if (!K) return y`The phylogenetic tree cannot be displayed because there are not enough sequences available for the shown cases. A minimum of 2 sequences is required to generate a phylogenetic tree.`;
|
|
87
|
+
if (K && !A) return y`The phylogenetic tree cannot be displayed because the tree could not be generated. Either there are no sequences available for the shown cases or the selected tree configuration does not yield a valid tree.`;
|
|
88
|
+
if (q) return /* @__PURE__ */ _(ge, { children: [/* @__PURE__ */ g(le, {
|
|
89
|
+
sx: { marginBottom: 2 },
|
|
90
|
+
children: y("The phylogenetic tree cannot be displayed because the number of cases ({{caseCount}}) exceeds the maximum allowed number of cases ({{maxSize}}) to display a phylogenetic tree. Refine your filters to reduce the number of results.", {
|
|
91
|
+
caseCount: G.length,
|
|
92
|
+
maxSize: M.props.read_max_tree_size
|
|
93
|
+
})
|
|
94
|
+
}), /* @__PURE__ */ g(ue, {
|
|
95
|
+
color: "inherit",
|
|
96
|
+
onClick: Ge,
|
|
97
|
+
variant: "outlined",
|
|
98
|
+
children: y`Refine filters`
|
|
99
|
+
})] });
|
|
100
|
+
}, [
|
|
101
|
+
G.length,
|
|
102
|
+
M.props.read_max_tree_size,
|
|
103
|
+
K,
|
|
104
|
+
q,
|
|
105
|
+
X,
|
|
106
|
+
Ge,
|
|
107
|
+
y,
|
|
108
|
+
A
|
|
109
|
+
]);
|
|
110
|
+
p(() => {
|
|
111
|
+
J && O(J);
|
|
112
|
+
}, [J, O]), p(() => {
|
|
113
|
+
if (!W?.length) {
|
|
114
|
+
H(null), P(i.TREE, { treeConfiguration: null });
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
let e = T.getState().getWidgetDataPersistable(i.TREE)?.treeConfiguration || W[0];
|
|
118
|
+
H(e), P(i.TREE, { treeConfiguration: e });
|
|
119
|
+
}, [
|
|
120
|
+
T,
|
|
121
|
+
W,
|
|
122
|
+
P
|
|
123
|
+
]), p(() => {
|
|
124
|
+
j && S && Z && w.current?.unlink({
|
|
125
|
+
positionX: 0,
|
|
126
|
+
positionY: 0,
|
|
127
|
+
zoomLevel: c.getInstance().config.tree.INITIAL_UNLINKED_ZOOM_LEVEL
|
|
128
|
+
});
|
|
129
|
+
}, [
|
|
130
|
+
S,
|
|
131
|
+
Z,
|
|
132
|
+
j
|
|
133
|
+
]);
|
|
134
|
+
let qe = se((e) => {
|
|
135
|
+
Me(i.TREE, {
|
|
136
|
+
horizontalScrollPosition: e.horizontalScrollPosition,
|
|
137
|
+
verticalScrollPosition: e.verticalScrollPosition,
|
|
138
|
+
zoomLevel: e.zoomLevel
|
|
139
|
+
});
|
|
140
|
+
}, 500), Je = f((e) => {
|
|
141
|
+
qe(e);
|
|
142
|
+
}, [qe]), Ye = f((e) => {
|
|
143
|
+
Te(e);
|
|
144
|
+
}, []), Xe = f(() => {
|
|
145
|
+
L(null), z(null);
|
|
146
|
+
}, []), Ze = f(() => {
|
|
147
|
+
(async () => {
|
|
148
|
+
await Oe(null, null), w.current?.syncScrollToVisibleTree();
|
|
149
|
+
})();
|
|
150
|
+
}, [Oe]), Qe = f(() => {
|
|
151
|
+
Ze();
|
|
152
|
+
}, [Ze]), Q = f(() => {
|
|
153
|
+
w.current?.link(0);
|
|
154
|
+
}, []), $e = f(async (e) => {
|
|
155
|
+
await Ae(R.rootId), Q(), e();
|
|
156
|
+
}, [
|
|
157
|
+
Ae,
|
|
158
|
+
R,
|
|
159
|
+
Q
|
|
160
|
+
]), et = f(async () => {
|
|
161
|
+
await F(), Q();
|
|
162
|
+
}, [F, Q]), tt = f(async () => {
|
|
163
|
+
await je(), Q();
|
|
164
|
+
}, [Q, je]), nt = f(({ mouseEvent: e, pathProperties: t }) => {
|
|
165
|
+
if (z(null), Re(null), t?.treeNode) {
|
|
166
|
+
let { treeNode: n } = t;
|
|
167
|
+
L({
|
|
168
|
+
caseIds: n.subTreeLeaveNames ? n.subTreeLeaveNames : [n.name],
|
|
169
|
+
mouseEvent: e,
|
|
170
|
+
position: {
|
|
171
|
+
left: e.clientX,
|
|
172
|
+
top: e.clientY
|
|
173
|
+
}
|
|
174
|
+
}), n.subTreeNames.length && n.name && n.maxBranchLength.toNumber() && z({
|
|
175
|
+
caseIds: n.subTreeLeaveNames,
|
|
176
|
+
rootId: n.name
|
|
177
|
+
}), n.name && !n.subTreeNames.length && Re(n.name);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
t?.subTreeLeaveNames?.length && L({
|
|
181
|
+
caseIds: t.subTreeLeaveNames,
|
|
182
|
+
mouseEvent: e,
|
|
183
|
+
position: {
|
|
184
|
+
left: e.clientX,
|
|
185
|
+
top: e.clientY
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}, []), rt = f((e) => {
|
|
189
|
+
o.getInstance().emit("openCaseInfoDialog", {
|
|
190
|
+
caseId: k.find((e) => e.id === B).id,
|
|
191
|
+
caseTypeId: M.id
|
|
192
|
+
}), e();
|
|
193
|
+
}, [
|
|
194
|
+
B,
|
|
195
|
+
k,
|
|
196
|
+
M.id
|
|
197
|
+
]), it = f((e) => {
|
|
198
|
+
if (R) return /* @__PURE__ */ _(u, {
|
|
199
|
+
divider: !0,
|
|
200
|
+
onClick: async () => $e(e),
|
|
201
|
+
children: [/* @__PURE__ */ g(de, { children: /* @__PURE__ */ g(he, { fontSize: "small" }) }), /* @__PURE__ */ g(l, { children: y`Filter (show only this subtree)` })]
|
|
202
|
+
});
|
|
203
|
+
if (B) return /* @__PURE__ */ _(u, {
|
|
204
|
+
divider: !0,
|
|
205
|
+
onClick: () => rt(e),
|
|
206
|
+
children: [/* @__PURE__ */ g(de, { children: /* @__PURE__ */ g(Ce, { fontSize: "small" }) }), /* @__PURE__ */ g(l, { children: y`Show details` })]
|
|
207
|
+
});
|
|
208
|
+
}, [
|
|
209
|
+
B,
|
|
210
|
+
rt,
|
|
211
|
+
$e,
|
|
212
|
+
y,
|
|
213
|
+
R
|
|
214
|
+
]), at = m(() => W?.length ? {
|
|
215
|
+
disabled: !V,
|
|
216
|
+
items: W?.map((e) => ({
|
|
217
|
+
active: !!V && V.computedId === e.computedId,
|
|
218
|
+
callback: () => {
|
|
219
|
+
(async () => {
|
|
220
|
+
await F(), P(i.TREE, { treeConfiguration: e }), H(e);
|
|
221
|
+
})();
|
|
222
|
+
},
|
|
223
|
+
label: r.getTreeConfigurationLabel(e),
|
|
224
|
+
tooltip: /* @__PURE__ */ g(re, { treeConfiguration: e })
|
|
225
|
+
})) ?? [],
|
|
226
|
+
label: V ? y("Tree: {{algorithm}}", { algorithm: r.getTreeConfigurationLabel(V) }) : y`Tree`,
|
|
227
|
+
tooltip: V ? /* @__PURE__ */ g(re, { treeConfiguration: V }) : void 0
|
|
228
|
+
} : y`Tree`, [
|
|
229
|
+
W,
|
|
230
|
+
V,
|
|
231
|
+
y,
|
|
232
|
+
F,
|
|
233
|
+
P
|
|
234
|
+
]), ot = m(() => [
|
|
235
|
+
{
|
|
236
|
+
callback: tt,
|
|
237
|
+
disabled: !N,
|
|
238
|
+
label: y`Change tree filter to nearest ancestor`,
|
|
239
|
+
leftIcon: /* @__PURE__ */ g(Se, {})
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
callback: et,
|
|
243
|
+
disabled: !N,
|
|
244
|
+
label: y`Remove tree filter`,
|
|
245
|
+
leftIcon: /* @__PURE__ */ g(xe, {})
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
callback: Qe,
|
|
249
|
+
label: y`Link and snap the Line List to the Tree (resets tree zoom level and Line List sorting)`,
|
|
250
|
+
leftIcon: /* @__PURE__ */ g(be, { sx: { color: S ? void 0 : v.palette.error.main } })
|
|
251
|
+
}
|
|
252
|
+
], [
|
|
253
|
+
N,
|
|
254
|
+
S,
|
|
255
|
+
Qe,
|
|
256
|
+
et,
|
|
257
|
+
tt,
|
|
258
|
+
y,
|
|
259
|
+
v.palette.error.main
|
|
260
|
+
]);
|
|
261
|
+
p(() => {
|
|
262
|
+
let e = () => {
|
|
263
|
+
let e = y("Phylogenetic Tree - {{geneticDistanceProtocol}} - {{treeAlgorithm}}", {
|
|
264
|
+
geneticDistanceProtocol: V?.geneticDistanceProtocol.name ?? "",
|
|
265
|
+
treeAlgorithm: V?.treeAlgorithm.name ?? ""
|
|
266
|
+
});
|
|
267
|
+
o.getInstance().emit("onDownloadOptionsChanged", {
|
|
268
|
+
disabled: X,
|
|
269
|
+
items: [
|
|
270
|
+
{
|
|
271
|
+
callback: () => s.downloadNewick(e, Ne, M, y),
|
|
272
|
+
label: y`Save as Newick`
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
callback: () => s.downloadCanvasImage(e, x, "jpeg", M, y),
|
|
276
|
+
label: y`Save as JPEG`
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
callback: () => s.downloadCanvasImage(e, x, "png", M, y),
|
|
280
|
+
label: y`Save as PNG`
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
zone: i.TREE,
|
|
284
|
+
zoneLabel: y`Phylogenetic Tree`
|
|
285
|
+
});
|
|
286
|
+
};
|
|
287
|
+
e();
|
|
288
|
+
let t = o.getInstance();
|
|
289
|
+
return t.addEventListener("onDownloadOptionsRequested", e), () => {
|
|
290
|
+
t.emit("onDownloadOptionsChanged", {
|
|
291
|
+
items: null,
|
|
292
|
+
zone: i.TREE,
|
|
293
|
+
zoneLabel: y`Tree`
|
|
294
|
+
}), t.removeEventListener("onDownloadOptionsRequested", e);
|
|
295
|
+
};
|
|
296
|
+
}, [
|
|
297
|
+
M,
|
|
298
|
+
S,
|
|
299
|
+
X,
|
|
300
|
+
Ne,
|
|
301
|
+
y,
|
|
302
|
+
x,
|
|
303
|
+
V?.geneticDistanceProtocol.name,
|
|
304
|
+
V?.treeAlgorithm.name
|
|
305
|
+
]), p(() => {
|
|
306
|
+
let e = o.getInstance().addEventListener("onLinkLineListAndTree", () => w.current?.link());
|
|
307
|
+
return () => {
|
|
308
|
+
e();
|
|
309
|
+
};
|
|
310
|
+
}, []);
|
|
311
|
+
let st = f((e) => {
|
|
312
|
+
C(e);
|
|
313
|
+
}, [C]), $ = m(() => new ye({ highlightedNodeNames: E.highlightSubject.data.caseIds }), [E.highlightSubject.data.caseIds]);
|
|
314
|
+
return p(() => {
|
|
315
|
+
let e = $.subscribe((e) => {
|
|
316
|
+
E.highlight({
|
|
317
|
+
caseIds: e.highlightedNodeNames,
|
|
318
|
+
origin: i.TREE
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
return () => {
|
|
322
|
+
e();
|
|
323
|
+
};
|
|
324
|
+
}, [$, E]), p(() => {
|
|
325
|
+
let e = E.highlightSubject.subscribe((e) => {
|
|
326
|
+
e.origin !== i.TREE && $.next({ highlightedNodeNames: e.caseIds });
|
|
327
|
+
});
|
|
328
|
+
return () => {
|
|
329
|
+
e();
|
|
330
|
+
};
|
|
331
|
+
}, [E.highlightSubject, $]), /* @__PURE__ */ _(ae, {
|
|
332
|
+
expandDisabled: X,
|
|
333
|
+
primaryMenu: ot,
|
|
334
|
+
title: at,
|
|
335
|
+
widgetName: i.TREE,
|
|
336
|
+
children: [/* @__PURE__ */ _(le, {
|
|
337
|
+
sx: {
|
|
338
|
+
height: "100%",
|
|
339
|
+
overflow: "clip",
|
|
340
|
+
position: "relative",
|
|
341
|
+
width: "100%"
|
|
342
|
+
},
|
|
343
|
+
children: [
|
|
344
|
+
X && /* @__PURE__ */ g(ge, { children: /* @__PURE__ */ g(ne, {
|
|
345
|
+
reason: Ke,
|
|
346
|
+
widgetLabel: y`phylogenetic tree`
|
|
347
|
+
}) }),
|
|
348
|
+
Y && !X && /* @__PURE__ */ g(ve, {
|
|
349
|
+
label: y`Loading`,
|
|
350
|
+
takingLongerTimeoutMs: c.getInstance().config.tree.TAKING_LONGER_TIMEOUT_MS
|
|
351
|
+
}),
|
|
352
|
+
!X && Z && /* @__PURE__ */ g(we, {
|
|
353
|
+
ancestorDotRadius: b.ANCESTOR_DOT_RADIUS,
|
|
354
|
+
ariaLabel: Ve,
|
|
355
|
+
backgroundColor: v.palette.background.paper,
|
|
356
|
+
dimFn: v["gen-epix-ui-casedb"].tree.dimFn,
|
|
357
|
+
fontFamily: v.typography.fontFamily,
|
|
358
|
+
headerHeight: b.HEADER_HEIGHT,
|
|
359
|
+
highlightedNodeNamesSubject: $,
|
|
360
|
+
initialViewState: ze,
|
|
361
|
+
itemHeight: c.getInstance().config.lineList.TABLE_ROW_HEIGHT,
|
|
362
|
+
leafDotRadius: b.LEAF_DOT_RADIUS,
|
|
363
|
+
linkedScrollDebounceDelayMs: b.LINKED_SCROLL_DEBOUNCE_DELAY_MS,
|
|
364
|
+
maxScaleWidthPx: b.MAX_SCALE_WIDTH_PX,
|
|
365
|
+
maxZoomLevel: b.MAX_ZOOM_LEVEL,
|
|
366
|
+
maxZoomSpeed: b.MAX_ZOOM_SPEED,
|
|
367
|
+
minimumDistancePercentageToShowLabel: b.MINIMUM_DISTANCE_PERCENTAGE_TO_SHOW_LABEL,
|
|
368
|
+
minScaleWidthPx: b.MIN_SCALE_WIDTH_PX,
|
|
369
|
+
minZoomLevel: b.MIN_ZOOM_LEVEL,
|
|
370
|
+
minZoomSpeed: b.MIN_ZOOM_SPEED,
|
|
371
|
+
nodeNameColors: ke?.caseIdColors,
|
|
372
|
+
onCanvasChange: Ye,
|
|
373
|
+
onLinkStateChange: st,
|
|
374
|
+
onPathClick: nt,
|
|
375
|
+
onViewStateChange: Je,
|
|
376
|
+
panningThreshold: b.PANNING_THRESHOLD,
|
|
377
|
+
ref: w,
|
|
378
|
+
regularFillColorSupportLine: b.REGULAR_FILL_COLOR_SUPPORT_LINE,
|
|
379
|
+
scaleColor: v.palette.text.primary,
|
|
380
|
+
scaleIncrements: b.SCALE_INCREMENTS,
|
|
381
|
+
scrollSubject: E.linkedScrollSubject,
|
|
382
|
+
shouldShowDistances: Fe,
|
|
383
|
+
shouldShowSupportLinesWhenUnlinked: Ie,
|
|
384
|
+
sortedLeafNames: Be,
|
|
385
|
+
supportLineColorLinked: v["gen-epix-ui-casedb"].tree.supportLineColorLinked,
|
|
386
|
+
supportLineColorUnlinked: v["gen-epix-ui-casedb"].tree.supportLineColorUnlinked,
|
|
387
|
+
tree: A,
|
|
388
|
+
treeColor: v["gen-epix-ui-casedb"].tree.color,
|
|
389
|
+
treeFont: v["gen-epix-ui-casedb"].tree.font,
|
|
390
|
+
treePadding: b.TREE_PADDING,
|
|
391
|
+
visibleRangeSubject: E.lineListRangeSubject
|
|
392
|
+
})
|
|
393
|
+
]
|
|
394
|
+
}), /* @__PURE__ */ g(te, {
|
|
395
|
+
config: Le,
|
|
396
|
+
getExtraItems: it,
|
|
397
|
+
onMenuClose: Xe
|
|
398
|
+
})]
|
|
399
|
+
});
|
|
400
|
+
};
|
|
401
|
+
//#endregion
|
|
402
|
+
export { v as TreeWidget };
|
|
403
|
+
|
|
404
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/ui/TreeWidget/TreeWidget.tsx"],"sourcesContent":["import {\n Box,\n Button,\n ListItemIcon,\n ListItemText,\n MenuItem,\n useTheme,\n} from '@mui/material';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';\nimport FilterAltIcon from '@mui/icons-material/FilterAlt';\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';\nimport LinkIcon from '@mui/icons-material/Link';\nimport type { ReactElement } from 'react';\nimport {\n use,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useStore } from 'zustand';\nimport { useDebouncedCallback } from 'use-debounce';\nimport type { CaseDbRetrievePhylogeneticTreeRequestBody } from '@gen-epix/api-casedb';\nimport { CaseDbCaseApi } from '@gen-epix/api-casedb';\nimport type { MenuItemData } from '@gen-epix/ui/models/nestedMenu';\nimport { ConfigService } from '@gen-epix/ui/classes/services/ConfigService';\nimport { Spinner } from '@gen-epix/ui/components/ui/Spinner';\nimport { useQueryMemo } from '@gen-epix/ui/hooks/useQueryMemo';\nimport { Subject } from '@gen-epix/ui-core/classes/Subject';\nimport { PhylogeneticTree } from '@gen-epix/ui-phylogenetic-tree/components/PhylogeneticTree';\nimport type {\n PhylogeneticTreeHighlightedNodeNamesSubjectValue,\n PhylogeneticTreePathClickEvent,\n PhylogeneticTreeRef,\n PhylogeneticTreeViewState,\n} from '@gen-epix/ui-phylogenetic-tree/components/PhylogeneticTree';\n\nimport { EventBusService } from '../../../classes/services/EventBusService';\nimport type {\n DashboardTreeSettings,\n TreeConfiguration,\n TreeWidgetData,\n TreeWidgetDataPersistable,\n} from '../../../models/dashboard';\nimport type { Highlighting } from '../../../models/caseDb';\nimport { DashboardStoreContext } from '../../../stores/dashboardStore';\nimport { SELECTION_FILTER_GROUP } from '../../../utils/CaseTypeUtil';\nimport { CaseDbDownloadUtil } from '../../../utils/CaseDbDownloadUtil';\nimport { TreeWidgetUtil } from '../../../utils/TreeWidgetUtil';\nimport type { ContextMenuConfigWithPosition } from '../ContextMenu';\nimport { ContextMenu } from '../ContextMenu';\nimport { TreeDescription } from '../TreeDescription';\nimport { WidgetUnavailable } from '../WidgetUnavailable';\nimport { CASEDB_QUERY_KEY } from '../../../constants/query';\nimport type { CaseDbConfig } from '../../../models/config';\nimport { TreeFilter } from '../../../classes/filters/TreeFilter';\nimport { DashboardWidget } from '../Dashboard';\nimport { DASHBOARD_COMPONENT_NAME } from '../../../constants/dashboard';\nimport { DashboardContext } from '../Dashboard/context/DashboardContext';\nimport { UserProfileStoreContext } from '../../../stores/userProfileStore/userProfileStoreContext';\n\ntype ZoomInMenuItemConfig = {\n caseIds?: string[];\n rootId?: string;\n};\n\nexport const TreeWidget = () => {\n const theme = useTheme();\n const { t } = useTranslation();\n const treeConfig = ConfigService.getInstance<CaseDbConfig>().config.tree;\n const [treeCanvas, setTreeCanvas] = useState<HTMLCanvasElement>();\n const [isTreeLinked, setIsTreeLinked] = useState(true);\n const treeRef = useRef<PhylogeneticTreeRef>(null);\n const dashboardStore = use(DashboardStoreContext);\n const dashboardContext = use(DashboardContext);\n const userProfileStore = use(UserProfileStoreContext);\n const setPhylogeneticTreeResponse = useStore(dashboardStore, (state) => state.setPhylogeneticTreeResponse);\n const baseData = useStore(dashboardStore, (state) => state.baseData);\n const sortedData = useStore(dashboardStore, (state) => state.sortedData);\n const filteredCases = useStore(dashboardStore, (state) => state.filteredData[SELECTION_FILTER_GROUP]);\n const setSorting = useStore(dashboardStore, (state) => state.setSorting);\n const tree = useStore(dashboardStore, (state) => state.tree);\n const sortByField = useStore(dashboardStore, (state) => state.sortByField);\n const stratification = useStore(dashboardStore, (state) => state.stratification);\n const completeCaseType = useStore(dashboardStore, (state) => state.completeCaseType);\n const hasActiveTreeFilter = useStore(dashboardStore, (state) => !state.filters.find(filter => filter instanceof TreeFilter).isInitialFilterValue());\n const addTreeFilter = useStore(dashboardStore, (state) => state.addTreeFilter);\n const treeFilterStepOut = useStore(dashboardStore, (state) => state.treeFilterStepOut);\n const updateWidgetData = useStore(dashboardStore, (state) => state.updateWidgetData);\n const updateWidgetDataPersistable = useStore(dashboardStore, (state) => state.updateWidgetDataPersistable);\n const removeTreeFilter = useStore(dashboardStore, (state) => state.removeTreeFilter);\n const isCaseDataLoading = useStore(dashboardStore, (state) => state.isDataLoading);\n const newick = useStore(dashboardStore, (state) => state.newick);\n const resetTreeAddresses = useStore(dashboardStore, (state) => state.resetTreeAddresses);\n const isShowDistancesEnabled = useStore(userProfileStore, (state) => (state.dashboardWidgetSettings[DASHBOARD_COMPONENT_NAME.TREE] as DashboardTreeSettings).isShowDistancesEnabled);\n const isShowSupportLinesWhenUnlinkedEnabled = useStore(userProfileStore, (state) => (state.dashboardWidgetSettings[DASHBOARD_COMPONENT_NAME.TREE] as DashboardTreeSettings).isShowSupportLinesWhenUnlinkedEnabled);\n const [contextMenuConfig, setContextMenuConfig] = useState<ContextMenuConfigWithPosition | null>(null);\n const [zoomInMenuItemConfig, setZoomInMenuItemConfig] = useState<ZoomInMenuItemConfig>(null);\n const [extraLeafInfoId, setExtraLeafInfoId] = useState<string>(null);\n const [treeConfiguration, setTreeConfiguration] = useState<TreeConfiguration>(dashboardStore.getState().getWidgetDataPersistable<TreeWidgetDataPersistable>(DASHBOARD_COMPONENT_NAME.TREE).treeConfiguration);\n const treeHighlightingSubject = useMemo(() => new Subject<Highlighting>({\n caseIds: [],\n origin: null,\n }), []);\n const initialTreeViewState = useMemo<PhylogeneticTreeViewState>(() => {\n const widgetData = dashboardStore.getState().getWidgetData<TreeWidgetData>(DASHBOARD_COMPONENT_NAME.TREE);\n return {\n horizontalScrollPosition: !isNaN(widgetData?.horizontalScrollPosition) ? widgetData.horizontalScrollPosition : 0,\n verticalScrollPosition: !isNaN(widgetData?.verticalScrollPosition) ? widgetData.verticalScrollPosition : 0,\n zoomLevel: !isNaN(widgetData?.zoomLevel) ? widgetData.zoomLevel : 1,\n };\n }, [dashboardStore]);\n\n const sortedLeafNames = useMemo(() => {\n return sortedData.map(c => c.id);\n }, [sortedData]);\n\n const treeConfigurations = useMemo(() => TreeWidgetUtil.getTreeConfigurations(completeCaseType), [completeCaseType]);\n\n const treeCanvasAriaLabel = useMemo(() => {\n if (!treeConfiguration) {\n return t('Phylogenetic tree visualization');\n }\n\n const label = treeConfiguration.col?.label || t('data');\n const geneticDistanceProtocol = treeConfiguration.geneticDistanceProtocol?.name || t('unknown protocol');\n const treeAlgorithm = treeConfiguration.treeAlgorithm?.name || t('unknown algorithm');\n\n return t('Figure of a phylogenetic tree belonging to {{label}}. Generated using {{geneticDistanceProtocol}} and {{treeAlgorithm}}.', {\n geneticDistanceProtocol,\n label,\n treeAlgorithm,\n });\n }, [treeConfiguration, t]);\n\n useEffect(() => {\n const unsubscribeHighlightingManager = dashboardContext.highlightSubject.subscribe((highlighting) => {\n if (highlighting.origin === DASHBOARD_COMPONENT_NAME.TREE) {\n return;\n }\n treeHighlightingSubject.next(highlighting);\n });\n const unsubscribeTreeHighlightingSubject = treeHighlightingSubject.subscribe((highlighting) => {\n if (highlighting.origin !== DASHBOARD_COMPONENT_NAME.TREE) {\n return;\n }\n dashboardContext.highlight(highlighting);\n });\n\n return () => {\n unsubscribeHighlightingManager();\n unsubscribeTreeHighlightingSubject();\n };\n }, [dashboardContext, treeHighlightingSubject]);\n\n const caseIds = useMemo(() => filteredCases.map(c => c.id).sort(), [filteredCases]);\n\n useEffect(() => {\n resetTreeAddresses();\n }, [caseIds, resetTreeAddresses]);\n\n const hasEnoughSequencesToShowTree = useMemo(() => caseIds.length >= 2 && caseIds.every(x => !!x), [caseIds]);\n const hasToManyResultsToShowTree = useMemo(() => caseIds.length > 0 && completeCaseType.props.read_max_tree_size > 0 && caseIds.length > completeCaseType.props.read_max_tree_size, [caseIds, completeCaseType.props.read_max_tree_size]);\n\n const retrievePhylogeneticTreeRequestBody = useMemo<CaseDbRetrievePhylogeneticTreeRequestBody>(() => ({\n case_ids: caseIds,\n case_type_id: completeCaseType.id,\n genetic_distance_col_id: treeConfiguration?.col.id,\n tree_algorithm_code: treeConfiguration?.treeAlgorithm.code,\n }), [caseIds, completeCaseType.id, treeConfiguration]);\n\n const { data: treeData, error: treeError, isLoading: isTreeLoading } = useQueryMemo({\n enabled: hasEnoughSequencesToShowTree && !!treeConfiguration && !hasToManyResultsToShowTree,\n queryFn: async ({ signal }) => {\n const response = await CaseDbCaseApi.getInstance().retrievePhylogeneticTree(retrievePhylogeneticTreeRequestBody, { signal });\n return response.data;\n },\n queryKey: [CASEDB_QUERY_KEY.PHYLOGENETIC_TREE, JSON.stringify(retrievePhylogeneticTreeRequestBody)],\n retry: false,\n staleTime: Infinity,\n });\n\n const onOpenFiltersButtonClick = useCallback(() => {\n EventBusService.getInstance().emit('openFiltersMenu');\n }, []);\n\n const isLoading = !!treeConfiguration && (isCaseDataLoading || (hasEnoughSequencesToShowTree && isTreeLoading));\n const isTreeUnavailable = hasToManyResultsToShowTree || !isCaseDataLoading && ((!isLoading && !!treeError) || !hasEnoughSequencesToShowTree || tree?.maxBranchLength?.toNumber() === 0 || tree?.size === 0 || !treeConfiguration || (!isLoading && tree === null));\n const shouldShowTree = !hasToManyResultsToShowTree && !!treeConfiguration && !isCaseDataLoading && !treeError && !isTreeLoading && tree?.size > 0 && hasEnoughSequencesToShowTree;\n\n const widgetUnavailableReason = useMemo<ReactElement | string>(() => {\n if (!isTreeUnavailable) {\n return null;\n }\n if (!hasEnoughSequencesToShowTree) {\n return t`The phylogenetic tree cannot be displayed because there are not enough sequences available for the shown cases. A minimum of 2 sequences is required to generate a phylogenetic tree.`;\n }\n if (hasEnoughSequencesToShowTree && !tree) {\n return t`The phylogenetic tree cannot be displayed because the tree could not be generated. Either there are no sequences available for the shown cases or the selected tree configuration does not yield a valid tree.`;\n }\n if (hasToManyResultsToShowTree) {\n return (\n (\n <>\n <Box\n sx={{\n marginBottom: 2,\n }}\n >\n {t('The phylogenetic tree cannot be displayed because the number of cases ({{caseCount}}) exceeds the maximum allowed number of cases ({{maxSize}}) to display a phylogenetic tree. Refine your filters to reduce the number of results.', {\n caseCount: caseIds.length,\n maxSize: completeCaseType.props.read_max_tree_size,\n })}\n </Box>\n <Button\n color={'inherit'}\n onClick={onOpenFiltersButtonClick}\n variant={'outlined'}\n >\n {t`Refine filters`}\n </Button>\n </>\n )\n );\n }\n }, [caseIds.length, completeCaseType.props.read_max_tree_size, hasEnoughSequencesToShowTree, hasToManyResultsToShowTree, isTreeUnavailable, onOpenFiltersButtonClick, t, tree]);\n\n useEffect(() => {\n if (treeData) {\n setPhylogeneticTreeResponse(treeData);\n }\n }, [treeData, setPhylogeneticTreeResponse]);\n\n useEffect(() => {\n if (!treeConfigurations?.length) {\n setTreeConfiguration(null);\n updateWidgetDataPersistable<TreeWidgetDataPersistable>(DASHBOARD_COMPONENT_NAME.TREE, {\n treeConfiguration: null,\n });\n return;\n }\n const newConfig = dashboardStore.getState().getWidgetDataPersistable<TreeWidgetDataPersistable>(DASHBOARD_COMPONENT_NAME.TREE)?.treeConfiguration || treeConfigurations[0];\n\n setTreeConfiguration(newConfig);\n updateWidgetDataPersistable<TreeWidgetDataPersistable>(DASHBOARD_COMPONENT_NAME.TREE, {\n treeConfiguration: newConfig,\n });\n }, [dashboardStore, treeConfigurations, updateWidgetDataPersistable]);\n\n useEffect(() => {\n if (sortByField && isTreeLinked && shouldShowTree) {\n treeRef.current?.unlink({\n positionX: 0,\n positionY: 0,\n zoomLevel: ConfigService.getInstance<CaseDbConfig>().config.tree.INITIAL_UNLINKED_ZOOM_LEVEL,\n });\n }\n }, [isTreeLinked, shouldShowTree, sortByField]);\n\n const updateEpiTreeWidgetDataDebounced = useDebouncedCallback((viewState: PhylogeneticTreeViewState) => {\n updateWidgetData<TreeWidgetData>(DASHBOARD_COMPONENT_NAME.TREE, {\n horizontalScrollPosition: viewState.horizontalScrollPosition,\n verticalScrollPosition: viewState.verticalScrollPosition,\n zoomLevel: viewState.zoomLevel,\n });\n }, 500);\n\n const onTreeViewStateChange = useCallback((viewState: PhylogeneticTreeViewState) => {\n updateEpiTreeWidgetDataDebounced(viewState);\n }, [updateEpiTreeWidgetDataDebounced]);\n\n const onTreeCanvasChange = useCallback((canvas?: HTMLCanvasElement) => {\n setTreeCanvas(canvas);\n }, []);\n\n const onEpiContextMenuClose = useCallback(() => {\n setContextMenuConfig(null);\n setZoomInMenuItemConfig(null);\n }, []);\n\n const linkLineListToTree = useCallback(() => {\n const perform = async () => {\n await setSorting(null, null);\n treeRef.current?.syncScrollToVisibleTree();\n };\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n perform();\n\n }, [setSorting]);\n\n const onLinkButtonClick = useCallback(() => {\n linkLineListToTree();\n\n }, [linkLineListToTree]);\n\n const resetZoomLevelAndScrollPosition = useCallback(() => {\n treeRef.current?.link(0);\n }, []);\n\n const onAddTreeFilterMenuItemClick = useCallback(async (onMenuClose: () => void) => {\n await addTreeFilter(zoomInMenuItemConfig.rootId);\n resetZoomLevelAndScrollPosition();\n onMenuClose();\n }, [addTreeFilter, zoomInMenuItemConfig, resetZoomLevelAndScrollPosition]);\n\n const onRemoveTreeFilterButtonClick = useCallback(async () => {\n await removeTreeFilter();\n resetZoomLevelAndScrollPosition();\n }, [removeTreeFilter, resetZoomLevelAndScrollPosition]);\n\n const onTreeFilterStepOutButtonClick = useCallback(async () => {\n await treeFilterStepOut();\n resetZoomLevelAndScrollPosition();\n }, [resetZoomLevelAndScrollPosition, treeFilterStepOut]);\n\n const onTreePathClick = useCallback(({ mouseEvent, pathProperties }: PhylogeneticTreePathClickEvent) => {\n setZoomInMenuItemConfig(null);\n setExtraLeafInfoId(null);\n\n if (pathProperties?.treeNode) {\n const { treeNode } = pathProperties;\n setContextMenuConfig({\n caseIds: treeNode.subTreeLeaveNames ? treeNode.subTreeLeaveNames : [treeNode.name],\n mouseEvent,\n position: {\n left: mouseEvent.clientX,\n top: mouseEvent.clientY,\n },\n });\n if (treeNode.subTreeNames.length && treeNode.name && treeNode.maxBranchLength.toNumber()) {\n setZoomInMenuItemConfig({\n caseIds: treeNode.subTreeLeaveNames,\n rootId: treeNode.name,\n });\n }\n if (treeNode.name && !treeNode.subTreeNames.length) {\n setExtraLeafInfoId(treeNode.name);\n }\n return;\n }\n\n if (pathProperties?.subTreeLeaveNames?.length) {\n setContextMenuConfig({\n caseIds: pathProperties.subTreeLeaveNames,\n mouseEvent,\n position: {\n left: mouseEvent.clientX,\n top: mouseEvent.clientY,\n },\n });\n }\n }, []);\n\n const onShowDetailsSelectionMenuItemClick = useCallback((onMenuClose: () => void) => {\n EventBusService.getInstance().emit('openCaseInfoDialog', {\n caseId: baseData.find(c => c.id === extraLeafInfoId).id,\n caseTypeId: completeCaseType.id,\n });\n onMenuClose();\n }, [extraLeafInfoId, baseData, completeCaseType.id]);\n\n const getEpiContextMenuExtraItems = useCallback((onMenuClose: () => void): ReactElement => {\n if (zoomInMenuItemConfig) {\n return (\n <MenuItem\n divider\n // eslint-disable-next-line @eslint-react/kit/jsx-no-bind\n onClick={async () => onAddTreeFilterMenuItemClick(onMenuClose)}\n >\n <ListItemIcon>\n <FilterAltIcon fontSize={'small'} />\n </ListItemIcon>\n <ListItemText>\n {t`Filter (show only this subtree)`}\n </ListItemText>\n </MenuItem>\n );\n }\n if (extraLeafInfoId) {\n return (\n <MenuItem\n divider\n // eslint-disable-next-line @eslint-react/kit/jsx-no-bind\n onClick={() => onShowDetailsSelectionMenuItemClick(onMenuClose)}\n >\n <ListItemIcon>\n <InfoOutlinedIcon fontSize={'small'} />\n </ListItemIcon>\n <ListItemText>\n {t`Show details`}\n </ListItemText>\n </MenuItem>\n );\n }\n }, [extraLeafInfoId, onShowDetailsSelectionMenuItemClick, onAddTreeFilterMenuItemClick, t, zoomInMenuItemConfig]);\n\n const titleMenu = useMemo<MenuItemData | string>(() => {\n if (!treeConfigurations?.length) {\n return t`Tree`;\n }\n\n const menu: MenuItemData = {\n disabled: !treeConfiguration,\n items: treeConfigurations?.map<MenuItemData>(config => ({\n active: !!treeConfiguration && treeConfiguration.computedId === config.computedId,\n callback: () => {\n const perform = async () => {\n await removeTreeFilter();\n updateWidgetDataPersistable<TreeWidgetDataPersistable>(DASHBOARD_COMPONENT_NAME.TREE, {\n treeConfiguration: config,\n });\n setTreeConfiguration(config);\n };\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n perform();\n },\n label: TreeWidgetUtil.getTreeConfigurationLabel(config),\n tooltip: (\n <TreeDescription\n treeConfiguration={config}\n />\n ),\n })) ?? [],\n label: treeConfiguration ? t('Tree: {{algorithm}}', { algorithm: TreeWidgetUtil.getTreeConfigurationLabel(treeConfiguration) }) : t`Tree`,\n tooltip: treeConfiguration\n ? (\n <TreeDescription\n treeConfiguration={treeConfiguration}\n />\n )\n : undefined,\n };\n\n return menu;\n }, [treeConfigurations, treeConfiguration, t, removeTreeFilter, updateWidgetDataPersistable]);\n\n const primaryMenu = useMemo<MenuItemData[]>(() => {\n return [\n {\n callback: onTreeFilterStepOutButtonClick,\n disabled: !hasActiveTreeFilter,\n label: t`Change tree filter to nearest ancestor`,\n leftIcon: <ArrowUpwardIcon />,\n },\n {\n callback: onRemoveTreeFilterButtonClick,\n disabled: !hasActiveTreeFilter,\n label: t`Remove tree filter`,\n leftIcon: <ClearIcon />,\n },\n {\n callback: onLinkButtonClick,\n label: t`Link and snap the Line List to the Tree (resets tree zoom level and Line List sorting)`,\n leftIcon: (\n <LinkIcon\n sx={{\n color: isTreeLinked ? undefined : theme.palette.error.main,\n }}\n />\n ),\n },\n ];\n }, [hasActiveTreeFilter, isTreeLinked, onLinkButtonClick, onRemoveTreeFilterButtonClick, onTreeFilterStepOutButtonClick, t, theme.palette.error.main]);\n\n useEffect(() => {\n const emitDownloadOptions = () => {\n const baseName = t('Phylogenetic Tree - {{geneticDistanceProtocol}} - {{treeAlgorithm}}',\n {\n geneticDistanceProtocol: treeConfiguration?.geneticDistanceProtocol.name ?? '',\n treeAlgorithm: treeConfiguration?.treeAlgorithm.name ?? '',\n });\n\n EventBusService.getInstance().emit('onDownloadOptionsChanged', {\n disabled: isTreeUnavailable,\n items: [\n {\n callback: () => CaseDbDownloadUtil.downloadNewick(baseName, newick, completeCaseType, t),\n label: t`Save as Newick`,\n },\n {\n callback: () => CaseDbDownloadUtil.downloadCanvasImage(baseName, treeCanvas, 'jpeg', completeCaseType, t),\n label: t`Save as JPEG`,\n },\n {\n callback: () => CaseDbDownloadUtil.downloadCanvasImage(baseName, treeCanvas, 'png', completeCaseType, t),\n label: t`Save as PNG`,\n },\n ],\n zone: DASHBOARD_COMPONENT_NAME.TREE,\n zoneLabel: t`Phylogenetic Tree`,\n });\n };\n\n\n emitDownloadOptions();\n const eventBusService = EventBusService.getInstance();\n eventBusService.addEventListener('onDownloadOptionsRequested', emitDownloadOptions);\n\n return () => {\n eventBusService.emit('onDownloadOptionsChanged', {\n items: null,\n zone: DASHBOARD_COMPONENT_NAME.TREE,\n zoneLabel: t`Tree`,\n });\n eventBusService.removeEventListener('onDownloadOptionsRequested', emitDownloadOptions);\n };\n }, [completeCaseType, isTreeLinked, isTreeUnavailable, newick, t, treeCanvas, treeConfiguration?.geneticDistanceProtocol.name, treeConfiguration?.treeAlgorithm.name]);\n\n\n useEffect(() => {\n // eslint-disable-next-line @eslint-react/web-api-no-leaked-event-listener\n const removeEventListener = EventBusService.getInstance().addEventListener('onLinkLineListAndTree', () => treeRef.current?.link());\n return () => {\n removeEventListener();\n };\n }, []);\n\n\n const onLinkStateChange = useCallback((linked: boolean) => {\n setIsTreeLinked(linked);\n }, [setIsTreeLinked]);\n\n const phylogeneticTreeHighlightedNodeNamesSubject = useMemo(() => {\n const subject = new Subject<PhylogeneticTreeHighlightedNodeNamesSubjectValue>({\n highlightedNodeNames: dashboardContext.highlightSubject.data.caseIds,\n });\n return subject;\n }, [dashboardContext.highlightSubject.data.caseIds]);\n\n useEffect(() => {\n const unsubscribe = phylogeneticTreeHighlightedNodeNamesSubject.subscribe((data) => {\n dashboardContext.highlight({\n caseIds: data.highlightedNodeNames,\n origin: DASHBOARD_COMPONENT_NAME.TREE,\n });\n });\n return () => {\n unsubscribe();\n };\n }, [phylogeneticTreeHighlightedNodeNamesSubject, dashboardContext]);\n\n useEffect(() => {\n const unsubscribe = dashboardContext.highlightSubject.subscribe(data => {\n if (data.origin === DASHBOARD_COMPONENT_NAME.TREE) {\n return;\n }\n phylogeneticTreeHighlightedNodeNamesSubject.next({\n highlightedNodeNames: data.caseIds,\n });\n });\n return () => {\n unsubscribe();\n };\n }, [dashboardContext.highlightSubject, phylogeneticTreeHighlightedNodeNamesSubject]);\n\n return (\n <DashboardWidget\n expandDisabled={isTreeUnavailable}\n primaryMenu={primaryMenu}\n title={titleMenu}\n widgetName={DASHBOARD_COMPONENT_NAME.TREE}\n >\n <Box\n sx={{\n height: '100%',\n overflow: 'clip',\n position: 'relative',\n width: '100%',\n }}\n >\n {isTreeUnavailable && (\n <>\n <WidgetUnavailable\n reason={widgetUnavailableReason}\n widgetLabel={t`phylogenetic tree`}\n />\n </>\n )}\n {(isLoading && !isTreeUnavailable) && (\n <Spinner\n label={t`Loading`}\n takingLongerTimeoutMs={ConfigService.getInstance<CaseDbConfig>().config.tree.TAKING_LONGER_TIMEOUT_MS}\n />\n )}\n {!isTreeUnavailable && shouldShowTree && (\n <PhylogeneticTree\n ancestorDotRadius={treeConfig.ANCESTOR_DOT_RADIUS}\n ariaLabel={treeCanvasAriaLabel}\n backgroundColor={theme.palette.background.paper}\n dimFn={theme['gen-epix-ui-casedb'].tree.dimFn}\n fontFamily={theme.typography.fontFamily}\n headerHeight={treeConfig.HEADER_HEIGHT}\n highlightedNodeNamesSubject={phylogeneticTreeHighlightedNodeNamesSubject}\n initialViewState={initialTreeViewState}\n itemHeight={ConfigService.getInstance<CaseDbConfig>().config.lineList.TABLE_ROW_HEIGHT}\n leafDotRadius={treeConfig.LEAF_DOT_RADIUS}\n linkedScrollDebounceDelayMs={treeConfig.LINKED_SCROLL_DEBOUNCE_DELAY_MS}\n maxScaleWidthPx={treeConfig.MAX_SCALE_WIDTH_PX}\n maxZoomLevel={treeConfig.MAX_ZOOM_LEVEL}\n maxZoomSpeed={treeConfig.MAX_ZOOM_SPEED}\n minimumDistancePercentageToShowLabel={treeConfig.MINIMUM_DISTANCE_PERCENTAGE_TO_SHOW_LABEL}\n minScaleWidthPx={treeConfig.MIN_SCALE_WIDTH_PX}\n minZoomLevel={treeConfig.MIN_ZOOM_LEVEL}\n minZoomSpeed={treeConfig.MIN_ZOOM_SPEED}\n nodeNameColors={stratification?.caseIdColors}\n onCanvasChange={onTreeCanvasChange}\n onLinkStateChange={onLinkStateChange}\n onPathClick={onTreePathClick}\n onViewStateChange={onTreeViewStateChange}\n panningThreshold={treeConfig.PANNING_THRESHOLD}\n ref={treeRef}\n regularFillColorSupportLine={treeConfig.REGULAR_FILL_COLOR_SUPPORT_LINE}\n scaleColor={theme.palette.text.primary}\n scaleIncrements={treeConfig.SCALE_INCREMENTS}\n scrollSubject={dashboardContext.linkedScrollSubject}\n shouldShowDistances={isShowDistancesEnabled}\n shouldShowSupportLinesWhenUnlinked={isShowSupportLinesWhenUnlinkedEnabled}\n sortedLeafNames={sortedLeafNames}\n supportLineColorLinked={theme['gen-epix-ui-casedb'].tree.supportLineColorLinked}\n supportLineColorUnlinked={theme['gen-epix-ui-casedb'].tree.supportLineColorUnlinked}\n tree={tree}\n treeColor={theme['gen-epix-ui-casedb'].tree.color}\n treeFont={theme['gen-epix-ui-casedb'].tree.font}\n treePadding={treeConfig.TREE_PADDING}\n visibleRangeSubject={dashboardContext.lineListRangeSubject}\n />\n )}\n </Box>\n <ContextMenu\n config={contextMenuConfig}\n getExtraItems={getEpiContextMenuExtraItems}\n onMenuClose={onEpiContextMenuClose}\n />\n </DashboardWidget>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Upload: () => import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StoreApi } from 'zustand';
|
|
2
|
+
import { CaseDbCase, CaseDbCaseDataIssue, CaseDbCaseUploadResult, CaseDbCol, CaseDbCompleteCaseType } from '@gen-epix/api-casedb';
|
|
3
|
+
import { TableRowAndColumnParams } from '@gen-epix/ui/models/table';
|
|
4
|
+
import { TableStore } from '@gen-epix/ui/stores/tableStore';
|
|
5
|
+
export type UploadCaseResultTableProps = {
|
|
6
|
+
readonly caseRightsColMap?: {
|
|
7
|
+
[colId: string]: string[];
|
|
8
|
+
};
|
|
9
|
+
readonly caseUploadResults?: CaseDbCaseUploadResult[];
|
|
10
|
+
readonly completeCaseType: CaseDbCompleteCaseType;
|
|
11
|
+
readonly getOriginalCellValue: (col: CaseDbCol, cellParams: TableRowAndColumnParams<CaseDbCaseUploadResult, null>, issue: CaseDbCaseDataIssue) => string;
|
|
12
|
+
readonly onCaseContentEditSubmit: (caseId: string, content: CaseDbCase['content']) => void;
|
|
13
|
+
readonly onColContentEditSubmit: (contentPerCaseId: {
|
|
14
|
+
[caseId: string]: CaseDbCase['content'];
|
|
15
|
+
}) => void;
|
|
16
|
+
readonly tableStore: StoreApi<TableStore<CaseDbCaseUploadResult>>;
|
|
17
|
+
};
|
|
18
|
+
export declare const UploadCaseResultTable: ({ caseRightsColMap, caseUploadResults, completeCaseType, getOriginalCellValue, onCaseContentEditSubmit, onColContentEditSubmit, tableStore }: UploadCaseResultTableProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UploadCreateCases: () => import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CaseDbCase, CaseDbCompleteCaseType } from '@gen-epix/api-casedb';
|
|
2
|
+
import { WithDialogRefMethods, WithDialogRenderProps } from '@gen-epix/ui/hoc/withDialog';
|
|
3
|
+
export interface UploadEditColumnValuesDialogOpenProps {
|
|
4
|
+
colId: string;
|
|
5
|
+
completeCaseType: CaseDbCompleteCaseType;
|
|
6
|
+
shouldShowRightsWarning?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface UploadEditColumnValuesDialogProps extends WithDialogRenderProps<UploadEditColumnValuesDialogOpenProps> {
|
|
9
|
+
onSubmit: (content: CaseDbCase['content']) => void;
|
|
10
|
+
}
|
|
11
|
+
export type UploadEditColumnValuesDialogRefMethods = WithDialogRefMethods<UploadEditColumnValuesDialogProps, UploadEditColumnValuesDialogOpenProps>;
|
|
12
|
+
export declare const UploadEditColumnValuesDialog: import('react').ComponentClass<UploadEditColumnValuesDialogProps, import('@gen-epix/ui/hoc/withDialog').WithDialogState<UploadEditColumnValuesDialogOpenProps>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UploadMapColumns: () => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UploadMapSequences: () => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContainerOwnProps } from '@mui/material';
|
|
2
|
+
export type UploadNavigationProps = {
|
|
3
|
+
readonly backLabel?: string;
|
|
4
|
+
readonly containerProps?: ContainerOwnProps;
|
|
5
|
+
readonly onGoBackButtonClick?: () => void;
|
|
6
|
+
readonly onProceedButtonClick?: () => void;
|
|
7
|
+
readonly proceedDisabled?: boolean;
|
|
8
|
+
readonly proceedLabel?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const UploadNavigation: ({ backLabel, onGoBackButtonClick: onGoBack, onProceedButtonClick: onProceedButtonClick, proceedDisabled, proceedLabel, }: UploadNavigationProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type UploadPreviewNavigationProps = {
|
|
2
|
+
readonly onGoBackButtonClick: () => void;
|
|
3
|
+
readonly onProceedButtonClick: () => void;
|
|
4
|
+
};
|
|
5
|
+
export declare const UploadPreviewNavigation: ({ onGoBackButtonClick, onProceedButtonClick }: UploadPreviewNavigationProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UploadSelectFile: () => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UploadSelectSequenceFiles: () => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Upload';
|