// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import React from 'react'; import { compose } from "redux"; import { reduxForm, InjectedFormProps, Field, GenericField } from 'redux-form'; import { withDialog, WithDialogProps } from "store/dialog/with-dialog"; import { FormDialog } from 'components/form-dialog/form-dialog'; import { VIRTUAL_MACHINE_ADD_LOGIN_DIALOG, VIRTUAL_MACHINE_ADD_LOGIN_FORM, addUpdateVirtualMachineLogin, AddLoginFormData, VIRTUAL_MACHINE_ADD_LOGIN_USER_FIELD, VIRTUAL_MACHINE_ADD_LOGIN_GROUPS_FIELD } from 'store/virtual-machines/virtual-machines-actions'; import { ParticipantSelect } from 'views-components/sharing-dialog/participant-select'; import { GroupArrayInput, GroupArrayDataProps } from 'views-components/virtual-machines-dialog/group-array-input'; export const VirtualMachineAddLoginDialog = compose( withDialog(VIRTUAL_MACHINE_ADD_LOGIN_DIALOG), reduxForm({ form: VIRTUAL_MACHINE_ADD_LOGIN_FORM, onSubmit: (data, dispatch) => { dispatch(addUpdateVirtualMachineLogin(data)); } }) )( (props: CreateGroupDialogComponentProps) => { const [hasPartialGroupInput, setPartialGroupInput] = React.useState(false); return ; } ); type CreateGroupDialogComponentProps = WithDialogProps<{updating: boolean}> & GroupArrayDataProps & InjectedFormProps; const AddLoginFormFields = (props) => { return <> ; } interface UserFieldProps { excludedParticipants: string[]; } const ParticipantField = Field as new () => GenericField; const UserSelect = (props) => (props.input.onChange(''))} />; const ReadOnlyUserSelect = (props) => ;