class File/attach:Attach

Класс, реализующий выбор и загрузку файлов через разные источники данных

Примеры

Загрузка файлов

import Attach, { option } from 'SbisFile/attach';
// File/ResourceGetter/dropArea -единственный ResourceGetter, который должен грузиться энергично
import { Option as FileSystem } from 'File/ResourceGetter/dropArea';

const sourceCfg = {
    endpoint: { contract: "simple" },
    binding: { create: "ЗагрузитьВНикуда" },
    fileProperty: "Файл"
 };
const getterCfg = {
    multiSelect: true,
    extensions: ["image"]
};
 const attach = new Attach({
     // Возможные способы загрузки
     sourceOptions: [ // загрузка на бизнеслогику
        // для загрузки через XHR
        new option.source.BL(sourceCfg),
        // для загрузки через СБИС Плагин
        new option.source.BLPlugin(sourceCfg)
     ],
     // Возможные способы получения ресурсов
     // ResourceGetter'ы Плагина см SbisFile/attach/option/getter
     getterOptions: [
        // Для нативного окна выбора файлов
        new FileSystem(getterCfg),
        // Для выбора через Плагин
        new option.getter.FileChooser(getterCfg),
        // Для работы со сканерами
        new option.getter.Scanner({
            opener: this
        }),
        // Для получения фото с веб-камеры
        new option.getter.PhotoCam(),
        // Для получения ресурсов из буфера обмена
        new option.getter.Clipboard(),
        // Для выбора файлов через окно СБИС Плагин'a
        new option.getter.Dialogs()
    ],
    multiSelect: true
 });

    attach.choose(FileSystem.getType()).then((results: IChooseResourceResult[]) => {
        // Результаты выбора файлов <IResource | Error>[]
        return attach.upload({
            // Дополнительные мета-данные для отправки
            // Сигнатура зависит от конечного сервиса загрузки
        });
    }).then((models: Model[]) => {
    // Результаты загрузки -<File/attach:Model>[]
    }).catch(console.error); // обязательный обработчик ошибки выбора/загрузки файлов

Опции

Множественный выбор.

  • true - результат выбора ресурсов .choose попаддёт во внутренее состояние для загрузки вместес результатом предыдущих выборок
  • false - внутренее состояние для загрузки будет содержать только результат последней выборки
Abstract

Поля

Канал событий

ObservableMixin
protected

Очередь событий

ObservableMixin

Декларированные события

ObservableMixin

Методы

protected

Извещает о наступлении события. Если в процессе извещения приходит очередное событие, то извещение о нем будет отправлено после выполнения обработчиков предыдущего.

ObservableMixin
protected

Ставит в очередь извещение о наступлении события.

ObservableMixin

Добавляет извещение о событии в очередь.

ObservableMixin
protected

Инициирует выполнение обработчиков из очереди событий

ObservableMixin
protected

Декларирует наличие событий

ObservableMixin

Удаляет из очереди все обработчики указанного события

ObservableMixin

Добавляет ресурсы к списку выбранных

Abstract

Проверка доступности компонента

Если компонет разрушен, возвращает Rejected Promise, иначе Resolved Promise

Abstract

Отмена ожидающих загрузки ресурсов

Abstract

Метод вызова выбора ресурсов

Abstract

Очищает набор выбраных ресурсов

Abstract

Возвращет массив подписчиков на событие

ObservableMixin

Возвращает список конструкторов над ресурсами, для которыйх зарегистрирован ISource

Abstract

Возвращает набор выбраных ресурсов

Abstract

Проверяет наличие подписки на событие

ObservableMixin

Устанавливает ресурсы в список выбранных

Abstract

Добавляет подписку на событие

ObservableMixin

Отменяет подписку на событие

ObservableMixin

Загрузка выбранных ресурсов.

При отсутствии ресурсов во внутреннем состоянии, возвращается Rejected Promise.

Abstract

События

onBeforeLoad

Событые выбора ресурса

Обработка результата:

  • false - отмена загрузки. При этом ресурсы, предназначенные для загрузки пропадут из внутреннего состояния и не попадут в вледующую загрузку
  • object - объект дополнительных данных для запроса meta будет заменён на переданный результат
Abstract

onChooseError

Событые ошибки выбора ресурса

Abstract

onChosen

Событые выбора ресурса

Обработка результата:

При передаче в результат события заначения void, указанный ресурс не попадёт

в результат then обработчик метода choose.

При передаче любого другого значения текщуий ресурс будет заменён им

Abstract

onLoadError

Событые ошибки начала загрузки.

Abstract

onLoadResource

Событые загрузки отдельного ресурса

Abstract

onLoadResourceError

Событые ошибки загрузки отдельного ресурса

Abstract

onLoaded

Событые окончания загрузки ресурсов

Abstract

onLoadedFolder

Abstract

onProgress

Событие процесса загрузки ресурса

Abstract

onWarning

Abstract