@scena/react-folder
Version:
<p align="middle" ><img src="https://raw.githubusercontent.com/daybrush/react-folder/master/public/logo.png"/></p> <h2 align="middle">React Folder</h2> <p align="middle"> <a href="https://www.npmjs.com/package/@scena/react-folder" target="_blank"><img src
33 lines (32 loc) • 1.25 kB
TypeScript
import * as React from "react";
import Gesto from "gesto";
import { FileInfo, FolderProps, FolderState } from "./types";
import FileManager from "./FileManager";
export default class FolderManager<T extends {} = any> extends React.PureComponent<FolderProps<T>, FolderState<T>> {
static defaultProps: Partial<FolderProps<{}>>;
moveGesto: Gesto;
folderRef: React.RefObject<HTMLDivElement>;
shadowRef: React.RefObject<HTMLDivElement>;
guidelineElement: HTMLElement;
state: FolderState<T>;
private fileManagers;
render(): JSX.Element;
componentDidMount(): void;
componentWillUnmount(): void;
isSelected(path: string | string[]): boolean | null | undefined;
isFolded(path: string | string[]): boolean | null | undefined;
findFileInfo(targetPath: string | string[]): FileInfo<T> | null;
findFile(targetPath: string | string[]): FileManager<T> | null;
private renderShadows;
private onDragStart;
private onDrag;
private onDragEnd;
private updateShadowPosition;
private onClickFile;
private flatMap;
private getChildrenFileInfos;
private flatChildren;
private clearGuideline;
fold: (target: string | string[] | HTMLElement) => void;
private _renderFiles;
}