5bdaa4f408e659a390d03152ecb7316fffbf2a87
[arvados-workbench2.git] / src / views-components / dialog-update / dialog-collection-update.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import React from 'react';
6 import { InjectedFormProps } from 'redux-form';
7 import { WithDialogProps } from 'store/dialog/with-dialog';
8 import { CollectionUpdateFormDialogData } from 'store/collections/collection-update-actions';
9 import { FormDialog } from 'components/form-dialog/form-dialog';
10 import {
11     CollectionNameField,
12     CollectionDescriptionField,
13     CollectionStorageClassesField
14 } from 'views-components/form-fields/collection-form-fields';
15 import { UpdateCollectionPropertiesForm } from 'views-components/collection-properties/update-collection-properties-form';
16 import { UpdateCollectionPropertiesList } from 'views-components/collection-properties/update-collection-properties-list';
17 import { FormGroup, FormLabel } from '@material-ui/core';
18
19 type DialogCollectionProps = WithDialogProps<{}> & InjectedFormProps<CollectionUpdateFormDialogData>;
20
21 export const DialogCollectionUpdate = (props: DialogCollectionProps) =>
22     <FormDialog
23         dialogTitle='Edit Collection'
24         formFields={CollectionEditFields}
25         submitLabel='Save'
26         {...props}
27     />;
28
29 const CollectionEditFields = () => <span>
30     <CollectionNameField />
31     <CollectionDescriptionField />
32     <FormLabel>Properties</FormLabel>
33     <FormGroup>
34         <UpdateCollectionPropertiesForm />
35         <UpdateCollectionPropertiesList />
36     </FormGroup>
37     <CollectionStorageClassesField />
38 </span>;