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 { uploadCurrentCollectionFiles, UPLOAD_COLLECTION_FILES_DIALOG, collectionUploaderActions } from '~/store/collections/uploader/collection-uploader-actions';
12 const mapStateToProps = (state: RootState) => ({
13 files: state.collections.uploader,
14 uploading: state.collections.uploader.some(file => file.loaded < file.total)
17 const mapDispatchToProps = (dispatch: Dispatch) => ({
19 dispatch<any>(uploadCurrentCollectionFiles());
21 onChange: (files: File[]) => {
22 dispatch(collectionUploaderActions.SET_UPLOAD_FILES(files));
26 export const UploadCollectionFilesDialog = compose(
27 withDialog(UPLOAD_COLLECTION_FILES_DIALOG),
28 connect(mapStateToProps, mapDispatchToProps)