@itihon/file-tree-view
Version:
File tree view component based on Web Components API
34 lines (33 loc) • 1.09 kB
TypeScript
import FTVFile from './FTVFile.js';
import FTVFolder from './FTVFolder.js';
import './themes/default.css';
type FileTreeNode = {
name: string;
selected?: boolean;
};
export type FileNode = {
type: 'file';
} & FileTreeNode;
type FileOrFolder = FileNode | FolderNode;
type FolderOrFileTreeView = FTVFolder | FileTreeView;
export type FolderNode = {
type: 'folder';
expanded?: boolean;
children?: FileOrFolder[];
} & FileTreeNode;
export default class FileTreeView extends HTMLElement {
private selectedItem;
private getLastVisibleNode;
private getNextVisibleNode;
private focusPrevious;
private focusNext;
load(tree: FolderNode, root?: FolderOrFileTreeView, withRootNode?: boolean, sort?: boolean): void;
getSelectedItem(): FTVFolder | FTVFile | null;
getNodeByPath(path: string): FTVFile | FTVFolder | null;
addContent(content: FTVFile | FTVFolder): void;
addNode(path: string, name: string, type: 'file' | 'folder'): void;
removeNode(path: string): void;
connectedCallback(): void;
constructor();
}
export {};