DMS redesign: 3-column explorer layout with toolbar, source tree, file details panel
- Add backend endpoints: GET /dms/files, GET /dms/folders/{id}/files
- New SourceTree component: sources (Meine Dateien, Geteilte Ordner, Externe Speicher)
- New FileExplorer component: 5 view modes (list, table, icons-sm/md/lg)
- New FileDetails component: right panel with file metadata and actions
- Rewrite Dms.tsx: PluginToolbar + 3-column ResizablePanel layout
- Update DmsFile type: size_bytes + uploaded_by (backward compat aliases)
- Add 60+ i18n keys for de/en
This commit is contained in:
+19
-2
@@ -25,15 +25,20 @@ export interface DmsFile {
|
||||
folder_id: string | null;
|
||||
name: string;
|
||||
mime_type: string;
|
||||
size: number;
|
||||
size_bytes?: number;
|
||||
storage_path: string;
|
||||
checksum?: string | null;
|
||||
deleted_at: string | null;
|
||||
created_by: string;
|
||||
uploaded_by?: string;
|
||||
created_at?: string | null;
|
||||
updated_at?: string | null;
|
||||
shared_with?: string[];
|
||||
permissions?: FilePermission[];
|
||||
access_level?: string;
|
||||
/** @deprecated Use size_bytes instead */
|
||||
size?: number;
|
||||
/** @deprecated Use uploaded_by instead */
|
||||
created_by?: string;
|
||||
}
|
||||
|
||||
export interface FilePermission {
|
||||
@@ -189,6 +194,18 @@ export function getSharedWithMe(): Promise<DmsFile[]> {
|
||||
return apiGet<DmsFile[]>('/dms/shared-with-me');
|
||||
}
|
||||
|
||||
export function fetchSharedWithMe(): Promise<DmsFile[]> {
|
||||
return getSharedWithMe();
|
||||
}
|
||||
|
||||
export function fetchFilesByFolder(folderId: string): Promise<DmsFile[]> {
|
||||
return apiGet<DmsFile[]>(`/dms/folders/${folderId}/files`);
|
||||
}
|
||||
|
||||
export function fetchAllFiles(): Promise<DmsFile[]> {
|
||||
return apiGet<DmsFile[]>('/dms/files');
|
||||
}
|
||||
|
||||
// ─── Bulk Operations ───────────────────────────────────────────────────────
|
||||
|
||||
export function bulkMoveFiles(payload: BulkMovePayload): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user