Skip to main content

syncfusion-react-file-manager

Implement Syncfusion React File Manager component for file system navigation and management. Use when users need file browsing, upload/download, file operations (create, delete, rename), multiple views, drag-drop, customization, or accessibility features. Supports local and remote file systems with comprehensive customization options.

Quellinformationen

Repository
syncfusion/react-ui-components-skills
Letzte Quellaktivität
21. Juli 2026 um 05:07
Erkannte Sprache von SKILL.md
Englisch
Sterne
3
Forks
9

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
20 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
syncfusion-react-file-manager
description
Implement Syncfusion React File Manager component for file system navigation and management. Use when users need file browsing, upload/download, file operations (create, delete, rename), multiple views, drag-drop, customization, or accessibility features. Supports local and remote file systems with comprehensive customization options.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Syncfusion React File Manager A comprehensive guide to implementing the Syncfusion React File Manager component for building file system interfaces with rich features like drag-drop, multi-view support, custom operations, and full accessibility. ## Quick Navigation **🚀 Just Getting Started?** → Read [Getting Started](references/getting-started.md) for installation and basic setup **🛠️ Need to Build File Operations?** → Check [File Operations (CRUD)](references/file-operations.md) for create, read, update, delete patterns **📊 Working with Local Data?** → See [Flat Data Structure](references/flat-data.md) for in-memory files and event-driven operations **✅ Need Multiple File Selection?** → Learn [Multiple Selection & Range Selection](references/multiple-selection.md) for Ctrl+Click, Shift+Click, drag selection **⚡ Handling Large File Lists?** → Use [Virtualization](references/virtualization.md) for smooth scrolling with 1000+ files **🎨 Want to Customize the UI?** → See [Customization & Styling](references/customization.md) for theming and layout options **⚙️ Looking for Advanced Features?** → Explore [Advanced Features](references/advanced-features.md) for performance, custom providers, and API integration **♿ Need Accessibility or Multi-Language?** → Visit [Accessibility & Localization](references/accessibility-localization.md) for WCAG and i18n **🔐 Need User Access Control?** → Learn [Access Control](references/access-control.md) for role-based permissions and security **📤 Passing Custom Headers to Server?** → See [Pass Custom Value to Server](references/pass-custom-value-to-server.md) for setRequestHeader and authentication **🎯 Need Advanced Customization?** → Check [Adding Custom Item to Context Menu](references/adding-custom-item-to-context-menu.md) and [Adding Custom Item to Toolbar](references/adding-custom-item-to-toolbar.md) **🔧 Want to Enable/Disable Toolbar Items?** → See [Enable/Disable Toolbar Item](references/enable-disable-toolbar-item.md) for programmatic control **🖼️ Customizing Thumbnails & Icons?** → Learn [Customize Custom Thumbnail](references/customize-custom-thumbnail.md) for icon templates **📁 Customizing Navigation Pane?** → See [Customize Navigation Pane](references/customize-navigation-items.md) for tree view customization **✨ Pre-selecting Items?** → Learn [Preselect Items](references/preselect-the-items.md) for default selections **📦 File Manager Inside Dialog/Tabs?** → See [Nested Items](references/nested-items.md) for embedding in other components ## When to Use This Skill Use this skill when you need to: - Create a file browser interface for your application - Implement file upload and download functionality - Build file management features (create, delete, rename, refresh) - Support multiple view options (details and large icons) - Add drag-and-drop capability to file management - Customize context menus, toolbars, and styling - Integrate accessibility features (keyboard navigation, ARIA) - Support internationalization and RTL languages - Connect to local or remote file systems ## Component Overview The **File Manager** is a graphical user interface component for managing file systems. It enables users to: - **File Operations:** Read, create, delete, rename, upload, download, and refresh files - **Multiple Views:** Switch between details view (sorted list) and large icons view (thumbnails) - **Navigation:** Breadcrumb trails and navigation pane with tree view for hierarchy exploration - **Context Menu:** Right-click menus with customizable options - **Drag-and-Drop:** Drag files between folders with configurable drop zones - **Accessibility:** Full WCAG compliance with keyboard navigation and screen reader support - **Localization:** Multi-language support with RTL direction for right-to-left languages - **Customization:** Extensive API for styling, theming, and behavior customization ## Documentation and Navigation Guide ### Core Features #### Getting Started & Installation 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Installation and package setup - Basic file manager implementation - CSS imports and theme configuration - Initial configuration and setup - Connection to file service (AjaxSettings) #### File Operations (CRUD) 📄 **Read:** [references/file-operations.md](references/file-operations.md) - Create folders and files - Read and browse file systems - Update/rename operations - Delete files and folders - Upload and download functionality - Multi-file selection and bulk operations - File provider patterns and custom implementations #### Views & Navigation 📄 **Read:** [references/views-and-navigation.md](references/views-and-navigation.md) - Details view with columns - Large icon view with thumbnails - View switching and configuration - Breadcrumb navigation control - Navigation pane (tree view sidebar) - Toolbar features and layout ### Data Management #### Flat Data Structure 📄 **Read:** [references/flat-data.md](references/flat-data.md) - Use local JSON data instead of server calls - FileData interface and properties - Permission management per item - Event-driven file operations (create, delete, rename, search) - State management with React hooks - Backend synchronization patterns - Large dataset performance optimization #### Multiple Selection & Range Selection 📄 **Read:** [references/multiple-selection.md](references/multiple-selection.md) - Enable/disable multi-select capability - Range selection by mouse drag - Checkbox selection support - Selection state management - Selected items API and events - Pre-selecting items on load - Keyboard shortcuts (Ctrl+A, Shift+Click) #### Preselect Items 📄 **Read:** [references/preselect-the-items.md](references/preselect-the-items.md) - Programmatically select items on load - Preselect based on file type, size, or date - Context-aware preselection - Selection methods (selectAll, clearSelection) - Get selected items programmatically ### Performance & Optimization #### Virtualization & Performance 📄 **Read:** [references/virtualization.md](references/virtualization.md) - Enable virtual scrolling for large datasets - Dynamic loading of files and folders - Viewport-based rendering optimization - Module injection and setup - Performance limitations and workarounds - Best practices for handling 1000+ items ### User Interactions #### Drag-and-Drop Features 📄 **Read:** [references/drag-and-drop.md](references/drag-and-drop.md) - Enable/disable drag-drop functionality - Drop area configuration - Event handling (fileDragStart, fileDragStop, fileDropped) - Cross-folder drag-drop - Custom drag-drop behavior #### Customization & Styling 📄 **Read:** [references/customization.md](references/customization.md) - Context menu customization - Toolbar customization - Details view column customization - Navigation pane customization - Tooltip customization - Show/hide file extensions and hidden files - Thumbnail configuration for large icons view - CSS class and theme customization ### Advanced Customization #### Adding Custom Item to Context Menu 📄 **Read:** [references/adding-custom-item-to-context-menu.md](references/adding-custom-item-to-context-menu.md) - Add custom menu items to context menu - Add icons to menu items - Handle menu click events - Conditional menu items based on file properties - Dynamic menu customization #### Adding Custom Item to Toolbar 📄 **Read:** [references/adding-custom-item-to-toolbar.md](references/adding-custom-item-to-toolbar.md) - Modify default toolbar items - Add custom toolbar items - Custom templates for toolbar - Toolbar click handling - Custom buttons, checkboxes, and dropdowns #### Enable/Disable Toolbar Item 📄 **Read:** [references/enable-disable-toolbar-item.md](references/enable-disable-toolbar-item.md) - Enable/disable toolbar items programmatically - Enable/disable based on selection - Role-based toolbar control - Disable during operations - Permission-based toolbar control #### Customize Custom Thumbnail 📄 **Read:** [references/customize-custom-thumbnail.md](references/customize-custom-thumbnail.md) - Hide/show thumbnails - Custom templates for large icon view - File type-based icons - Size-based color coding - Date-based icon indicators #### Customize Navigation Pane 📄 **Read:** [references/customize-navigation-items.md](references/customize-navigation-items.md) - Control navigation pane visibility and width - Custom templates for navigation nodes - Add file counts and metadata - Color-coded folders - Icon-based navigation styling - Responsive navigation pane #### Nested Items 📄 **Read:** [references/nested-items.md](references/nested-items.md) - Embed File Manager inside Dialog - Embed File Manager inside Tab - Embed File Manager inside Splitter - File selector with File Manager - Multi-panel layouts with File Manager ### Security & Integration #### Access Control 📄 **Read:** [references/access-control.md](references/access-control.md) - Define access permissions for folders/files - Permission types (Allow/Deny) - Role-based access control - Access rules for different user roles - Backend permission validation #### Pass Custom Value to Server 📄 **Read:** [references/pass-custom-value-to-server.md](references/pass-custom-value-to-server.md) - Setting custom HTTP headers with setRequestHeader - User authentication headers - User identification headers - Tracking file operations - Department-based access - Download operation customization - Image loading customization - Complete server integration patterns ### Accessibility & Localization #### Accessibility & Localization 📄 **Read:** [references/accessibility-localization.md](references/accessibility-localization.md) - WCAG 2.1 compliance - Keyboard navigation (arrow keys, enter, delete) - ARIA attributes and roles - Screen reader support - Internationalization (i18n) - Right-to-left (RTL) support - Date and number formatting for different locales ### Advanced Features #### Advanced Features 📄 **Read:** [references/advanced-features.md](references/advanced-features.md) - Custom file system provider implementation - API integration patterns - Performance optimization techniques - Error handling and edge cases - Event system and hooks - Advanced search and filtering - Custom sorting and comparison - Nested components (File Manager in Dialog/Tabs) ## Quick Start Example Install the Tailwind3 theme package along with the File Manager: ```bash npm install @syncfusion/ej2-react-filemanager npm install @syncfusion/ej2-tailwind3-theme ``` Add the theme import to **src/App.css**: ```css /* src/App.css */ @import "../node_modules/@syncfusion/ej2-tailwind3-theme/styles/file-manager/index.css"; ``` Import `App.css` and the component in **src/App.tsx**: ```tsx import React from 'react'; import { FileManagerComponent, Inject, DetailsView, NavigationPane, Toolbar } from '@syncfusion/ej2-react-filemanager'; import './App.css'; function App() { const hostUrl = "url"; return ( <div> <FileManagerComponent id="file" ajaxSettings={{ url: hostUrl + "api/FileManager/FileOperations", getImageUrl: hostUrl + "api/FileManager/GetImage", uploadUrl: hostUrl + "api/FileManager/Upload", downloadUrl: hostUrl + "api/FileManager/Download" }} view="Details" height="375px" > <Inject services={[DetailsView, NavigationPane, Toolbar]} /> </FileManagerComponent> </div> ); } export default App; ``` ## Methods Reference The File Manager provides programmatic methods to control operations: ### Selection & View Control | Method | Parameters | Purpose | |--------|-----------|---------| | `selectAll()` | - | Select all files and folders in current path | | `clearSelection()` | - | Deselect all items | | `getSelectedFiles()` | - | Get array of selected file objects | ### File Operations | Method | Parameters | Purpose | |--------|-----------|---------| | `createFolder(name?)` | name: string (optional) | Create new folder; opens dialog if name not provided | | `renameFile(id?, name?)` | id: string, name: string | Rename file/folder; opens dialog if params not provided | | `deleteFiles(ids?)` | ids: string[] | Delete files/folders; opens confirmation if not provided | | `openFile(id)` | id: string | Open file or navigate to folder | | `downloadFiles(ids?)` | ids: string[] (optional) | Download selected files; downloads selection if not provided | | `uploadFiles()` | - | Open file upload dialog | ### Navigation & Refresh | Method | Parameters | Purpose | |--------|-----------|---------| | `refreshFiles()` | - | Refresh current folder contents | | `refreshLayout()` | - | Refresh component layout | | `traverseBackward()` | - | Navigate to parent directory | | `filterFiles(filterData?)` | filterData: Object | Apply custom filter to displayed files | ### Toolbar & Menu Control | Method | Parameters | Purpose | |--------|-----------|---------| | `disableToolbarItems(items)` | items: string[] | Disable specific toolbar buttons | | `enableToolbarItems(items)` | items: string[] | Enable specific toolbar buttons | | `getToolbarItemIndex(item)` | item: string | Get toolbar item position | | `disableMenuItems(items)` | items: string[] | Disable context menu items | | `enableMenuItems(items)` | items: string[] | Enable context menu items | | `getMenuItemIndex(item)` | item: string | Get context menu item position | ### Dialog Control | Method | Parameters | Purpose | |--------|-----------|---------| | `closeDialog()` | - | Close any open dialog | ### Component Lifecycle | Method | Parameters | Purpose | |--------|-----------|---------| | `destroy()` | - | Clean up component resources | ## Events Reference File Manager provides comprehensive event hooks for customization: ### File Selection Events | Event | Args | Triggered When |
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen