in src/components/common/file-uploader/file-upload.js [212:294]
render() {
const {dragOver, files, errorFiles} = this.state;
const {fileLoading, fileLoadingProgress, theme, intl} = this.props;
const {fileExtensions = [], fileFormatNames = []} = this.props;
return (
<StyledFileUpload className="file-uploader" ref={this.frame}>
{FileDrop ? (
<FileDrop
frame={this.frame.current || document}
onDragOver={() => this._toggleDragState(true)}
onDragLeave={() => this._toggleDragState(false)}
onDrop={this._handleFileInput}
className="file-uploader__file-drop"
>
<StyledUploadMessage className="file-upload__message">
<ReactMarkdown
source={`${intl.formatMessage(
{
id: 'fileUploader.configUploadMessage'
},
{
fileFormatNames: fileFormatNames.map(format => `**${format}**`).join(', ')
}
)}(${GUIDES_FILE_FORMAT_DOC}).`}
renderers={{link: LinkRenderer}}
/>
</StyledUploadMessage>
<StyledFileDrop dragOver={dragOver}>
<StyledFileTypeFow className="file-type-row">
{fileExtensions.map(ext => (
<FileType key={ext} ext={ext} height="50px" fontSize="9px" />
))}
</StyledFileTypeFow>
{fileLoading ? (
<FileUploadProgress fileLoadingProgress={fileLoadingProgress} theme={theme} />
) : (
<>
<div
style={{opacity: dragOver ? 0.5 : 1}}
className="file-upload-display-message"
>
<StyledDragNDropIcon>
<DragNDrop height="44px" />
</StyledDragNDropIcon>
{errorFiles.length ? (
<WarningMsg>
<FormattedMessage
id={'fileUploader.fileNotSupported'}
values={{errorFiles: errorFiles.join(', ')}}
/>
</WarningMsg>
) : null}
</div>
{!files.length ? (
<StyledDragFileWrapper>
<MsgWrapper>
<FormattedMessage id={'fileUploader.message'} />
</MsgWrapper>
<span className="file-upload-or">
<FormattedMessage id={'fileUploader.or'} />
</span>
<UploadButton onUpload={this._handleFileInput}>
<FormattedMessage id={'fileUploader.browseFiles'} />
</UploadButton>
</StyledDragFileWrapper>
) : null}
<StyledDisclaimer>
<FormattedMessage id={'fileUploader.disclaimer'} />
</StyledDisclaimer>
</>
)}
</StyledFileDrop>
</FileDrop>
) : null}
<WarningMsg>
{isChrome() ? <FormattedMessage id={'fileUploader.chromeMessage'} /> : ''}
</WarningMsg>
</StyledFileUpload>
);
}