@gen3/frontend 0.11.0 → 0.11.11
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/dist/cjs/index.js +167 -100
- package/dist/cjs/index.js.map +1 -1
- package/dist/dts/components/Buttons/ActionButton.js +1 -1
- package/dist/dts/components/Buttons/ActionButton.js.map +1 -1
- package/dist/dts/components/Buttons/DownloadButtons/JSONObjectDownloadButton.js +1 -1
- package/dist/dts/components/Buttons/DownloadButtons/JSONObjectDownloadButton.js.map +1 -1
- package/dist/dts/components/Buttons/DropdownButtons/DropdownButton.js +1 -1
- package/dist/dts/components/Buttons/DropdownButtons/DropdownButton.js.map +1 -1
- package/dist/dts/components/Buttons/UploadJSONButton.js +1 -1
- package/dist/dts/components/Buttons/UploadJSONButton.js.map +1 -1
- package/dist/dts/components/Providers/Gen3Provider.js +1 -1
- package/dist/dts/components/Providers/Gen3Provider.js.map +1 -1
- package/dist/dts/components/charts/Charts.js +1 -1
- package/dist/dts/components/charts/Charts.js.map +1 -1
- package/dist/dts/components/charts/echarts/HorizontalBarChart.d.ts +1 -1
- package/dist/dts/components/charts/echarts/HorizontalBarChart.d.ts.map +1 -1
- package/dist/dts/components/charts/echarts/HorizontalBarChart.js +8 -4
- package/dist/dts/components/charts/echarts/HorizontalBarChart.js.map +1 -1
- package/dist/dts/components/counts/CountsValue.d.ts.map +1 -1
- package/dist/dts/components/counts/CountsValue.js +2 -2
- package/dist/dts/components/counts/CountsValue.js.map +1 -1
- package/dist/dts/components/facets/FacetControlsHeader.js +1 -1
- package/dist/dts/components/facets/FacetControlsHeader.js.map +1 -1
- package/dist/dts/components/facets/FacetEnumList.js +1 -1
- package/dist/dts/components/facets/FacetEnumList.js.map +1 -1
- package/dist/dts/components/facets/FacetTabs.js +1 -1
- package/dist/dts/components/facets/FacetTabs.js.map +1 -1
- package/dist/dts/features/Analysis/AnalysisCardCompact.stories.d.ts +14 -14
- package/dist/dts/features/Analysis/AnalysisCardCompact.stories.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/CohortSelector.js +1 -1
- package/dist/dts/features/CohortBuilder/CohortSelector.js.map +1 -1
- package/dist/dts/features/CohortBuilder/DownloadsPanel.js +1 -1
- package/dist/dts/features/CohortBuilder/DownloadsPanel.js.map +1 -1
- package/dist/dts/features/CohortBuilder/ExplorerTable/SubTables/ExpandingSubtable.js +1 -1
- package/dist/dts/features/CohortBuilder/ExplorerTable/SubTables/ExpandingSubtable.js.map +1 -1
- package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.js +1 -1
- package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.js.map +1 -1
- package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.js +1 -1
- package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.js.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionSection.js +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpression/QueryExpressionSection.js.map +1 -1
- package/dist/dts/features/CohortBuilder/TabbedCohortBuilder.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/TabbedCohortBuilder.js +16 -9
- package/dist/dts/features/CohortBuilder/TabbedCohortBuilder.js.map +1 -1
- package/dist/dts/features/CohortDiscovery/ChartsAndFacetsPanel.d.ts +9 -1
- package/dist/dts/features/CohortDiscovery/ChartsAndFacetsPanel.d.ts.map +1 -1
- package/dist/dts/features/CohortDiscovery/ChartsAndFacetsPanel.js +7 -9
- package/dist/dts/features/CohortDiscovery/ChartsAndFacetsPanel.js.map +1 -1
- package/dist/dts/features/CohortDiscovery/CohortManagment/CohortManager.js +1 -1
- package/dist/dts/features/CohortDiscovery/CohortManagment/CohortManager.js.map +1 -1
- package/dist/dts/features/CohortDiscovery/IndexPanel.js +5 -8
- package/dist/dts/features/CohortDiscovery/IndexPanel.js.map +1 -1
- package/dist/dts/features/CohortDiscovery/SavedCohorts/SavedCohortsTable.js +1 -1
- package/dist/dts/features/CohortDiscovery/SavedCohorts/SavedCohortsTable.js.map +1 -1
- package/dist/dts/features/CohortDiscovery/api/analysisApiCohortDiscovery.d.ts.map +1 -1
- package/dist/dts/features/CohortDiscovery/api/analysisApiCohortDiscovery.js.map +1 -1
- package/dist/dts/features/CohortDiscovery/queryApi.d.ts +10 -0
- package/dist/dts/features/CohortDiscovery/queryApi.d.ts.map +1 -1
- package/dist/dts/features/CohortDiscovery/queryApi.js +19 -2
- package/dist/dts/features/CohortDiscovery/queryApi.js.map +1 -1
- package/dist/dts/features/DataLibrary/DatasetAccordionControl.js +1 -1
- package/dist/dts/features/DataLibrary/DatasetAccordionControl.js.map +1 -1
- package/dist/dts/features/DataLibrary/SearchAndActions.js +1 -1
- package/dist/dts/features/DataLibrary/SearchAndActions.js.map +1 -1
- package/dist/dts/features/DataLibrary/modals/SelectedItemsModal.js +1 -1
- package/dist/dts/features/DataLibrary/modals/SelectedItemsModal.js.map +1 -1
- package/dist/dts/features/DataLibrary/tables/SelectedItemsTable.js +1 -1
- package/dist/dts/features/DataLibrary/tables/SelectedItemsTable.js.map +1 -1
- package/dist/dts/features/Dictionary/CategoryHeader.js +1 -1
- package/dist/dts/features/Dictionary/CategoryHeader.js.map +1 -1
- package/dist/dts/features/Discovery/types.d.ts +1 -0
- package/dist/dts/features/Discovery/types.d.ts.map +1 -1
- package/dist/dts/features/Discovery/types.js.map +1 -1
- package/dist/dts/features/Navigation/NavigationBarButton.d.ts.map +1 -1
- package/dist/dts/features/Navigation/NavigationBarButton.js +3 -3
- package/dist/dts/features/Navigation/NavigationBarButton.js.map +1 -1
- package/dist/dts/features/Navigation/TopBar/AccountButton.d.ts.map +1 -1
- package/dist/dts/features/Navigation/TopBar/AccountButton.js.map +1 -1
- package/dist/dts/features/Navigation/TopBar/IconButton.js +1 -1
- package/dist/dts/features/Navigation/TopBar/IconButton.js.map +1 -1
- package/dist/dts/features/Workspace/NotebookCard.js +1 -1
- package/dist/dts/features/Workspace/NotebookCard.js.map +1 -1
- package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.d.ts.map +1 -1
- package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.js +4 -2
- package/dist/dts/pages/TabbedCohortBuilder/TabbedCohortBuilderPage.js.map +1 -1
- package/dist/dts/utils/strings.d.ts +1 -0
- package/dist/dts/utils/strings.d.ts.map +1 -1
- package/dist/dts/utils/strings.js +29 -0
- package/dist/dts/utils/strings.js.map +1 -1
- package/dist/esm/index.js +168 -102
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { createContext, useState, useMemo, useEffect, useCallback, useContext, useRef, createElement, forwardRef, useReducer } from 'react';
|
|
4
|
-
import { useUserAuth, useCoreSelector, selectUserDetails, useGetAuthzMappingsQuery, fetchFence, isFetchError, WorkspaceStatus, useGetWorkspaceStatusQuery, useGetWorkspacePayModelsQuery, useTerminateWorkspaceMutation, selectRequestedWorkspaceStatus, selectRequestedWorkspaceStatusTimestamp, useCoreDispatch, setActiveWorkspaceStatus, RequestedWorkspaceStatus, setRequestedWorkspaceStatus, isTimeGreaterThan, useGetCSRFQuery, useLazyFetchUserDetailsQuery, selectUserAuthStatus, GEN3_REDIRECT_URL, GEN3_FENCE_API, showModal, Modals, isAuthenticated, useGetLoginProvidersQuery, hideModal, selectCurrentModal, fieldNameToTitle, isOperationWithField, selectShouldShareFilters, selectSharedFilters, updateCohortFilter as updateCohortFilter$1, selectIndexedFilterByName, isUnion, isOperatorWithFieldAndArrayOfOperands, extractEnumFilterValue, removeCohortFilter as removeCohortFilter$1, trimFirstFieldNameToTitle, useIsUserLoggedIn, GEN3_DOMAIN, useDataLibrary, DataLibraryStoreMode, buildListItemsGroupedByDataset, extractFileDatasetsInRecords, useGetMDSQuery, selectAuthzMappingData, useGetAggMDSQuery, useAskQuestionMutation, useGetIndexAggMDSQuery, useGetTagsQuery, setCohortFilter as setCohortFilter$1, clearCohortFilters as clearCohortFilters$1, handleOperation, selectAvailableCohorts, selectCurrentCohortId as selectCurrentCohortId$1, selectCohortFilters, selectCurrentCohortModified, selectCurrentCohortSaved, setCohortIndexFilters, setActiveCohort, toggleCohortBuilderCategoryFilter, selectCohortFilterExpanded, setCohortFilterCombineMode, selectCohortFilterCombineMode, selectCurrentCohortName as selectCurrentCohortName$1, useGeneralGQLQuery, selectIndexFilters, useGetRawDataAndTotalCountsQuery, isJSONValue, downloadFromGuppyToBlob, downloadJSONDataFromGuppy, Accessibility, selectAllCohortFiltersCollapsed, toggleCohortBuilderAllFilters, setShouldShareFilters, useGetAggsQuery, useGetAggsNoFilterSelfQuery, isIntersection, useGetCountsQuery, setSharedFilters, usePrevious, selectHeadersWithCSRFToken, GEN3_GUPPY_API, useLaunchWorkspaceMutation, selectActiveWorkspaceStatus, isFetchBaseQueryError, setActiveWorkspace, getCurrentTimestamp, selectWorkspaceStatusFromService, selectActiveWorkspaceId, useGetWorkspaceOptionsQuery, GEN3_WORKSPACE_API, useGetExternalLoginsQuery, useSetCurrentPayModelMutation, PodStatus, PodConditionType, isWorkspaceRunningOrStopping, GEN3_API, GEN3_COMMONS_NAME, getTimestamp, createAppStore,
|
|
4
|
+
import { useUserAuth, useCoreSelector, selectUserDetails, useGetAuthzMappingsQuery, fetchFence, isFetchError, WorkspaceStatus, useGetWorkspaceStatusQuery, useGetWorkspacePayModelsQuery, useTerminateWorkspaceMutation, selectRequestedWorkspaceStatus, selectRequestedWorkspaceStatusTimestamp, useCoreDispatch, setActiveWorkspaceStatus, RequestedWorkspaceStatus, setRequestedWorkspaceStatus, isTimeGreaterThan, useGetCSRFQuery, useLazyFetchUserDetailsQuery, selectUserAuthStatus, GEN3_REDIRECT_URL, GEN3_FENCE_API, showModal, Modals, isAuthenticated, useGetLoginProvidersQuery, hideModal, selectCurrentModal, fieldNameToTitle, isOperationWithField, selectShouldShareFilters, selectSharedFilters, updateCohortFilter as updateCohortFilter$1, selectIndexedFilterByName, isUnion, isOperatorWithFieldAndArrayOfOperands, extractEnumFilterValue, removeCohortFilter as removeCohortFilter$1, trimFirstFieldNameToTitle, useIsUserLoggedIn, GEN3_DOMAIN, useDataLibrary, DataLibraryStoreMode, buildListItemsGroupedByDataset, extractFileDatasetsInRecords, useGetMDSQuery, selectAuthzMappingData, useGetAggMDSQuery, useAskQuestionMutation, useGetIndexAggMDSQuery, useGetTagsQuery, setCohortFilter as setCohortFilter$1, clearCohortFilters as clearCohortFilters$1, handleOperation, selectAvailableCohorts, selectCurrentCohortId as selectCurrentCohortId$1, selectCohortFilters, selectCurrentCohortModified, selectCurrentCohortSaved, setCohortIndexFilters, setActiveCohort, toggleCohortBuilderCategoryFilter, selectCohortFilterExpanded, setCohortFilterCombineMode, selectCohortFilterCombineMode, selectCurrentCohortName as selectCurrentCohortName$1, useGeneralGQLQuery, selectIndexFilters, useGetRawDataAndTotalCountsQuery, isJSONValue, downloadFromGuppyToBlob, downloadJSONDataFromGuppy, Accessibility, selectAllCohortFiltersCollapsed, toggleCohortBuilderAllFilters, setShouldShareFilters, useGetAggsQuery, useGetAggsNoFilterSelfQuery, isIntersection, useGetCountsQuery, setSharedFilters, usePrevious, selectHeadersWithCSRFToken, GEN3_GUPPY_API, useLaunchWorkspaceMutation, selectActiveWorkspaceStatus, isFetchBaseQueryError, setActiveWorkspace, getCurrentTimestamp, selectWorkspaceStatusFromService, selectActiveWorkspaceId, useGetWorkspaceOptionsQuery, GEN3_WORKSPACE_API, useGetExternalLoginsQuery, useSetCurrentPayModelMutation, PodStatus, PodConditionType, isWorkspaceRunningOrStopping, GEN3_API, GEN3_COMMONS_NAME, getTimestamp, createAppStore, getRemoteSupportServiceRegistry, isHttpStatusError, MissingServiceConfigurationError, useLazyGetAggsNoFilterSelfQuery, useCreateRequestMutation, buildGetAggregationQuery, processHistogramResponse, roundHistogramResponse, selectCSRFToken, useUserRequestQuery, getGen3AppId, createGen3AppWithOwnStore, createAppApiForRTKQ, useGetDictionaryQuery, useGetMetadataByIdQuery, createGen3App, CoreProvider, fetchJSONDataFromURL, HttpMethod, groupSharedFields, useGetCredentialsQuery, useRemoveCredentialMutation, useAddNewCredentialMutation, useGetProjectsDetailsQuery, useGetSubmissionsQuery, isCohortItem, isFileItem, fetchFencePresignedURL, HTTPError, getFederatedLoginStatus, queryMultipleMDSRecords, GEN3_MANIFEST_API, extractIndexFromDataLibraryCohort, isFilterSet, getNumberOfItemsInDatalist, isAdditionalDataItem, useLazyGetCrosswalkDataQuery } from '@gen3/core';
|
|
5
5
|
import { LoadingOverlay, Card, Group, Avatar, Text, Checkbox, Stack, Center, Loader, Tooltip, UnstyledButton, ThemeIcon, Box, Select, Button, Divider, Textarea, FileButton, Anchor, Modal, Grid, Table, ColorSwatch, useMantineTheme, Accordion, Switch, ActionIcon, Badge, TextInput, SegmentedControl, NumberInput, RangeSlider, MultiSelect, SimpleGrid, Highlight, MantineProvider, Tabs, Flex, Menu, Alert, Drawer, CopyButton, factory, useProps, getStyleObject, Paper, useCombobox, Combobox, ScrollArea, Autocomplete, Title, Transition, rem, Stepper, Image as Image$1, NavLink, List, createTheme, Pagination, FileInput, CloseButton } from '@mantine/core';
|
|
6
6
|
import { useDeepCompareEffect, useDeepCompareMemo, useDeepCompareCallback } from 'use-deep-compare';
|
|
7
7
|
import { useRouter } from 'next/router';
|
|
@@ -22,7 +22,7 @@ import { useCookies } from 'react-cookie';
|
|
|
22
22
|
import FileSaver from 'file-saver';
|
|
23
23
|
import { useClipboard, useResizeObserver, useDisclosure, useElementSize, useDidUpdate, mergeRefs, useReducedMotion, useMediaQuery, useFullscreen, useLocalStorage, useScrollIntoView, getHotkeyHandler } from '@mantine/hooks';
|
|
24
24
|
import { defaultComposer } from 'default-composer';
|
|
25
|
-
import { Icon, addCollection } from '@iconify/react';
|
|
25
|
+
import { Icon, addCollection } from '@iconify-icon/react';
|
|
26
26
|
import { init, getInstanceByDom, graphic } from 'echarts';
|
|
27
27
|
import { VictoryChart, VictoryTheme, VictoryAxis, VictoryStack, VictoryBar, Bar, VictoryTooltip, VictoryContainer } from 'victory';
|
|
28
28
|
import { FaUndo, FaPlus, FaExternalLinkAlt, FaExclamationTriangle, FaExclamation, FaQuestion, FaUser, FaExclamationCircle, FaRegStopCircle, FaChartPie, FaCircle, FaCheck, FaVideo, FaRegQuestionCircle, FaGraduationCap, FaRedo, FaUpload, FaDownload } from 'react-icons/fa';
|
|
@@ -609,6 +609,27 @@ const toDisplayName = (field)=>{
|
|
|
609
609
|
if (!fieldName) return 'NotSet';
|
|
610
610
|
return fieldName.split('_').map((w)=>capitalize$1(w)).join(' ');
|
|
611
611
|
};
|
|
612
|
+
/*
|
|
613
|
+
Function to convert counts to a string with units
|
|
614
|
+
For example: count = 100 units = 'cases' => '100 Cases'
|
|
615
|
+
Function should handle pluralization
|
|
616
|
+
*/ const toCountsString = (counts, units)=>{
|
|
617
|
+
if (!counts) return `No ${capitalize$1(pluralize(units))}`;
|
|
618
|
+
// return a string with counts and units handling pluralization
|
|
619
|
+
const unitDisplay = counts === 1 ? units : pluralize(units);
|
|
620
|
+
return `${counts.toLocaleString()} ${capitalize$1(unitDisplay)}`;
|
|
621
|
+
};
|
|
622
|
+
// Helper function to handle basic pluralization
|
|
623
|
+
const pluralize = (word)=>{
|
|
624
|
+
// Handle special cases
|
|
625
|
+
if (word.endsWith('y')) {
|
|
626
|
+
return word.slice(0, -1) + 'ies';
|
|
627
|
+
} else if (word.endsWith('s') || word.endsWith('x') || word.endsWith('z') || word.endsWith('ch') || word.endsWith('sh')) {
|
|
628
|
+
return word + 'es';
|
|
629
|
+
} else {
|
|
630
|
+
return word + 's';
|
|
631
|
+
}
|
|
632
|
+
};
|
|
612
633
|
|
|
613
634
|
const isArrayOfString = (value)=>{
|
|
614
635
|
return Array.isArray(value) && value.every((element)=>typeof element === 'string');
|
|
@@ -2476,10 +2497,11 @@ const HorizontalBarChart = ({ data, valueType, total, showLegendInChart = true }
|
|
|
2476
2497
|
const chartDefinition = useMemo(()=>{
|
|
2477
2498
|
return {
|
|
2478
2499
|
tooltip: {
|
|
2479
|
-
trigger: '
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2500
|
+
trigger: 'item',
|
|
2501
|
+
formatter: function(param) {
|
|
2502
|
+
const p = isArray(param) && param.length > 0 ? param[0] : param;
|
|
2503
|
+
const colorSquare = `<span style="display:inline-block; width:10px; height:10px; background-color:${p.color}; margin-right:5px;"></span>`;
|
|
2504
|
+
return `${colorSquare}${p.seriesName}: <b>${p.value}</b>`;
|
|
2483
2505
|
}
|
|
2484
2506
|
},
|
|
2485
2507
|
legend: {
|
|
@@ -4822,7 +4844,7 @@ const FacetGroup = ({ facets, children })=>{
|
|
|
4822
4844
|
const availableFields = facets.map((f)=>f.field);
|
|
4823
4845
|
useScrollToHash(availableFields, false);
|
|
4824
4846
|
return /*#__PURE__*/ jsx("div", {
|
|
4825
|
-
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5 w-content gap-4
|
|
4847
|
+
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5 w-content gap-4 ml-2 w-full",
|
|
4826
4848
|
"data-testid": "title-cohort-builder-facet-groups",
|
|
4827
4849
|
children: children
|
|
4828
4850
|
});
|
|
@@ -5688,11 +5710,10 @@ const NavigationLogo = ({ src, title, description, width, height, divider = fals
|
|
|
5688
5710
|
* @param iconHeight - the height of the icon
|
|
5689
5711
|
* @param classNames - the class names to use for root, label, icon/tooltip and arrow'
|
|
5690
5712
|
* @param noBasePath - set to true to avoid prepending a basePath to the link
|
|
5691
|
-
*/ const NavigationBarButton = ({ tooltip, icon, href, name, iconHeight = '
|
|
5713
|
+
*/ const NavigationBarButton = ({ tooltip, icon, href, name, iconHeight = '32px', classNames = {}, noBasePath = false })=>{
|
|
5692
5714
|
const classNamesDefaults = {
|
|
5693
|
-
root: 'flex flex-col flex-nowrap px-3 py-2 pt-4 items-center align-center text-primary hover:text-accent opacity-80 hover:opacity-100',
|
|
5715
|
+
root: 'flex flex-col flex-nowrap px-3 py-2 pt-4 justify-between items-center align-center text-primary hover:text-accent opacity-80 hover:opacity-100',
|
|
5694
5716
|
label: 'pt-1.5 body-typo font-heading text-sm text-nowrap',
|
|
5695
|
-
icon: 'mt-0.5 ml-1',
|
|
5696
5717
|
...TooltipStyle
|
|
5697
5718
|
};
|
|
5698
5719
|
const mergedClassnames = mergeDefaultTailwindClassnames(classNamesDefaults, classNames);
|
|
@@ -11594,7 +11615,7 @@ const CountsValue = ({ label, isSuccess, counts })=>{
|
|
|
11594
11615
|
p: "xs",
|
|
11595
11616
|
withBorder: true,
|
|
11596
11617
|
className: "bg-primary text-primary-contrast font-heading text-md font-semibold",
|
|
11597
|
-
children:
|
|
11618
|
+
children: toCountsString(counts, label)
|
|
11598
11619
|
})
|
|
11599
11620
|
]
|
|
11600
11621
|
});
|
|
@@ -12709,6 +12730,11 @@ const TabbedCohortBuilder = ({ index, tabsConfiguration })=>{
|
|
|
12709
12730
|
filters: cohortFilters,
|
|
12710
12731
|
accessibility: accessLevel
|
|
12711
12732
|
});
|
|
12733
|
+
const { data: counts, isSuccess: isCountSuccess, isError } = useGetCountsQuery({
|
|
12734
|
+
type: index,
|
|
12735
|
+
filters: cohortFilters,
|
|
12736
|
+
accessibility: accessLevel
|
|
12737
|
+
});
|
|
12712
12738
|
const [facetDefinitions, setFacetDefinitions] = useState({});
|
|
12713
12739
|
useEffect(()=>{
|
|
12714
12740
|
// Check if the router initiated the change
|
|
@@ -12846,25 +12872,42 @@ const TabbedCohortBuilder = ({ index, tabsConfiguration })=>{
|
|
|
12846
12872
|
getRangeFacetData,
|
|
12847
12873
|
index
|
|
12848
12874
|
]);
|
|
12849
|
-
return /*#__PURE__*/
|
|
12850
|
-
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12854
|
-
usedFacets: cohortBuilderFilters,
|
|
12855
|
-
hooks: facetDataHooks,
|
|
12856
|
-
customFacetHooks: {
|
|
12857
|
-
useCustomFacets,
|
|
12858
|
-
useAvailableCustomFacets: (usedFacets, onlyFiltersWithValues, queryOptions)=>({
|
|
12859
|
-
data: {},
|
|
12860
|
-
isSuccess: true
|
|
12861
|
-
}),
|
|
12862
|
-
useAddCustomFilter: ()=>(filter)=>{},
|
|
12863
|
-
useRemoveCustomFilter: ()=>(filter)=>{}
|
|
12875
|
+
return /*#__PURE__*/ jsxs(Stack, {
|
|
12876
|
+
gap: "xs",
|
|
12877
|
+
align: "stretch",
|
|
12878
|
+
classNames: {
|
|
12879
|
+
root: 'w-full'
|
|
12864
12880
|
},
|
|
12865
|
-
|
|
12866
|
-
|
|
12867
|
-
|
|
12881
|
+
children: [
|
|
12882
|
+
/*#__PURE__*/ jsx(Group, {
|
|
12883
|
+
justify: "flex-end",
|
|
12884
|
+
children: /*#__PURE__*/ jsx(CountsValue, {
|
|
12885
|
+
label: index,
|
|
12886
|
+
counts: counts,
|
|
12887
|
+
isSuccess: isCountSuccess
|
|
12888
|
+
})
|
|
12889
|
+
}),
|
|
12890
|
+
/*#__PURE__*/ jsx(FacetTabs, {
|
|
12891
|
+
activeTab: activeTab,
|
|
12892
|
+
setActiveTab: setActiveTab,
|
|
12893
|
+
facetDefinitions: facetDefinitions,
|
|
12894
|
+
tabsConfig: tabsConfig,
|
|
12895
|
+
usedFacets: cohortBuilderFilters,
|
|
12896
|
+
hooks: facetDataHooks,
|
|
12897
|
+
customFacetHooks: {
|
|
12898
|
+
useCustomFacets,
|
|
12899
|
+
useAvailableCustomFacets: (usedFacets, onlyFiltersWithValues, queryOptions)=>({
|
|
12900
|
+
data: {},
|
|
12901
|
+
isSuccess: true
|
|
12902
|
+
}),
|
|
12903
|
+
useAddCustomFilter: ()=>(filter)=>{},
|
|
12904
|
+
useRemoveCustomFilter: ()=>(filter)=>{}
|
|
12905
|
+
},
|
|
12906
|
+
getFacetLabel: ()=>'Cases',
|
|
12907
|
+
cardScrollMargin: calculateStickyHeaderHeight(),
|
|
12908
|
+
useFieldNameToTitle: useFieldNameToTitle
|
|
12909
|
+
})
|
|
12910
|
+
]
|
|
12868
12911
|
});
|
|
12869
12912
|
};
|
|
12870
12913
|
|
|
@@ -15488,85 +15531,26 @@ const createFacetPanel = (facet, chartType, valueLabel, hooks)=>{
|
|
|
15488
15531
|
return null;
|
|
15489
15532
|
};
|
|
15490
15533
|
|
|
15491
|
-
const GEN3_COHORT_DISCOVERY_API = process.env.GEN3_COHORT_DISCOVERY_API || `${GEN3_API}/api/auth/analysis/cohortDiscovery`;
|
|
15492
|
-
|
|
15493
|
-
const useGraphQLData = (url, body, skip)=>{
|
|
15494
|
-
// Create a fetcher function that handles the GraphQL POST request
|
|
15495
|
-
const fetcher = async (fetchUrl, fetchBody)=>{
|
|
15496
|
-
const headers = new Headers({
|
|
15497
|
-
Accept: 'application/json',
|
|
15498
|
-
'Content-Type': 'application/json'
|
|
15499
|
-
});
|
|
15500
|
-
if (process.env.NODE_ENV === 'development') {
|
|
15501
|
-
// NOTE: This cookie can only be accessed from the client side
|
|
15502
|
-
// in development mode. Otherwise, the cookie is set as httpOnly
|
|
15503
|
-
const accessToken = getCookie('credentials_token');
|
|
15504
|
-
if (accessToken) {
|
|
15505
|
-
headers.set('Authorization', `Bearer ${accessToken}`);
|
|
15506
|
-
}
|
|
15507
|
-
}
|
|
15508
|
-
const response = await fetch(fetchUrl, {
|
|
15509
|
-
method: 'POST',
|
|
15510
|
-
headers: headers,
|
|
15511
|
-
body: JSON.stringify(fetchBody)
|
|
15512
|
-
});
|
|
15513
|
-
if (!response.ok) {
|
|
15514
|
-
throw new Error(`Error ${response.status}: ${response.statusText}`);
|
|
15515
|
-
}
|
|
15516
|
-
return await response.json();
|
|
15517
|
-
};
|
|
15518
|
-
// Use SWR with the fetcher
|
|
15519
|
-
const { data, error, isLoading, mutate } = useSWR(!skip ? [
|
|
15520
|
-
url,
|
|
15521
|
-
body
|
|
15522
|
-
] : null, ([fetchUrl, fetchBody])=>fetcher(fetchUrl, fetchBody), {
|
|
15523
|
-
revalidateOnFocus: false
|
|
15524
|
-
});
|
|
15525
|
-
// Format error to match your ErrorDetails interface
|
|
15526
|
-
const formattedError = error ? {
|
|
15527
|
-
status: error.message.match(/\d+/)?.[0] || 'Unknown',
|
|
15528
|
-
message: error.message
|
|
15529
|
-
} : null;
|
|
15530
|
-
return {
|
|
15531
|
-
data,
|
|
15532
|
-
isLoading,
|
|
15533
|
-
isSuccess: !!data && !error,
|
|
15534
|
-
isError: !!error,
|
|
15535
|
-
error: formattedError,
|
|
15536
|
-
mutate
|
|
15537
|
-
};
|
|
15538
|
-
};
|
|
15539
|
-
const useRoundedAggsQuery = ({ type, fields, filters, accessibility = Accessibility.ALL }, { skip } = {
|
|
15540
|
-
skip: false
|
|
15541
|
-
})=>{
|
|
15542
|
-
const response = useGraphQLData(GEN3_COHORT_DISCOVERY_API, buildGetAggregationQuery(type, fields, filters, accessibility, false), skip);
|
|
15543
|
-
return {
|
|
15544
|
-
...response,
|
|
15545
|
-
data: response?.data?.data ? processHistogramResponse(response?.data.data?._aggregation[type] ?? {}) : {}
|
|
15546
|
-
};
|
|
15547
|
-
};
|
|
15548
|
-
|
|
15549
15534
|
const NUM_COLS = 2; // TODO: add to config
|
|
15550
15535
|
/**
|
|
15551
15536
|
* CartsAndFacetsPanel component
|
|
15552
15537
|
*
|
|
15553
15538
|
* @param {string} index - The index type used for querying data.
|
|
15539
|
+
* @param data
|
|
15540
|
+
* @param isLoading
|
|
15541
|
+
* @param isError
|
|
15542
|
+
* @param isSuccess
|
|
15554
15543
|
* @param {Array} facets - The list of facets to be rendered.
|
|
15555
15544
|
* @returns {JSX.Element} The rendered component showing facets.
|
|
15556
|
-
*/ const ChartsAndFacetsPanel = ({ index, facets })=>{
|
|
15545
|
+
*/ const ChartsAndFacetsPanel = ({ index, data, isLoading, isError, isSuccess, facets })=>{
|
|
15557
15546
|
const cohortFilters = useAppSelector((state)=>selectCurrentCohortIndexFilters(state, index));
|
|
15558
|
-
const { data, isSuccess, isLoading: isAggsQueryFetching, isError: isAggsQueryError } = useRoundedAggsQuery({
|
|
15559
|
-
type: index,
|
|
15560
|
-
fields: facets.map((x)=>x.field),
|
|
15561
|
-
filters: cohortFilters
|
|
15562
|
-
});
|
|
15563
15547
|
const getEnumFacetData = useDeepCompareCallback((field)=>{
|
|
15564
15548
|
return {
|
|
15565
15549
|
data: processBucketData(data?.[field]),
|
|
15566
15550
|
enumFilters: field in cohortFilters.root ? extractEnumFilterValue(cohortFilters.root[field]) : undefined,
|
|
15567
15551
|
isSuccess: isSuccess,
|
|
15568
|
-
isFetching:
|
|
15569
|
-
isError:
|
|
15552
|
+
isFetching: isLoading,
|
|
15553
|
+
isError: isError
|
|
15570
15554
|
};
|
|
15571
15555
|
}, [
|
|
15572
15556
|
cohortFilters,
|
|
@@ -16105,6 +16089,67 @@ const CohortManager = ({ indexResources, remoteSupportService, size = 'md' })=>{
|
|
|
16105
16089
|
});
|
|
16106
16090
|
};
|
|
16107
16091
|
|
|
16092
|
+
process.env.GEN3_COHORT_DISCOVERY_API || `${GEN3_API}/api/auth/analysis/cohortDiscovery`;
|
|
16093
|
+
|
|
16094
|
+
const useGraphQLData = (url, body, skip)=>{
|
|
16095
|
+
// Create a fetcher function that handles the GraphQL POST request
|
|
16096
|
+
const csrfToken = useCoreSelector((state)=>selectCSRFToken(state));
|
|
16097
|
+
const fetcher = async (fetchUrl, fetchBody)=>{
|
|
16098
|
+
const headers = new Headers({
|
|
16099
|
+
Accept: 'application/json',
|
|
16100
|
+
'Content-Type': 'application/json',
|
|
16101
|
+
'X-CSRF-Token': csrfToken ?? ''
|
|
16102
|
+
});
|
|
16103
|
+
if (process.env.NODE_ENV === 'development') {
|
|
16104
|
+
// NOTE: This cookie can only be accessed from the client side
|
|
16105
|
+
// in development mode. Otherwise, the cookie is set as httpOnly
|
|
16106
|
+
const accessToken = getCookie('credentials_token');
|
|
16107
|
+
if (accessToken) {
|
|
16108
|
+
headers.set('Authorization', `Bearer ${accessToken}`);
|
|
16109
|
+
}
|
|
16110
|
+
}
|
|
16111
|
+
const response = await fetch(fetchUrl, {
|
|
16112
|
+
method: 'POST',
|
|
16113
|
+
headers: headers,
|
|
16114
|
+
body: JSON.stringify(fetchBody)
|
|
16115
|
+
});
|
|
16116
|
+
if (!response.ok) {
|
|
16117
|
+
throw new Error(`Error ${response.status}: ${response.statusText}`);
|
|
16118
|
+
}
|
|
16119
|
+
return await response.json();
|
|
16120
|
+
};
|
|
16121
|
+
// Use SWR with the fetcher
|
|
16122
|
+
const { data, error, isLoading, mutate } = useSWR(!skip ? [
|
|
16123
|
+
url,
|
|
16124
|
+
body
|
|
16125
|
+
] : null, ([fetchUrl, fetchBody])=>fetcher(fetchUrl, fetchBody), {
|
|
16126
|
+
revalidateOnFocus: false
|
|
16127
|
+
});
|
|
16128
|
+
// Format error to match your ErrorDetails interface
|
|
16129
|
+
const formattedError = error ? {
|
|
16130
|
+
status: error.message.match(/\d+/)?.[0] || 'Unknown',
|
|
16131
|
+
message: error.message
|
|
16132
|
+
} : null;
|
|
16133
|
+
return {
|
|
16134
|
+
data,
|
|
16135
|
+
isLoading,
|
|
16136
|
+
isSuccess: !!data && !error,
|
|
16137
|
+
isError: !!error,
|
|
16138
|
+
error: formattedError,
|
|
16139
|
+
mutate
|
|
16140
|
+
};
|
|
16141
|
+
};
|
|
16142
|
+
const COHORT_DISCOVERY_LIMIT$1 = process.env.NEXT_PUBLIC_GEN3_COHORT_DISCOVERY_LIMIT ? Number(process.env.NEXT_PUBLIC_GEN3_COHORT_DISCOVERY_LIMIT) : 100;
|
|
16143
|
+
const useUnsecureRoundedAggsQuery = ({ type, fields, filters, accessibility = Accessibility.ALL }, { skip } = {
|
|
16144
|
+
skip: false
|
|
16145
|
+
})=>{
|
|
16146
|
+
const response = useGraphQLData(`${GEN3_GUPPY_API}/graphql`, buildGetAggregationQuery(type, fields, filters, accessibility, false), skip);
|
|
16147
|
+
return {
|
|
16148
|
+
...response,
|
|
16149
|
+
data: response?.data?.data ? processHistogramResponse(roundHistogramResponse(response?.data?.data._aggregation[type], COHORT_DISCOVERY_LIMIT$1)) : {}
|
|
16150
|
+
};
|
|
16151
|
+
};
|
|
16152
|
+
|
|
16108
16153
|
const CohortQueryExpression = ({ index })=>{
|
|
16109
16154
|
const currentCohortId = useAppSelector((state)=>selectCurrentCohortId(state));
|
|
16110
16155
|
const currentCohortName = useAppSelector((state)=>selectCurrentCohortName(state));
|
|
@@ -16178,13 +16223,12 @@ const IndexPanel = ({ dataConfig, tabs, tabTitle, emptySelection, indexResources
|
|
|
16178
16223
|
facetDefinitions
|
|
16179
16224
|
]);
|
|
16180
16225
|
const cohortFilters = useAppSelector((state)=>selectCurrentCohortIndexFilters(state, index));
|
|
16181
|
-
const
|
|
16182
|
-
const { data, isSuccess, isError: isAggsQueryError } = useRoundedAggsQuery({
|
|
16226
|
+
const { data, isSuccess, isLoading: isAggsQueryFetching, isError: isAggsQueryError } = useUnsecureRoundedAggsQuery({
|
|
16183
16227
|
type: index,
|
|
16184
|
-
fields:
|
|
16228
|
+
fields: fields,
|
|
16185
16229
|
filters: cohortFilters
|
|
16186
16230
|
}, {
|
|
16187
|
-
skip:
|
|
16231
|
+
skip: fields.length === 0
|
|
16188
16232
|
});
|
|
16189
16233
|
const updateFields = useDeepCompareCallback((field, checked)=>{
|
|
16190
16234
|
if (!checked) {
|
|
@@ -16270,6 +16314,10 @@ const IndexPanel = ({ dataConfig, tabs, tabTitle, emptySelection, indexResources
|
|
|
16270
16314
|
remoteSupportService: remoteSupportService
|
|
16271
16315
|
}),
|
|
16272
16316
|
selectedFacets.length > 0 ? /*#__PURE__*/ jsx(ChartsAndFacetsPanel, {
|
|
16317
|
+
data: data,
|
|
16318
|
+
isLoading: isAggsQueryFetching,
|
|
16319
|
+
isError: isAggsQueryError,
|
|
16320
|
+
isSuccess: isSuccess,
|
|
16273
16321
|
index: index,
|
|
16274
16322
|
facets: activeFieldDefinitions
|
|
16275
16323
|
}) : /*#__PURE__*/ jsx(Center, {
|
|
@@ -25056,8 +25104,26 @@ const TabbedCohortBuilderPage = ({ headerProps, footerProps, configuration })=>{
|
|
|
25056
25104
|
content: 'Tabbed Cohort Builder Page',
|
|
25057
25105
|
key: 'gen3-tabbed-cohort-builder-page'
|
|
25058
25106
|
},
|
|
25059
|
-
children: /*#__PURE__*/
|
|
25060
|
-
|
|
25107
|
+
children: /*#__PURE__*/ jsxs(Stack, {
|
|
25108
|
+
align: "stretch",
|
|
25109
|
+
classNames: {
|
|
25110
|
+
root: 'w-full'
|
|
25111
|
+
},
|
|
25112
|
+
children: [
|
|
25113
|
+
/*#__PURE__*/ jsx("div", {
|
|
25114
|
+
className: "w-full flex-col flex gap-4 fixed bg-white z-10",
|
|
25115
|
+
children: /*#__PURE__*/ jsx(CohortManager$1, {
|
|
25116
|
+
index: configuration.index
|
|
25117
|
+
})
|
|
25118
|
+
}),
|
|
25119
|
+
/*#__PURE__*/ jsx("div", {
|
|
25120
|
+
className: "w-full mt-40 mr-4",
|
|
25121
|
+
children: /*#__PURE__*/ jsx(TabbedCohortBuilder, {
|
|
25122
|
+
...configuration,
|
|
25123
|
+
index: configuration.index
|
|
25124
|
+
})
|
|
25125
|
+
})
|
|
25126
|
+
]
|
|
25061
25127
|
})
|
|
25062
25128
|
});
|
|
25063
25129
|
};
|
|
@@ -25524,5 +25590,5 @@ const staticNotebookAPI = async (req, res)=>{
|
|
|
25524
25590
|
});
|
|
25525
25591
|
};
|
|
25526
25592
|
|
|
25527
|
-
export { AISearchPageGetServerSideProps, AccessLevel, ActionBar, ActionButton, AdminAuthZPageGetServerSideProps, AiSearch, AISearchPage as AiSearchPage, AnalysisCenter, AnalysisCenterWithSections, AnalysisEditorPage, AnalysisEditorPageGetServerSideProps, AnalysisPage, AnalysisPageGetServerSideProps, AuthzPage, BAD_DATA_MESSAGE, Banner, BaseModal, Charts, CohortBuilder, CohortManager$1 as CohortManager, CollapsableCharts, CollapsableSidebar, ColorThemePage, ColorThemePageGetServerSideProps, ContentSource$1 as ContentSource, CreateCredentialsAPIKeyModal, CrosswalkPage, CrosswalkPageGetServerSideProps, Custom404Page, DAYS_IN_YEAR, DEFAULT_MAXIMUM, DEFAULT_MINIMUM, DEFAULT_VISIBLE_ITEMS$1 as DEFAULT_VISIBLE_ITEMS, DataLibraryPage, DataLibraryPageGetServerSideProps, DictionaryPage, DictionaryPageGetServerSideProps, DiscoveryCellRendererFactory, DiscoveryProvider as DiscoveryConfigProvider, DiscoveryIndexPanel, DiscoveryPage, DiscoveryPageGetServerSideProps, DiscoveryRowRendererFactory, DropdownButton, EnumFacet, EnumFacetChart, ErrorCard, ExactValueFacet, ExplorerPage, ExplorerPageGetServerSideProps, ExplorerPageGetServerSidePropsForConfigId, ExplorerTableCellRendererFactory, ExplorerTableDetailsPanelFactory, FacetControlsHeader, FacetExpander, FacetSelector, FacetSortPanel, FacetTabs, FirstTimeModal, Footer, Gen3Button, Gen3ButtonReverse, Gen3Link, Gen3ModalsProvider, Gen3Provider, GqlQueryEditor$1 as GqlQueryEditor, Header$1 as Header, HoverLink, LandingPage, LandingPageGetServerSideProps, LoginButton$1 as LoginButton, LoginPage, LoginPageGetServerSideProps, LoginPanel, LoginProvidersPanel, MinutesToMilliseconds, MultiSelectValueFacet, NavPageLayout, NavigationBar, NavigationButton, NoAccessModal, NotebookLitePage, NotebookLitePageGetStaticProps, ProfilePage, ProfilePageGetServerSideProps, ProfileProvider, ProtectedContent, QueryExpression, QueryExpressionContext, QueryExpressionSection, QueryPage, QueryPageGetServerSideProps, RangeFacet, ReactECharts, ResourcesFilters, SPECIAL_CASE_FIELDS, SessionExpiredModal, SinglePageStudyDetailsPanel, StaticNotebookIFrame, StaticNotebookViewer, StudyDetailsPanel, StudyGroup, StudyGroupPanel, StudyProvider, SubmissionPage, SubmissionPageGetServerSideProps, TabbedCohortBuilder, TabbedCohortBuilderPage, TabbedCohortBuilderPageGetServerSideProps, TagCloud, TailwindConfig, TopBar, UploadJSONButton, User, Workspace, WorkspaceNoAccessPage, WorkspaceNoAccessPageServerSideProps, WorkspacePage, WorkspacePageGetServerSideProps, accessibleFieldName, addIntersectionToIncludes, addUnion, analysisApiCohortDiscovery, buildNested, capitalize, classifyFacets, compareKeysAscending, compareKeysDescending, computeRowSpan, convertMinutesToMilliseconds, convertPathsToTree, convertSecondsToMilliseconds, convertToStringArray, create10ColorAccessibleContrast, create10ColorPallet, createMantineTheme, credentialsLogin, credentialsLogout, extractObjectKey, extractRangeValues, focusStyles, getAllFieldsFromFilterConfigs, getCurrentUnixTimestamp, getNavPageLayoutPropsFromConfig, getParamsValueAsString, getTagInfo, hasOwnProperty, isArrayOfString, isEnumFacetResponse, isHeaderMetadata, isPropertyKey, isTextTransform$1 as isTextTransform, mapFacetSortToSortType, processBucketData, processLabel$1 as processLabel, processRangeData, processRangeKeyLabel, registerCohortBuilderDefaultPreviewRenderers, registerCohortDiscoveryApp, registerCohortSimilarityApp, registerDefaultDiscoveryDataLoaders, registerDiscoveryDefaultCellRenderers, registerDiscoveryDefaultStudyPreviewRenderers, registerExplorerDefaultCellRenderers, registerMetadataSchemaApp, removeIntersectionFromEnum, removeKey$1 as removeKey, removeUnion, resourcePathFromProjectID, sessionLogout, sessionToken, staticNotebookAPI, stripTrailingSlash, toDisplayName, truncateString, unixTimeToString, updateFacetEnum, useClearFilters$1 as useClearFilters, useDiscoveryContext, useExtractEnumFilterValues, useExtractRangeFilterValues, useFieldNameToTitle, useGetFacetFilters$1 as useGetFacetFilters, useUpdateFilters$1 as useUpdateFilters, userHasMethodForServiceOnResource$1 as userHasMethodForServiceOnResource };
|
|
25593
|
+
export { AISearchPageGetServerSideProps, AccessLevel, ActionBar, ActionButton, AdminAuthZPageGetServerSideProps, AiSearch, AISearchPage as AiSearchPage, AnalysisCenter, AnalysisCenterWithSections, AnalysisEditorPage, AnalysisEditorPageGetServerSideProps, AnalysisPage, AnalysisPageGetServerSideProps, AuthzPage, BAD_DATA_MESSAGE, Banner, BaseModal, Charts, CohortBuilder, CohortManager$1 as CohortManager, CollapsableCharts, CollapsableSidebar, ColorThemePage, ColorThemePageGetServerSideProps, ContentSource$1 as ContentSource, CreateCredentialsAPIKeyModal, CrosswalkPage, CrosswalkPageGetServerSideProps, Custom404Page, DAYS_IN_YEAR, DEFAULT_MAXIMUM, DEFAULT_MINIMUM, DEFAULT_VISIBLE_ITEMS$1 as DEFAULT_VISIBLE_ITEMS, DataLibraryPage, DataLibraryPageGetServerSideProps, DictionaryPage, DictionaryPageGetServerSideProps, DiscoveryCellRendererFactory, DiscoveryProvider as DiscoveryConfigProvider, DiscoveryIndexPanel, DiscoveryPage, DiscoveryPageGetServerSideProps, DiscoveryRowRendererFactory, DropdownButton, EnumFacet, EnumFacetChart, ErrorCard, ExactValueFacet, ExplorerPage, ExplorerPageGetServerSideProps, ExplorerPageGetServerSidePropsForConfigId, ExplorerTableCellRendererFactory, ExplorerTableDetailsPanelFactory, FacetControlsHeader, FacetExpander, FacetSelector, FacetSortPanel, FacetTabs, FirstTimeModal, Footer, Gen3Button, Gen3ButtonReverse, Gen3Link, Gen3ModalsProvider, Gen3Provider, GqlQueryEditor$1 as GqlQueryEditor, Header$1 as Header, HoverLink, LandingPage, LandingPageGetServerSideProps, LoginButton$1 as LoginButton, LoginPage, LoginPageGetServerSideProps, LoginPanel, LoginProvidersPanel, MinutesToMilliseconds, MultiSelectValueFacet, NavPageLayout, NavigationBar, NavigationButton, NoAccessModal, NotebookLitePage, NotebookLitePageGetStaticProps, ProfilePage, ProfilePageGetServerSideProps, ProfileProvider, ProtectedContent, QueryExpression, QueryExpressionContext, QueryExpressionSection, QueryPage, QueryPageGetServerSideProps, RangeFacet, ReactECharts, ResourcesFilters, SPECIAL_CASE_FIELDS, SessionExpiredModal, SinglePageStudyDetailsPanel, StaticNotebookIFrame, StaticNotebookViewer, StudyDetailsPanel, StudyGroup, StudyGroupPanel, StudyProvider, SubmissionPage, SubmissionPageGetServerSideProps, TabbedCohortBuilder, TabbedCohortBuilderPage, TabbedCohortBuilderPageGetServerSideProps, TagCloud, TailwindConfig, TopBar, UploadJSONButton, User, Workspace, WorkspaceNoAccessPage, WorkspaceNoAccessPageServerSideProps, WorkspacePage, WorkspacePageGetServerSideProps, accessibleFieldName, addIntersectionToIncludes, addUnion, analysisApiCohortDiscovery, buildNested, capitalize, classifyFacets, compareKeysAscending, compareKeysDescending, computeRowSpan, convertMinutesToMilliseconds, convertPathsToTree, convertSecondsToMilliseconds, convertToStringArray, create10ColorAccessibleContrast, create10ColorPallet, createMantineTheme, credentialsLogin, credentialsLogout, extractObjectKey, extractRangeValues, focusStyles, getAllFieldsFromFilterConfigs, getCurrentUnixTimestamp, getNavPageLayoutPropsFromConfig, getParamsValueAsString, getTagInfo, hasOwnProperty, isArrayOfString, isEnumFacetResponse, isHeaderMetadata, isPropertyKey, isTextTransform$1 as isTextTransform, mapFacetSortToSortType, processBucketData, processLabel$1 as processLabel, processRangeData, processRangeKeyLabel, registerCohortBuilderDefaultPreviewRenderers, registerCohortDiscoveryApp, registerCohortSimilarityApp, registerDefaultDiscoveryDataLoaders, registerDiscoveryDefaultCellRenderers, registerDiscoveryDefaultStudyPreviewRenderers, registerExplorerDefaultCellRenderers, registerMetadataSchemaApp, removeIntersectionFromEnum, removeKey$1 as removeKey, removeUnion, resourcePathFromProjectID, sessionLogout, sessionToken, staticNotebookAPI, stripTrailingSlash, toCountsString, toDisplayName, truncateString, unixTimeToString, updateFacetEnum, useClearFilters$1 as useClearFilters, useDiscoveryContext, useExtractEnumFilterValues, useExtractRangeFilterValues, useFieldNameToTitle, useGetFacetFilters$1 as useGetFacetFilters, useUpdateFilters$1 as useUpdateFilters, userHasMethodForServiceOnResource$1 as userHasMethodForServiceOnResource };
|
|
25528
25594
|
//# sourceMappingURL=index.js.map
|