Dateien und Ordner
import Directory from '@tdev-components/documents/FileSystem/Directory';
<Directory name="Ordner" id="1e79cf9a-b890-4d9e-a5fe-e4b372e233c6"/>
http://localhost:3000
Laden...
Installation
Code-Ordner kopieren
src/models/documents/FileSystem
src/components/documents/FileSystem
Abhängigkeiten
Standardmässig werden alle verfügbaren Dateitypen unterstützt. Ist ein Dokumententyp (bspw. excalidoc
) nicht verfügbar, muss dieser entfernt werden.
Models
src/api/document.ts
export enum DocumentType {
/* ... */
Dir = 'dir',
File = 'file',
}
export interface DirData {
name: string;
isOpen: boolean;
}
export interface FileData {
name: string;
isOpen: boolean;
}
export interface TypeDataMapping {
/* ... */
[DocumentType.Dir]: DirData;
[DocumentType.File]: FileData;
}
export interface TypeModelMapping {
/* ... */
[DocumentType.Dir]: Directory;
[DocumentType.File]: File;
}
export type DocumentTypes =
/* ... */
| Directory
| File
Stores
src/stores/DocumentStore.ts
export function CreateDocumentModel(data: DocumentProps<DocumentType>, store: DocumentStore): DocumentTypes {
switch (data.type) {
/* ... */
case DocumentType.Dir:
return new Directory(data as DocumentProps<DocumentType.Dir>, store);
case DocumentType.File:
return new File(data as DocumentProps<DocumentType.File>, store);
}
}
src/stores/SocketDataStore.ts
/**
* Records that should be created when a IoEvent.NEW_RECORD event is received.
*/
const RecordsToCreate = new Set<DocumentType>([DocumentType.Dir, DocumentType.File/* ... */]);
/* ... */
Ordner und Dateien verschieben
Ordner und Dateien können innerhalb derselben DocumentRoot
verschoben werden. Dies bedarf jedoch folgende Erlaubte Aktionen im 👉 Admin Panel
