init make a copy
authorPawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>
Mon, 10 Sep 2018 07:42:48 +0000 (09:42 +0200)
committerPawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>
Mon, 10 Sep 2018 07:42:48 +0000 (09:42 +0200)
Feature #14097

Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>

src/store/processes/process-copy-actions.ts [new file with mode: 0644]
src/views-components/dialog-copy/dialog-collection-copy.tsx
src/views-components/dialog-forms/copy-collection-dialog.ts
src/views-components/dialog-forms/copy-process-dialog.ts [new file with mode: 0644]

diff --git a/src/store/processes/process-copy-actions.ts b/src/store/processes/process-copy-actions.ts
new file mode 100644 (file)
index 0000000..e3c5acc
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+export const PROCESS_COPY_FORM_NAME = 'processCopyFormName';
+
+export interface ProcessCopyFormDialogData {
+    name: string;
+    ownerUuid: string;
+    uuid: string;
+}
\ No newline at end of file
index 029db578520e197ed37e1f86511e8d20ae69dbbe..33d16b8a2ca87d9e07b42f02140434e29fcb3fcb 100644 (file)
@@ -13,15 +13,15 @@ import { CollectionCopyFormDialogData } from "~/store/collections/collection-cop
 
 type CopyFormDialogProps = WithDialogProps<string> & InjectedFormProps<CollectionCopyFormDialogData>;
 
-export const DialogCollectionCopy = (props: CopyFormDialogProps) =>
+export const DialogCopy = (props: CopyFormDialogProps) =>
     <FormDialog
         dialogTitle='Make a copy'
-        formFields={CollectionCopyFields}
+        formFields={CopyDialogFields}
         submitLabel='Copy'
         {...props}
     />;
 
-const CollectionCopyFields = () => <span>
+const CopyDialogFields = () => <span>
     <Field
         name='name'
         component={TextField}
index 245465fa55edfc2bcb32fab615122ec42c62a90f..17823900edabf74e2998b6630ac9fd015e679b67 100644 (file)
@@ -6,7 +6,7 @@ import { compose } from "redux";
 import { withDialog } from "~/store/dialog/with-dialog";
 import { reduxForm } from 'redux-form';
 import { COLLECTION_COPY_FORM_NAME, CollectionCopyFormDialogData } from '~/store/collections/collection-copy-actions';
-import { DialogCollectionCopy } from "~/views-components/dialog-copy/dialog-collection-copy";
+import { DialogCopy } from "~/views-components/dialog-copy/dialog-collection-copy";
 import { copyCollection } from '~/store/workbench/workbench-actions';
 
 export const CopyCollectionDialog = compose(
@@ -17,4 +17,4 @@ export const CopyCollectionDialog = compose(
             dispatch(copyCollection(data));
         }
     })
-)(DialogCollectionCopy);
\ No newline at end of file
+)(DialogCopy);
\ No newline at end of file
diff --git a/src/views-components/dialog-forms/copy-process-dialog.ts b/src/views-components/dialog-forms/copy-process-dialog.ts
new file mode 100644 (file)
index 0000000..d063562
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import { compose } from "redux";
+import { withDialog } from "~/store/dialog/with-dialog";
+import { reduxForm } from 'redux-form';
+import { PROCESS_COPY_FORM_NAME, ProcessCopyFormDialogData } from '~/store/processes/process-copy-actions';
+import { DialogCopy } from "~/views-components/dialog-copy/dialog-collection-copy";
+import { copyCollection } from '~/store/workbench/workbench-actions';
+
+export const CopyProcessDialog = compose(
+    withDialog(PROCESS_COPY_FORM_NAME),
+    reduxForm<ProcessCopyFormDialogData>({
+        form: PROCESS_COPY_FORM_NAME,
+        onSubmit: (data, dispatch) => {
+            dispatch(copyCollection(data));
+        }
+    })
+)(DialogCopy);
\ No newline at end of file