artemis-code-file-manager
Version:
Simple File Explorer for Angular
45 lines (44 loc) • 1.31 kB
TypeScript
import { Observable } from 'rxjs';
export type NodeContent<T> = {
leafs: T[];
nodes: T[];
};
export interface Dictionary<T> {
[Key: string]: T;
}
export interface INode {
id: number;
parentId: number;
data: any;
isLeaf: boolean;
children: INode[];
}
export interface IDataService<T> {
getNodeChildren(node: T): Observable<NodeContent<T>>;
createNode(parentNode: T, name: string): Observable<any>;
renameNode(node: T, newName: string): Observable<any>;
renameLeaf(node: T, newName: string): Observable<any>;
deleteNodes(nodes: T[]): Observable<any>;
deleteLeafs(nodes: T[]): Observable<any>;
uploadFiles(node: T, files: File[]): Observable<any>;
download(node: T): Observable<any>;
open(node: T): Observable<any>;
share(node: T): Observable<any>;
rightClick(node: T): Observable<any>;
leftClick(node: T): Observable<any>;
emptyClick(): Observable<any>;
getCurrentPath(path: string): Observable<any>;
}
export interface IHelperService {
getName<T>(data: T): string;
getFileType<T>(data: T): string;
getLastModified<T>(data: T): string;
getSize<T>(data: T): string;
}
export declare enum AvialableView {
List = "List",
Icon = "Icon"
}
export interface NgeExplorerConfig {
homeNodeName: string;
}