X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/f724a564f37f4e2d48c2c1b929d739d821df48fe..dd89200ad6fdbfa337fdbab5f54def8712c6746c:/src/views-components/create-collection-dialog/create-collection-dialog.tsx?ds=sidebyside diff --git a/src/views-components/create-collection-dialog/create-collection-dialog.tsx b/src/views-components/create-collection-dialog/create-collection-dialog.tsx index 0ba2b22a..94eb82f9 100644 --- a/src/views-components/create-collection-dialog/create-collection-dialog.tsx +++ b/src/views-components/create-collection-dialog/create-collection-dialog.tsx @@ -6,12 +6,12 @@ import { connect } from "react-redux"; import { Dispatch } from "redux"; import { SubmissionError } from "redux-form"; -import { RootState } from "../../store/store"; +import { RootState } from "~/store/store"; import { DialogCollectionCreate } from "../dialog-create/dialog-collection-create"; -import { collectionCreateActions, createCollection } from "../../store/collections/creator/collection-creator-action"; -import { dataExplorerActions } from "../../store/data-explorer/data-explorer-action"; -import { PROJECT_PANEL_ID } from "../../views/project-panel/project-panel"; -import { snackbarActions } from "../../store/snackbar/snackbar-actions"; +import { collectionCreateActions, createCollection } from "~/store/collections/creator/collection-creator-action"; +import { snackbarActions } from "~/store/snackbar/snackbar-actions"; +import { UploadFile } from "~/store/collections/uploader/collection-uploader-actions"; +import { projectPanelActions } from "~/store/project-panel/project-panel-action"; const mapStateToProps = (state: RootState) => ({ open: state.collections.creator.opened @@ -21,22 +21,22 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ handleClose: () => { dispatch(collectionCreateActions.CLOSE_COLLECTION_CREATOR()); }, - onSubmit: (data: { name: string, description: string }) => { - return dispatch(addCollection(data)) + onSubmit: (data: { name: string, description: string }, files: UploadFile[]) => { + return dispatch(addCollection(data, files.map(f => f.file))) .catch((e: any) => { throw new SubmissionError({ name: e.errors.join("").includes("UniqueViolation") ? "Collection with this name already exists." : "" }); }); } }); -const addCollection = (data: { name: string, description: string }) => +const addCollection = (data: { name: string, description: string }, files: File[]) => (dispatch: Dispatch) => { - return dispatch(createCollection(data)).then(() => { + return dispatch(createCollection(data, files)).then(() => { dispatch(snackbarActions.OPEN_SNACKBAR({ message: "Collection has been successfully created.", hideDuration: 2000 })); - dispatch(dataExplorerActions.REQUEST_ITEMS({ id: PROJECT_PANEL_ID })); + dispatch(projectPanelActions.REQUEST_ITEMS()); }); };