@recruitler/drag-drop
Version:
A forked version of Angular/'s drag-drop CDK.
23 lines (22 loc) • 1.11 kB
TypeScript
export interface CdkDropDownItem {
[key: string]: any;
children?: CdkDropDownItem[];
}
export interface CdkIndexTree {
root: CdkIndexTreeNode;
dropItems: CdkDropDownItem[];
}
export interface CdkIndexTreeNode {
parent?: CdkIndexTreeNode;
itemOfList: CdkDropDownItem;
indexOfList: number;
children?: CdkIndexTreeNode[];
}
export declare function getParent(roots: CdkDropDownItem[], children: CdkDropDownItem[]): CdkDropDownItem | undefined;
export declare function getDecendantCount(parent: CdkDropDownItem): number;
export declare function getTotalCount(parents: CdkDropDownItem[]): number;
export declare function buildTree(children: CdkDropDownItem[]): CdkDropDownItem;
export declare function constructCdkIndexTree(rootNode: CdkDropDownItem): CdkIndexTree;
export declare function splitTree(tree: CdkIndexTree, startIndex: number, endIndex: number): CdkDropDownItem;
export declare function swapTreeNodes(tree: CdkIndexTree, sourceIndex: number, targetIndex: number): void;
export declare function nestTreeNode(tree: CdkIndexTree, sourceIndex: number, nestIndex: number): void;