@databiosphere/findable-ui 19.0.0 → 21.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/GoogleSessionController/types.js +1 -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/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/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 +18 -2
- package/lib/components/Table/common/columnIdentifier.d.ts +4 -0
- package/lib/components/Table/common/columnIdentifier.js +4 -0
- package/lib/components/Table/common/typeGuards.d.ts +11 -0
- package/lib/components/Table/common/typeGuards.js +8 -0
- package/lib/components/Table/common/utils.d.ts +1 -28
- package/lib/components/Table/common/utils.js +5 -88
- package/lib/components/Table/components/TableCell/common/utils.js +3 -3
- package/lib/components/Table/components/TableCell/components/RowSelectionCell/rowSelectionCell.d.ts +2 -5
- package/lib/components/Table/components/TableFeatures/ColumnVisibility/utils.d.ts +7 -18
- package/lib/components/Table/components/TableFeatures/ColumnVisibility/utils.js +20 -31
- package/lib/components/Table/components/TableHead/components/HeadSelectionCell/headSelectionCell.d.ts +2 -5
- package/lib/components/Table/components/TableHead/components/HeadSelectionCell/headSelectionCell.js +2 -2
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.js +5 -17
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/constants.d.ts +3 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/constants.js +10 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.d.ts +1 -1
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.js +22 -10
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.d.ts +1 -2
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/utils.d.ts +27 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/utils.js +45 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/constants.d.ts +1 -3
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/constants.js +0 -10
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/utils.d.ts +3 -13
- package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/utils.js +22 -27
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/columnVisibility.d.ts +3 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/columnVisibility.js +13 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/columnVisibility.styles.d.ts +3 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/columnVisibility.styles.js +11 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/constants.d.ts +2 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/constants.js +7 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/menuItems.d.ts +3 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/menuItems.js +22 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/menuItems.styles.d.ts +2 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/menuItems.styles.js +16 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/types.d.ts +4 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/types.js +1 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/utils.d.ts +26 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/utils.js +32 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/constants.d.ts +2 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/constants.js +3 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/types.d.ts +4 -0
- package/lib/components/Table/components/TableToolbar/components/ColumnVisibility/types.js +1 -0
- package/lib/components/Table/components/TableToolbar/tableToolbar.js +5 -12
- package/lib/components/Table/features/RowPosition/constants.js +5 -3
- package/lib/components/Table/features/RowPosition/types.d.ts +3 -0
- package/lib/components/Table/features/RowPosition/utils.d.ts +1 -7
- package/lib/components/Table/features/RowPosition/utils.js +0 -20
- package/lib/components/Table/features/RowPreview/constants.js +1 -1
- package/lib/components/Table/features/entities.d.ts +2 -2
- package/lib/components/Table/table.d.ts +2 -4
- package/lib/components/Table/table.js +9 -31
- package/lib/components/TableCreator/common/utils.js +1 -4
- package/lib/components/TableCreator/options/columnTrackSizing/typeGuards.d.ts +7 -0
- package/lib/components/TableCreator/options/columnTrackSizing/typeGuards.js +8 -0
- package/lib/components/TableCreator/options/columnTrackSizing/utils.d.ts +30 -0
- package/lib/components/TableCreator/options/columnTrackSizing/utils.js +83 -0
- package/lib/components/TableCreator/options/hook.js +8 -7
- package/lib/components/TableCreator/options/initialState/columnVisibility.d.ts +7 -0
- package/lib/components/TableCreator/options/initialState/columnVisibility.js +16 -0
- package/lib/components/TableCreator/options/initialState/hook.d.ts +2 -0
- package/lib/components/TableCreator/options/initialState/hook.js +10 -0
- package/lib/components/TableCreator/options/visibility/constants.d.ts +2 -0
- package/lib/components/TableCreator/options/visibility/constants.js +3 -0
- package/lib/components/TableCreator/options/visibility/hook.d.ts +2 -0
- package/lib/components/TableCreator/options/visibility/hook.js +11 -0
- package/lib/components/TableCreator/tableCreator.js +4 -18
- 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/config/entities.d.ts +22 -27
- 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/updateVisibility/action.d.ts +10 -0
- package/lib/providers/exploreState/actions/updateVisibility/action.js +16 -0
- package/lib/providers/exploreState/actions/updateVisibility/dispatch.d.ts +7 -0
- package/lib/providers/exploreState/actions/updateVisibility/dispatch.js +12 -0
- package/lib/providers/exploreState/actions/updateVisibility/types.d.ts +9 -0
- package/lib/providers/exploreState/actions/updateVisibility/types.js +1 -0
- package/lib/providers/exploreState/actions/updateVisibility/utils.d.ts +10 -0
- package/lib/providers/exploreState/actions/updateVisibility/utils.js +21 -0
- package/lib/providers/exploreState/entities.d.ts +1 -1
- package/lib/providers/exploreState/initializer/utils.js +5 -13
- package/lib/providers/exploreState/payloads/entities.d.ts +1 -5
- package/lib/providers/exploreState/utils.d.ts +1 -1
- package/lib/providers/exploreState/utils.js +5 -5
- package/lib/providers/exploreState.d.ts +2 -8
- package/lib/providers/exploreState.js +5 -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/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/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/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 +18 -2
- package/src/components/Table/common/columnIdentifier.ts +4 -0
- package/src/components/Table/common/typeGuards.ts +12 -0
- package/src/components/Table/common/utils.ts +5 -115
- package/src/components/Table/components/TableCell/common/utils.ts +3 -3
- package/src/components/Table/components/TableCell/components/RowSelectionCell/rowSelectionCell.tsx +3 -7
- package/src/components/Table/components/TableFeatures/ColumnVisibility/utils.ts +25 -44
- package/src/components/Table/components/TableHead/components/HeadSelectionCell/headSelectionCell.tsx +5 -9
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/columnGrouping.tsx +4 -22
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/constants.ts +13 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/menuItems.tsx +47 -20
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/types.ts +1 -2
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/components/MenuItems/utils.ts +58 -0
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/constants.ts +1 -13
- package/src/components/Table/components/TableToolbar/components/ColumnGrouping/utils.ts +26 -33
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/columnVisibility.styles.ts +12 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/columnVisibility.tsx +28 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/constants.ts +9 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/menuItems.styles.ts +17 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/menuItems.tsx +53 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/types.ts +5 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/components/MenuItems/utils.ts +44 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/constants.ts +5 -0
- package/src/components/Table/components/TableToolbar/components/ColumnVisibility/types.ts +5 -0
- package/src/components/Table/components/TableToolbar/tableToolbar.tsx +5 -19
- package/src/components/Table/features/RowPosition/constants.ts +8 -5
- package/src/components/Table/features/RowPosition/types.ts +4 -0
- package/src/components/Table/features/RowPosition/utils.ts +1 -30
- package/src/components/Table/features/RowPreview/constants.ts +1 -1
- package/src/components/Table/features/entities.ts +2 -2
- package/src/components/Table/table.tsx +8 -46
- package/src/components/TableCreator/common/utils.ts +0 -4
- package/src/components/TableCreator/options/columnTrackSizing/typeGuards.ts +12 -0
- package/src/components/TableCreator/options/columnTrackSizing/utils.ts +99 -0
- package/src/components/TableCreator/options/hook.ts +8 -11
- package/src/components/TableCreator/options/initialState/columnVisibility.ts +22 -0
- package/src/components/TableCreator/options/initialState/hook.ts +24 -0
- package/src/components/TableCreator/options/visibility/constants.ts +5 -0
- package/src/components/TableCreator/options/visibility/hook.ts +22 -0
- package/src/components/TableCreator/tableCreator.tsx +3 -27
- 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/config/entities.ts +22 -29
- 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/updateVisibility/action.ts +29 -0
- package/src/providers/exploreState/actions/updateVisibility/dispatch.ts +19 -0
- package/src/providers/exploreState/actions/updateVisibility/types.ts +11 -0
- package/src/providers/exploreState/actions/updateVisibility/utils.ts +28 -0
- package/src/providers/exploreState/entities.ts +1 -1
- package/src/providers/exploreState/initializer/utils.ts +5 -21
- package/src/providers/exploreState/payloads/entities.ts +0 -6
- package/src/providers/exploreState/utils.ts +5 -5
- package/src/providers/exploreState.tsx +6 -22
- 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/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/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/Table/components/CheckboxMenu/checkboxMenu.d.ts +0 -16
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.js +0 -28
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.d.ts +0 -5
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.stories.js +0 -46
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.d.ts +0 -3
- package/lib/components/Table/components/CheckboxMenu/checkboxMenu.styles.js +0 -21
- package/lib/components/Table/features/constants.d.ts +0 -6
- package/lib/components/Table/features/constants.js +0 -8
- package/lib/components/TableCreator/common/constants.d.ts +0 -7
- package/lib/components/TableCreator/common/constants.js +0 -21
- 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/Table/components/CheckboxMenu/checkboxMenu.stories.tsx +0 -54
- package/src/components/Table/components/CheckboxMenu/checkboxMenu.styles.ts +0 -22
- package/src/components/Table/components/CheckboxMenu/checkboxMenu.tsx +0 -87
- package/src/components/Table/features/constants.ts +0 -10
- package/src/components/TableCreator/common/constants.ts +0 -25
- 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/Table/components/TableToolbar/components/ColumnGrouping/{columnGrouping.styles.d.ts → components/MenuItems/menuItems.styles.d.ts} +0 -0
- /package/lib/components/Table/components/TableToolbar/components/ColumnGrouping/{columnGrouping.styles.js → components/MenuItems/menuItems.styles.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/components/Table/components/TableToolbar/components/ColumnGrouping/{columnGrouping.styles.ts → components/MenuItems/menuItems.styles.ts} +0 -0
- /package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.ts +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AuthService } from "../../../../config/entities";
|
|
2
|
+
/**
|
|
3
|
+
* Returns service endpoint.
|
|
4
|
+
* @param services - Services.
|
|
5
|
+
* @param serviceId - Service ID.
|
|
6
|
+
* @param endpointId - Endpoint ID.
|
|
7
|
+
* @returns Service endpoint.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getServiceEndpoint(services: AuthService[] | undefined, serviceId: string, endpointId: string): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Find a service by service ID.
|
|
12
|
+
* @param services - Services.
|
|
13
|
+
* @param serviceId - Service ID.
|
|
14
|
+
* @returns Service.
|
|
15
|
+
*/
|
|
16
|
+
export declare function findService(services: AuthService[] | undefined, serviceId: string): AuthService | undefined;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns service endpoint.
|
|
3
|
+
* @param services - Services.
|
|
4
|
+
* @param serviceId - Service ID.
|
|
5
|
+
* @param endpointId - Endpoint ID.
|
|
6
|
+
* @returns Service endpoint.
|
|
7
|
+
*/
|
|
8
|
+
export function getServiceEndpoint(services, serviceId, endpointId) {
|
|
9
|
+
return findService(services, serviceId)?.endpoint[endpointId];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Find a service by service ID.
|
|
13
|
+
* @param services - Services.
|
|
14
|
+
* @param serviceId - Service ID.
|
|
15
|
+
* @returns Service.
|
|
16
|
+
*/
|
|
17
|
+
export function findService(services, serviceId) {
|
|
18
|
+
return services?.find(({ id }) => id === serviceId);
|
|
19
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import { authComplete } from "../auth/dispatch";
|
|
3
|
+
import { useAuth } from "../auth/hook";
|
|
4
|
+
import { authenticationComplete } from "../authentication/dispatch";
|
|
5
|
+
import { useAuthentication } from "../authentication/hook";
|
|
6
|
+
import { updateCredentials } from "../credentials/dispatch";
|
|
7
|
+
import { useCredentials } from "../credentials/hook";
|
|
8
|
+
import { TerraProfileContext } from "./context";
|
|
9
|
+
import { useFetchProfiles } from "./hooks/useFetchProfiles";
|
|
10
|
+
export function TerraProfileProvider({ children, token, }) {
|
|
11
|
+
const { authDispatch } = useAuth();
|
|
12
|
+
const { authenticationDispatch } = useAuthentication();
|
|
13
|
+
const { credentialsDispatch } = useCredentials();
|
|
14
|
+
const { isAuthenticated, isComplete, isProfileActive, terraNIHProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus, } = useFetchProfiles(token);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
// Dispatch only when terra profile is available:
|
|
17
|
+
// - Login errors are managed by the login service.
|
|
18
|
+
// - Logout operations handle resetting credentials, authentication and auth state.
|
|
19
|
+
if (!isComplete)
|
|
20
|
+
return; // Terra profile status is still "PENDING".
|
|
21
|
+
// Release authentication only when terra profile status is either "AUTHENTICATED" or "UNAUTHENTICATED" i.e. not "PENDING".
|
|
22
|
+
authenticationDispatch?.(authenticationComplete()); // Authentication `status` is "SETTLED".
|
|
23
|
+
authDispatch?.(authComplete({ isAuthenticated })); // Auth `status` is "SETTLED", and `isAuthenticated` is either "true" or "false".
|
|
24
|
+
if (!isProfileActive)
|
|
25
|
+
return;
|
|
26
|
+
// Release credentials only when terra profile is "AUTHENTICATED".
|
|
27
|
+
credentialsDispatch?.(updateCredentials(token));
|
|
28
|
+
}, [
|
|
29
|
+
authDispatch,
|
|
30
|
+
authenticationDispatch,
|
|
31
|
+
credentialsDispatch,
|
|
32
|
+
isAuthenticated,
|
|
33
|
+
isComplete,
|
|
34
|
+
isProfileActive,
|
|
35
|
+
token,
|
|
36
|
+
]);
|
|
37
|
+
return (React.createElement(TerraProfileContext.Provider, { value: {
|
|
38
|
+
terraNIHProfileLoginStatus,
|
|
39
|
+
terraProfileLoginStatus,
|
|
40
|
+
terraTOSLoginStatus,
|
|
41
|
+
} }, children));
|
|
42
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { TokenState } from "../token/types";
|
|
3
|
+
import { LoginStatus } from "./hooks/common/entities";
|
|
4
|
+
import { TerraNIHResponse } from "./hooks/useFetchTerraNIHProfile";
|
|
5
|
+
import { TerraResponse } from "./hooks/useFetchTerraProfile";
|
|
6
|
+
import { TerraTermsOfServiceResponse } from "./hooks/useFetchTerraTermsOfService";
|
|
7
|
+
export declare enum TERRA_PROFILE_STATUS {
|
|
8
|
+
AUTHENTICATED = "AUTHENTICATED",
|
|
9
|
+
PENDING = "PENDING",
|
|
10
|
+
UNAUTHENTICATED = "UNAUTHENTICATED"
|
|
11
|
+
}
|
|
12
|
+
export interface TerraProfileProviderProps {
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
token: TokenState["token"];
|
|
15
|
+
}
|
|
16
|
+
export interface TerraProfileContextProps {
|
|
17
|
+
terraNIHProfileLoginStatus: LoginStatus<TerraNIHResponse>;
|
|
18
|
+
terraProfileLoginStatus: LoginStatus<TerraResponse>;
|
|
19
|
+
terraTOSLoginStatus: LoginStatus<TerraTermsOfServiceResponse>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var TERRA_PROFILE_STATUS;
|
|
2
|
+
(function (TERRA_PROFILE_STATUS) {
|
|
3
|
+
TERRA_PROFILE_STATUS["AUTHENTICATED"] = "AUTHENTICATED";
|
|
4
|
+
TERRA_PROFILE_STATUS["PENDING"] = "PENDING";
|
|
5
|
+
TERRA_PROFILE_STATUS["UNAUTHENTICATED"] = "UNAUTHENTICATED";
|
|
6
|
+
})(TERRA_PROFILE_STATUS || (TERRA_PROFILE_STATUS = {}));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LoginStatus } from "./hooks/common/entities";
|
|
2
|
+
import { TerraNIHResponse } from "./hooks/useFetchTerraNIHProfile";
|
|
3
|
+
import { TerraResponse } from "./hooks/useFetchTerraProfile";
|
|
4
|
+
import { TerraTermsOfServiceResponse } from "./hooks/useFetchTerraTermsOfService";
|
|
5
|
+
import { TERRA_PROFILE_STATUS } from "./types";
|
|
6
|
+
/**
|
|
7
|
+
* Determines the status of a user based on authentication and Terra service statuses.
|
|
8
|
+
* **Logic:**
|
|
9
|
+
* - **Pending** if the user is not authenticated.
|
|
10
|
+
* - **Pending** if any supported Terra service request is not started or pending.
|
|
11
|
+
* - **Unauthenticated** if the Terra profile is supported but the Terms of Service have not been accepted.
|
|
12
|
+
* - **Authenticated** in all other cases.
|
|
13
|
+
* @param isUserAuthenticated - User authentication status.
|
|
14
|
+
* @param terraNIHProfileLoginStatus - Terra NIH profile login status.
|
|
15
|
+
* @param terraProfileLoginStatus - Terra profile login status.
|
|
16
|
+
* @param terraTOSLoginStatus - Terra terms of service login status.
|
|
17
|
+
* @returns Terra profile status.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getProfileStatus(isUserAuthenticated: boolean, terraNIHProfileLoginStatus: LoginStatus<TerraNIHResponse>, terraProfileLoginStatus: LoginStatus<TerraResponse>, terraTOSLoginStatus: LoginStatus<TerraTermsOfServiceResponse>): TERRA_PROFILE_STATUS;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { REQUEST_STATUS } from "./hooks/common/entities";
|
|
2
|
+
import { TERRA_PROFILE_STATUS } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Determines the status of a user based on authentication and Terra service statuses.
|
|
5
|
+
* **Logic:**
|
|
6
|
+
* - **Pending** if the user is not authenticated.
|
|
7
|
+
* - **Pending** if any supported Terra service request is not started or pending.
|
|
8
|
+
* - **Unauthenticated** if the Terra profile is supported but the Terms of Service have not been accepted.
|
|
9
|
+
* - **Authenticated** in all other cases.
|
|
10
|
+
* @param isUserAuthenticated - User authentication status.
|
|
11
|
+
* @param terraNIHProfileLoginStatus - Terra NIH profile login status.
|
|
12
|
+
* @param terraProfileLoginStatus - Terra profile login status.
|
|
13
|
+
* @param terraTOSLoginStatus - Terra terms of service login status.
|
|
14
|
+
* @returns Terra profile status.
|
|
15
|
+
*/
|
|
16
|
+
export function getProfileStatus(isUserAuthenticated, terraNIHProfileLoginStatus, terraProfileLoginStatus, terraTOSLoginStatus) {
|
|
17
|
+
if (!isUserAuthenticated)
|
|
18
|
+
return TERRA_PROFILE_STATUS.PENDING;
|
|
19
|
+
// Check if any supported Terra service request is not started or pending.
|
|
20
|
+
const terraServices = [
|
|
21
|
+
terraNIHProfileLoginStatus,
|
|
22
|
+
terraProfileLoginStatus,
|
|
23
|
+
terraTOSLoginStatus,
|
|
24
|
+
];
|
|
25
|
+
const isAnyServicePending = terraServices.some(({ isSupported, requestStatus }) => isSupported &&
|
|
26
|
+
(requestStatus === REQUEST_STATUS.NOT_STARTED ||
|
|
27
|
+
requestStatus === REQUEST_STATUS.PENDING));
|
|
28
|
+
if (isAnyServicePending)
|
|
29
|
+
return TERRA_PROFILE_STATUS.PENDING;
|
|
30
|
+
// If Terra profile is supported but Terms of Service not accepted.
|
|
31
|
+
if (terraProfileLoginStatus.isSupported && !terraTOSLoginStatus.isSuccess) {
|
|
32
|
+
return TERRA_PROFILE_STATUS.UNAUTHENTICATED;
|
|
33
|
+
}
|
|
34
|
+
// Authenticated in all other cases.
|
|
35
|
+
return TERRA_PROFILE_STATUS.AUTHENTICATED;
|
|
36
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ResetStateAction, UpdateTokenAction, UpdateTokenPayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Reset state action.
|
|
4
|
+
* @returns Action.
|
|
5
|
+
*/
|
|
6
|
+
export declare function resetState(): ResetStateAction;
|
|
7
|
+
/**
|
|
8
|
+
* Update token action.
|
|
9
|
+
* @param payload - Payload.
|
|
10
|
+
* @returns Action.
|
|
11
|
+
*/
|
|
12
|
+
export declare function updateToken(payload: UpdateTokenPayload): UpdateTokenAction;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TokenActionKind, } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Reset state action.
|
|
4
|
+
* @returns Action.
|
|
5
|
+
*/
|
|
6
|
+
export function resetState() {
|
|
7
|
+
return {
|
|
8
|
+
payload: undefined,
|
|
9
|
+
type: TokenActionKind.ResetState,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Update token action.
|
|
14
|
+
* @param payload - Payload.
|
|
15
|
+
* @returns Action.
|
|
16
|
+
*/
|
|
17
|
+
export function updateToken(payload) {
|
|
18
|
+
return {
|
|
19
|
+
payload,
|
|
20
|
+
type: TokenActionKind.UpdateToken,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DEFAULT_TOKEN_STATE } from "./constants";
|
|
2
|
+
import { TokenActionKind } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Token reducer.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param action - Action.
|
|
7
|
+
* @returns state.
|
|
8
|
+
*/
|
|
9
|
+
export function tokenReducer(state, action) {
|
|
10
|
+
const { payload, type } = action;
|
|
11
|
+
switch (type) {
|
|
12
|
+
case TokenActionKind.ResetState:
|
|
13
|
+
return DEFAULT_TOKEN_STATE;
|
|
14
|
+
case TokenActionKind.UpdateToken:
|
|
15
|
+
return {
|
|
16
|
+
...state,
|
|
17
|
+
...payload,
|
|
18
|
+
};
|
|
19
|
+
default:
|
|
20
|
+
return state;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Dispatch } from "react";
|
|
2
|
+
import { ProviderId } from "../common/types";
|
|
3
|
+
export interface ResetStateAction {
|
|
4
|
+
payload: ResetStatePayload;
|
|
5
|
+
type: TokenActionKind.ResetState;
|
|
6
|
+
}
|
|
7
|
+
export type ResetStatePayload = undefined;
|
|
8
|
+
export type TokenAction = ResetStateAction | UpdateTokenAction;
|
|
9
|
+
export declare enum TokenActionKind {
|
|
10
|
+
ResetState = "RESET_TOKEN",
|
|
11
|
+
UpdateToken = "UPDATE_TOKEN"
|
|
12
|
+
}
|
|
13
|
+
export interface TokenContextProps {
|
|
14
|
+
tokenDispatch: Dispatch<TokenAction> | null;
|
|
15
|
+
tokenState: TokenState;
|
|
16
|
+
}
|
|
17
|
+
export interface TokenState {
|
|
18
|
+
providerId: ProviderId | undefined;
|
|
19
|
+
token: string | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface UpdateTokenAction {
|
|
22
|
+
payload: UpdateTokenPayload;
|
|
23
|
+
type: TokenActionKind.UpdateToken;
|
|
24
|
+
}
|
|
25
|
+
export interface UpdateTokenPayload {
|
|
26
|
+
providerId: ProviderId | undefined;
|
|
27
|
+
token: string | undefined;
|
|
28
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ExploreState } from "../../../exploreState";
|
|
2
|
+
import { UpdateColumnVisibilityPayload } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Reducer function to handle the "update column visibility" action.
|
|
5
|
+
* Updates the column visibility in the state for the current entity.
|
|
6
|
+
* @param state - Explore State.
|
|
7
|
+
* @param payload - Payload.
|
|
8
|
+
* @returns explore state.
|
|
9
|
+
*/
|
|
10
|
+
export declare function updateColumnVisibilityAction(state: ExploreState, payload: UpdateColumnVisibilityPayload): ExploreState;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { updateEntityPageState } from "../../utils";
|
|
2
|
+
import { buildNextColumnVisibility } from "./utils";
|
|
3
|
+
/**
|
|
4
|
+
* Reducer function to handle the "update column visibility" action.
|
|
5
|
+
* Updates the column visibility in the state for the current entity.
|
|
6
|
+
* @param state - Explore State.
|
|
7
|
+
* @param payload - Payload.
|
|
8
|
+
* @returns explore state.
|
|
9
|
+
*/
|
|
10
|
+
export function updateColumnVisibilityAction(state, payload) {
|
|
11
|
+
const columnVisibility = buildNextColumnVisibility(state, payload.updaterOrValue);
|
|
12
|
+
return {
|
|
13
|
+
...state,
|
|
14
|
+
entityPageState: updateEntityPageState(state.tabValue, state.entityPageState, { columnVisibility }),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UpdateColumnVisibilityAction, UpdateColumnVisibilityPayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for updating column visibility in the state.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export declare function updateVisibility(payload: UpdateColumnVisibilityPayload): UpdateColumnVisibilityAction;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ExploreActionKind } from "../../../exploreState";
|
|
2
|
+
/**
|
|
3
|
+
* Action creator for updating column visibility in the state.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action with payload and action type.
|
|
6
|
+
*/
|
|
7
|
+
export function updateVisibility(payload) {
|
|
8
|
+
return {
|
|
9
|
+
payload,
|
|
10
|
+
type: ExploreActionKind.UpdateColumnVisibility,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Updater, VisibilityState } from "@tanstack/react-table";
|
|
2
|
+
import { ExploreActionKind } from "../../../exploreState";
|
|
3
|
+
export type UpdateColumnVisibilityAction = {
|
|
4
|
+
payload: UpdateColumnVisibilityPayload;
|
|
5
|
+
type: ExploreActionKind.UpdateColumnVisibility;
|
|
6
|
+
};
|
|
7
|
+
export type UpdateColumnVisibilityPayload = {
|
|
8
|
+
updaterOrValue: Updater<VisibilityState>;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Updater, VisibilityState } from "@tanstack/react-table";
|
|
2
|
+
import { ExploreState } from "../../../exploreState";
|
|
3
|
+
/**
|
|
4
|
+
* Builds the next column visibility state for the current entity type.
|
|
5
|
+
* Uses TanStack updater to update the column visibility state.
|
|
6
|
+
* @param state - Explore state.
|
|
7
|
+
* @param updaterOrValue - Updater or value to update the column visibility state.
|
|
8
|
+
* @returns column visibility state.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildNextColumnVisibility(state: ExploreState, updaterOrValue: Updater<VisibilityState>): VisibilityState;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { resolveUpdater } from "../../../../components/Table/options/updater";
|
|
2
|
+
/**
|
|
3
|
+
* Builds the next column visibility state for the current entity type.
|
|
4
|
+
* Uses TanStack updater to update the column visibility state.
|
|
5
|
+
* @param state - Explore state.
|
|
6
|
+
* @param updaterOrValue - Updater or value to update the column visibility state.
|
|
7
|
+
* @returns column visibility state.
|
|
8
|
+
*/
|
|
9
|
+
export function buildNextColumnVisibility(state, updaterOrValue) {
|
|
10
|
+
return resolveUpdater(updaterOrValue, getOldColumnVisibility(state));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Retrieves the current "old" state from the explore state, for the current entity type.
|
|
14
|
+
* @param state - Explore state.
|
|
15
|
+
* @returns old column visibility state.
|
|
16
|
+
*/
|
|
17
|
+
function getOldColumnVisibility(state) {
|
|
18
|
+
const { entityPageState, tabValue } = state;
|
|
19
|
+
const { columnVisibility = {} } = entityPageState[tabValue];
|
|
20
|
+
return columnVisibility;
|
|
21
|
+
}
|
|
@@ -4,7 +4,7 @@ import { RowPreviewState } from "../../components/Table/features/RowPreview/enti
|
|
|
4
4
|
import { CategoryConfig, CategoryGroup, CategoryGroupConfig, EntityPath, SavedFilter } from "../../config/entities";
|
|
5
5
|
export interface EntityPageState {
|
|
6
6
|
categoryGroupConfigKey: CategoryGroupConfigKey;
|
|
7
|
-
|
|
7
|
+
columnVisibility: VisibilityState;
|
|
8
8
|
enableRowSelection: boolean;
|
|
9
9
|
grouping: GroupingState;
|
|
10
10
|
rowPreview: RowPreviewState;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ACCESSOR_KEYS } from "../../../components/TableCreator/common/constants";
|
|
1
|
+
import { getInitialColumnVisibilityState } from "../../../components/TableCreator/options/initialState/columnVisibility";
|
|
3
2
|
import { SELECT_CATEGORY_KEY } from "../constants";
|
|
4
3
|
import { getEntityCategoryGroupConfigKey, getFilterCount } from "../utils";
|
|
5
4
|
import { DEFAULT_CATEGORY_GROUP_SAVED_FILTERS, DEFAULT_ENTITY_STATE, INITIAL_STATE, } from "./constants";
|
|
@@ -99,13 +98,8 @@ function initCategoryGroups(entityStateByCategoryGroupConfigKey, categoryGroupCo
|
|
|
99
98
|
* @returns column visibility.
|
|
100
99
|
*/
|
|
101
100
|
function initColumnVisibility(entityConfig) {
|
|
102
|
-
const { list: {
|
|
103
|
-
return
|
|
104
|
-
[ACCESSOR_KEYS.ROW_POSITION]: false, // Explicitly setting row position to false; required - currently `columnVisibility` is initialized from columns configuration.
|
|
105
|
-
[ACCESSOR_KEYS.SELECT]: Boolean(enableRowSelection),
|
|
106
|
-
...getInitialTableColumnVisibility(columns),
|
|
107
|
-
...columnVisibility, // `columnVisibility` is managed by ExploreState; use table options to override this setting.
|
|
108
|
-
};
|
|
101
|
+
const { list: { tableOptions = {} }, } = entityConfig;
|
|
102
|
+
return getInitialColumnVisibilityState(tableOptions);
|
|
109
103
|
}
|
|
110
104
|
/**
|
|
111
105
|
* Returns the initial `enableRowSelection` option for the specified entity list configuration.
|
|
@@ -126,7 +120,7 @@ function initEntityPageState(config) {
|
|
|
126
120
|
...acc,
|
|
127
121
|
[entity.route]: {
|
|
128
122
|
categoryGroupConfigKey: initCategoryGroupConfigKey(config, entity),
|
|
129
|
-
|
|
123
|
+
columnVisibility: initColumnVisibility(entity),
|
|
130
124
|
enableRowSelection: initEnableRowSelection(entity),
|
|
131
125
|
grouping: initGrouping(entity),
|
|
132
126
|
rowPreview: undefined,
|
|
@@ -197,9 +191,7 @@ function initGrouping(entityConfig) {
|
|
|
197
191
|
* @returns initial sorting state.
|
|
198
192
|
*/
|
|
199
193
|
function initSorting(entityConfig) {
|
|
200
|
-
const { list: {
|
|
201
|
-
if (defaultSort)
|
|
202
|
-
return [defaultSort];
|
|
194
|
+
const { list: { tableOptions: { initialState: { sorting = [] } = {} } = {} }, } = entityConfig;
|
|
203
195
|
return sorting;
|
|
204
196
|
}
|
|
205
197
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColumnSort, GroupingState, RowSelectionState
|
|
1
|
+
import { ColumnSort, GroupingState, RowSelectionState } from "@tanstack/react-table";
|
|
2
2
|
import { CategoryKey, CategoryValueKey, PaginationDirectionType, SelectCategory, SelectedFilter } from "../../../common/entities";
|
|
3
3
|
import { RowPreviewState } from "../../../components/Table/features/RowPreview/entities";
|
|
4
4
|
import { ListItems, PaginationResponse } from "../../exploreState";
|
|
@@ -35,10 +35,6 @@ export interface ProcessExploreResponsePayload {
|
|
|
35
35
|
* Reset explore response payload.
|
|
36
36
|
*/
|
|
37
37
|
export type ResetExploreResponsePayload = undefined;
|
|
38
|
-
/**
|
|
39
|
-
* Update column visibility payload.
|
|
40
|
-
*/
|
|
41
|
-
export type UpdateColumnVisibilityPayload = VisibilityState;
|
|
42
38
|
/**
|
|
43
39
|
* Update entity filters payload.
|
|
44
40
|
*/
|
|
@@ -104,7 +104,7 @@ export declare function updateEntityPageStateWithCommonCategoryGroupConfigKey(st
|
|
|
104
104
|
export declare function updateEntityStateByCategoryGroupConfigKey(state: ExploreState, nextEntityState: Partial<EntityState>, categoryGroupConfigKey?: string): void;
|
|
105
105
|
/**
|
|
106
106
|
* Updates the entity page state for each entity with row selection enabled,
|
|
107
|
-
* by updating the visibility of the "
|
|
107
|
+
* by updating the visibility of the "rowSelection" column based on user access and resetting row selection state.
|
|
108
108
|
* @param state - Explore state.
|
|
109
109
|
* @param canEdit - User has edit access.
|
|
110
110
|
* @returns new entity page state mapper with updated column visibility and row selection state.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { COLUMN_IDENTIFIER } from "../../components/Table/common/columnIdentifier";
|
|
2
2
|
import { DEFAULT_ENTITY_STATE } from "./initializer/constants";
|
|
3
3
|
/**
|
|
4
4
|
* Returns the entity state saved filter state for the given category key.
|
|
@@ -179,7 +179,7 @@ export function updateEntityStateByCategoryGroupConfigKey(state, nextEntityState
|
|
|
179
179
|
}
|
|
180
180
|
/**
|
|
181
181
|
* Updates the entity page state for each entity with row selection enabled,
|
|
182
|
-
* by updating the visibility of the "
|
|
182
|
+
* by updating the visibility of the "rowSelection" column based on user access and resetting row selection state.
|
|
183
183
|
* @param state - Explore state.
|
|
184
184
|
* @param canEdit - User has edit access.
|
|
185
185
|
* @returns new entity page state mapper with updated column visibility and row selection state.
|
|
@@ -191,9 +191,9 @@ export function updateSelectColumnVisibility(state, canEdit) {
|
|
|
191
191
|
...acc,
|
|
192
192
|
[entityPath]: {
|
|
193
193
|
...entityPageState,
|
|
194
|
-
|
|
195
|
-
...entityPageState.
|
|
196
|
-
[
|
|
194
|
+
columnVisibility: {
|
|
195
|
+
...entityPageState.columnVisibility,
|
|
196
|
+
[COLUMN_IDENTIFIER.ROW_SELECTION]: canEdit,
|
|
197
197
|
},
|
|
198
198
|
rowSelection: {},
|
|
199
199
|
},
|
|
@@ -4,8 +4,9 @@ import { SelectCategoryView, SelectedFilter } from "../common/entities";
|
|
|
4
4
|
import { RowPreviewState } from "../components/Table/features/RowPreview/entities";
|
|
5
5
|
import { CategoryGroup, SiteConfig } from "../config/entities";
|
|
6
6
|
import { UpdateGroupingAction } from "./exploreState/actions/updateGrouping/types";
|
|
7
|
+
import { UpdateColumnVisibilityAction } from "./exploreState/actions/updateVisibility/types";
|
|
7
8
|
import { EntityPageStateMapper, EntityStateByCategoryGroupConfigKey, ListItem } from "./exploreState/entities";
|
|
8
|
-
import { ApplySavedFilterPayload, PaginateTablePayload, PatchExploreResponsePayload, ProcessExploreResponsePayload, ResetExploreResponsePayload,
|
|
9
|
+
import { ApplySavedFilterPayload, PaginateTablePayload, PatchExploreResponsePayload, ProcessExploreResponsePayload, ResetExploreResponsePayload, UpdateEntityFiltersPayload, UpdateEntityViewAccessPayload, UpdateFilterPayload, UpdateRowPreviewPayload, UpdateRowSelectionPayload, UpdateSortingPayload } from "./exploreState/payloads/entities";
|
|
9
10
|
export type CatalogState = string | undefined;
|
|
10
11
|
/**
|
|
11
12
|
* Explore context.
|
|
@@ -169,13 +170,6 @@ type SelectEntityTypeAction = {
|
|
|
169
170
|
payload: string;
|
|
170
171
|
type: ExploreActionKind.SelectEntityType;
|
|
171
172
|
};
|
|
172
|
-
/**
|
|
173
|
-
* Update column visibility action.
|
|
174
|
-
*/
|
|
175
|
-
type UpdateColumnVisibilityAction = {
|
|
176
|
-
payload: UpdateColumnVisibilityPayload;
|
|
177
|
-
type: ExploreActionKind.UpdateColumnVisibility;
|
|
178
|
-
};
|
|
179
173
|
/**
|
|
180
174
|
* Update entity filters action.
|
|
181
175
|
*/
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React, { createContext, useEffect, useMemo, useReducer, useState, } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { useToken } from "../hooks/authentication/token/useToken";
|
|
3
3
|
import { buildCategoryViews, buildNextFilterState, } from "../hooks/useCategoryFilter";
|
|
4
4
|
import { useConfig } from "../hooks/useConfig";
|
|
5
5
|
import { useURLFilterParams } from "../hooks/useURLFilterParams";
|
|
6
6
|
import { updateGroupingAction } from "./exploreState/actions/updateGrouping/action";
|
|
7
|
+
import { updateColumnVisibilityAction } from "./exploreState/actions/updateVisibility/action";
|
|
7
8
|
import { DEFAULT_PAGINATION_STATE, INITIAL_STATE, } from "./exploreState/initializer/constants";
|
|
8
9
|
import { initReducerArguments } from "./exploreState/initializer/utils";
|
|
9
10
|
import { buildEntityStateSavedFilterState, buildNextSavedFilterState, closeRowPreview, getEntityCategoryGroupConfigKey, getEntityState, getEntityStateSavedProperty, getFilterCount, patchEntityListItems, resetPage, updateEntityPageState, updateEntityPageStateWithCommonCategoryGroupConfigKey, updateEntityStateByCategoryGroupConfigKey, updateSelectColumnVisibility, } from "./exploreState/utils";
|
|
@@ -32,7 +33,7 @@ export const ExploreStateContext = createContext({
|
|
|
32
33
|
export function ExploreStateProvider({ children, entityListType, }) {
|
|
33
34
|
const { config, defaultEntityListType } = useConfig();
|
|
34
35
|
const { decodedCatalogParam, decodedFeatureFlagParam, decodedFilterParam } = useURLFilterParams();
|
|
35
|
-
const {
|
|
36
|
+
const { token } = useToken();
|
|
36
37
|
const entityList = entityListType || defaultEntityListType;
|
|
37
38
|
const [initializerArg] = useState(() => initReducerArguments(config, entityList, decodedFilterParam, decodedCatalogParam, decodedFeatureFlagParam));
|
|
38
39
|
const [exploreState, exploreDispatch] = useReducer((s, a) => exploreReducer(s, a, {
|
|
@@ -45,13 +46,11 @@ export function ExploreStateProvider({ children, entityListType, }) {
|
|
|
45
46
|
}, [exploreDispatch, exploreState]);
|
|
46
47
|
// Reset explore response when token changes.
|
|
47
48
|
useEffect(() => {
|
|
48
|
-
if (!isAuthEnabled)
|
|
49
|
-
return;
|
|
50
49
|
exploreDispatch({
|
|
51
50
|
payload: undefined,
|
|
52
51
|
type: ExploreActionKind.ResetExploreResponse,
|
|
53
52
|
});
|
|
54
|
-
}, [exploreDispatch,
|
|
53
|
+
}, [exploreDispatch, token]);
|
|
55
54
|
return (React.createElement(ExploreStateContext.Provider, { value: exploreContextValue }, children));
|
|
56
55
|
}
|
|
57
56
|
/**
|
|
@@ -236,11 +235,7 @@ function exploreReducer(state, action, exploreContext) {
|
|
|
236
235
|
* Update column visibility
|
|
237
236
|
**/
|
|
238
237
|
case ExploreActionKind.UpdateColumnVisibility: {
|
|
239
|
-
|
|
240
|
-
return {
|
|
241
|
-
...state,
|
|
242
|
-
entityPageState: updateEntityPageState(state.tabValue, state.entityPageState, { columnsVisibility }),
|
|
243
|
-
};
|
|
238
|
+
return updateColumnVisibilityAction(state, payload);
|
|
244
239
|
}
|
|
245
240
|
/**
|
|
246
241
|
* Update entity filters.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Dispatch } from "react";
|
|
2
|
+
import { AuthAction, AuthContextProps } from "../../authentication/auth/types";
|
|
3
|
+
import { AuthenticationAction, AuthenticationContextProps } from "../../authentication/authentication/types";
|
|
4
|
+
import { CredentialsAction, CredentialsContextProps } from "../../authentication/credentials/types";
|
|
5
|
+
import { TokenAction, TokenContextProps } from "../../authentication/token/types";
|
|
6
|
+
export interface SessionReducer {
|
|
7
|
+
authenticationReducer: AuthenticationContextProps;
|
|
8
|
+
authReducer: Omit<AuthContextProps, "service">;
|
|
9
|
+
credentialsReducer: CredentialsContextProps;
|
|
10
|
+
tokenReducer: TokenContextProps;
|
|
11
|
+
}
|
|
12
|
+
export interface SessionDispatch {
|
|
13
|
+
authDispatch: Dispatch<AuthAction> | null;
|
|
14
|
+
authenticationDispatch: Dispatch<AuthenticationAction> | null;
|
|
15
|
+
credentialsDispatch: Dispatch<CredentialsAction> | null;
|
|
16
|
+
tokenDispatch: Dispatch<TokenAction> | null;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DEFAULT_AUTH_STATE } from "../authentication/auth/constants";
|
|
2
|
+
import { AUTH_STATUS } from "../authentication/auth/types";
|
|
3
|
+
import { DEFAULT_AUTHENTICATION_STATE } from "../authentication/authentication/constants";
|
|
4
|
+
import { AUTHENTICATION_STATUS, } from "../authentication/authentication/types";
|
|
5
|
+
export const AUTH_STATE = {
|
|
6
|
+
...DEFAULT_AUTH_STATE,
|
|
7
|
+
status: AUTH_STATUS.SETTLED,
|
|
8
|
+
};
|
|
9
|
+
export const AUTHENTICATION_STATE = {
|
|
10
|
+
...DEFAULT_AUTHENTICATION_STATE,
|
|
11
|
+
status: AUTHENTICATION_STATUS.SETTLED,
|
|
12
|
+
};
|