UNPKG

@jchinkle/react-arborist

Version:
127 lines (126 loc) 5.39 kB
import { EditResult } from "../types/handlers"; import { Identity, IdObj } from "../types/utils"; import { TreeProps } from "../types/tree-props"; import { MutableRefObject } from "react"; import { Align, FixedSizeList, ListOnItemsRenderedProps } from "react-window"; import { DefaultRow } from "../components/default-row"; import { DefaultNode } from "../components/default-node"; import { NodeApi } from "./node-api"; import { Actions, RootState } from "../state/root-reducer"; import { DefaultDragPreview } from "../components/default-drag-preview"; import { DefaultContainer } from "../components/default-container"; import { Cursor } from "../dnd/compute-drop"; import { Store } from "redux"; export declare class TreeApi<T> { store: Store<RootState, Actions>; props: TreeProps<T>; list: MutableRefObject<FixedSizeList | null>; listEl: MutableRefObject<HTMLDivElement | null>; static editPromise: null | ((args: EditResult) => void); root: NodeApi<T>; visibleNodes: NodeApi<T>[]; visibleStartIndex: number; visibleStopIndex: number; idToIndex: { [id: string]: number; }; constructor(store: Store<RootState, Actions>, props: TreeProps<T>, list: MutableRefObject<FixedSizeList | null>, listEl: MutableRefObject<HTMLDivElement | null>); update(props: TreeProps<T>): void; dispatch(action: Actions): import("redux").AnyAction; get state(): import("redux").CombinedState<{ nodes: import("redux").CombinedState<{ focus: import("../state/focus-slice").FocusState; edit: import("../state/edit-slice").EditState; open: import("../state/open-slice").OpenSlice; selection: import("../state/selection-slice").SelectionState; drag: import("../state/drag-slice").DragSlice; }>; dnd: import("../state/dnd-slice").DndState; }>; get openState(): import("../state/open-slice").OpenMap; get width(): string | number; get height(): number; get indent(): number; get rowHeight(): number; get overscanCount(): number; get searchTerm(): string; get matchFn(): (node: NodeApi<T>) => boolean; accessChildren(data: T): T[] | null; accessId(data: T): string; get firstNode(): NodeApi<T>; get lastNode(): NodeApi<T>; get focusedNode(): NodeApi<T> | null; get mostRecentNode(): NodeApi<T> | null; get nextNode(): NodeApi<T> | null; get prevNode(): NodeApi<T> | null; get(id: string | null): NodeApi<T> | null; at(index: number): NodeApi<T> | null; nodesBetween(startId: string | null, endId: string | null): NodeApi<T>[]; indexOf(id: string | null | IdObj): number | null; get editingId(): string | null; createInternal(): Promise<void>; createLeaf(): Promise<void>; create(opts?: { type?: "internal" | "leaf"; parentId?: null | string; index?: null | number; }): Promise<void>; delete(node: string | IdObj | null | string[] | IdObj[]): Promise<void>; edit(node: string | IdObj): Promise<EditResult>; submit(identity: Identity, value: string): Promise<void>; reset(): void; activate(id: string | IdObj | null): void; private resolveEdit; get selectedIds(): Set<string>; get selectedNodes(): NodeApi<T>[]; focus(node: Identity, opts?: { scroll?: boolean; }): void; pageUp(): void; pageDown(): void; select(node: Identity, opts?: { align?: Align; focus?: boolean; }): void; deselect(node: Identity): void; selectMulti(identity: Identity): void; selectContiguous(identity: Identity): void; deselectAll(): void; selectAll(): void; get cursorParentId(): string | null; get cursorOverFolder(): boolean; get dragNodes(): NodeApi<T>[]; canDrop(): boolean; hideCursor(): void; showCursor(cursor: Cursor): void; open(identity: Identity): void; close(identity: Identity): void; toggle(identity: Identity): void; openParents(identity: Identity): void; openSiblings(node: NodeApi<T>): void; openAll(): void; closeAll(): void; scrollTo(identity: Identity, align?: Align): Promise<void> | undefined; get isEditing(): boolean; get isFiltered(): boolean; get hasFocus(): boolean; get hasNoSelection(): boolean; get hasOneSelection(): boolean; get hasMultipleSelections(): boolean; isSelected(id?: string): boolean; isOpen(id?: string): boolean; isEditable(data: T): boolean; isDraggable(data: T): boolean; isDragging(node: string | IdObj | null): boolean; isFocused(id: string): boolean; isMatch(node: NodeApi<T>): boolean; willReceiveDrop(node: string | IdObj | null): boolean; onFocus(): void; onBlur(): void; onItemsRendered(args: ListOnItemsRenderedProps): void; get renderContainer(): import("react").ElementType<{}> | typeof DefaultContainer; get renderRow(): import("react").ElementType<import("..").RowRendererProps<T>> | typeof DefaultRow; get renderNode(): import("react").ElementType<import("..").NodeRendererProps<T>> | typeof DefaultNode; get renderDragPreview(): import("react").ComponentType<import("..").DragPreviewProps> | typeof DefaultDragPreview; get renderCursor(): import("react").ComponentType<import("..").CursorProps> | import("react").NamedExoticComponent<import("..").CursorProps>; }