import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import UploadInput from './UploadInput'; import messages from '../common/messages'; export interface UploadStateContentProps { fileInputLabel?: React.ReactNode; folderInputLabel?: React.ReactNode; message?: string; onChange?: (event: React.ChangeEvent) => void; useButton?: boolean; } const UploadStateContent = ({ fileInputLabel, folderInputLabel, message, onChange, useButton = false, }: UploadStateContentProps) => { const inputLabelClass = useButton ? 'btn btn-primary be-input-btn' : 'be-input-link'; // TODO: Refactor to use Blueprint components const canUploadFolder = !useButton && !!folderInputLabel; let inputsContent; const handleChange = (event: React.ChangeEvent) => { if (!onChange) { return; } onChange(event); const { currentTarget } = event; currentTarget.value = ''; // Reset the file input selection }; const fileInputContent = fileInputLabel ? ( ) : null; const folderInputContent = canUploadFolder ? ( ) : null; if (fileInputContent && folderInputContent) { inputsContent = ( ); } else if (fileInputContent) { inputsContent = fileInputContent; } return (
{message &&
{message}
} {inputsContent &&
{inputsContent}
}
); }; export default UploadStateContent;