1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { connect } from "react-redux";
6 import { Dispatch, compose } from "redux";
7 import { withDialog } from '~/store/dialog/with-dialog';
8 import { FilesUploadDialog } from '~/components/file-upload-dialog/file-upload-dialog';
9 import { RootState } from '~/store/store';
10 import { UPLOAD_COLLECTION_FILES_DIALOG, uploadCurrentCollectionFiles } from '~/store/collections/collection-upload-actions';
11 import { fileUploaderActions } from '~/store/file-uploader/file-uploader-actions';
13 const mapStateToProps = (state: RootState) => ({
14 files: state.fileUploader,
15 uploading: state.fileUploader.some(file => file.loaded < file.total)
18 const mapDispatchToProps = (dispatch: Dispatch) => ({
20 dispatch<any>(uploadCurrentCollectionFiles());
22 onChange: (files: File[]) => {
23 dispatch(fileUploaderActions.SET_UPLOAD_FILES(files));
27 export const UploadCollectionFilesDialog = compose(
28 withDialog(UPLOAD_COLLECTION_FILES_DIALOG),
29 connect(mapStateToProps, mapDispatchToProps)