Skip to main content
Version: 1.13.1

AIN Attachment

Используйте виджет AIN Attachment, чтобы позволить пользователям прикреплять вложения, а также создавать подписки на события.

Для более быстрой обработки видео и аудиофайлов другими виджетами или действиями рабочих процессов, например, транскрибирования, вы можете настроить степень сжатия загружаемого файла в опциях схемы виджета.

Виджет можно расположить в любой части формы или страницы, для этого выполните следующие действия:

  1. Откройте запись в целевой таблице.
  2. В бургер-меню перейдите Настроить → Форма → Макет.
  3. Переместите виджет AIN Attachment в область Выбрано.
  4. Нажмите Сохранить.

Чтобы воспользоваться функциональностью AIN Attachment, выполните следующие действия:

  1. Нажмите на кнопку скрепки , чтобы выбрать окно выбора файлов.
  2. Выберите необходимые файлы и нажмите Открыть, чтобы создать вложение.
info

В текущей версии в виджет можно добавить только один файл.

  1. В системе создается запись вложенного файла, а затем создается событие с атрибутами этого вложения.
Пример
[
{
"attachment_id": "170530848128276440",
"file_name": "170048909928129158.mpeg",
"mime_type": "audio/mpeg"
}
]

Настройка опций схемы


Опции схемы:

ЗначениеТипОбязательноОписание
titleStringНетУкажите отображаемый заголовок виджета. Значение по умолчанию: нет.
hiddenBooleanНетУкажите значение true, чтобы скрыть отображение виджета. Значение по умолчанию: false.
readonlyBooleanНетУстановите значение true, чтобы сделать виджет доступным только для чтения. В этом состоянии пользователи могут только скачивать вложения, но не могут удалять их или загружать новые файлы. Область для перетаскивания файлов, кнопка загрузки и действие удаления будут скрыты. Значение по умолчанию: false.
keyStringДаИспользуйте уникальный идентификатор строки, чтобы соединить значение с событием, созданным этим виджетом. Таким образом, если на форме располагается несколько виджетов, инициирующих событие при создании вложения, вы сможете настраивать обработку файлов для каждого виджета по отдельности.
available_typesArray of StringsДаУкажите допустимые типы файлов.
По умолчанию разрешены все типы.
compress_typesArray of StringsНетУкажите типы файлов, сжатие которых разрешено.
audio_compressionStringНетВыберите степень сжатия аудиофайла в битах. Доступные опции:
  • x8
  • x16
Пример значения опции схемы
{
"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.

Параметры:

ЗначениеТипОбязательноОписание
keyStringНетИспользуйте уникальный идентификатор строки, чтобы соединить значение с событием, созданным этим виджетом. Таким образом, если на форме располагается несколько виджетов, инициирующих событие при создании вложения, вы сможете настраивать обработку файлов для каждого виджета по отдельности.
titleStringНетУкажите заголовок виджета, который будет отображаться над иконкой виджета вложения.
widgetInstanceIdStringНетID экземпляра виджета.
visibleBooleanНетУстановите значение false, чтобы скрыть виджет. Значение по умолчанию true.
readonlyBooleanНетУстановите значение 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' });