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/FileSystemsrc/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
