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

By syncfusion · 625 installs

npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-file-manager

Source repository · Upstream listing

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: Add the theme import to src/App.css : Import App.css and the component in src/App.tsx : 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