1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import React from 'react';
6 import { InjectedFormProps } from 'redux-form';
7 import { WithDialogProps } from 'store/dialog/with-dialog';
8 import { ProjectCreateFormDialogData, PROJECT_CREATE_FORM_NAME } from 'store/projects/project-create-actions';
9 import { FormDialog } from 'components/form-dialog/form-dialog';
10 import { ProjectNameField, ProjectDescriptionField } from 'views-components/form-fields/project-form-fields';
11 import { CreateProjectPropertiesForm } from 'views-components/project-properties/create-project-properties-form';
12 import { ResourceParentField } from '../form-fields/resource-form-fields';
13 import { FormGroup, FormLabel } from '@material-ui/core';
14 import { resourcePropertiesList } from 'views-components/resource-properties/resource-properties-list';
16 type DialogProjectProps = WithDialogProps<{}> & InjectedFormProps<ProjectCreateFormDialogData>;
18 export const DialogProjectCreate = (props: DialogProjectProps) =>
20 dialogTitle='New project'
21 formFields={ProjectAddFields}
22 submitLabel='Create a Project'
26 const CreateProjectPropertiesList = resourcePropertiesList(PROJECT_CREATE_FORM_NAME);
28 const ProjectAddFields = () => <span>
29 <ResourceParentField />
31 <ProjectDescriptionField />
32 <FormLabel>Properties</FormLabel>
34 <CreateProjectPropertiesForm />
35 <CreateProjectPropertiesList />