Upload module
Для встраивания скопируйте один готовый bundle из dist/:
- IIFE:
FilePicker.initFilePicker(config); - ESM:
import { initFilePicker } from './file-picker.esm.js'.
config должен содержать mount как DOM-элемент или CSS-селектор. Основные
параметры: allowedExt, labels, layout, limits, onChange(files) и
onError(error, file). onError вызывается для ошибок разбора ZIP; обычные
файлы с неподдерживаемым расширением просто пропускаются.
Публичный API picker-а:
pickFiles()иpickFolder()— открыть системный выбор;getFiles()— получить leaf-файлы сpath,name,sizeиfile;addFiles(files)— добавить файлы программно;remove(id)иclear()— удалить узел или очистить дерево;render()иdestroy()— перерисовать или удалить экземпляр.
Picker поддерживает разрешённые документы, папки и вложенные ZIP, хранит
исходные browser File objects и выполняет дедупликацию по пути и размеру.
Загрузка на VM, backend sessions и upload API не используются. ZIP обрабатывается
локально через встроенный в bundle fflate; отдельный vendor script не требуется.
Legacy
Старые uploadViaVM, VM-буфер, backend sessions и upload API относятся к
предыдущей архитектуре и в текущем модуле отсутствуют. Упоминания этих названий
в HISTORY/ являются историческими и не должны использоваться как инструкция.
Подробная таблица функций, входов, выходов и побочных эффектов находится в
../docs/CODE-REFERENCE.md.
Сборка из исходников
Исходники находятся в frontend/. В корне проекта:
npm install
npm run build
Результат сборки: dist/file-picker.esm.js и dist/file-picker.iife.js.