@databiosphere/findable-ui 18.0.0 → 20.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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +22 -0
- package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.d.ts +2 -0
- package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.js +29 -0
- package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/types.d.ts +6 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/SessionController.d.ts +2 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/SessionController.js +17 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/constants.d.ts +5 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/constants.js +12 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/types.d.ts +4 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/types.js +1 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/utils.d.ts +15 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/utils.js +53 -0
- package/lib/components/ComponentCreator/ComponentCreator.js +2 -3
- package/lib/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +2 -0
- package/lib/components/Detail/components/Table/components/TableRows/tableRows.js +1 -15
- package/lib/components/Export/components/ExportForm/components/ExportFileSummaryForm/exportFileSummaryForm.js +9 -10
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.js +2 -2
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.js +1 -1
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/terraSetUpForm.js +8 -3
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.d.ts +2 -1
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.js +17 -14
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.d.ts +3 -4
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.js +15 -24
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +1 -1
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.js +2 -2
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.d.ts +2 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.js +14 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.js +3 -2
- package/lib/components/Layout/components/Header/header.js +1 -1
- package/lib/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.js +23 -12
- package/lib/components/Login/components/Button/button.d.ts +2 -0
- package/lib/components/Login/components/Button/button.js +6 -0
- package/lib/components/Login/components/Button/button.styles.d.ts +5 -0
- package/lib/components/Login/components/Button/button.styles.js +11 -0
- package/lib/components/Login/components/Button/constants.d.ts +2 -0
- package/lib/components/Login/components/Button/constants.js +6 -0
- package/lib/components/Login/components/Button/types.d.ts +3 -0
- package/lib/components/Login/components/Button/types.js +1 -0
- package/lib/components/Login/login.d.ts +2 -9
- package/lib/components/Login/login.js +9 -10
- package/lib/components/Login/types.d.ts +10 -0
- package/lib/components/Login/types.js +1 -0
- package/lib/components/Table/common/columnDef.js +1 -0
- package/lib/components/Table/common/gridTable.styles.js +5 -11
- package/lib/components/Table/common/utils.d.ts +3 -29
- package/lib/components/Table/common/utils.js +25 -60
- package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.d.ts +3 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.js +3 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.d.ts +8 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.js +18 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/types.d.ts +4 -0
- package/lib/components/Table/components/TableBody/hooks/virtualizer/types.js +1 -0
- package/lib/components/Table/components/TableBody/tableBody.d.ts +3 -2
- package/lib/components/Table/components/TableBody/tableBody.js +7 -28
- package/lib/components/Table/components/TableBody/utils.d.ts +12 -0
- package/lib/components/Table/components/TableBody/utils.js +17 -0
- package/lib/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.d.ts +3 -1
- package/lib/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.js +6 -14
- package/lib/components/Table/components/TableFeatures/ColumnGrouping/utils.d.ts +28 -0
- package/lib/components/Table/components/TableFeatures/ColumnGrouping/utils.js +52 -0
- package/lib/components/Table/components/TableFeatures/ColumnVisibility/utils.d.ts +21 -0
- package/lib/components/Table/components/TableFeatures/ColumnVisibility/utils.js +37 -0
- package/lib/components/Table/components/TableFeatures/RowSorting/utils.d.ts +29 -0
- package/lib/components/Table/components/TableFeatures/RowSorting/utils.js +68 -0
- package/lib/components/Table/components/TableHead/tableHead.d.ts +2 -6
- package/lib/components/Table/components/TableHead/tableHead.js +6 -4
- package/lib/components/Table/components/TableHead/types.d.ts +6 -0
- package/lib/components/Table/components/TableHead/types.js +1 -0
- package/lib/components/Table/components/TableHead/utils.d.ts +19 -0
- package/lib/components/Table/components/TableHead/utils.js +34 -0
- package/lib/components/Table/components/TableRow/tableRow.styles.d.ts +1 -0
- package/lib/components/Table/components/TableRow/tableRow.styles.js +14 -2
- package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.d.ts +3 -2
- package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +8 -4
- package/lib/components/Table/components/TableRows/components/CollapsableRows/hook.d.ts +9 -0
- package/lib/components/Table/components/TableRows/components/CollapsableRows/hook.js +17 -0
- package/lib/components/Table/components/TableRows/tableRows.d.ts +3 -3
- package/lib/components/Table/components/TableRows/tableRows.js +9 -5
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.d.ts +3 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.js +26 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.styles.d.ts +2 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.styles.js +16 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.d.ts +3 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.js +12 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.d.ts +7 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.js +1 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/constants.d.ts +4 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/constants.js +13 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/types.d.ts +4 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/types.js +1 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/utils.d.ts +17 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/utils.js +36 -0
- package/lib/components/Table/components/TableToolbar/components/RowSelection/components/DropdownMenu/dropdownMenu.d.ts +2 -3
- package/lib/components/Table/components/TableToolbar/components/RowSelection/components/DropdownMenu/dropdownMenu.js +3 -11
- package/lib/components/Table/components/TableToolbar/tableToolbar.js +4 -2
- package/lib/components/Table/features/RowPosition/constants.js +2 -2
- package/lib/components/Table/features/RowPosition/utils.d.ts +2 -2
- package/lib/components/Table/features/RowPosition/utils.js +12 -5
- package/lib/components/Table/options/updater.d.ts +10 -0
- package/lib/components/Table/options/updater.js +24 -0
- package/lib/components/Table/table.js +22 -17
- package/lib/components/TableCreator/common/constants.d.ts +2 -2
- package/lib/components/TableCreator/common/constants.js +2 -1
- package/lib/components/TableCreator/common/utils.d.ts +5 -2
- package/lib/components/TableCreator/common/utils.js +11 -4
- package/lib/components/TableCreator/options/expanded/constants.d.ts +2 -0
- package/lib/components/TableCreator/options/expanded/constants.js +6 -0
- package/lib/components/TableCreator/options/expanded/hook.d.ts +2 -0
- package/lib/components/TableCreator/options/expanded/hook.js +4 -0
- package/lib/components/TableCreator/options/grouping/constants.d.ts +2 -0
- package/lib/components/TableCreator/options/grouping/constants.js +5 -0
- package/lib/components/TableCreator/options/grouping/hook.d.ts +2 -0
- package/lib/components/TableCreator/options/grouping/hook.js +9 -0
- package/lib/components/TableCreator/options/hook.d.ts +2 -0
- package/lib/components/TableCreator/options/hook.js +25 -0
- package/lib/components/TableCreator/options/rowSelection/constants.d.ts +2 -0
- package/lib/components/TableCreator/options/rowSelection/constants.js +5 -0
- package/lib/components/TableCreator/options/rowSelection/hook.d.ts +2 -0
- package/lib/components/TableCreator/options/rowSelection/hook.js +4 -0
- package/lib/components/TableCreator/options/sorting/constants.d.ts +2 -0
- package/lib/components/TableCreator/options/sorting/constants.js +5 -0
- package/lib/components/TableCreator/options/sorting/hook.d.ts +2 -0
- package/lib/components/TableCreator/options/sorting/hook.js +4 -0
- package/lib/components/TableCreator/tableCreator.d.ts +3 -5
- package/lib/components/TableCreator/tableCreator.js +4 -2
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.js +1 -1
- package/lib/components/common/CustomIcon/common/entities.d.ts +1 -4
- package/lib/components/common/CustomIcon/components/GoogleIcon/googleIcon.d.ts +2 -2
- package/lib/components/common/CustomIcon/components/GoogleIcon/googleIcon.js +1 -1
- package/lib/components/common/DropdownMenu/dropdownMenu.d.ts +2 -3
- package/lib/components/common/DropdownMenu/dropdownMenu.js +7 -7
- package/lib/components/common/DropdownMenu/dropdownMenu.styles.d.ts +1 -1
- package/lib/components/common/DropdownMenu/dropdownMenu.styles.js +1 -1
- package/lib/components/common/Menu/hooks/useMenu.d.ts +5 -6
- package/lib/config/entities.d.ts +28 -29
- package/lib/config/utils.d.ts +0 -7
- package/lib/config/utils.js +0 -12
- package/lib/hooks/authentication/auth/useAuthReducer.d.ts +2 -0
- package/lib/hooks/authentication/auth/useAuthReducer.js +8 -0
- package/lib/hooks/authentication/authentication/useAuthenticationReducer.d.ts +2 -0
- package/lib/hooks/authentication/authentication/useAuthenticationReducer.js +8 -0
- package/lib/hooks/authentication/config/useAuthenticationConfig.d.ts +6 -0
- package/lib/hooks/authentication/config/useAuthenticationConfig.js +9 -0
- package/lib/hooks/authentication/credentials/useCredentialsReducer.d.ts +2 -0
- package/lib/hooks/authentication/credentials/useCredentialsReducer.js +7 -0
- package/lib/hooks/authentication/profile/types.d.ts +5 -0
- package/lib/hooks/authentication/profile/types.js +1 -0
- package/lib/hooks/authentication/profile/useProfile.d.ts +6 -0
- package/lib/hooks/authentication/profile/useProfile.js +15 -0
- package/lib/hooks/authentication/providers/types.d.ts +6 -0
- package/lib/hooks/authentication/providers/types.js +1 -0
- package/lib/hooks/authentication/providers/useProviders.d.ts +6 -0
- package/lib/hooks/authentication/providers/useProviders.js +14 -0
- package/lib/hooks/authentication/session/useSessionActive.d.ts +12 -0
- package/lib/hooks/authentication/session/useSessionActive.js +36 -0
- package/lib/hooks/authentication/session/useSessionCallbackUrl.d.ts +4 -0
- package/lib/hooks/authentication/session/useSessionCallbackUrl.js +20 -0
- package/lib/hooks/authentication/session/useSessionIdleTimer.d.ts +6 -0
- package/lib/hooks/authentication/session/useSessionIdleTimer.js +8 -0
- package/lib/hooks/{useSessionTimeout.js → authentication/session/useSessionTimeout.js} +2 -2
- package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.d.ts +0 -1
- package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.js +6 -9
- package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.js +3 -4
- package/lib/hooks/authentication/token/types.d.ts +4 -0
- package/lib/hooks/authentication/token/types.js +1 -0
- package/lib/hooks/authentication/token/useToken.d.ts +2 -0
- package/lib/hooks/authentication/token/useToken.js +5 -0
- package/lib/hooks/authentication/token/useTokenReducer.d.ts +7 -0
- package/lib/hooks/authentication/token/useTokenReducer.js +12 -0
- package/lib/hooks/useEntityList.js +2 -2
- package/lib/hooks/useFetchEntity.js +4 -3
- package/lib/hooks/useFileManifest/useFetchFilesFacets.js +2 -3
- package/lib/hooks/useFileManifest/useFetchSummary.js +2 -3
- package/lib/hooks/useRequestFileLocation.js +2 -3
- package/lib/hooks/useRouteHistory.d.ts +14 -0
- package/lib/hooks/useRouteHistory.js +40 -0
- package/lib/hooks/useRouteRoot.d.ts +1 -0
- package/lib/hooks/useRouteRoot.js +8 -0
- package/lib/hooks/useSummary.js +3 -3
- package/lib/providers/authentication/auth/actions.d.ts +8 -0
- package/lib/providers/authentication/auth/actions.js +12 -0
- package/lib/providers/authentication/auth/constants.d.ts +2 -0
- package/lib/providers/authentication/auth/constants.js +5 -0
- package/lib/providers/authentication/auth/context.d.ts +2 -0
- package/lib/providers/authentication/auth/context.js +7 -0
- package/lib/providers/authentication/auth/dispatch.d.ts +23 -0
- package/lib/providers/authentication/auth/dispatch.js +43 -0
- package/lib/providers/authentication/auth/hook.d.ts +6 -0
- package/lib/providers/authentication/auth/hook.js +9 -0
- package/lib/providers/authentication/auth/reducer.d.ts +8 -0
- package/lib/providers/authentication/auth/reducer.js +24 -0
- package/lib/providers/authentication/auth/types.d.ts +48 -0
- package/lib/providers/authentication/auth/types.js +11 -0
- package/lib/providers/authentication/authentication/actions.d.ts +8 -0
- package/lib/providers/authentication/authentication/actions.js +12 -0
- package/lib/providers/authentication/authentication/constants.d.ts +2 -0
- package/lib/providers/authentication/authentication/constants.js +5 -0
- package/lib/providers/authentication/authentication/context.d.ts +2 -0
- package/lib/providers/authentication/authentication/context.js +6 -0
- package/lib/providers/authentication/authentication/dispatch.d.ts +22 -0
- package/lib/providers/authentication/authentication/dispatch.js +42 -0
- package/lib/providers/authentication/authentication/hook.d.ts +6 -0
- package/lib/providers/authentication/authentication/hook.js +9 -0
- package/lib/providers/authentication/authentication/reducer.d.ts +9 -0
- package/lib/providers/authentication/authentication/reducer.js +25 -0
- package/lib/providers/authentication/authentication/types.d.ts +47 -0
- package/lib/providers/authentication/authentication/types.js +11 -0
- package/lib/providers/authentication/authentication/utils.d.ts +12 -0
- package/lib/providers/authentication/authentication/utils.js +18 -0
- package/lib/providers/authentication/common/types.d.ts +1 -0
- package/lib/providers/authentication/common/types.js +1 -0
- package/lib/providers/authentication/common/utils.d.ts +6 -0
- package/lib/providers/authentication/common/utils.js +11 -0
- package/lib/providers/authentication/credentials/actions.d.ts +8 -0
- package/lib/providers/authentication/credentials/actions.js +12 -0
- package/lib/providers/authentication/credentials/constants.d.ts +2 -0
- package/lib/providers/authentication/credentials/constants.js +3 -0
- package/lib/providers/authentication/credentials/context.d.ts +2 -0
- package/lib/providers/authentication/credentials/context.js +6 -0
- package/lib/providers/authentication/credentials/dispatch.d.ts +12 -0
- package/lib/providers/authentication/credentials/dispatch.js +22 -0
- package/lib/providers/authentication/credentials/hook.d.ts +6 -0
- package/lib/providers/authentication/credentials/hook.js +9 -0
- package/lib/providers/authentication/credentials/reducer.d.ts +8 -0
- package/lib/providers/authentication/credentials/reducer.js +22 -0
- package/lib/providers/authentication/credentials/types.d.ts +24 -0
- package/lib/providers/authentication/credentials/types.js +5 -0
- package/lib/providers/authentication/terra/context.d.ts +2 -0
- package/lib/providers/authentication/terra/context.js +7 -0
- package/lib/providers/authentication/terra/hook.d.ts +6 -0
- package/lib/providers/authentication/terra/hook.js +9 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.d.ts +2 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.js +7 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.d.ts +3 -7
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.js +1 -5
- package/lib/providers/authentication/terra/hooks/useFetchProfiles.d.ts +13 -0
- package/lib/providers/authentication/terra/hooks/useFetchProfiles.js +31 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.js +11 -6
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.js +11 -6
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.js +11 -6
- package/lib/providers/authentication/terra/hooks/utils.d.ts +16 -0
- package/lib/providers/authentication/terra/hooks/utils.js +19 -0
- package/lib/providers/authentication/terra/provider.d.ts +2 -0
- package/lib/providers/authentication/terra/provider.js +42 -0
- package/lib/providers/authentication/terra/types.d.ts +20 -0
- package/lib/providers/authentication/terra/types.js +6 -0
- package/lib/providers/authentication/terra/utils.d.ts +19 -0
- package/lib/providers/authentication/terra/utils.js +36 -0
- package/lib/providers/authentication/token/constants.d.ts +2 -0
- package/lib/providers/authentication/token/constants.js +4 -0
- package/lib/providers/authentication/token/dispatch.d.ts +12 -0
- package/lib/providers/authentication/token/dispatch.js +22 -0
- package/lib/providers/authentication/token/reducer.d.ts +8 -0
- package/lib/providers/authentication/token/reducer.js +22 -0
- package/lib/providers/authentication/token/types.d.ts +28 -0
- package/lib/providers/authentication/token/types.js +5 -0
- package/lib/providers/exploreState/actions/updateGrouping/action.d.ts +10 -0
- package/lib/providers/exploreState/actions/updateGrouping/action.js +16 -0
- package/lib/providers/exploreState/actions/updateGrouping/dispatch.d.ts +7 -0
- package/lib/providers/exploreState/actions/updateGrouping/dispatch.js +12 -0
- package/lib/providers/exploreState/actions/updateGrouping/types.d.ts +9 -0
- package/lib/providers/exploreState/actions/updateGrouping/types.js +1 -0
- package/lib/providers/exploreState/actions/updateGrouping/utils.d.ts +10 -0
- package/lib/providers/exploreState/actions/updateGrouping/utils.js +26 -0
- package/lib/providers/exploreState/entities.d.ts +3 -4
- package/lib/providers/exploreState/initializer/utils.js +41 -8
- package/lib/providers/exploreState/payloads/entities.d.ts +2 -1
- package/lib/providers/exploreState/utils.d.ts +6 -4
- package/lib/providers/exploreState/utils.js +7 -4
- package/lib/providers/exploreState.d.ts +3 -1
- package/lib/providers/exploreState.js +18 -10
- package/lib/providers/googleSignInAuthentication/common/types.d.ts +17 -0
- package/lib/providers/googleSignInAuthentication/common/types.js +1 -0
- package/lib/providers/googleSignInAuthentication/constants.d.ts +4 -0
- package/lib/providers/googleSignInAuthentication/constants.js +12 -0
- package/lib/providers/googleSignInAuthentication/hooks/useGoogleSignInService.d.ts +3 -0
- package/lib/providers/googleSignInAuthentication/hooks/useGoogleSignInService.js +36 -0
- package/lib/providers/googleSignInAuthentication/profile/types.d.ts +14 -0
- package/lib/providers/googleSignInAuthentication/profile/types.js +1 -0
- package/lib/providers/googleSignInAuthentication/profile/utils.d.ts +8 -0
- package/lib/providers/googleSignInAuthentication/profile/utils.js +25 -0
- package/lib/providers/googleSignInAuthentication/provider.d.ts +2 -0
- package/lib/providers/googleSignInAuthentication/provider.js +40 -0
- package/lib/providers/googleSignInAuthentication/service/constants.d.ts +4 -0
- package/lib/providers/googleSignInAuthentication/service/constants.js +9 -0
- package/lib/providers/googleSignInAuthentication/service/service.d.ts +6 -0
- package/lib/providers/googleSignInAuthentication/service/service.js +43 -0
- package/lib/providers/googleSignInAuthentication/types.d.ts +6 -0
- package/lib/providers/googleSignInAuthentication/types.js +1 -0
- package/lib/providers/nextAuthAuthentication/hooks/useNextAuthService.d.ts +2 -0
- package/lib/providers/nextAuthAuthentication/hooks/useNextAuthService.js +14 -0
- package/lib/providers/nextAuthAuthentication/provider.d.ts +2 -0
- package/lib/providers/nextAuthAuthentication/provider.js +30 -0
- package/lib/providers/nextAuthAuthentication/service/service.d.ts +6 -0
- package/lib/providers/nextAuthAuthentication/service/service.js +12 -0
- package/lib/providers/nextAuthAuthentication/types.d.ts +8 -0
- package/lib/providers/nextAuthAuthentication/types.js +1 -0
- package/lib/routes/constants.d.ts +3 -0
- package/lib/routes/constants.js +3 -0
- package/lib/styles/common/mui/button.d.ts +3 -0
- package/lib/styles/common/mui/button.js +17 -0
- package/lib/styles/common/mui/paper.d.ts +2 -0
- package/lib/styles/common/mui/paper.js +9 -0
- package/lib/styles/common/mui/popover.d.ts +3 -0
- package/lib/styles/common/mui/popover.js +10 -0
- package/lib/theme/common/entities.d.ts +6 -0
- package/lib/theme/common/entities.js +1 -0
- package/lib/views/ExploreView/exploreView.js +2 -2
- package/lib/views/LoginView/loginView.d.ts +5 -1
- package/lib/views/LoginView/loginView.js +6 -4
- package/package.json +3 -2
- package/src/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.tsx +38 -0
- package/src/components/Authentication/components/SessionController/components/GoogleSessionController/types.ts +7 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/SessionController.tsx +23 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/constants.ts +21 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/types.ts +5 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/utils.ts +74 -0
- package/src/components/ComponentCreator/ComponentCreator.tsx +4 -3
- package/src/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +2 -0
- package/src/components/Detail/components/Table/components/TableRows/tableRows.tsx +3 -18
- package/src/components/Export/components/ExportForm/components/ExportFileSummaryForm/exportFileSummaryForm.tsx +28 -32
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.tsx +4 -4
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.tsx +1 -1
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/terraSetUpForm.tsx +9 -6
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.tsx +27 -25
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.ts +2 -2
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.tsx +18 -42
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.ts +19 -0
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.ts +3 -2
- package/src/components/Layout/components/Header/header.tsx +1 -1
- package/src/components/Links/components/Link/components/ExploreViewLink/exploreViewLink.tsx +27 -13
- package/src/components/Login/components/Button/button.styles.ts +12 -0
- package/src/components/Login/components/Button/button.tsx +8 -0
- package/src/components/Login/components/Button/constants.ts +8 -0
- package/src/components/Login/components/Button/types.ts +4 -0
- package/src/components/Login/login.tsx +28 -28
- package/src/components/Login/types.ts +11 -0
- package/src/components/Table/common/columnDef.ts +1 -0
- package/src/components/Table/common/gridTable.styles.ts +5 -11
- package/src/components/Table/common/utils.ts +44 -107
- package/src/components/Table/components/TableBody/hooks/virtualizer/constants.ts +3 -0
- package/src/components/Table/components/TableBody/hooks/virtualizer/hook.ts +23 -0
- package/src/components/Table/components/TableBody/hooks/virtualizer/types.ts +5 -0
- package/src/components/Table/components/TableBody/tableBody.tsx +14 -30
- package/src/components/Table/components/TableBody/utils.ts +21 -0
- package/src/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.tsx +14 -15
- package/src/components/Table/components/TableFeatures/ColumnGrouping/utils.ts +70 -0
- package/src/components/Table/components/TableFeatures/ColumnVisibility/utils.ts +52 -0
- package/src/components/Table/components/TableFeatures/RowSorting/utils.ts +87 -0
- package/src/components/Table/components/TableHead/tableHead.tsx +21 -29
- package/src/components/Table/components/TableHead/types.ts +7 -0
- package/src/components/Table/components/TableHead/utils.ts +42 -0
- package/src/components/Table/components/TableRow/tableRow.styles.ts +19 -2
- package/src/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +8 -2
- package/src/components/Table/components/TableRows/components/CollapsableRows/hook.ts +20 -0
- package/src/components/Table/components/TableRows/tableRows.tsx +18 -15
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.styles.ts +17 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.tsx +54 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.tsx +28 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.ts +8 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/constants.ts +17 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/types.ts +5 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/utils.ts +45 -0
- package/src/components/Table/components/TableToolbar/components/RowSelection/components/DropdownMenu/dropdownMenu.tsx +7 -20
- package/src/components/Table/components/TableToolbar/tableToolbar.tsx +8 -2
- package/src/components/Table/features/RowPosition/constants.ts +2 -2
- package/src/components/Table/features/RowPosition/utils.ts +10 -5
- package/src/components/Table/options/updater.ts +29 -0
- package/src/components/Table/table.tsx +43 -25
- package/src/components/TableCreator/common/constants.ts +4 -6
- package/src/components/TableCreator/common/utils.ts +14 -7
- package/src/components/TableCreator/options/expanded/constants.ts +14 -0
- package/src/components/TableCreator/options/expanded/hook.ts +6 -0
- package/src/components/TableCreator/options/grouping/constants.ts +6 -0
- package/src/components/TableCreator/options/grouping/hook.ts +17 -0
- package/src/components/TableCreator/options/hook.ts +31 -0
- package/src/components/TableCreator/options/rowSelection/constants.ts +10 -0
- package/src/components/TableCreator/options/rowSelection/hook.ts +8 -0
- package/src/components/TableCreator/options/sorting/constants.ts +10 -0
- package/src/components/TableCreator/options/sorting/hook.ts +6 -0
- package/src/components/TableCreator/tableCreator.tsx +4 -11
- package/src/components/common/Banner/components/SessionTimeout/sessionTimeout.tsx +1 -1
- package/src/components/common/CustomIcon/common/entities.ts +1 -4
- package/src/components/common/CustomIcon/components/GoogleIcon/googleIcon.tsx +3 -4
- package/src/components/common/DropdownMenu/dropdownMenu.styles.ts +1 -1
- package/src/components/common/DropdownMenu/dropdownMenu.tsx +19 -17
- package/src/components/common/Menu/hooks/useMenu.ts +8 -9
- package/src/config/entities.ts +30 -34
- package/src/config/utils.ts +0 -14
- package/src/hooks/authentication/auth/useAuthReducer.ts +16 -0
- package/src/hooks/authentication/authentication/useAuthenticationReducer.ts +16 -0
- package/src/hooks/authentication/config/useAuthenticationConfig.ts +13 -0
- package/src/hooks/authentication/credentials/useCredentialsReducer.ts +13 -0
- package/src/hooks/authentication/profile/types.ts +9 -0
- package/src/hooks/authentication/profile/useProfile.ts +21 -0
- package/src/hooks/authentication/providers/types.ts +7 -0
- package/src/hooks/authentication/providers/useProviders.ts +23 -0
- package/src/hooks/authentication/session/useSessionActive.ts +51 -0
- package/src/hooks/authentication/session/useSessionCallbackUrl.ts +25 -0
- package/src/hooks/authentication/session/useSessionIdleTimer.ts +10 -0
- package/src/hooks/{useSessionTimeout.ts → authentication/session/useSessionTimeout.ts} +2 -2
- package/src/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.ts +8 -13
- package/src/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.ts +3 -4
- package/src/hooks/authentication/token/types.ts +5 -0
- package/src/hooks/authentication/token/useToken.ts +9 -0
- package/src/hooks/authentication/token/useTokenReducer.ts +19 -0
- package/src/hooks/useEntityList.ts +2 -2
- package/src/hooks/useFetchEntity.tsx +3 -3
- package/src/hooks/useFileManifest/useFetchFilesFacets.ts +2 -3
- package/src/hooks/useFileManifest/useFetchSummary.ts +2 -3
- package/src/hooks/useRequestFileLocation.ts +2 -3
- package/src/hooks/useRouteHistory.ts +65 -0
- package/src/hooks/useRouteRoot.ts +11 -0
- package/src/hooks/useSummary.ts +3 -3
- package/src/providers/authentication/auth/actions.ts +17 -0
- package/src/providers/authentication/auth/constants.ts +6 -0
- package/src/providers/authentication/auth/context.ts +9 -0
- package/src/providers/authentication/auth/dispatch.ts +58 -0
- package/src/providers/authentication/auth/hook.ts +11 -0
- package/src/providers/authentication/auth/reducer.ts +25 -0
- package/src/providers/authentication/auth/types.ts +63 -0
- package/src/providers/authentication/authentication/actions.ts +17 -0
- package/src/providers/authentication/authentication/constants.ts +6 -0
- package/src/providers/authentication/authentication/context.ts +8 -0
- package/src/providers/authentication/authentication/dispatch.ts +55 -0
- package/src/providers/authentication/authentication/hook.ts +11 -0
- package/src/providers/authentication/authentication/reducer.ts +34 -0
- package/src/providers/authentication/authentication/types.ts +64 -0
- package/src/providers/authentication/authentication/utils.ts +25 -0
- package/src/providers/authentication/common/types.ts +1 -0
- package/src/providers/authentication/common/utils.ts +11 -0
- package/src/providers/authentication/credentials/actions.ts +17 -0
- package/src/providers/authentication/credentials/constants.ts +5 -0
- package/src/providers/authentication/credentials/context.ts +8 -0
- package/src/providers/authentication/credentials/dispatch.ts +31 -0
- package/src/providers/authentication/credentials/hook.ts +11 -0
- package/src/providers/authentication/credentials/reducer.ts +30 -0
- package/src/providers/authentication/credentials/types.ts +33 -0
- package/src/providers/authentication/terra/context.ts +16 -0
- package/src/providers/authentication/terra/hook.ts +11 -0
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.ts +9 -0
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.ts +1 -7
- package/src/providers/authentication/terra/hooks/useFetchProfiles.ts +61 -0
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.ts +18 -7
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.ts +18 -7
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.ts +18 -7
- package/src/providers/authentication/terra/hooks/utils.ts +29 -0
- package/src/providers/authentication/terra/provider.tsx +60 -0
- package/src/providers/authentication/terra/types.ts +23 -0
- package/src/providers/authentication/terra/utils.ts +49 -0
- package/src/providers/authentication/token/constants.ts +6 -0
- package/src/providers/authentication/token/dispatch.ts +29 -0
- package/src/providers/authentication/token/reducer.ts +26 -0
- package/src/providers/authentication/token/types.ts +36 -0
- package/src/providers/exploreState/actions/updateGrouping/action.ts +26 -0
- package/src/providers/exploreState/actions/updateGrouping/dispatch.ts +16 -0
- package/src/providers/exploreState/actions/updateGrouping/types.ts +11 -0
- package/src/providers/exploreState/actions/updateGrouping/utils.ts +33 -0
- package/src/providers/exploreState/entities.ts +3 -3
- package/src/providers/exploreState/initializer/utils.ts +58 -10
- package/src/providers/exploreState/payloads/entities.ts +2 -0
- package/src/providers/exploreState/utils.ts +10 -7
- package/src/providers/exploreState.tsx +32 -10
- package/src/providers/googleSignInAuthentication/common/types.ts +28 -0
- package/src/providers/googleSignInAuthentication/constants.ts +17 -0
- package/src/providers/googleSignInAuthentication/hooks/useGoogleSignInService.ts +53 -0
- package/src/providers/googleSignInAuthentication/profile/types.ts +15 -0
- package/src/providers/googleSignInAuthentication/profile/utils.ts +29 -0
- package/src/providers/googleSignInAuthentication/provider.tsx +53 -0
- package/src/providers/googleSignInAuthentication/service/constants.ts +16 -0
- package/src/providers/googleSignInAuthentication/service/service.ts +68 -0
- package/src/providers/googleSignInAuthentication/types.ts +7 -0
- package/src/providers/nextAuthAuthentication/hooks/useNextAuthService.ts +26 -0
- package/src/providers/nextAuthAuthentication/provider.tsx +42 -0
- package/src/providers/nextAuthAuthentication/service/service.ts +14 -0
- package/src/providers/nextAuthAuthentication/types.ts +9 -0
- package/src/routes/constants.ts +3 -0
- package/src/styles/common/mui/button.ts +20 -0
- package/src/styles/common/mui/paper.ts +11 -0
- package/src/styles/common/mui/popover.ts +19 -0
- package/src/theme/common/entities.ts +7 -0
- package/src/views/ExploreView/exploreView.tsx +1 -3
- package/src/views/LoginView/loginView.tsx +15 -9
- package/tests/getProfileStatus.test.ts +290 -0
- package/tests/terraProfileProvider.test.tsx +121 -0
- package/tests/transformRoute.test.ts +21 -0
- package/tests/useRouteHistory.test.ts +97 -0
- package/tests/useSessionActive.test.ts +107 -0
- package/types/data-explorer-ui.d.ts +8 -1
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.d.ts +0 -5
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.js +0 -29
- package/lib/components/Login/login.stories.d.ts +0 -6
- package/lib/components/Login/login.stories.js +0 -31
- package/lib/components/TableCreator/common/entities.d.ts +0 -5
- package/lib/components/common/Button/components/LoginButton/loginButton.d.ts +0 -3
- package/lib/components/common/Button/components/LoginButton/loginButton.js +0 -6
- package/lib/components/common/Button/components/LoginButton/loginButton.styles.d.ts +0 -7
- package/lib/components/common/Button/components/LoginButton/loginButton.styles.js +0 -11
- package/lib/hooks/useAuthentication/useAuthentication.d.ts +0 -6
- package/lib/hooks/useAuthentication/useAuthentication.js +0 -9
- package/lib/hooks/useAuthentication/useAuthenticationComplete.d.ts +0 -6
- package/lib/hooks/useAuthentication/useAuthenticationComplete.js +0 -55
- package/lib/hooks/useAuthentication/useAuthenticationStatus.d.ts +0 -20
- package/lib/hooks/useAuthentication/useAuthenticationStatus.js +0 -32
- package/lib/hooks/useAuthentication/useFetchGoogleProfile.d.ts +0 -21
- package/lib/hooks/useAuthentication/useFetchGoogleProfile.js +0 -41
- package/lib/hooks/useAuthentication/useTokenClient.d.ts +0 -11
- package/lib/hooks/useAuthentication/useTokenClient.js +0 -29
- package/lib/hooks/useAuthenticationConfig.d.ts +0 -6
- package/lib/hooks/useAuthenticationConfig.js +0 -14
- package/lib/providers/authentication.d.ts +0 -51
- package/lib/providers/authentication.js +0 -110
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.tsx +0 -35
- package/src/components/Login/login.stories.tsx +0 -43
- package/src/components/TableCreator/common/entities.ts +0 -6
- package/src/components/common/Button/components/LoginButton/loginButton.styles.ts +0 -13
- package/src/components/common/Button/components/LoginButton/loginButton.tsx +0 -16
- package/src/hooks/useAuthentication/useAuthentication.tsx +0 -10
- package/src/hooks/useAuthentication/useAuthenticationComplete.ts +0 -66
- package/src/hooks/useAuthentication/useAuthenticationStatus.ts +0 -49
- package/src/hooks/useAuthentication/useFetchGoogleProfile.ts +0 -68
- package/src/hooks/useAuthentication/useTokenClient.ts +0 -54
- package/src/hooks/useAuthenticationConfig.ts +0 -18
- package/src/providers/authentication.tsx +0 -181
- package/tests/authentication.test.ts +0 -142
- package/tests/useAuthenticationStatus.test.ts +0 -155
- /package/lib/components/{TableCreator/common/entities.js → Authentication/components/SessionController/components/GoogleSessionController/types.js} +0 -0
- /package/lib/hooks/{useSessionTimeout.d.ts → authentication/session/useSessionTimeout.d.ts} +0 -0
- /package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.js +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.d.ts +0 -0
- /package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.ts +0 -0
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { PopperProps as MPopperProps } from "@mui/material";
|
|
2
1
|
import { MouseEvent } from "react";
|
|
3
|
-
export interface UseMenu {
|
|
4
|
-
anchorEl:
|
|
2
|
+
export interface UseMenu<E extends HTMLElement> {
|
|
3
|
+
anchorEl: E | null;
|
|
5
4
|
onClose: () => void;
|
|
6
5
|
onDisableScrollLock: () => void;
|
|
7
6
|
onEnableScrollLock: () => void;
|
|
8
|
-
onOpen: (event: MouseEvent<
|
|
9
|
-
onToggleOpen: (event: MouseEvent<
|
|
7
|
+
onOpen: (event: MouseEvent<E>) => void;
|
|
8
|
+
onToggleOpen: (event: MouseEvent<E>) => void;
|
|
10
9
|
open: boolean;
|
|
11
10
|
}
|
|
12
11
|
/**
|
|
13
12
|
* Menu functionality for menu dropdown, with menu position.
|
|
14
13
|
* @returns menu functionality.
|
|
15
14
|
*/
|
|
16
|
-
export declare const useMenu: () => UseMenu
|
|
15
|
+
export declare const useMenu: <E extends HTMLElement>() => UseMenu<E>;
|
package/lib/config/entities.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { TabProps as MTabProps, Theme, ThemeOptions } from "@mui/material";
|
|
2
|
-
import { CellContext, ColumnMeta, ColumnSort, RowData, Table, TableOptions } from "@tanstack/react-table";
|
|
2
|
+
import { CellContext, ColumnDef, ColumnMeta, ColumnSort, GroupingState, RowData, Table, TableOptions } from "@tanstack/react-table";
|
|
3
3
|
import { JSXElementConstructor, ReactNode } from "react";
|
|
4
4
|
import { SelectCategoryValueView, SelectedFilter } from "../common/entities";
|
|
5
5
|
import { HeroTitle } from "../components/common/Title/title";
|
|
6
6
|
import { FooterProps } from "../components/Layout/components/Footer/footer";
|
|
7
7
|
import { HeaderProps } from "../components/Layout/components/Header/header";
|
|
8
8
|
import { ExploreMode } from "../hooks/useExploreMode";
|
|
9
|
-
import {
|
|
9
|
+
import { AuthState } from "../providers/authentication/auth/types";
|
|
10
|
+
import { UserProfile } from "../providers/authentication/authentication/types";
|
|
11
|
+
import { ProviderId } from "../providers/authentication/common/types";
|
|
10
12
|
import { ExploreState } from "../providers/exploreState";
|
|
11
13
|
import { FileManifestState } from "../providers/fileManifestState";
|
|
12
14
|
import { SystemStatus, SystemStatusResponse } from "../providers/systemStatus";
|
|
@@ -22,13 +24,17 @@ export interface AnalyticsConfig {
|
|
|
22
24
|
* Interface to define the authentication configuration for a given site.
|
|
23
25
|
*/
|
|
24
26
|
export interface AuthenticationConfig {
|
|
25
|
-
|
|
27
|
+
providers?: OAuthProvider[];
|
|
28
|
+
services?: AuthService[];
|
|
26
29
|
termsOfService?: ReactNode;
|
|
27
|
-
terraAuthConfig?: TerraAuthConfig;
|
|
28
30
|
text?: ReactNode;
|
|
29
31
|
title: string;
|
|
30
32
|
warning?: ReactNode;
|
|
31
33
|
}
|
|
34
|
+
export interface AuthService {
|
|
35
|
+
endpoint: Record<string, string>;
|
|
36
|
+
id: string;
|
|
37
|
+
}
|
|
32
38
|
/**
|
|
33
39
|
* Interface to define the set of components that will be used for the back page.
|
|
34
40
|
*/
|
|
@@ -70,19 +76,19 @@ export interface CategoryConfig {
|
|
|
70
76
|
}
|
|
71
77
|
/**
|
|
72
78
|
* Column configuration.
|
|
79
|
+
* TanStack ColumnDef properties not currently supported include:
|
|
80
|
+
* - `enableMultiSort` - Note, table multi-sort is managed via table options.
|
|
73
81
|
*/
|
|
74
|
-
export
|
|
82
|
+
export type ColumnConfig<T extends RowData, TValue = unknown, C extends keyof JSX.IntrinsicElements | JSXElementConstructor<any> = any> = Omit<ColumnDef<T, TValue>, "enableMultiSort"> & {
|
|
75
83
|
columnPinned?: boolean;
|
|
76
84
|
columnVisible?: boolean;
|
|
77
85
|
componentConfig: ComponentConfig<C, T>;
|
|
78
86
|
disableHiding?: boolean;
|
|
79
|
-
disableSorting?: boolean;
|
|
80
87
|
header: string;
|
|
81
88
|
id: string;
|
|
82
89
|
meta?: ColumnMeta<T, unknown>;
|
|
83
|
-
tooltip?: string;
|
|
84
90
|
width: GridTrackSize;
|
|
85
|
-
}
|
|
91
|
+
};
|
|
86
92
|
/**
|
|
87
93
|
* Interface used to define the configuration of a component.
|
|
88
94
|
* This will be used by @see ComponentCreator to create a React component with the given props and
|
|
@@ -169,14 +175,6 @@ export type GetIdFunction<T> = (detail: T) => string;
|
|
|
169
175
|
* Get title function.
|
|
170
176
|
*/
|
|
171
177
|
export type GetTitleFunction<T> = (detail?: T) => string | undefined;
|
|
172
|
-
/**
|
|
173
|
-
* Google GIS authentication configuration.
|
|
174
|
-
*/
|
|
175
|
-
export interface GoogleGISAuthConfig {
|
|
176
|
-
clientId: string;
|
|
177
|
-
googleProfileEndpoint: string;
|
|
178
|
-
scope: string;
|
|
179
|
-
}
|
|
180
178
|
/**
|
|
181
179
|
* Grid track configuration.
|
|
182
180
|
*/
|
|
@@ -213,19 +211,24 @@ export interface ListViewConfig {
|
|
|
213
211
|
disablePagination?: boolean;
|
|
214
212
|
enableDownload?: boolean;
|
|
215
213
|
enableRowPreview?: boolean;
|
|
216
|
-
enableRowSelection?: boolean;
|
|
217
214
|
enableTab?: boolean;
|
|
218
215
|
listHero?: ComponentsConfig;
|
|
219
216
|
rowPreviewView?: ComponentsConfig;
|
|
220
217
|
rowSelectionView?: ComponentsConfig;
|
|
221
218
|
subTitleHero?: ComponentsConfig;
|
|
222
219
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
220
|
+
export interface OAuthProvider<P = any> {
|
|
221
|
+
authorization: {
|
|
222
|
+
params: {
|
|
223
|
+
scope: string;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
clientId: string;
|
|
227
|
+
icon: ReactNode;
|
|
228
|
+
id: ProviderId;
|
|
229
|
+
name: string;
|
|
230
|
+
profile: (profile: P) => UserProfile;
|
|
231
|
+
userinfo: string;
|
|
229
232
|
}
|
|
230
233
|
/**
|
|
231
234
|
* Option Method.
|
|
@@ -250,6 +253,7 @@ export interface Override {
|
|
|
250
253
|
}
|
|
251
254
|
export interface SavedFilter {
|
|
252
255
|
filters: SelectedFilter[];
|
|
256
|
+
grouping?: GroupingState;
|
|
253
257
|
sorting?: ColumnSort[];
|
|
254
258
|
title: string;
|
|
255
259
|
}
|
|
@@ -345,11 +349,6 @@ export interface TabConfig {
|
|
|
345
349
|
tabIconPosition?: MTabProps["iconPosition"];
|
|
346
350
|
tabName?: string;
|
|
347
351
|
}
|
|
348
|
-
export interface TerraAuthConfig {
|
|
349
|
-
termsOfServiceEndpoint: string;
|
|
350
|
-
terraNIHProfileEndpoint?: string;
|
|
351
|
-
terraProfileEndpoint: string;
|
|
352
|
-
}
|
|
353
352
|
/**
|
|
354
353
|
* Theme options function.
|
|
355
354
|
* Defines theme options, and provides a reference to the specified theme.
|
|
@@ -359,7 +358,7 @@ export type ThemeOptionsFn = (theme: Theme) => ThemeOptions;
|
|
|
359
358
|
* View context.
|
|
360
359
|
*/
|
|
361
360
|
export interface ViewContext<T extends RowData, TData = unknown> {
|
|
362
|
-
authState: Pick<
|
|
361
|
+
authState: Pick<AuthState, "isAuthenticated">;
|
|
363
362
|
cellContext?: CellContext<T, TData>;
|
|
364
363
|
entityConfig: EntityConfig;
|
|
365
364
|
exploreState: ExploreState;
|
package/lib/config/utils.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ColumnSort } from "@tanstack/react-table";
|
|
2
1
|
import { EntityConfig, SiteConfig } from "./entities";
|
|
3
2
|
/**
|
|
4
3
|
* Returns context default config for config provider.
|
|
@@ -10,12 +9,6 @@ export declare function getDefaultConfig(): SiteConfig;
|
|
|
10
9
|
* @returns context default entity config for config provider.
|
|
11
10
|
*/
|
|
12
11
|
export declare function getDefaultEntityConfig(): EntityConfig;
|
|
13
|
-
/**
|
|
14
|
-
* Returns the initial table sorting state for the specified entity list configuration.
|
|
15
|
-
* @param entityConfig - Entity configuration.
|
|
16
|
-
* @returns initial sorting state.
|
|
17
|
-
*/
|
|
18
|
-
export declare function getDefaultSorting(entityConfig: EntityConfig): ColumnSort[];
|
|
19
12
|
/**
|
|
20
13
|
* Returns the entity config for the given entity list type.
|
|
21
14
|
* @param entities - Entities config.
|
package/lib/config/utils.js
CHANGED
|
@@ -46,18 +46,6 @@ export function getDefaultEntityConfig() {
|
|
|
46
46
|
route: "",
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Returns the initial table sorting state for the specified entity list configuration.
|
|
51
|
-
* @param entityConfig - Entity configuration.
|
|
52
|
-
* @returns initial sorting state.
|
|
53
|
-
*/
|
|
54
|
-
export function getDefaultSorting(entityConfig) {
|
|
55
|
-
const columnSort = entityConfig.list.defaultSort;
|
|
56
|
-
if (!columnSort) {
|
|
57
|
-
return [];
|
|
58
|
-
}
|
|
59
|
-
return [columnSort];
|
|
60
|
-
}
|
|
61
49
|
/**
|
|
62
50
|
* Returns the entity config for the given entity list type.
|
|
63
51
|
* @param entities - Entities config.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useReducer } from "react";
|
|
2
|
+
import { DEFAULT_AUTH_STATE } from "../../../providers/authentication/auth/constants";
|
|
3
|
+
import { authReducer } from "../../../providers/authentication/auth/reducer";
|
|
4
|
+
import { initializer } from "../../../providers/authentication/common/utils";
|
|
5
|
+
export const useAuthReducer = (initialState = DEFAULT_AUTH_STATE) => {
|
|
6
|
+
const [authState, authDispatch] = useReducer(authReducer, initialState, initializer);
|
|
7
|
+
return { authDispatch, authState };
|
|
8
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { AuthenticationContextProps } from "../../../providers/authentication/authentication/types";
|
|
2
|
+
export declare const useAuthenticationReducer: (initialState?: import("../../../providers/authentication/authentication/types").AuthenticationState) => AuthenticationContextProps;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useReducer } from "react";
|
|
2
|
+
import { DEFAULT_AUTHENTICATION_STATE } from "../../../providers/authentication/authentication/constants";
|
|
3
|
+
import { authenticationReducer } from "../../../providers/authentication/authentication/reducer";
|
|
4
|
+
import { initializer } from "../../../providers/authentication/common/utils";
|
|
5
|
+
export const useAuthenticationReducer = (initialState = DEFAULT_AUTHENTICATION_STATE) => {
|
|
6
|
+
const [authenticationState, authenticationDispatch] = useReducer(authenticationReducer, initialState, initializer);
|
|
7
|
+
return { authenticationDispatch, authenticationState };
|
|
8
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useConfig } from "../../useConfig";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the authentication configuration.
|
|
4
|
+
* @returns authentication configuration.
|
|
5
|
+
*/
|
|
6
|
+
export const useAuthenticationConfig = () => {
|
|
7
|
+
const { config: { authentication }, } = useConfig();
|
|
8
|
+
return authentication;
|
|
9
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { useReducer } from "react";
|
|
2
|
+
import { DEFAULT_CREDENTIALS_STATE } from "../../../providers/authentication/credentials/constants";
|
|
3
|
+
import { credentialsReducer } from "../../../providers/authentication/credentials/reducer";
|
|
4
|
+
export const useCredentialsReducer = () => {
|
|
5
|
+
const [credentialsState, credentialsDispatch] = useReducer(credentialsReducer, undefined, () => DEFAULT_CREDENTIALS_STATE);
|
|
6
|
+
return { credentialsDispatch, credentialsState };
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useAuth } from "../../../providers/authentication/auth/hook";
|
|
2
|
+
import { AUTH_STATUS } from "../../../providers/authentication/auth/types";
|
|
3
|
+
import { useAuthentication } from "../../../providers/authentication/authentication/hook";
|
|
4
|
+
/**
|
|
5
|
+
* Profile hook - returns user profile.
|
|
6
|
+
* @returns user profile.
|
|
7
|
+
*/
|
|
8
|
+
export const useProfile = () => {
|
|
9
|
+
const { authState: { status }, } = useAuth();
|
|
10
|
+
const { authenticationState: { profile }, } = useAuthentication();
|
|
11
|
+
return {
|
|
12
|
+
isLoading: status === AUTH_STATUS.PENDING,
|
|
13
|
+
profile: profile,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { OAuthProvider } from "../../../config/entities";
|
|
2
|
+
import { ProviderId } from "../../../providers/authentication/common/types";
|
|
3
|
+
export interface UseProviders {
|
|
4
|
+
findProvider: (providerId: ProviderId) => OAuthProvider | undefined;
|
|
5
|
+
providers: OAuthProvider[] | undefined;
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { useConfig } from "../../useConfig";
|
|
3
|
+
/**
|
|
4
|
+
* Hook to facilitate the retrieval of authentication providers.
|
|
5
|
+
* @returns authentication providers and a function to find a provider by id.
|
|
6
|
+
*/
|
|
7
|
+
export const useProviders = () => {
|
|
8
|
+
const { config } = useConfig();
|
|
9
|
+
const providers = config.authentication?.providers;
|
|
10
|
+
const findProvider = useCallback((providerId) => {
|
|
11
|
+
return providers?.find(({ id }) => id === providerId);
|
|
12
|
+
}, [providers]);
|
|
13
|
+
return { findProvider, providers };
|
|
14
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthState } from "../../../providers/authentication/auth/types";
|
|
2
|
+
import { AuthenticationState } from "../../../providers/authentication/authentication/types";
|
|
3
|
+
export declare const useSessionActive: (authState: AuthState, authenticationState: AuthenticationState) => void;
|
|
4
|
+
/**
|
|
5
|
+
* Finds the most recent route in the history that is not the login route and removes the inactivity timeout query parameter.
|
|
6
|
+
* The inactivity timeout query parameter is appended to a URL to indicate that a session has expired. This function iterates
|
|
7
|
+
* through the history of routes in reverse order, skipping any routes that lead to the login page, and returns the first route
|
|
8
|
+
* that isn't the login route with the inactivity timeout parameter removed.
|
|
9
|
+
* @param routes - An array of routes representing the navigation history, in order of navigation.
|
|
10
|
+
* @returns The most recent valid route without the inactivity timeout parameter, or `undefined` if no such route is found.
|
|
11
|
+
*/
|
|
12
|
+
export declare function transformRoute(routes: string[]): string | undefined;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Router from "next/router";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { escapeRegExp } from "../../../common/utils";
|
|
4
|
+
import { AUTH_STATUS, } from "../../../providers/authentication/auth/types";
|
|
5
|
+
import { AUTHENTICATION_STATUS, } from "../../../providers/authentication/authentication/types";
|
|
6
|
+
import { ROUTE } from "../../../routes/constants";
|
|
7
|
+
import { useRouteHistory } from "../../useRouteHistory";
|
|
8
|
+
import { INACTIVITY_PARAM } from "./useSessionTimeout";
|
|
9
|
+
export const useSessionActive = (authState, authenticationState) => {
|
|
10
|
+
const { status: authStatus } = authState;
|
|
11
|
+
const { status: authenticationStatus } = authenticationState;
|
|
12
|
+
const { callbackUrl } = useRouteHistory(2);
|
|
13
|
+
const isReady = authenticationStatus === AUTHENTICATION_STATUS.SETTLED &&
|
|
14
|
+
authStatus === AUTH_STATUS.SETTLED;
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!isReady)
|
|
17
|
+
return;
|
|
18
|
+
Router.push(callbackUrl(transformRoute));
|
|
19
|
+
}, [callbackUrl, isReady]);
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Finds the most recent route in the history that is not the login route and removes the inactivity timeout query parameter.
|
|
23
|
+
* The inactivity timeout query parameter is appended to a URL to indicate that a session has expired. This function iterates
|
|
24
|
+
* through the history of routes in reverse order, skipping any routes that lead to the login page, and returns the first route
|
|
25
|
+
* that isn't the login route with the inactivity timeout parameter removed.
|
|
26
|
+
* @param routes - An array of routes representing the navigation history, in order of navigation.
|
|
27
|
+
* @returns The most recent valid route without the inactivity timeout parameter, or `undefined` if no such route is found.
|
|
28
|
+
*/
|
|
29
|
+
export function transformRoute(routes) {
|
|
30
|
+
for (const route of routes) {
|
|
31
|
+
if (route === ROUTE.LOGIN) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
return route?.replace(new RegExp(`\\?${escapeRegExp(INACTIVITY_PARAM)}(?:$|[=&].*)`), "");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useRouteRoot } from "../../useRouteRoot";
|
|
3
|
+
import { INACTIVITY_PARAM } from "./useSessionTimeout";
|
|
4
|
+
export const useSessionCallbackUrl = () => {
|
|
5
|
+
const route = useRouteRoot();
|
|
6
|
+
const callbackUrl = useMemo(() => getUrl(route), [route]);
|
|
7
|
+
return { callbackUrl };
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Returns the URL with the inactivity query parameter set to true.
|
|
11
|
+
* @param url - URL.
|
|
12
|
+
* @returns URL.
|
|
13
|
+
*/
|
|
14
|
+
function getUrl(url) {
|
|
15
|
+
if (typeof window === "undefined")
|
|
16
|
+
return;
|
|
17
|
+
const urlObj = new URL(url, window.location.origin);
|
|
18
|
+
urlObj.searchParams.set(INACTIVITY_PARAM, "true");
|
|
19
|
+
return urlObj.href;
|
|
20
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IIdleTimerProps } from "react-idle-timer/dist/types/IIdleTimerProps";
|
|
2
|
+
/**
|
|
3
|
+
* Sets a session timeout that triggers when the user has been idle for the specified duration.
|
|
4
|
+
* @param idleTimerProps - The parameters for the session timeout.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useSessionIdleTimer: (idleTimerProps: IIdleTimerProps) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useIdleTimer } from "react-idle-timer";
|
|
2
|
+
/**
|
|
3
|
+
* Sets a session timeout that triggers when the user has been idle for the specified duration.
|
|
4
|
+
* @param idleTimerProps - The parameters for the session timeout.
|
|
5
|
+
*/
|
|
6
|
+
export const useSessionIdleTimer = (idleTimerProps) => {
|
|
7
|
+
useIdleTimer(idleTimerProps);
|
|
8
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Router from "next/router";
|
|
2
2
|
import { useCallback, useEffect, useState } from "react";
|
|
3
|
-
import { useConfig } from "
|
|
4
|
-
import { useLocation } from "
|
|
3
|
+
import { useConfig } from "../../useConfig";
|
|
4
|
+
import { useLocation } from "../../useLocation";
|
|
5
5
|
export const INACTIVITY_PARAM = "inactivityTimeout";
|
|
6
6
|
/**
|
|
7
7
|
* Session timeout hook.
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useAuthentication } from "./useAuthentication";
|
|
1
|
+
import { useTerraProfile } from "../../../providers/authentication/terra/hook";
|
|
3
2
|
export var ONBOARDING_STEP;
|
|
4
3
|
(function (ONBOARDING_STEP) {
|
|
5
4
|
ONBOARDING_STEP[ONBOARDING_STEP["NIH_ACCOUNT"] = 3] = "NIH_ACCOUNT";
|
|
@@ -11,14 +10,12 @@ export var ONBOARDING_STEP;
|
|
|
11
10
|
* @returns onboarding steps and corresponding status.
|
|
12
11
|
*/
|
|
13
12
|
export const useAuthenticationForm = () => {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const loginStatuses = concatLoginStatuses(authentication).filter(filterLoginStatus);
|
|
13
|
+
const terraProfile = useTerraProfile();
|
|
14
|
+
const loginStatuses = concatLoginStatuses(terraProfile).filter(filterLoginStatus);
|
|
17
15
|
const onboardingStatusByStep = getOnboardingStatusByStep(loginStatuses);
|
|
18
16
|
const isComplete = isAuthenticationComplete(onboardingStatusByStep);
|
|
19
17
|
return {
|
|
20
18
|
isComplete,
|
|
21
|
-
isReady,
|
|
22
19
|
onboardingStatusByStep,
|
|
23
20
|
};
|
|
24
21
|
};
|
|
@@ -37,11 +34,11 @@ function isAuthenticationComplete(onboardingStatusByStep) {
|
|
|
37
34
|
}
|
|
38
35
|
/**
|
|
39
36
|
* Returns all login statuses, ordered by onboarding step.
|
|
40
|
-
* @param
|
|
37
|
+
* @param terraProfile - Terra profile.
|
|
41
38
|
* @returns login statuses.
|
|
42
39
|
*/
|
|
43
|
-
function concatLoginStatuses(
|
|
44
|
-
const { terraNIHProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus, } =
|
|
40
|
+
function concatLoginStatuses(terraProfile) {
|
|
41
|
+
const { terraNIHProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus, } = terraProfile;
|
|
45
42
|
return [
|
|
46
43
|
terraProfileLoginStatus,
|
|
47
44
|
terraTOSLoginStatus,
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useTerraProfile } from "../../../providers/authentication/terra/hook";
|
|
2
|
+
import { REQUEST_STATUS } from "../../../providers/authentication/terra/hooks/common/entities";
|
|
3
3
|
const WARNING_WINDOW_SECONDS = 60 * 60 * 24 * 5; // 5 days.
|
|
4
4
|
/**
|
|
5
5
|
* Handles authentication NIH expiry.
|
|
6
6
|
* @returns NIH expiry status.
|
|
7
7
|
*/
|
|
8
8
|
export const useAuthenticationNIHExpiry = () => {
|
|
9
|
-
const
|
|
10
|
-
const { terraNIHProfileLoginStatus } = authentication;
|
|
9
|
+
const { terraNIHProfileLoginStatus } = useTerraProfile();
|
|
11
10
|
const { requestStatus, response } = terraNIHProfileLoginStatus;
|
|
12
11
|
const { linkExpireTime } = response || {};
|
|
13
12
|
const isReady = requestStatus === REQUEST_STATUS.COMPLETED;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TokenContextProps } from "../../../providers/authentication/token/types";
|
|
2
|
+
/**
|
|
3
|
+
* Token reducer: Manages the internal state of the token within the OAuth provider.
|
|
4
|
+
* This reducer handles the token locally until certain conditions are met.
|
|
5
|
+
* For releasing the token to the rest of the app, use the credentials reducer.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useTokenReducer: () => TokenContextProps;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useReducer } from "react";
|
|
2
|
+
import { DEFAULT_TOKEN_STATE } from "../../../providers/authentication/token/constants";
|
|
3
|
+
import { tokenReducer } from "../../../providers/authentication/token/reducer";
|
|
4
|
+
/**
|
|
5
|
+
* Token reducer: Manages the internal state of the token within the OAuth provider.
|
|
6
|
+
* This reducer handles the token locally until certain conditions are met.
|
|
7
|
+
* For releasing the token to the rest of the app, use the credentials reducer.
|
|
8
|
+
*/
|
|
9
|
+
export const useTokenReducer = () => {
|
|
10
|
+
const [tokenState, tokenDispatch] = useReducer(tokenReducer, undefined, () => DEFAULT_TOKEN_STATE);
|
|
11
|
+
return { tokenDispatch, tokenState };
|
|
12
|
+
};
|
|
@@ -3,8 +3,8 @@ import { transformAzulPagination, transformFilters, transformTermFacets, } from
|
|
|
3
3
|
import { getEntityConfig } from "../config/utils";
|
|
4
4
|
import { ExploreActionKind } from "../providers/exploreState";
|
|
5
5
|
import { DEFAULT_PAGINATION_STATE } from "../providers/exploreState/initializer/constants";
|
|
6
|
+
import { useToken } from "./authentication/token/useToken";
|
|
6
7
|
import { useAsync } from "./useAsync";
|
|
7
|
-
import { useAuthentication } from "./useAuthentication/useAuthentication";
|
|
8
8
|
import { useConfig } from "./useConfig";
|
|
9
9
|
import { useEntityService } from "./useEntityService";
|
|
10
10
|
import { EXPLORE_MODE, useExploreMode } from "./useExploreMode";
|
|
@@ -18,7 +18,7 @@ import { useURLFilterParams } from "./useURLFilterParams";
|
|
|
18
18
|
*/
|
|
19
19
|
export const useEntityList = (staticResponse) => {
|
|
20
20
|
const { data: staticData, entityListType } = staticResponse;
|
|
21
|
-
const { token } =
|
|
21
|
+
const { token } = useToken();
|
|
22
22
|
const { config } = useConfig();
|
|
23
23
|
const { apiPath } = getEntityConfig(config.entities, entityListType);
|
|
24
24
|
const exploreMode = useExploreMode();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useRouter } from "next/router";
|
|
2
2
|
import { useEffect, useMemo } from "react";
|
|
3
3
|
import { PARAMS_INDEX_UUID } from "../common/constants";
|
|
4
|
+
import { useToken } from "./authentication/token/useToken";
|
|
4
5
|
import { useAsync } from "./useAsync";
|
|
5
|
-
import { useAuthentication } from "./useAuthentication/useAuthentication";
|
|
6
6
|
import { useEntityService } from "./useEntityService";
|
|
7
7
|
import { EXPLORE_MODE, useExploreMode } from "./useExploreMode";
|
|
8
8
|
import { useExploreState } from "./useExploreState";
|
|
@@ -14,7 +14,7 @@ import { useExploreState } from "./useExploreState";
|
|
|
14
14
|
*/
|
|
15
15
|
export const useFetchEntity = (detailViewProps) => {
|
|
16
16
|
const { data: staticData, entityListType } = detailViewProps || {};
|
|
17
|
-
const { token } =
|
|
17
|
+
const { token } = useToken();
|
|
18
18
|
const exploreMode = useExploreMode();
|
|
19
19
|
const { exploreState } = useExploreState();
|
|
20
20
|
const { catalogState } = exploreState;
|
|
@@ -24,7 +24,8 @@ export const useFetchEntity = (detailViewProps) => {
|
|
|
24
24
|
const uuid = params?.[PARAMS_INDEX_UUID];
|
|
25
25
|
const { data: response, isIdle, isLoading, run } = useAsync();
|
|
26
26
|
const entityResponse = response || staticData;
|
|
27
|
-
const shouldFetchEntity = useMemo(() => isFetchRequired(exploreMode !== EXPLORE_MODE.CS_FETCH_CS_FILTERING, Boolean(token),
|
|
27
|
+
const shouldFetchEntity = useMemo(() => isFetchRequired(exploreMode !== EXPLORE_MODE.CS_FETCH_CS_FILTERING, Boolean(token), // TODO(cc), note a fetch is required if the token is true, but is unable to re-fetch on logout when token is undefined! Page is required to reload!
|
|
28
|
+
Boolean(catalogState), Boolean(entityResponse)), [catalogState, entityResponse, exploreMode, token]);
|
|
28
29
|
const isResponseLoading = shouldFetchEntity ? isIdle || isLoading : false;
|
|
29
30
|
useEffect(() => {
|
|
30
31
|
// Fetch entity if entity data originates from a request, and has not yet been requested.
|
|
@@ -2,8 +2,8 @@ import { useEffect, useMemo } from "react";
|
|
|
2
2
|
import { APIEndpoints, } from "../../apis/azul/common/entities";
|
|
3
3
|
import { fetchEntitiesFromURL } from "../../entity/common/service";
|
|
4
4
|
import { fetchQueryParams } from "../../utils/fetchQueryParams";
|
|
5
|
+
import { useToken } from "../authentication/token/useToken";
|
|
5
6
|
import { useAsync } from "../useAsync";
|
|
6
|
-
import { useAuthentication } from "../useAuthentication/useAuthentication";
|
|
7
7
|
import { useFetchRequestURL } from "../useFetchRequestURL";
|
|
8
8
|
import { bindEntitySearchResultsResponse } from "./common/utils";
|
|
9
9
|
/**
|
|
@@ -15,8 +15,7 @@ import { bindEntitySearchResultsResponse } from "./common/utils";
|
|
|
15
15
|
* @returns files facets.
|
|
16
16
|
*/
|
|
17
17
|
export const useFetchFilesFacets = (filters, catalog, searchParams, isEnabled) => {
|
|
18
|
-
|
|
19
|
-
const { token } = useAuthentication();
|
|
18
|
+
const { token } = useToken();
|
|
20
19
|
// Build request params.
|
|
21
20
|
const requestParams = fetchQueryParams(filters, catalog, searchParams);
|
|
22
21
|
// Build request URL.
|
|
@@ -2,8 +2,8 @@ import { useEffect } from "react";
|
|
|
2
2
|
import { APIEndpoints, } from "../../apis/azul/common/entities";
|
|
3
3
|
import { fetchSummaryFromURL } from "../../entity/api/service";
|
|
4
4
|
import { fetchQueryParams } from "../../utils/fetchQueryParams";
|
|
5
|
+
import { useToken } from "../authentication/token/useToken";
|
|
5
6
|
import { useAsync } from "../useAsync";
|
|
6
|
-
import { useAuthentication } from "../useAuthentication/useAuthentication";
|
|
7
7
|
import { useFetchRequestURL } from "../useFetchRequestURL";
|
|
8
8
|
/**
|
|
9
9
|
* Fetch file summary from summary endpoint, to populate summary in download flows.
|
|
@@ -13,8 +13,7 @@ import { useFetchRequestURL } from "../useFetchRequestURL";
|
|
|
13
13
|
* @returns file summaries.
|
|
14
14
|
*/
|
|
15
15
|
export const useFetchSummary = (filters, catalog, isEnabled) => {
|
|
16
|
-
|
|
17
|
-
const { token } = useAuthentication();
|
|
16
|
+
const { token } = useToken();
|
|
18
17
|
// Build request params.
|
|
19
18
|
const requestParams = fetchQueryParams(filters, catalog, undefined);
|
|
20
19
|
// Build request URL.
|