/**
*
* PluginInputFile
*
*/
import React from 'react';
import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
import cn from 'classnames';
import styles from './styles.scss';
/* eslint-disable react/no-string-refs */
/* eslint-disable jsx-a11y/label-has-for */
class PluginInputFile extends React.PureComponent {
state = { isDraging: false };
handleClick = (e) => {
e.preventDefault();
e.stopPropagation();
this.refs.input.click();
}
handleDragEnter = () => this.setState({ isDraging: true });
handleDragLeave = () => this.setState({ isDraging: false });
handleDrop = (e) => {
e.preventDefault();
this.setState({ isDraging: false });
this.props.onDrop(e);
}
render() {
const {
name,
onChange,
} = this.props;
const { isDraging } = this.state;
const link = (
{(message) => {message}}
);
return (
);
}
}
PluginInputFile.defaultProps = {
onChange: () => {},
};
PluginInputFile.propTypes = {
name: PropTypes.string.isRequired,
onChange: PropTypes.func,
onDrop: PropTypes.func.isRequired,
};
export default PluginInputFile;