refs #14876 Copy-selected-into-the-colletion
[arvados-workbench2.git] / src / views-components / form-fields / collection-form-fields.tsx
index 10c807b6211bbacf0316abcf95d04b8407708f1e..2ebcf08ef323e19e48e7af2d566d96f224448e89 100644 (file)
@@ -3,25 +3,19 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as React from "react";
-import { Field, WrappedFieldProps } from "redux-form";
+import { Field } from "redux-form";
 import { TextField } from "~/components/text-field/text-field";
 import { COLLECTION_NAME_VALIDATION, COLLECTION_DESCRIPTION_VALIDATION, COLLECTION_PROJECT_VALIDATION } from "~/validators/validators";
-import { ProjectTreePicker } from "~/views-components/project-tree-picker/project-tree-picker";
-
-export const CollectionPartialCopyFields = () => <div style={{ display: 'flex' }}>
-    <div>
-        <CollectionNameField />
-        <CollectionDescriptionField />
-    </div>
-    <CollectionProjectPickerField />
-</div>;
+import { ProjectTreePickerField, CollectionTreePickerField } from "~/views-components/project-tree-picker/project-tree-picker";
+import { PickerIdProp } from '~/store/tree-picker/picker-id';
 
 export const CollectionNameField = () =>
     <Field
         name='name'
         component={TextField}
         validate={COLLECTION_NAME_VALIDATION}
-        label="Collection Name" />;
+        label="Collection Name"
+        autoFocus={true} />;
 
 export const CollectionDescriptionField = () =>
     <Field
@@ -30,13 +24,16 @@ export const CollectionDescriptionField = () =>
         validate={COLLECTION_DESCRIPTION_VALIDATION}
         label="Description - optional" />;
 
-export const CollectionProjectPickerField = () =>
+export const CollectionProjectPickerField = (props: PickerIdProp) =>
     <Field
         name="projectUuid"
-        component={ProjectPicker}
+        pickerId={props.pickerId}
+        component={ProjectTreePickerField}
         validate={COLLECTION_PROJECT_VALIDATION} />;
 
-const ProjectPicker = (props: WrappedFieldProps) =>
-    <div style={{ width: '400px', height: '144px', display: 'flex', flexDirection: 'column' }}>
-        <ProjectTreePicker onChange={projectUuid => props.input.onChange(projectUuid)} />
-    </div>;
+export const CollectionPickerField = (props: PickerIdProp) =>
+    <Field
+        name="collectionUuid"
+        pickerId={props.pickerId}
+        component={CollectionTreePickerField}
+        validate={COLLECTION_PROJECT_VALIDATION} />;