19231: Add smaller page sizes (10 and 20 items) to load faster
[arvados-workbench2.git] / src / views-components / dialog-copy / dialog-collection-partial-copy.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 { memoize } from "lodash/fp";
7 import { FormDialog } from 'components/form-dialog/form-dialog';
8 import { CollectionNameField, CollectionDescriptionField, CollectionProjectPickerField } from 'views-components/form-fields/collection-form-fields';
9 import { WithDialogProps } from 'store/dialog/with-dialog';
10 import { InjectedFormProps } from 'redux-form';
11 import { CollectionPartialCopyFormData } from 'store/collections/collection-partial-copy-actions';
12 import { PickerIdProp } from "store/tree-picker/picker-id";
13
14 type DialogCollectionPartialCopyProps = WithDialogProps<string> & InjectedFormProps<CollectionPartialCopyFormData>;
15
16 export const DialogCollectionPartialCopy = (props: DialogCollectionPartialCopyProps & PickerIdProp) =>
17     <FormDialog
18         dialogTitle='Create a collection'
19         formFields={CollectionPartialCopyFields(props.pickerId)}
20         submitLabel='Create a collection'
21         {...props}
22     />;
23
24 export const CollectionPartialCopyFields = memoize(
25     (pickerId: string) =>
26         () =>
27             <div>
28                 <CollectionNameField />
29                 <CollectionDescriptionField />
30                 <CollectionProjectPickerField {...{ pickerId }} />
31             </div>);