X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/ceb4f50aeca2bb6b0354a7bd96a599b4a14147fe..76b1c50413fee98f2ff8a3d2308252de6a37048c:/src/views/site-manager-panel/site-manager-panel-root.tsx diff --git a/src/views/site-manager-panel/site-manager-panel-root.tsx b/src/views/site-manager-panel/site-manager-panel-root.tsx index bc2303da..246bc875 100644 --- a/src/views/site-manager-panel/site-manager-panel-root.tsx +++ b/src/views/site-manager-panel/site-manager-panel-root.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Card, CardContent, @@ -19,17 +19,17 @@ import { WithStyles, withStyles } from '@material-ui/core'; -import { ArvadosTheme } from '~/common/custom-theme'; -import { Session, SessionStatus } from "~/models/session"; +import { ArvadosTheme } from 'common/custom-theme'; +import { Session, SessionStatus } from "models/session"; import Button from "@material-ui/core/Button"; import { compose, Dispatch } from "redux"; import { Field, FormErrors, InjectedFormProps, reduxForm, reset, stopSubmit } from "redux-form"; -import { TextField } from "~/components/text-field/text-field"; -import { addSession } from "~/store/auth/auth-action-session"; -import { SITE_MANAGER_REMOTE_HOST_VALIDATION } from "~/validators/validators"; -import { Config } from '~/common/config'; -import { ResourceCluster } from '~/views-components/data-explorer/renderers'; -import { TrashIcon } from "~/components/icon/icon"; +import { TextField } from "components/text-field/text-field"; +import { addSession } from "store/auth/auth-action-session"; +import { SITE_MANAGER_REMOTE_HOST_VALIDATION } from "validators/validators"; +import { Config } from 'common/config'; +import { ResourceCluster } from 'views-components/data-explorer/renderers'; +import { TrashIcon } from "components/icon/icon"; type CssRules = 'root' | 'link' | 'buttonContainer' | 'table' | 'tableRow' | 'remoteSiteInfo' | 'buttonAdd' | 'buttonLoggedIn' | 'buttonLoggedOut' | @@ -94,6 +94,7 @@ export interface SiteManagerPanelRootActionProps { export interface SiteManagerPanelRootDataProps { sessions: Session[]; remoteHostsConfig: { [key: string]: Config }; + localClusterConfig: Config; } type SiteManagerPanelRootProps = SiteManagerPanelRootDataProps & SiteManagerPanelRootActionProps & WithStyles & InjectedFormProps; @@ -120,7 +121,7 @@ export const SiteManagerPanelRoot = compose( } }), withStyles(styles)) - (({ classes, sessions, handleSubmit, toggleSession, removeSession, remoteHostsConfig }: SiteManagerPanelRootProps) => + (({ classes, sessions, handleSubmit, toggleSession, removeSession, localClusterConfig, remoteHostsConfig }: SiteManagerPanelRootProps) => @@ -157,12 +158,19 @@ export const SiteManagerPanelRoot = compose( disabled={validating || session.status === SessionStatus.INVALIDATED || session.active} className={session.loggedIn ? classes.buttonLoggedIn : classes.buttonLoggedOut} onClick={() => toggleSession(session)}> - {validating ? "Validating" : (session.loggedIn ? "Logged in" : "Logged out")} + {validating ? "Validating" + : (session.loggedIn ? + (session.userIsActive ? "Logged in" : "Inactive") + : "Logged out")} - removeSession(session)}> - - + + {session.clusterId !== localClusterConfig.uuidPrefix && + !localClusterConfig.clusterConfig.RemoteClusters[session.clusterId] && + removeSession(session)}> + + } + ; })} @@ -179,7 +187,7 @@ export const SiteManagerPanelRoot = compose(