X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/aa0a2249b6bf5b3e5b69034dfa5fab4b809ae6ce..5a5f30dbbfa1df4fd3dfade4cb5deab2a4ded56c:/src/views-components/dialog-create/dialog-project-create.tsx diff --git a/src/views-components/dialog-create/dialog-project-create.tsx b/src/views-components/dialog-create/dialog-project-create.tsx index 34860599..d85a304e 100644 --- a/src/views-components/dialog-create/dialog-project-create.tsx +++ b/src/views-components/dialog-create/dialog-project-create.tsx @@ -7,31 +7,76 @@ import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { ProjectCreateFormDialogData, PROJECT_CREATE_FORM_NAME } from 'store/projects/project-create-actions'; import { FormDialog } from 'components/form-dialog/form-dialog'; -import { ProjectNameField, ProjectDescriptionField } from 'views-components/form-fields/project-form-fields'; +import { ProjectNameField, ProjectDescriptionField, UsersField } from 'views-components/form-fields/project-form-fields'; import { CreateProjectPropertiesForm } from 'views-components/project-properties/create-project-properties-form'; import { ResourceParentField } from '../form-fields/resource-form-fields'; -import { FormGroup, FormLabel } from '@material-ui/core'; +import { FormGroup, FormLabel, StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core'; import { resourcePropertiesList } from 'views-components/resource-properties/resource-properties-list'; +import { GroupClass } from 'models/group'; -type DialogProjectProps = WithDialogProps<{}> & InjectedFormProps; +type CssRules = 'propertiesForm' | 'description'; -export const DialogProjectCreate = (props: DialogProjectProps) => - = theme => ({ + propertiesForm: { + marginTop: theme.spacing.unit * 2, + marginBottom: theme.spacing.unit * 2, + }, + description: { + marginTop: theme.spacing.unit * 2, + marginBottom: theme.spacing.unit * 2, + }, +}); + +type DialogProjectProps = WithDialogProps<{sourcePanel: GroupClass}> & InjectedFormProps; + +export const DialogProjectCreate = (props: DialogProjectProps) => { + let title = 'New Project'; + let fields = ProjectAddFields; + const sourcePanel = props.data.sourcePanel || ''; + + if (sourcePanel === GroupClass.ROLE) { + title = 'New Group'; + fields = GroupAddFields; + } + + return ; +}; const CreateProjectPropertiesList = resourcePropertiesList(PROJECT_CREATE_FORM_NAME); -const ProjectAddFields = () => - - - - Properties - - - - -; +const ProjectAddFields = withStyles(styles)( + ({ classes }: WithStyles) => + + +
+ +
+
+ Properties + + + + +
+
); + +const GroupAddFields = withStyles(styles)( + ({ classes }: WithStyles) => + + +
+ +
+
+ Properties + + + + +
+
);