README
WExport File Manager
React Based File Manager specially created for Wexport 2.0 Project
Installation
$ npm install wx-file-manager
Example
import FileManager from 'wx-file-manager'
<FileManager
uploadText="Зерновая расписка"
file={file}
handleUpload={file => setFile(file)}
handleRemove={fileId => setFile(null)}
handleSign={file => setFile(file)}
objType={101}
tool="uploader"
extensions=".pdf, .png"
userId="<UserId> from SessionContext"
/>
Props
tool
- По умолчаниюviewer
. Если нужен загрузчик файлов - напишиuploader
uploadText?
- что будет написано сверху загрузчика, если не будет, то тупо не будетtheme?
- Есть 2 вида загрузчика: 1. Стандарный 2. Серая кнопкаobjId?
- ID связанного объектаobjCode
- Code связанного объектаobjType?
- Тип связанного объекта (Товар Сделка Торги и тд)handleUpload?
- Событие, которое срабатывает при загрузки файла на сервер. Возвращает объектfile
handleRemove?
- Событие, которое срабатывает при удалении файла. ВозвращаетfileId
handleSign?
- Событие, которое срабатывает при подписании документа. Возвращает подписанныеfile
enableRemove?
- можно ли удалять файл, но помоему это уже не актульноuserId?
- равен null если текущему пользователю не нужно подписывать документ. Если нужно обязательно отправлять это значение.extensions?
-string
какие расширения разрешены для загузки файлаneedToSign?
- По умолчаниюfalse
. Нужно ли подписывать файл пользователю.maxFileSize?
- Максимальный размер загружаемого файла. По умолчанию1024*1024*5
т.е. 5MBenableFakeRemove
- Делает то же самое чтоenableRemove
только не удаляет файл на сервере. Полезно когда необходимо редактировать форму.handleFakeRemove
- Событие, которое срабатывает при удаленииfake
файла. ВозвращаетfileId
Примеры как нужно обрабатывать файл в компонентах:
Можете написать лучше, но если не хотите заморачиваться, you are welcome :) Ctrl+A Ctrl+C Ctrl+V
const handleUpload = file => {
setDocuments([...documents, file])
}
const handleRemove = fileId => {
setDocuments(_.filter(documents, doc => doc._id !== fileId))
}
const handleSign = file => {
_.remove(documents, doc => doc._id === file._id)
setDocuments([...documents, file])
}