All Downloads are FREE. Search and download functionalities are using the official Maven repository.

components.widgets.Table.cells.FileUploadCell.FileUploadCell.jsx Maven / Gradle / Ivy

There is a newer version: 7.28.3
Show newest version
import React from 'react'
import PropTypes from 'prop-types'
import { compose } from 'recompose'
import { withTranslation } from 'react-i18next'
import { Button } from 'reactstrap'
import classNames from 'classnames'

import FileUploader from '../../../../controls/FileUploader/FileUploader'
import withFileUploader from '../../../../controls/FileUploader/withFileUploader'
import { DefaultCell } from '../DefaultCell'

function FileUploadCellComponent(props) {
    const { multi, files, t, showSize, label, uploadIcon, deleteIcon, className, disabled } = props

    const isButtonVisible = !!(multi || files.length === 0)

    return (
        
            
                {isButtonVisible && (
                    
                )
                }
            
        

    )
}

FileUploadCellComponent.propTypes = {
    uploadUrl: PropTypes.string,
    deleteUrl: PropTypes.string,
    valueFieldId: PropTypes.string,
    labelFieldId: PropTypes.string,
    messageFieldId: PropTypes.string,
    urlFieldId: PropTypes.string,
    requestParam: PropTypes.string,
    className: PropTypes.string,
    showSize: PropTypes.bool,
    multi: PropTypes.bool,
    ajax: PropTypes.bool,
    accept: PropTypes.string,
    label: PropTypes.string,
    uploadIcon: PropTypes.string,
    deleteIcon: PropTypes.string,
    files: PropTypes.array,
    disabled: PropTypes.bool,
    t: PropTypes.func,
}

const FileUploadCell = compose(
    withFileUploader,
    withTranslation(),
)(FileUploadCellComponent)

export { FileUploadCell }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy