/** * @flow * @file Upload state content component */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import messages from '../common/messages'; import UploadInput from './UploadInput'; type Props = { fileInputLabel?: React.Node, folderInputLabel?: React.Node, message?: React.Node, onChange?: Function, useButton?: boolean, }; const UploadStateContent = ({ fileInputLabel, folderInputLabel, message, onChange, useButton = false }: Props) => { const messageContent = message ?
{message}
: null; const inputLabelClass = useButton ? 'btn btn-primary be-input-btn' : 'be-input-link'; const shouldShowFolderUploadInput = !useButton && !!folderInputLabel; const handleChange = (event: SyntheticInputEvent) => { if (!onChange) { return; } onChange(event); const currentTarget = (event.currentTarget: HTMLInputElement); // resets the file input selection currentTarget.value = ''; }; const fileInputContent = ( ); const folderInputContent = shouldShowFolderUploadInput ? ( ) : null; let inputsContent; if (fileInputContent && folderInputContent) { inputsContent = ( ); } else if (fileInputContent) { inputsContent = fileInputContent; } return (
{messageContent} {inputsContent &&
{inputsContent}
}
); }; export default UploadStateContent;