// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Grid } from "@material-ui/core"; import { WithDialogProps } from "~/store/dialog/with-dialog"; import { withDialog } from '~/store/dialog/with-dialog'; import { VIRTUAL_MACHINE_ATTRIBUTES_DIALOG } from "~/store/virtual-machines/virtual-machines-actions"; import { WithStyles, withStyles } from '@material-ui/core/styles'; import { ArvadosTheme } from '~/common/custom-theme'; import { compose } from "redux"; import { VirtualMachinesResource } from "~/models/virtual-machines"; type CssRules = 'rightContainer' | 'leftContainer' | 'spacing'; const styles = withStyles((theme: ArvadosTheme) => ({ rightContainer: { textAlign: 'right', paddingRight: theme.spacing.unit * 2, color: theme.palette.grey["500"] }, leftContainer: { textAlign: 'left', paddingLeft: theme.spacing.unit * 2 }, spacing: { paddingTop: theme.spacing.unit * 2 }, })); interface VirtualMachineAttributesDataProps { virtualMachineData: VirtualMachinesResource; } type VirtualMachineAttributesProps = VirtualMachineAttributesDataProps & WithStyles; export const VirtualMachineAttributesDialog = compose( withDialog(VIRTUAL_MACHINE_ATTRIBUTES_DIALOG), styles)( (props: WithDialogProps & VirtualMachineAttributesProps) => Attributes {props.data.virtualMachineData && attributes(props.data.virtualMachineData, props.classes)} ); const attributes = (virtualMachine: VirtualMachinesResource, classes: any) => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, hostname } = virtualMachine; return ( Hostname Owner uuid Created at Modified at Modified by user uuid Modified by client uuid uuid {hostname} {ownerUuid} {createdAt} {modifiedAt} {modifiedByUserUuid} {modifiedByClientUuid} {uuid} ); };