// 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, WrappedFieldArrayProps, FieldArray } from 'redux-form'; import { withDialog, WithDialogProps } from "~/store/dialog/with-dialog"; import { FormDialog } from '~/components/form-dialog/form-dialog'; import { PeopleSelect, Person } from '~/views-components/sharing-dialog/people-select'; import { ADD_GROUP_MEMBERS_DIALOG, ADD_GROUP_MEMBERS_FORM, AddGroupMembersFormData, ADD_GROUP_MEMBERS_USERS_FIELD_NAME, addGroupMembers } from '~/store/group-details-panel/group-details-panel-actions'; import { minLength } from '~/validators/min-length'; export const AddGroupMembersDialog = compose( withDialog(ADD_GROUP_MEMBERS_DIALOG), reduxForm({ form: ADD_GROUP_MEMBERS_FORM, onSubmit: (data, dispatch) => { dispatch(addGroupMembers(data)); }, }) )( (props: AddGroupMembersDialogProps) => ); type AddGroupMembersDialogProps = WithDialogProps<{}> & InjectedFormProps; const UsersField = () => ; const UsersFieldValidation = [minLength(1, () => 'Select at least one user')]; const UsersSelect = ({ fields }: WrappedFieldArrayProps) => ;