AIN Attachment
Используйте виджет AIN Attachment, чтобы позволить пользователям прикреплять вложения, а также создавать подписки на события.
Для более быстрой обработки видео и аудиофайлов другими виджетами или действиями рабочих процессов, например, транскрибирования, вы можете настроить степень сжатия загружаемого файла в опциях схемы виджета.
Виджет можно расположить в любой части формы или страницы, для этого выполните следующие действия:
- Откройте запись в целевой таблице.
- В бургер-меню перейдите Настроить → Форма → Макет.
- Переместите виджет AIN Attachment в область Выбрано.
- Нажмите Сохранить.
Чтобы воспользоваться функциональностью AIN Attachment, выполните следующие действия:
- Нажмите на кнопку скрепки , чтобы выбрать окно выбора файлов.
- Выберите необходимые файлы и нажмите Открыть, чтобы создать вложение.
В текущей версии в виджет можно добавить только один файл.
- В системе создается запись вложенного файла, а затем создается событие с атрибутами этого вложения.
[
{
"attachment_id": "170530848128276440",
"file_name": "170048909928129158.mpeg",
"mime_type": "audio/mpeg"
}
]
Настройка опций схемы
Опции схемы:
| Значение | Тип | Обязательно | Описание |
|---|---|---|---|
| title | String | Нет | Укажите отображаемый заголовок виджета. Значение по умолчанию: нет. |
| hidden | Boolean | Нет | Укажите значение true, чтобы скрыть отображение виджета. Значение по умолчанию: false. |
| readonly | Boolean | Нет | Установите значение true, чтобы сделать виджет доступным только для чтения. В этом состоянии пользователи могут только скачивать вложения, но не могут удалять их или загружать новые файлы. Область для перетаскивания файлов, кнопка загрузки и действие удаления будут скрыты. Значение по умолчанию: false. |
| key | String | Да | Используйте уникальный идентификатор строки, чтобы соединить значение с событием, созданным этим виджетом. Таким образом, если на форме располагается несколько виджетов, инициирующих событие при создании вложения, вы сможете настраивать обработку файлов для каждого виджета по отдельности. |
| available_types | Array of Strings | Да | Укажите допустимые типы файлов. По умолчанию разрешены все типы. |
| compress_types | Array of Strings | Нет | Укажите типы файлов, сжатие которых разрешено. |
| audio_compression | String | Нет | Выберите степень сжатия аудиофайла в битах. Доступные опции:
|
{
"hidden": false,
"readonly": true,
"title": "Документы"
"key": "any_format_attachment",
"available_types" : ["audio/flac", "audio/m4a", "audio/mp3", "audio/mp4", "audio/mpeg", "audio/mpga", "audio/oga", "audio/ogg", "audio/wav", "audio/webm", "video/flac", "video/m4a", "video/mp3", "video/mp4", "video/mpeg", "video/mpga", "video/oga", "video/ogg", "video/wav", "video/webm"],
"compress_types": ["video/mp4", "video/ogg", "video/webm"],
"audio_compression": "x8"
}
SimpleEventBus.on('ain.file.upload', (data) => {
s_form.setValue('text', JSON.stringify(data, null, 4))
})
Подписка на событие
Используйте подписку на событие ain.file.setProperty, чтобы активировать и разместить виджет на форме. Чтобы отправить событие, используйте метод emit() класса SimpleEventBus.
Параметры:
| Значение | Тип | Обязательно | Описание |
|---|---|---|---|
| key | String | Нет | Используйте уникальный идентификатор строки, чтобы соединить значение с событием, созданным этим виджетом. Таким образом, если на форме располагается несколько виджетов, инициирующих событие при создании вложения, вы сможете настраивать обработку файлов для каждого виджета по отдельности. |
| title | String | Нет | Укажите заголовок виджета, который будет отображаться над иконкой виджета вложения. |
| widgetInstanceId | String | Нет | ID экземпляра виджета. |
| visible | Boolean | Нет | Установите значение false, чтобы скрыть виджет. Значение по умолчанию true. |
| readonly | Boolean | Нет | Установите значение false, чтобы деактивировать виджет. Значение по умолчанию true. |
Примеры:
SimpleEventBus.emit('ain.file.setProperty', { visible: false });
SimpleEventBus.emit('ain.file.setProperty', { readonly: true });
SimpleEventBus.emit('ain.file.setProperty', { visible: false, readonly: true });
SimpleEventBus.emit('ain.file.setVisible', { visible: false, key: '322' });
SimpleEventBus.emit('ain.file.setVisible', { visible: false, widgetInstanceId: '000000000' });