@difizen/mana-app
Version:
40 lines • 2.2 kB
TypeScript
import { URI } from '@difizen/mana-common';
import { LabelProvider } from '../label';
import { TreeExpansionService, TreeModelImpl, TreeNavigationService, TreeSelectionService } from '../tree';
import type { CompositeTreeNode, TreeNode } from '../tree';
import { FileService } from './file-service';
import { FileStatNode } from './file-tree';
import type { FileTree } from './file-tree';
import type { FileChange, FileChangesEvent, FileOperationEvent } from './files';
export declare class FileTreeModel extends TreeModelImpl {
rootVisible: boolean;
protected readonly labelProvider: LabelProvider;
protected readonly fileService: FileService;
protected readonly tree: FileTree;
protected readonly selectionService: TreeSelectionService;
protected readonly expansionService: TreeExpansionService;
protected readonly navigationService: TreeNavigationService;
constructor(labelProvider: LabelProvider, fileService: FileService, tree: FileTree, selectionService: TreeSelectionService, expansionService: TreeExpansionService, navigationService: TreeNavigationService);
protected init(): void;
get selectedFileStatNodes(): Readonly<FileStatNode>[];
getNodesByUri(uri: URI): IterableIterator<TreeNode>;
get location(): URI | undefined;
set location(uri: URI | undefined);
/**
* to workaround https://github.com/Axosoft/nsfw/issues/42
*/
protected onDidMove(event: FileOperationEvent): void;
protected onFilesChanged(changes: FileChangesEvent): void;
protected isRootAffected(changes: FileChangesEvent): boolean;
protected getAffectedUris(changes: FileChangesEvent): URI[];
protected isFileContentChanged(change: FileChange): boolean;
protected refreshAffectedNodes(uris: URI[]): boolean;
protected getAffectedNodes(uris: URI[]): Map<string, CompositeTreeNode>;
copy(source: URI, target: Readonly<FileStatNode>): Promise<URI>;
/**
* Move the given source file or directory to the given target directory.
*/
move(source: TreeNode, target: TreeNode): Promise<URI | undefined>;
protected shouldReplace(_fileName: string): Promise<boolean>;
}
//# sourceMappingURL=file-tree-model.d.ts.map