1 | ## WExport File Manager
|
2 | React Based File Manager specially created for Wexport 2.0 Project
|
3 |
|
4 | ### Installation
|
5 | ```sh
|
6 | $ npm install wx-file-manager
|
7 | ```
|
8 |
|
9 | ### Example
|
10 | ```javascript
|
11 | import FileManager from 'wx-file-manager'
|
12 |
|
13 | <FileManager
|
14 | uploadText="Зерновая расписка"
|
15 | file={file}
|
16 | handleUpload={file => setFile(file)}
|
17 | handleRemove={fileId => setFile(null)}
|
18 | handleSign={file => setFile(file)}
|
19 | objType={101}
|
20 | tool="uploader"
|
21 | extensions=".pdf, .png"
|
22 | userId="<UserId> from SessionContext"
|
23 | />
|
24 |
|
25 | ```
|
26 |
|
27 | ## Props
|
28 | + `tool` - По умолчанию `viewer`. Если нужен загрузчик файлов - напиши `uploader`
|
29 | + `uploadText?` - что будет написано сверху загрузчика, если не будет, то тупо не будет
|
30 | + `theme?` - Есть 2 вида загрузчика: 1. Стандарный 2. Серая кнопка
|
31 | + `objId?` - ID связанного объекта
|
32 | + `objCode` - Code связанного объекта
|
33 | + `objType?` - Тип связанного объекта (Товар Сделка Торги и тд)
|
34 | + `handleUpload?` - Событие, которое срабатывает при загрузки файла на сервер. Возвращает объект `file`
|
35 | + `handleRemove?` - Событие, которое срабатывает при удалении файла. Возвращает `fileId`
|
36 | + `handleSign?` - Событие, которое срабатывает при подписании документа. Возвращает подписанные `file`
|
37 | + `enableRemove?` - можно ли удалять файл, но помоему это уже не актульно
|
38 | + `userId?` - равен null если текущему пользователю не нужно подписывать документ. Если нужно обязательно отправлять это значение.
|
39 | + `extensions?` - `string` какие расширения разрешены для загузки файла
|
40 | + `needToSign?` - По умолчанию `false`. Нужно ли подписывать файл пользователю.
|
41 | + `maxFileSize?` - Максимальный размер загружаемого файла. По умолчанию `1024*1024*5` т.е. 5MB
|
42 | + `enableFakeRemove` - Делает то же самое что `enableRemove` только не удаляет файл на сервере. Полезно когда необходимо редактировать форму.
|
43 | + `handleFakeRemove` - Событие, которое срабатывает при удалении `fake` файла. Возвращает `fileId`
|
44 |
|
45 | ### Примеры как нужно обрабатывать файл в компонентах:
|
46 | Можете написать лучше, но если не хотите заморачиваться, you are welcome :) `Ctrl+A Ctrl+C Ctrl+V`
|
47 | ```javascript
|
48 | const handleUpload = file => {
|
49 | setDocuments([...documents, file])
|
50 | }
|
51 | const handleRemove = fileId => {
|
52 | setDocuments(_.filter(documents, doc => doc._id !== fileId))
|
53 | }
|
54 | const handleSign = file => {
|
55 | _.remove(documents, doc => doc._id === file._id)
|
56 | setDocuments([...documents, file])
|
57 | }
|
58 | ``` |
\ | No newline at end of file |