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

components.controls.FileUploader.ButtonUploader.jsx Maven / Gradle / Ivy

The newest version!
import React from 'react'
import PropTypes from 'prop-types'
import classNames from 'classnames'
import { withTranslation } from 'react-i18next'
import { compose } from 'recompose'

import withFileUploader from './withFileUploader'
import FileUploader from './FileUploader'

function ButtonUploaderChildren({ children, icon, label, disabled }) {
    return (
        
{children || ( <>
{label} )}
) } function ButtonUploader(props) { const { t, children, icon, disabled = false, label = t('uploadFile') } = props return ( {children} ) } ButtonUploader.defaultProps = { requestParam: 'file', visible: true, icon: 'fa fa-upload', statusBarColor: 'success', multi: true, disabled: false, autoUpload: true, showSize: true, value: [], onChange: () => {}, } ButtonUploader.propTypes = { t: PropTypes.func, /** * Ключ ID из даныых */ valueFieldId: PropTypes.string, /** * Ключ label из данных */ labelFieldId: PropTypes.string, /** * Ключ status из данных */ statusFieldId: PropTypes.string, /** * Ключ size из данных */ sizeFieldId: PropTypes.string, /** * Ключ response из даннах */ responseFieldId: PropTypes.string, /** * Ключ url из данных */ urlFieldId: PropTypes.string, /** * Url для загрузки файла */ uploadUrl: PropTypes.string, /** * Url для удаления файла */ deleteUrl: PropTypes.string, /** * Флаг мульти выбора файлов */ multi: PropTypes.bool, /** * Массив файлов */ files: PropTypes.arrayOf(PropTypes.object), /** * Значение */ value: PropTypes.arrayOf(PropTypes.object), /** * Флаг автоматической загрузки файлов после выбора */ autoUpload: PropTypes.bool, /** * Максимальный размер файла */ maxSize: PropTypes.number, /** * Минимальный размер файла */ minSize: PropTypes.number, /** * Label контрола */ label: PropTypes.string, /** * Название отправлякмого параметра */ requestParam: PropTypes.string, /** * Флаг видимости */ visible: PropTypes.bool, /** * Флаг активности */ disabled: PropTypes.bool, /** * Иконка рядом с label */ icon: PropTypes.string, /** * Цвет статус бара */ statusBarColor: PropTypes.string, /** * Объект стилей кнопки 'Сохранить' */ saveBtnStyle: PropTypes.object, /** * Флаг показа размера файла */ showSize: PropTypes.bool, /** * Callback на изменение */ onChange: PropTypes.func, /** * Класс контрола */ className: PropTypes.string, /** * Mapper значения */ mapper: PropTypes.func, children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]), errorFormatter: PropTypes.func, } export default compose( withFileUploader, withTranslation(), )(ButtonUploader)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy