31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
# Upload module
|
|
|
|
Скопируйте `upload/frontend/` и подключите собранный picker:
|
|
|
|
- IIFE: `FilePicker.initFilePicker(config)`;
|
|
- ESM: `import { initFilePicker } from './file-picker.esm.js'`.
|
|
|
|
`config` должен содержать `mount` как DOM-элемент или CSS-селектор. Основные
|
|
параметры: `allowedExt`, `labels`, `layout`, `limits` и `onChange`.
|
|
|
|
Публичный API таблицы:
|
|
|
|
- `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
|
|
|
|
Каталоги `backend/` и старые ссылки на `uploadViaVM`/VM-буфер относятся к
|
|
предыдущей архитектуре и сохранены как legacy-остатки. Для текущей picker-only
|
|
интеграции они не нужны.
|
|
|
|
Подробная таблица функций, входов, выходов и побочных эффектов находится в
|
|
[`../docs/CODE-REFERENCE.md`](../docs/CODE-REFERENCE.md). |