Перейти к основному содержимому

FileUploader

Отображает диалоговое окно для загрузки файлов

Используется для загрузки файлов в файловый сервис Платформы Multi-D. Согласно дизайн-системе Платформы Multi-D имеет несколько вариантов отображения и режимов работы.

Загружает файлы в файловый сервис, либо в переменные состояния экранной формы. Может отображатся в виде поля для выбора файла или в виде области с возможностью перетаскивания файла.

 <FileUploader
Value-var="data.files"
Text-Localizable="Web_client.Add files"
OnFilesChange={() => getCommand('GetUploadLink')}
OnFileCreate={(letterId = data.id) => getCommand('SaveFile', { letterId })}
OnFileDelete={() => getCommand('DeleteFile')}
OnClick={() => getCommand('GetDownloadLink')}
OutputValue-var="data.files"
OutputState-var="data.__fileUploaderBusy__"
KeyMap={{ Name: 'fileName', Id: 'fileId' }}
Multiple={true}
/>

Свойства

ИмяОписаниеТипЗначение по умолчаниюВозможные значения
AdditionalUploadInfoДополнительная информация о загрузкеstring
AllowedFileTypesРазрешенные расширения и/или MIME-типы файлов для загрузки в виде массиваarray
AutofocusПризнак установки фокуса на компонентboolean
CSSМассив строк-классов CSS-стилей компонентаarray
ChooseFileTextТекст на кнопкеstringВыберите файл
DataHintПодсказка к компонентуstring
DeleteTooltipLabelТекст подсказки для кнопки "Удалить"stringУдалить
DisabledПризнак запрета на редактирование компонентаboolean
DownloadModeПоведение компонента: скачивать или открывать файл по нажатию его в списке файловenumDownloadDownload - Скачивание файла по нажатию его в списке файлов
Open - Открытие файла по нажатию его в списке файлов
ErrorПризнак ошибки при валидации компонентаboolean
ErrorMessageСообщение об ошибке при валидации компонентаstring
FocusedПризнак фокусировки на компонентеboolean
GetUrlCommandКоманда получения URL-адреса для загрузки файлаobject
HiddenПризнак состояния компонента Скрытboolean
HighlightErrorПризнак подсвечивания ошибкиboolean
HintПодсказка над компонентомstring
HintPositionСторона — правая или левая — для отображения подсказкиenumrightleft - Слева
right - Справа
top - Сверху
bottom - Снизу
topRight - Сверху справа
topLeft - Сверху слева
bottomRight - Снизу справа
bottomLeft - Снизу слева
IdИдентификатор компонента для навигации к нему на HTML-страницеstring
KeyMapИмя переменной, которая доступна элементу списка файловobject
LabelНадпись на компонентеstring
MaxFileSizeМаксимальный размер файла (Мб)number10000
MaxLengthМаксимальная длина вводимой строкиnumber30
ModeРежим работы компонента: загрузка файлов по URL-адресу, полученному функцией GetUrlCommand, или передача файлов переменной event в обработчик события OnFilesChangeenumDefaultDirect - Режим загрузки, при котором файлы передаются переменной event в обработчик события OnFilesChange этого компонента
Default - Режим загрузки файлов по URL-адресу, полученному функцией GetUrlCommand
ModelПсевдоним свойств Value и OutputValueany
MultipleВозможность выбора нескольких файловboolean
NoWriteOnInitПризнак отказа от записи данных в переменную, заданную в свойствах OutputValue или Model, при создании компонентаboolean
OnBlurПараметры команды, отправляемой при потере фокуса компонентомundefined
OnChangeПараметры команды, отправляемой при изменении компонента, например, при вводе текста, выборе из спискаundefined
OnClickОбработчик события по нажатию на файле в спискеobject
OnDelayПараметры команды, отправляемой по истечении секунды (для предотвращения ложного срабатывания обработчика события) после последнего изменения модели данныхundefined
OnDropLabelТекст, отображаемый при размещении файла в области загрузкиstringОтпустите для начала загрузки...
OnEnterKeyDownПараметры команды, отправляемой по нажатию Enterundefined
OnFileCreateОбработчик события о добавлении нового файла в списокobject
OnFileDeleteОбработчик события об удалении файла из спискаobject
OnFilesChangeОбработчик события об изменении списка файловobjectOnFilesChange
OnFilesDeleteОбработчик события об удалении файлаobject
OnKeyDownОбработчик события KeyDownundefined
OnKeyUpОбработчик события KeyUpundefined
OnMouseDownОбработчик события MouseDownundefined
OnMouseEnterОбработчик события MouseEnterundefined
OnMouseLeaveОбработчик события MouseLeaveundefined
OnMouseMoveОбработчик события MouseMoveundefined
OnMouseOutОбработчик события MouseOutundefined
OnMouseOverОбработчик события MouseOverundefined
OnMouseUpОбработчик события MouseUpundefined
OnUnmountОбработчик события Unmountundefined
OutputStateИмя переменной для сохранения состояния компонентаany
OutputValueПривязка отрисованного компонента к моделиany
ReadOnlyПризнак отображения компонента в режиме только для чтенияboolean
RequiredПризнак обязательности наличия загруженного файлаboolean
RestartTooltipLabelТекст подсказки для кнопки "Повторить"stringПовторить
SlotМетка для динамического добавления другого компонента по его идентификаторуstring
StopTooltipLabelТекст подсказки для кнопки "Остановить"stringОстановить
TextТекст на кнопке выбора файлаstringSelect file
TooltipВсплывающая подсказка над компонентом, чаще используемая для пояснения назначения значкаany
TraceIdИдентификатор для отслеживания состояния компонента исходя из хронологической последовательности:
создание, отрисовка, обновление, удаление; используется для выполнения фрагмента кода по изменению состояния компонента
string
UploadFolderИмя существующей папки для загрузки; имя папки должно содержать только строчные буквы и не содержать пробелыstringuploadfiles
ValidationПризнак ошибки валидации компонента; используется только для совместимости с версиями Платформы Multi-D до 0.6boolean
ValueПривязка модели к отрисованному компонентуany
VisibleПризнак инверсии состояния компонента СкрытbooleanTrue
WithDropzoneРежим отображения компонента с областью для перетаскивания файла или без области c отображением только кнопки для открытия диалога выбора файлаboolean
WithPreviewПризнак режима отображения списка загруженных файловbooleanTrue
WriteModeИмя события, по которому меняется значение переменной состояния (экранной формы), переданной в качестве OutputValueenum- Режим ввода без контроля состояния компонента

Примеры

JSX:

<Group Mode={"Column"}>
<FileUploader
AllowedFileTypes={["text/html", ".txt"]}
CSS={['mb-16']}
Text="Перетащите или"
ChooseFileText="выберите файл"
GetUrlCommand={() => getCommand('UiKitFileUploaderGenerateUrlForUploadFile')}
DownloadMode="Download"
Multiple={true}
Value-var="file1"
OutputValue-var="file1"
OutputState-var="__fileUploaderBusy__"
WithDropzone={true}
OnDropLabel="Отпустите для начала загрузки..."
MaxFileSize={10000}
AdditionalUploadInfo={'Максимальный размер файла 10000 Мб'}
/>
<FileUploader
CSS={['mb-16']}
Text="Шаблон файла "
GetUrlCommand={() => getCommand('UiKitFileUploaderGenerateUrlForUploadFile')}
DownloadMode="Open"
Multiple={true}
Value-var="file"
OutputValue-var="file"
OutputState-var="__fileUploaderBusy__"
ChooseFileText='Выберите файл'
WithDropzone={false}
/>
<Link
CSS={['mb-16']}
Mode="DownloadById"
Visible={(fileId = file[0].token) => fileId}
DownloadKind="Minio"
DownloadId={(fileId = file[0].token) => fileId}
Text="Скачать файл"
/>
<FileUploader
CSS={['mb-16']}
Text="Шаблон настроек"
GetUrlCommand={() => getCommand('UiKitFileUploaderGenerateUrlForUploadFile')}
DownloadMode="Download"
Multiple={false}
Value-var="file2"
OutputValue-var="file2"
OutputState-var="__fileUploaderBusy__"
ChooseFileText='Выберите файл'
WithDropzone={false}
Required={true}
/>
</Group>