// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { compose } from "redux"; import { reduxForm, InjectedFormProps, Field } from 'redux-form'; import { withDialog, WithDialogProps } from "~/store/dialog/with-dialog"; import { FormDialog } from '~/components/form-dialog/form-dialog'; import { TextField } from '~/components/text-field/text-field'; import { VirtualMachinesResource } from '~/models/virtual-machines'; import { USER_LENGTH_VALIDATION } from '~/validators/validators'; import { InputLabel } from '@material-ui/core'; import { NativeSelectField } from '~/components/select-field/select-field'; import { SETUP_SHELL_ACCOUNT_DIALOG, createUser } from '~/store/users/users-actions'; import { UserResource } from '~/models/user'; interface SetupShellAccountFormDialogData { email: string; virtualMachineName: string; groupVirtualMachine: string; } export const SetupShellAccountDialog = compose( withDialog(SETUP_SHELL_ACCOUNT_DIALOG), reduxForm({ form: SETUP_SHELL_ACCOUNT_DIALOG, onSubmit: (data, dispatch) => { dispatch(createUser(data)); } }) )( (props: SetupShellAccountDialogComponentProps) => ); interface UserProps { data: { user: UserResource; }; } interface VirtualMachinesProps { data: { items: VirtualMachinesResource[]; }; } interface DataProps { user: UserResource; items: VirtualMachinesResource[]; } const UserEmailField = ({ data }: UserProps) => ; const UserVirtualMachineField = ({ data }: VirtualMachinesProps) =>
Virtual Machine
; const UserGroupsVirtualMachineField = () => ; const getVirtualMachinesList = (virtualMachines: VirtualMachinesResource[]) => virtualMachines.map(it => ({ key: it.hostname, value: it.hostname })); type SetupShellAccountDialogComponentProps = WithDialogProps<{}> & InjectedFormProps; const SetupShellAccountFormFields = (props: SetupShellAccountDialogComponentProps) => <> ;