From: Michal Klobukowski Date: Thu, 15 Nov 2018 13:36:20 +0000 (+0100) Subject: Add itree picker initialization for CollectionPartialCopyDialog X-Git-Tag: 1.3.0~23^2^2^2^2~4 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/fcda82dca52aa45926f8e656c45baf892acdc634 Add itree picker initialization for CollectionPartialCopyDialog Feature #14470 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- diff --git a/src/store/collections/collection-partial-copy-actions.ts b/src/store/collections/collection-partial-copy-actions.ts index 4dac9c7d..0f904c2a 100644 --- a/src/store/collections/collection-partial-copy-actions.ts +++ b/src/store/collections/collection-partial-copy-actions.ts @@ -12,6 +12,7 @@ import { filterCollectionFilesBySelection } from '../collection-panel/collection import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions'; import { getCommonResourceServiceError, CommonResourceServiceError } from '~/services/common-service/common-resource-service'; import { progressIndicatorActions } from "~/store/progress-indicator/progress-indicator-actions"; +import { initProjectsTreePicker } from '../tree-picker/tree-picker-actions'; export const COLLECTION_PARTIAL_COPY_FORM_NAME = 'COLLECTION_PARTIAL_COPY_DIALOG'; @@ -32,6 +33,7 @@ export const openCollectionPartialCopyDialog = () => }; dispatch(initialize(COLLECTION_PARTIAL_COPY_FORM_NAME, initialData)); dispatch(resetPickerProjectTree()); + dispatch(initProjectsTreePicker(COLLECTION_PARTIAL_COPY_FORM_NAME)); dispatch(dialogActions.OPEN_DIALOG({ id: COLLECTION_PARTIAL_COPY_FORM_NAME, data: {} })); } }; diff --git a/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx b/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx index 7c335a35..a56ecca5 100644 --- a/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx +++ b/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx @@ -3,6 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from "react"; +import { memoize } from "lodash/fp"; import { FormDialog } from '~/components/form-dialog/form-dialog'; import { CollectionNameField, CollectionDescriptionField, CollectionProjectPickerField } from '~/views-components/form-fields/collection-form-fields'; import { WithDialogProps } from '~/store/dialog/with-dialog'; @@ -11,16 +12,19 @@ import { CollectionPartialCopyFormData } from '~/store/collections/collection-pa type DialogCollectionPartialCopyProps = WithDialogProps & InjectedFormProps; -export const DialogCollectionPartialCopy = (props: DialogCollectionPartialCopyProps) => +export const DialogCollectionPartialCopy = (props: DialogCollectionPartialCopyProps & { pickerId: string }) => ; -export const CollectionPartialCopyFields = () =>
- - - -
; +export const CollectionPartialCopyFields = memoize( + (pickerId: string) => + () => +
+ + + +
); diff --git a/src/views-components/dialog-forms/partial-copy-collection-dialog.ts b/src/views-components/dialog-forms/partial-copy-collection-dialog.ts index 16f8275e..37d928be 100644 --- a/src/views-components/dialog-forms/partial-copy-collection-dialog.ts +++ b/src/views-components/dialog-forms/partial-copy-collection-dialog.ts @@ -7,6 +7,7 @@ import { reduxForm } from 'redux-form'; import { withDialog, } from '~/store/dialog/with-dialog'; import { CollectionPartialCopyFormData, copyCollectionPartial, COLLECTION_PARTIAL_COPY_FORM_NAME } from '~/store/collections/collection-partial-copy-actions'; import { DialogCollectionPartialCopy } from "~/views-components/dialog-copy/dialog-collection-partial-copy"; +import { pickerId } from "~/store/tree-picker/picker-id"; export const PartialCopyCollectionDialog = compose( @@ -16,4 +17,6 @@ export const PartialCopyCollectionDialog = compose( onSubmit: (data, dispatch) => { dispatch(copyCollectionPartial(data)); } - }))(DialogCollectionPartialCopy); \ No newline at end of file + }), + pickerId(COLLECTION_PARTIAL_COPY_FORM_NAME), +)(DialogCollectionPartialCopy); \ No newline at end of file