X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/229eaf53b39af3a7e9408ed5f7e49d74b318445a..e954cfb45dbe418c151144cc42847b848c9b0ebf:/src/index.tsx diff --git a/src/index.tsx b/src/index.tsx index 508fa7c3..014627a9 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -14,6 +14,7 @@ import { configureStore, RootStore } from '~/store/store'; import { ConnectedRouter } from "react-router-redux"; import { ApiToken } from "~/views-components/api-token/api-token"; import { initAuth } from "~/store/auth/auth-action"; +import { configActions } from "~/store/config/config-action"; import { createServices } from "~/services/services"; import { MuiThemeProvider } from '@material-ui/core/styles'; import { CustomTheme } from '~/common/custom-theme'; @@ -59,6 +60,13 @@ import { apiClientAuthorizationActionSet } from '~/views-components/context-menu import { groupActionSet } from '~/views-components/context-menu/action-sets/group-action-set'; import { groupMemberActionSet } from '~/views-components/context-menu/action-sets/group-member-action-set'; import { linkActionSet } from '~/views-components/context-menu/action-sets/link-action-set'; +import { loadFileViewersConfig } from '~/store/file-viewers/file-viewers-actions'; +import { collectionAdminActionSet } from '~/views-components/context-menu/action-sets/collection-admin-action-set'; +import { processResourceAdminActionSet } from '~/views-components/context-menu/action-sets/process-resource-admin-action-set'; +import { projectAdminActionSet } from '~/views-components/context-menu/action-sets/project-admin-action-set'; +import { ACCOUNT_LINK_STATUS_KEY } from '~/services/link-account-service/link-account-service'; +import { cancelLinking } from '~/store/link-account-panel/link-account-panel-actions'; +import { matchTokenRoute } from '~/routes/routes'; console.log(`Starting arvados [${getBuildInfo()}]`); @@ -85,6 +93,9 @@ addMenuActionSet(ContextMenuKind.NODE, computeNodeActionSet); addMenuActionSet(ContextMenuKind.API_CLIENT_AUTHORIZATION, apiClientAuthorizationActionSet); addMenuActionSet(ContextMenuKind.GROUPS, groupActionSet); addMenuActionSet(ContextMenuKind.GROUP_MEMBER, groupMemberActionSet); +addMenuActionSet(ContextMenuKind.COLLECTION_ADMIN, collectionAdminActionSet); +addMenuActionSet(ContextMenuKind.PROCESS_ADMIN, processResourceAdminActionSet); +addMenuActionSet(ContextMenuKind.PROJECT_ADMIN, projectAdminActionSet); fetchConfig() .then(({ config, apiHost }) => { @@ -100,14 +111,21 @@ fetchConfig() }); const store = configureStore(history, services); + // Cancel any link account ops in progess unless the user has + // just logged in or there has been a successful link operation + const data = sessionStorage.getItem(ACCOUNT_LINK_STATUS_KEY); + if (!matchTokenRoute(history.location.pathname) && data === null) { + store.dispatch(cancelLinking()); + } + store.subscribe(initListener(history, store, services, config)); - store.dispatch(initAuth()); + store.dispatch(initAuth(config)); store.dispatch(setBuildInfo()); store.dispatch(setCurrentTokenDialogApiHost(apiHost)); - store.dispatch(setUuidPrefix(config.uuidPrefix)); store.dispatch(loadVocabulary); + store.dispatch(loadFileViewersConfig); - const TokenComponent = (props: any) => ; + const TokenComponent = (props: any) => ; const MainPanelComponent = (props: any) => ; const App = () =>