Files
upload-platform/upload/README.md
T

44 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`](../docs/CODE-REFERENCE.md).
## Сборка из исходников
Исходники находятся в `frontend/`. В корне проекта:
```bash
npm install
npm run build
```
Результат сборки: `dist/file-picker.esm.js` и `dist/file-picker.iife.js`.