File Manager Screen

Full-featured file browser with Ace code editor, archive operations, bin/trash, git integration, and conflict detection.


Layout

+------------------------------------------------------------------+
|  File Manager  Path: /var/www/html    [Upload] [New] [Archive]   |
+------------------------------------------------------------------+
|  Sidebar    |  File List                                         |
|  ┌────────┐ |  ┌──────────────────────────────────────────────┐ |
|  │ /      │ |  │ 📁 html/        drwxr-xr-x    4.0 KB  Jul 28 │ |
|  │ /var   │ |  │ 📁 logs/        drwxr-xr-x    4.0 KB  Jul 27 │ |
|  │ /etc   │ |  │ 📄 index.html   -rw-r--r--    1.2 KB  Jul 28 │ |
|  │ /home  │ |  │ 📄 style.css    -rw-r--r--    4.5 KB  Jul 28 │ |
|  │        │ |  │ 📄 app.js       -rw-r--r--   12.3 KB  Jul 28 │ |
|  │ [Bin]  │ |  └──────────────────────────────────────────────┘ |
|  └────────┘ |                                                    |
+------------------------------------------------------------------+
|  Search: [________________]  Sort: [Name ▼]  View: [Grid/List]   |
+------------------------------------------------------------------+

Tabs

TabContent
FilesDefault file browser view
EditorAce code editor (opens when editing a file)
BinRecycle bin view

File List Columns

ColumnDescription
IconFile type icon (folder, file, image, code, etc.)
NameFile/folder name
Permissionsrwx string
SizeHuman-readable size
ModifiedLast modified date
ActionsContext menu button

Actions

File Operations

ActionDescription
UploadUpload files via drag-and-drop or file picker
Create FileNew empty file
Create FolderNew directory
RenameRename selected item
DeleteMove to bin (with confirmation)
CopyCopy to clipboard
MoveMove to clipboard
DuplicateCreate a copy in same directory

Archive Operations

ActionDescription
ArchiveCreate .zip, .tar, or .tar.gz from selected files
ExtractExtract archive to current directory

Editor

ActionDescription
EditOpen file in Ace editor
SaveSave changes (Ctrl+S)
DiffCompare two files side-by-side

Git Operations

ActionDescription
Git StatusShow working tree status
Git StageStage file for commit
Git UnstageUnstage file
Git CommitCommit with message
Git PushPush to remote
Git PullPull from remote

Bin/Trash

Deleted files are moved to data/filebin/ with batch metadata.

Bin Operations

ActionDescription
RestoreMove file back to original location
Permanent DeletePermanently remove from bin
Empty BinRemove all bin entries

Conflict Detection

Before copy/move/extract operations, conflicts are detected:

Conflict Resolution Modal

+------------------------------------------+
|  ⚠️  File Conflict Detected              |
|                                          |
|  The following files already exist:      |
|                                          |
|  ┌──────────┬──────────┬──────────┐     |
|  │ File     │ Source   │ Dest     │     |
|  ├──────────┼──────────┼──────────┤     |
|  │ index.js │ 12.3 KB  │ 8.7 KB   │     |
|  └──────────┴──────────┴──────────┘     |
|                                          |
|  Resolution: [Overwrite All ▼]           |
|                                          |
|  [ Skip ]            [ Apply ]           |
+------------------------------------------+

Strategy options: Overwrite All, Skip All, Rename All


Event Delegation

All buttons use data-fm-action attributes:

Attribute ValueAction
data-fm-action="upload"Open upload dialog
data-fm-action="create-file"New file modal
data-fm-action="create-folder"New folder modal
data-fm-action="archive"Archive selected
data-fm-action="extract"Extract archive
data-fm-action="bin"Open bin view
data-fm-action="git-status"Show git status

CSS Classes

ClassPurpose
.fm-toolbarTop action bar
.fm-sidebarDirectory tree sidebar
.fm-file-listMain file listing
.fm-file-rowIndividual file row
.fm-modalConflict/extract modal
.fm-modal-headerModal header
.fm-modal-bodyModal body
.fm-modal-actionsModal button row
.fm-editor-containerAce editor wrapper
.fm-bin-sectionBin sidebar section

Keyboard Shortcuts

ShortcutAction
Ctrl+SSave file in editor
Ctrl+CCopy selected
Ctrl+XCut selected
Ctrl+VPaste
DeleteDelete selected
F2Rename selected

State Management

StateDescription
LoadingSpinner while listing directory
LoadedFile list visible
ErrorError message, retry
Empty"This directory is empty" message
EditingAce editor visible
BinBin view with restored items

API Calls

MethodEndpointPurpose
GET/api/files/listList directory
GET/api/files/readRead file
POST/api/files/createCreate file/folder
PUT/api/files/renameRename
DELETE/api/files/deleteDelete (to bin)
POST/api/files/copytoCopy
POST/api/files/movetoMove
POST/api/files/uploadUpload
POST/api/files/archiveCreate archive
POST/api/files/extractExtract archive
GET/api/files/binList bin
POST/api/files/bin/restoreRestore from bin
DELETE/api/files/bin/permanentPermanent delete
DELETE/api/files/bin/emptyEmpty bin
GET/api/files/git/statusGit status
POST/api/files/git/commitGit commit

Part of NexusPanel Documentation

← Back to Documentation