UNPKG

auspice

Version:

Web app for visualizing pathogen evolution

32 lines (24 loc) 860 B
import { warningNotification } from "../notifications"; import handleMetadata from "./metadata"; import { isAcceptedFileType } from "./constants"; /** * A thunk to handle dropped files and take the appropriate action. * @param {*} files DataTransfer object's FileList */ const handleFilesDropped = (files) => (dispatch, getState) => { if (files.length !== 1) { return dispatch(warningNotification({ message: "More than one file dropped", details: "Currently we only allow a single CSV to be used" })); } const file = files[0]; if (isAcceptedFileType(file)) { return handleMetadata(dispatch, getState, file); } return dispatch(warningNotification({ message: `Cannot parse ${file.name}`, details: `Currently only CSV/TSV/XLSX files are allowed, not ${file.type}` })); }; export default handleFilesDropped;