UNPKG

eyzy-tree

Version:
28 lines (25 loc) 1.28 kB
import { TreeNode } from "./Node" import { FlatMap } from '../utils/traveler' export type PromiseNodes = PromiseLike<TreeNode[] | TreeNode> export type PromiseCallback = (node: TreeNode) => PromiseNodes export type Resource = string | object | (string | object)[] | PromiseLike<any> | PromiseCallback export interface InsertOptions { expand?: boolean loading?: boolean index?: number } export interface Core { flatMap: (collection: TreeNode[], ignoreCollapsed?: boolean) => FlatMap find: <T>(target: TreeNode[], multiple: boolean, ...criterias: any) => T | null clearKeys: (node: TreeNode, excludeSelf: boolean) => void load(node: TreeNode, resource: PromiseCallback, showLoading?: boolean): PromiseNodes beside(node: TreeNode, resource: PromiseCallback, shift: number): PromiseNodes insert(targetNode: TreeNode, resource: Resource, opts?: InsertOptions): PromiseNodes remove(targetNode: TreeNode): TreeNode | null data(targetNode: TreeNode, key?: any, value?: any): any hasClass(targetNode: TreeNode, className: string): boolean removeClass(targetNode: TreeNode, classNames: string | string[]): TreeNode addClass(targetNode: TreeNode, classNames: string | string[]): TreeNode uncheckAll(): void unselectAll(): void }