UNPKG

barneo-file-service

Version:

Комплексная библиотека Vue 3 для работы с файлами в приложениях Barneo. Предоставляет мощную функциональность для загрузки, управления и обработки файлов с валидацией, отслеживанием прогресса и поддержкой localStorage.

149 lines 6.87 kB
/** * Barneo File Service - Библиотека для работы с файлами в Vue 3 * * Комплексная библиотека Vue 3, предоставляющая мощную функциональность * для загрузки, управления и обработки файлов с валидацией и отслеживанием прогресса. * * ## Основные возможности: * * - **Загрузка файлов**: Поддержка drag & drop, множественной загрузки * - **Валидация**: Проверка размера, типа и количества файлов * - **Отслеживание прогресса**: Детальная информация о процессе загрузки * - **Управление состоянием**: Реактивное состояние файлов и ошибок * - **Хранилище**: Сохранение файлов в localStorage для повторного использования * - **Обработка ошибок**: Возможность повтора неудачных загрузок * - **Кастомизация**: Гибкая настройка через props, slots и события * * ## Компоненты: * * - `FileUploader` - Основной компонент для загрузки файлов * * ## Composables: * * - `useFileService` - Основной composable для работы с файлами * - `useFileInput` - Управление выбором файлов * - `useFileUploader` - Управление загрузкой файлов * - `useFileStorage` - Управление хранилищем файлов * * ## Сервисы: * * - `FileUploadService` - Сервис для загрузки файлов на сервер * * @module barneo-file-service * @version 1.0.0 * @license MIT * */ export * from "./types"; export * from "./services"; export * from "./composables"; export * from "./components"; export { default as FileUploader } from "./components/FileUploader.vue"; export * from "./config/FileServiceConfigManager"; import "./components/style/index.css"; import type { App } from "vue"; import type { FileServiceConfig } from "./types/ConfigTypes"; import "./vue-globals.d"; /** * **Barneo File Service - Vue Плагин** * * Комплексный Vue 3 плагин, предоставляющий мощную функциональность для работы с файлами. * * ## Возможности: * * - **Глобальная конфигурация**: Централизованная настройка для всего приложения * - **Глобальные компоненты**: Автоматическая регистрация компонентов * - **Provide/Inject**: Доступ к конфигурации во всех компонентах * - **Drag & Drop**: Поддержка перетаскивания файлов * - **Валидация**: Проверка размера, типа и количества файлов * - **Отслеживание прогресса**: Детальная информация о процессе загрузки * - **Управление состоянием**: Реактивное состояние файлов и ошибок * - **Хранилище**: Сохранение файлов в localStorage для повторного использования * - **Обработка ошибок**: Возможность повтора неудачных загрузок * - **Кастомизация**: Гибкая настройка через props, slots и события * * @group Plugin * @example * ```typescript * import { createApp } from 'vue' * import BarneoFileService from 'barneo-file-service' * import { AppName } from 'barneo-file-service' * * const app = createApp(App) * * app.use(BarneoFileService, { * apiUrl: 'https://api.example.com/upload', * appName: AppName.PIM, * maxFiles: 10, * maxFileSize: 50 * 1024 * 1024, // 50MB * allowedTypes: ['image/jpeg', 'image/png', 'application/pdf'], * onUploadSuccess: (results) => console.log('Файлы загружены:', results) * }) * * // Теперь можно использовать компонент в шаблонах: * // <file-uploader @upload-success="handleUpload" /> * // <barneo-file-uploader @upload-success="handleUpload" /> * ``` * * @example * ```vue * <template> * <FileUploader * button-type="input" * title="Загрузить документы" * @upload-success="handleUploadSuccess" * @upload-error="handleUploadError" * /> * </template> * * <script setup> * const handleUploadSuccess = (files) => { * console.log('Загружено файлов:', files.length) * } * * const handleUploadError = (error) => { * console.error('Ошибка загрузки:', error) * } * </script> * ``` */ declare const _default: { /** * Устанавливает плагин Barneo File Service в Vue приложение. * * Этот метод: * - Регистрирует все composables глобально * - Инициализирует менеджер конфигурации файлового сервиса * - Настраивает API сервис для загрузки файлов * - Предоставляет глобальные методы для работы с файлами * - Регистрирует глобальные компоненты * * @param {App} app - Экземпляр Vue приложения * @param {Partial<FileServiceConfig>} config - Опциональный объект конфигурации * * @example * ```typescript * import { createApp } from 'vue' * import BarneoFileService from 'barneo-file-service' * import { AppName } from 'barneo-file-service' * * const app = createApp(App) * * app.use(BarneoFileService, { * apiUrl: 'https://api.example.com/upload', * appName: AppName.PIM, * maxFiles: 10, * maxFileSize: 50 * 1024 * 1024, // 50MB * allowedTypes: ['image/jpeg', 'image/png', 'application/pdf'], * onUploadSuccess: (results) => console.log('Файлы загружены:', results) * }) * * // Теперь можно использовать компонент в шаблонах: * // <file-uploader @upload-success="handleUpload" /> * // <barneo-file-uploader @upload-success="handleUpload" /> * ``` */ install(app: App, config?: Partial<FileServiceConfig>): void; }; export default _default; //# sourceMappingURL=index.d.ts.map