From efbf87610d0d483416a14a5364a5f8c61bdee10b Mon Sep 17 00:00:00 2001 From: Pawel Kowalczyk Date: Tue, 27 Nov 2018 09:46:43 +0100 Subject: [PATCH] cr changes Feature #13864 Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk --- src/models/link.ts | 3 +- .../virtual-machines-actions.ts | 5 -- .../virtual-machine-panel.tsx | 73 +++++++++---------- 3 files changed, 37 insertions(+), 44 deletions(-) diff --git a/src/models/link.ts b/src/models/link.ts index 0b5053dc..baaff658 100644 --- a/src/models/link.ts +++ b/src/models/link.ts @@ -3,13 +3,14 @@ // SPDX-License-Identifier: AGPL-3.0 import { Resource } from "./resource"; +import { TagProperty } from "~/models/tag"; export interface LinkResource extends Resource { headUuid: string; tailUuid: string; linkClass: string; name: string; - properties: any; + properties: TagProperty; } export enum LinkClass { diff --git a/src/store/virtual-machines/virtual-machines-actions.ts b/src/store/virtual-machines/virtual-machines-actions.ts index c9283afd..9bd79884 100644 --- a/src/store/virtual-machines/virtual-machines-actions.ts +++ b/src/store/virtual-machines/virtual-machines-actions.ts @@ -48,11 +48,6 @@ export const loadVirtualMachinesData = () => }); dispatch(virtualMachinesActions.SET_VIRTUAL_MACHINES(virtualMachines)); dispatch(virtualMachinesActions.SET_LINKS(links)); - // const logins = await services.virtualMachineService.logins(virtualMachines.items[0].uuid); - // console.log(logins); - // const getAllLogins = await services.virtualMachineService.getAllLogins(); - // console.log(getAllLogins); - // dispatch(virtualMachinesActions.SET_LOGINS(getAllLogins)); }; export const saveRequestedDate = () => diff --git a/src/views/virtual-machine-panel/virtual-machine-panel.tsx b/src/views/virtual-machine-panel/virtual-machine-panel.tsx index 94197c6b..c94c3a74 100644 --- a/src/views/virtual-machine-panel/virtual-machine-panel.tsx +++ b/src/views/virtual-machine-panel/virtual-machine-panel.tsx @@ -14,10 +14,10 @@ import { saveRequestedDate, loadVirtualMachinesData } from '~/store/virtual-mach import { RootState } from '~/store/store'; import { ListResults } from '~/services/common-service/common-resource-service'; import { HelpIcon } from '~/components/icon/icon'; -import { VirtualMachinesLoginsResource } from '~/models/virtual-machines'; +import { VirtualMachinesLoginsResource, VirtualMachinesResource } from '~/models/virtual-machines'; import { Routes } from '~/routes/routes'; -type CssRules = 'button' | 'codeSnippet' | 'link' | 'linkIcon' | 'rightAlign' | 'cardWithoutMachines'; +type CssRules = 'button' | 'codeSnippet' | 'link' | 'linkIcon' | 'rightAlign' | 'cardWithoutMachines' | 'icon'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ button: { @@ -58,19 +58,17 @@ const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ } }); -const mapStateToProps = (state: RootState) => { +const mapStateToProps = ({ virtualMachines }: RootState) => { return { - requestedDate: state.virtualMachines.date, - virtualMachines: state.virtualMachines.virtualMachines, - logins: state.virtualMachines.logins, - links: state.virtualMachines.links + requestedDate: virtualMachines.date, + ...virtualMachines }; }; -const mapDispatchToProps = (dispatch: Dispatch) => ({ - saveRequestedDate: () => dispatch(saveRequestedDate()), - loadVirtualMachinesData: () => dispatch(loadVirtualMachinesData()) -}); +const mapDispatchToProps = { + saveRequestedDate, + loadVirtualMachinesData +}; interface VirtualMachinesPanelDataProps { requestedDate: string; @@ -95,55 +93,55 @@ export const VirtualMachinePanel = compose( } render() { - const { classes, saveRequestedDate, requestedDate, virtualMachines, links } = this.props; + const { virtualMachines, links } = this.props; return ( - {virtualMachines.itemsAvailable === 0 && cardContentWithNoVirtualMachines(requestedDate, saveRequestedDate, classes)} - {virtualMachines.itemsAvailable > 0 && links.itemsAvailable > 0 && cardContentWithVirtualMachines(requestedDate, saveRequestedDate, virtualMachines, links, classes)} - {cardSSHSection(classes)} + {virtualMachines.itemsAvailable === 0 && } + {virtualMachines.itemsAvailable > 0 && links.itemsAvailable > 0 && } + {} ); } } ); -const cardContentWithNoVirtualMachines = (requestedDate: string, saveRequestedDate: () => void, classes: any) => +const CardContentWithNoVirtualMachines = (props: VirtualMachineProps) => - + You do not have access to any virtual machines. Some Arvados features require using the command line. You may request access to a hosted virtual machine with the command line shell. - - - {requestedDate && + {props.requestedDate && - A request for shell access was sent on {requestedDate} + A request for shell access was sent on {props.requestedDate} } ; -const cardContentWithVirtualMachines = (requestedDate: string, saveRequestedDate: () => void, virtualMachines: ListResults, links: ListResults, classes: any) => +const CardContentWithVirtualMachines = (props: VirtualMachineProps) => -
- - {requestedDate && + {props.requestedDate && - A request for shell access was sent on {requestedDate} + A request for shell access was sent on {props.requestedDate} }
-
- +
+ @@ -159,14 +157,14 @@ const cardContentWithVirtualMachines = (requestedDate: string, saveRequestedDate - {virtualMachines.items.map((it, index) => + {props.virtualMachines.items.map((it, index) => {it.hostname} - {getUsername(links, it)} - ssh {getUsername(links, it)}@shell.arvados + {getUsername(props.links, it)} + ssh {getUsername(props.links, it)}@shell.arvados - - Log in as {getUsername(links, it)} + + Log in as {getUsername(props.links, it)} @@ -177,21 +175,20 @@ const cardContentWithVirtualMachines = (requestedDate: string, saveRequestedDate ; -const getUsername = (links: ListResults, virtualMachine: any) => { - console.log(links); +const getUsername = (links: ListResults, virtualMachine: VirtualMachinesResource) => { const link = links.items.find((item: any) => item.headUuid === virtualMachine.uuid); return link.properties.username || undefined; }; -const cardSSHSection = (classes: any) => +const CardSSHSection = (props: VirtualMachineProps) => - In order to access virtual machines using SSH, add an SSH key to your account and add a section like this to your SSH configuration file ( ~/.ssh/config): + In order to access virtual machines using SSH, add an SSH key to your account and add a section like this to your SSH configuration file ( ~/.ssh/config): -- 2.30.2