+ if (sourceCollection && selectedItems.length) {
+ openCopyToNewDialog(dispatch, sourceCollection, selectedItems);
+ }
+ };
+
+const openCopyToNewDialog = (dispatch: Dispatch, sourceCollection: CollectionResource, selectedItems: (CollectionPanelDirectory | CollectionPanelFile | ContextMenuResource)[]) => {
+ // Get selected files
+ const collectionFileSelection = getCollectionSelection(sourceCollection, selectedItems);
+ // Populate form initial state
+ const initialFormData = {
+ name: `Files extracted from: ${sourceCollection.name}`,
+ description: sourceCollection.description,
+ projectUuid: undefined
+ };
+ dispatch(initialize(COLLECTION_PARTIAL_COPY_FORM_NAME, initialFormData));
+ dispatch<any>(resetPickerProjectTree());
+ dispatch(dialogActions.OPEN_DIALOG({ id: COLLECTION_PARTIAL_COPY_FORM_NAME, data: collectionFileSelection }));
+};
+
+export const copyCollectionPartialToNewCollection = (fileSelection: CollectionFileSelection, formData: CollectionPartialCopyToNewCollectionFormData) =>
+ async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
+ if (fileSelection.collection) {