import React from "react"; import ReactCSSTransitionGroup from "react-addons-css-transition-group"; import { DropTarget } from "react-dnd"; import { EventEmitter, Icon } from "../../components/"; import { t } from "../../locales/"; import "./filezone.scss"; function FileZoneComponent({ connectDropFile, fileIsOver }) { return connectDropFile(
{ t("DROP HERE TO UPLOAD") }
, ); } const HOCDropTargetForFSFile = (Cmp) => { return DropTarget( "__NATIVE_FILE__", { drop(props, monitor) { props.emit("file.upload", props.path, monitor.getItem()); }, }, (connect, monitor) => ({ connectDropFile: connect.dropTarget(), fileIsOver: monitor.isOver(), }), )(Cmp); }; export const FileZone = EventEmitter(HOCDropTargetForFSFile(FileZoneComponent)); function MobileFileUploadComponent({ emit, path, accessRight }) { if (!window.CONFIG["upload_button"] && /(Android|iPad|iPhone)/.test(navigator.userAgent) === false) { return null; } else if (accessRight.can_create_file === false || accessRight.can_create_directory === false) { return null; } const onUpload = (e) => { emit("file.upload", path, e); }; return (
); } export const MobileFileUpload = EventEmitter(MobileFileUploadComponent);