Общая информация
Компонент FileUploadComponent предназначен для загрузки различных пользовательских файлов
Поддерживаемые экраны
Компонент может быть задействован на экране типа:
Компонент в стандартной услуге
Внешний вид компонента
В услуге
В конструкторе
Структура компонента FileUploadComponent
ВКУ | JSON |
|
||
№ | В конструкторе | Атрибут | Тип | Описание |
1 | Идентификатор компонента | id | string | Уникальный идентификатор компонента в JSON |
2 | Имя компонента | name | string | Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент |
3 | Компонент используется на циклических экранах | isCycledComponent | boolean | Позволяет осуществить уникальную загрузку файла на каждой итерации в цикле |
4 | Скрыть оставшийся объём загружаемых файлов | hideTotalAvailableSize | boolean | Позволяет скрыть оставшийся объём загружаемых файлов |
5 | Скрыть оставшееся количество загружаемых файлов | hideTotalAvailableCount | boolean | Позволяет скрыть оставшееся количество загружаемых файлов |
6 | Максимальный общий объём, байт | maxSize | string | Позволяет задать максимальный общий объём загрузки файлов в заявлении |
7 | Максимальное общее количество файлов | maxFileCount | string | Позволяет задать максимальное общее количество загружаемых файлов |
8 | Идентификатор загрузчика | uploadId | string | Уникальный идентификатор загрузчика |
9 | Название | title | string | Позволяет указать название документа |
10 | Загрузчик обязателен для заполнения | required | boolean | Принуждает пользователя к обязательной загрузке файлов |
11 | Текст загрузчика | label | string | Позволяет указать описание загрузчика и добавить дисклеймер |
12 | Допустимые типы файлов | fileType | array | Задаёт массив допустимых типов файлов в данном загрузчике |
13 | Объединить все фотографии в PDF | VKUpdfFileNameCheckBox | boolean | Позволяет несколько загруженных файлов объединить в один файл формата pdf |
14 | Формат файлов | type | array | Позволяет указать формат файла, для которого будет настроено ограничение по количеству файлов данного формата |
15 | Максимально возможное количество файлов для данного списка типов | maxFileCount | string | Позволяет установить максимальное количество файлов для определённого типа или списка типов файлов |
16 | Максимальный объём файлов, байт | maxSize | integer | Позволяет задать максимальный объём файлов для каждого загрузчика из массива |
17 | Минимальный объём файла, байт | minSize | integer | Позволяет задать минимальный объём файлов для каждого загрузчика из массива |
18 | Максимальное количество файлов | maxFileCount | string | Позволяет задать максимальное количество файлов в рамках загрузчика |
19 | Не сжимать файл при загрузке | notCompression | boolean | Позволяет не сжимать файл при загрузке, сохраняя данные о дате создания, дате изменения, кем сохранено, кем изменено, количество символов, координатах |
20 | Только просмотр файлов | readonly | boolean | Позволяет ограничить загрузчик на просмотр и скачивание файлов |
21 | Регулярное выражение | value | string | Позволяет задать шаблон, по которому будет проверяться название файла |
22 | Текст ошибки | errorMsg | string | Красный текст ошибки, который будет отображаться если наименование файла будет не соответствовать правилу валидации |
23 | Описание ошибки | description | string | Серый текст, который будет отображаться если наименование файла будет не соответствовать правилу валидации |
24 | Модальные окна с пояснениями | clarifications | object, array | Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы |
25 | Настроить модальное окно с пояснением вручную | acceptableTypes | additionalProperties | Позволяет настроить модальные окна |
26 | Компонент обязателен для заполнения | required | boolean | Обязывает пользователя загрузить хотя бы один файл в массиве загрузчиков, когда компонент расположен на составном экране. Компонент всегда должен использоваться на экране со сложным компонентом |
27 | Идентификатор подсказки suggest | suggestionId | string | Механизм отображения пользователю набора подходящих для ввода данных и автоматическое заполнение полей формы этими данными |
28 | Вычисляемые аргументы компонента (linkedValues) | linkedValues | array | Атрибуты компонента, позволяющие реализовать сложный функционал |
Пример JSON структуры компонента передаваемой в DTO
{ "visited": true, "value": "{ "id":"c63", "type":"FileUploadComponent", "uploads":[ {"uploadId":"doc", "value":[ { "fileUid":20277330337, "objectId":4650057531, "objectTypeId":2, "mnemonic":"c63.FileUploadComponent.doc.4650057531", "fileName":"pdf.pdf", "fileExt":"pdf", "fileSize":25621, "fileHash":"bHTb1f6zVvNvmNJ3fDSQNhNwzFhjHCu76yVtw1oQgFQ=", "mimeType":"application/pdf", "hasSign":false, "created":"2024-10-17T06:21:25.580Z", "updated":"2024-10-17T06:21:25.659Z", "realPath":"10/17/0/65/5d264f3b-81ab-4dcd-ace5-c19ef0d7c308", "deleted":false, "bucket":"epgu202410", "nodeId":"f_dc", "userId":1000586284, "s3EndpointCode":"epgu4", "storageType":"S", "status":"WITHOUT_VERIFICATION", "alternativeMimeTypes":[], "objectType":2,"uploaded":true } ], "required":true } ], "totalCount":1, "totalSize":25621 }" } |
Варианты использования
Ниже показаны примеры настройки общего количества файлов в загрузчике и количества файлов в массиве
Можно выделить два основных варианта настройки в зависимости от количества экранов загрузки файлов в услуге
- Если экран загрузки файлов один в услуге, то сумма загружаемых файлов в массиве должна быть ровна общему количеству файлов в загрузчике. В таком варианте если достигнуто максимальное количество загруженных файлов в одном из загрузчиков массива появиться уведомление «Выбрано максимальное количество файлов на заявление»
- Если экран загрузки файлов не один в услуге, то сумма загружаемых файлов в массиве должна быть меньше общего количества файлов в загрузчике. В таком варианте если достигнуто максимальное количество загруженных файлов в одном из загрузчиков массива появиться уведомление «Выбрано максимальное количество файлов
Компонент в услуге Робота Макса
Внешний вид компонента
В услуге Робота Макса
В конструкторе
Структура компонента FileUploadComponent
ВКУ | JSON |
|
||
№ | В конструкторе | Атрибут | Тип | Описание |
1 | Идентификатор компонента | id | string | Уникальный идентификатор компонента в JSON |
2 | Имя компонента | name | string | Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент |
3 | Скрыть оставшийся объём загружаемых файлов | hideTotalAvailableSize | boolean | Позволяет скрыть оставшийся объём загружаемых файлов |
4 | Скрыть оставшееся количество загружаемых файлов | hideTotalAvailableCount | boolean | Позволяет скрыть оставшееся количество загружаемых файлов |
5 | Максимальный общий объём, байт | maxSize | string | Позволяет задать максимальный общий объём загрузки файлов в заявлении |
6 | Максимальное общее количество файлов | maxFileCount | string | Позволяет задать максимальное общее количество загружаемых файлов |
7 | Идентификатор загрузчика | uploadId | string | Уникальный идентификатор загрузчика |
8 | Загрузчик обязателен для заполнения | required | boolean | Принуждает пользователя к обязательной загрузке файлов |
9 | Допустимые типы файлов | fileType | array | Задаёт массив допустимых типов файлов в данном загрузчике |
10 | Объединить все фотографии в PDF | VKUpdfFileNameCheckBox | boolean | Позволяет несколько загруженных файлов объединить в один файл формата pdf |
11 | Формат файлов | type | array | Позволяет указать формат файла, для которого будет настроено ограничение по количеству файлов данного формата |
12 | Максимально возможное количество файлов для данного списка типов | maxFileCount | string | Позволяет установить максимальное количество файлов для определённого типа или списка типов файлов |
13 | Максимальный объём файлов, байт | maxSize | integer | Позволяет задать максимальный объём файлов для каждого загрузчика из массива |
14 | Минимальный объём файла, байт | minSize | integer | Позволяет задать минимальный объём файлов для каждого загрузчика из массива |
15 | Максимальное количество файлов | maxFileCount | string | Позволяет задать максимальное количество файлов в рамках загрузчика |
16 | Не сжимать файл при загрузке | notCompression | boolean | Позволяет не сжимать файл при загрузке, сохраняя данные о дате создания, дате изменения, кем сохранено, кем изменено, количество символов, координатах |
17 | Регулярное выражение | value | string | Позволяет задать шаблон, по которому будет проверяться название файла |
18 | Текст ошибки | errorMsg | string | Красный текст ошибки, который будет отображаться если наименование файла будет не соответствовать правилу валидации |
19 | Описание ошибки | description | string | Серый текст, который будет отображаться если наименование файла будет не соответствовать правилу валидации |
20 | Модальные окна с пояснениями | clarifications | object, array | Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы |
21 | Настроить модальное окно с пояснением вручную | acceptableTypes | additionalProperties | Позволяет настроить модальные окна |
22 | Компонент обязателен для заполнения | required | boolean | Обязывает пользователя загрузить хотя бы один файл в массиве загрузчиков, когда компонент расположен на составном экране. Компонент всегда должен использоваться на экране со сложным компонентом |
23 | Вычисляемые аргументы компонента (linkedValues) | linkedValues | array | Атрибуты компонента, позволяющие реализовать сложный функционал |
Пример JSON структуры компонента передаваемой в DTO
{ "visited": true, "value": "{ "id":"c63", "type":"FileUploadComponent", "uploads":[ {"uploadId":"doc", "value":[ { "fileUid":20277330337, "objectId":4650057531, "objectTypeId":2, "mnemonic":"c63.FileUploadComponent.doc.4650057531", "fileName":"pdf.pdf", "fileExt":"pdf", "fileSize":25621, "fileHash":"bHTb1f6zVvNvmNJ3fDSQNhNwzFhjHCu76yVtw1oQgFQ=", "mimeType":"application/pdf", "hasSign":false, "created":"2024-10-17T06:21:25.580Z", "updated":"2024-10-17T06:21:25.659Z", "realPath":"10/17/0/65/5d264f3b-81ab-4dcd-ace5-c19ef0d7c308", "deleted":false, "bucket":"epgu202410", "nodeId":"f_dc", "userId":1000586284, "s3EndpointCode":"epgu4", "storageType":"S", "status":"WITHOUT_VERIFICATION", "alternativeMimeTypes":[], "objectType":2,"uploaded":true } ], "required":true } ], "totalCount":1, "totalSize":25621 }" } |
Дополнительная информация
- Из-за диалогового формата взаимодействия в РМ в услуге необходимо создавать компонент FileUpload только с одним загрузчиком (объектом) в секции components.uploads
- Компонент РМ не поддерживает наличие "title" и "label" в секции "uploads". Всю информацию необходимо прописывать в header и subHeader.text самого экрана