UNPKG

2.96 kBTypeScriptView Raw
1/**
2 * @public
3 */
4export declare type TreeData<T = any> = {
5 text?: string;
6 value?: T;
7 icon?: string | false;
8 state: TreeNodeState;
9 children: TreeData<T>[];
10 contextmenu?: string | Function;
11 component?: string | Function;
12};
13/**
14 * @public
15 */
16export declare type TreeNodeState = {
17 opened: boolean;
18 selected: boolean;
19 disabled: boolean;
20 loading: boolean;
21 highlighted: boolean;
22 openable: boolean;
23 dropPosition: DropPosition;
24 dropAllowed: boolean;
25};
26/**
27 * @public
28 */
29export declare type EventData<T = any> = {
30 data: TreeData<T>;
31 path: number[];
32};
33/**
34 * @public
35 */
36export declare type ContextMenuData<T = any> = {
37 data: TreeData<T>;
38 path: number[];
39 root: TreeData<T>[];
40 parent?: any;
41};
42/**
43 * @public
44 */
45export declare class DoubleClick {
46 private timeout;
47 private clicked;
48 private timer;
49 constructor(timeout?: number);
50 onclick(singleClick: () => void): void;
51}
52/**
53 * @public
54 */
55export declare function getContainerClassName(noDots: boolean | undefined): string;
56/**
57 * @public
58 */
59export declare function getNodeClassName<T>(data: TreeData<T>, last: boolean): string;
60/**
61 * @public
62 */
63export declare function getAnchorClassName<T>(data: TreeData<T>, hovered: boolean, path: number[]): string;
64/**
65 * @public
66 */
67export declare function getCheckboxClassName<T>(data: TreeData<T>, path: number[]): string;
68/**
69 * @public
70 */
71export declare function getRootClassName(checkbox: boolean | undefined, size: string | undefined, theme?: string): string;
72/**
73 * @public
74 */
75export declare function getIconClassName(icon: string | false | undefined): string;
76/**
77 * @public
78 */
79export declare function getOclClassName(path: number[]): string;
80/**
81 * @public
82 */
83export declare function getMarkerClassName<T>(data: TreeData<T>): string;
84/**
85 * @public
86 */
87export declare const enum DropPosition {
88 empty = 0,
89 up = 1,
90 inside = 2,
91 down = 3
92}
93/**
94 * @public
95 */
96export declare type DropData<T = any> = {
97 sourceData: TreeData<T>;
98 sourcePath: number[];
99 targetData: TreeData<T>;
100 targetPath: number[];
101};
102/**
103 * @public
104 */
105export declare function getNodeFromPath<T>(rootData: TreeData<T>[], path: number[]): TreeData<T> | null;
106/**
107 * @public
108 */
109export declare function ondrag<T>(pageY: number, dragTarget: HTMLElement | null, dropTarget: HTMLElement | null, data: TreeData<T>[], dropAllowed?: (dropData: DropData<T>) => boolean, next?: () => void): void;
110/**
111 * @public
112 */
113export declare function ondragleave<T>(target: HTMLElement, data: TreeData<T>[]): void;
114/**
115 * @public
116 */
117export declare function ondrop<T>(target: HTMLElement, dragTarget: HTMLElement | null, data: TreeData<T>[], next: (dropData: DropData<T>) => void): void;
118/**
119 * @public
120 */
121export declare function clearMarkerOfTree<T>(tree: TreeData<T>): void;
122/**
123 * @public
124 */
125export declare function getId(path: number[], preid?: string): string | undefined;