@xto/data 1.4.1 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Avatar/index.vue.d.ts +33 -0
- package/es/Avatar/types.d.ts +57 -0
- package/es/Calendar/index.d.ts +9 -0
- package/es/Calendar/index.vue.d.ts +36 -0
- package/es/Card/index.d.ts +8 -0
- package/es/Card/index.vue.d.ts +26 -0
- package/es/Card/types.d.ts +30 -0
- package/es/Carousel/CarouselItem.vue.d.ts +17 -0
- package/es/Carousel/index.d.ts +31 -0
- package/es/Carousel/index.vue.d.ts +54 -0
- package/es/Carousel/types.d.ts +105 -0
- package/es/Collapse/CollapseItem.vue.d.ts +26 -0
- package/es/Collapse/index.d.ts +18 -0
- package/es/Collapse/index.vue.d.ts +32 -0
- package/es/Descriptions/DescriptionsItem.vue.d.ts +26 -0
- package/es/Descriptions/index.vue.d.ts +34 -0
- package/es/Descriptions/types.d.ts +89 -0
- package/es/DynamicTable/index.d.ts +84 -0
- package/es/DynamicTable/index.vue.d.ts +115 -0
- package/es/DynamicTable/types.d.ts +183 -0
- package/es/Empty/index.d.ts +11 -0
- package/es/Empty/index.vue.d.ts +35 -0
- package/es/Image/index.d.ts +25 -0
- package/es/Image/index.vue.d.ts +53 -0
- package/es/InfiniteScroll/index.d.ts +17 -0
- package/es/InfiniteScroll/index.vue.d.ts +48 -0
- package/es/Pagination/index.d.ts +18 -0
- package/es/Pagination/index.vue.d.ts +25 -0
- package/es/Pagination/types.d.ts +46 -0
- package/es/Progress/index.d.ts +16 -0
- package/es/Progress/index.vue.d.ts +19 -0
- package/es/Progress/types.d.ts +54 -0
- package/es/QRCode/index.d.ts +17 -0
- package/es/QRCode/index.vue.d.ts +31 -0
- package/es/Scrollbar/index.vue.d.ts +50 -0
- package/es/Scrollbar/types.d.ts +88 -0
- package/es/Table/TableColumn.vue.d.ts +14 -0
- package/es/Table/index.vue.d.ts +106 -0
- package/es/Table/types.d.ts +176 -0
- package/es/Tag/index.d.ts +15 -0
- package/es/Tag/index.vue.d.ts +36 -0
- package/es/Timeline/TimelineItem.vue.d.ts +38 -0
- package/es/Timeline/index.d.ts +20 -0
- package/es/Timeline/index.vue.d.ts +23 -0
- package/es/Timeline/types.d.ts +70 -0
- package/es/Tree/index.d.ts +217 -0
- package/es/Tree/index.vue.d.ts +105 -0
- package/es/Tree/src/tree-node.vue.d.ts +32 -0
- package/es/Tree/src/useTree.d.ts +91 -0
- package/es/TreeTable/TreeTableColumn.vue.d.ts +14 -0
- package/es/TreeTable/index.d.ts +2 -0
- package/es/TreeTable/index.vue.d.ts +102 -0
- package/es/TreeTable/types.d.ts +164 -0
- package/es/VirtualScroll/index.d.ts +19 -0
- package/es/VirtualScroll/index.vue.d.ts +56 -0
- package/es/index.d.ts +42 -0
- package/es/index.mjs +1641 -1636
- package/es/style.css +1 -1
- package/lib/index.cjs +1 -1
- package/lib/style.css +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** 时间线方向 */
|
|
3
|
+
direction?: 'vertical' | 'horizontal';
|
|
4
|
+
};
|
|
5
|
+
declare function __VLS_template(): {
|
|
6
|
+
attrs: Partial<{}>;
|
|
7
|
+
slots: {
|
|
8
|
+
default?(_: {}): any;
|
|
9
|
+
};
|
|
10
|
+
refs: {};
|
|
11
|
+
rootEl: HTMLUListElement;
|
|
12
|
+
};
|
|
13
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
14
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
15
|
+
direction: "vertical" | "horizontal";
|
|
16
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLUListElement>;
|
|
17
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
18
|
+
export default _default;
|
|
19
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
20
|
+
new (): {
|
|
21
|
+
$slots: S;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeline 组件类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Timeline 方向
|
|
6
|
+
*/
|
|
7
|
+
export type TimelineDirection = 'vertical' | 'horizontal';
|
|
8
|
+
/**
|
|
9
|
+
* Timeline Props
|
|
10
|
+
*/
|
|
11
|
+
export interface TimelineProps {
|
|
12
|
+
/**
|
|
13
|
+
* 时间线方向
|
|
14
|
+
* @default 'vertical'
|
|
15
|
+
*/
|
|
16
|
+
direction?: TimelineDirection;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Timeline 组件实例类型
|
|
20
|
+
*/
|
|
21
|
+
export type TimelineInstance = InstanceType<typeof import('./index.vue').default>;
|
|
22
|
+
/**
|
|
23
|
+
* TimelineItem 节点类型
|
|
24
|
+
*/
|
|
25
|
+
export type TimelineItemType = 'primary' | 'success' | 'warning' | 'danger' | 'info';
|
|
26
|
+
/**
|
|
27
|
+
* TimelineItem Props
|
|
28
|
+
*/
|
|
29
|
+
export interface TimelineItemProps {
|
|
30
|
+
/**
|
|
31
|
+
* 节点颜色
|
|
32
|
+
*/
|
|
33
|
+
color?: string;
|
|
34
|
+
/**
|
|
35
|
+
* 节点类型
|
|
36
|
+
*/
|
|
37
|
+
type?: TimelineItemType;
|
|
38
|
+
/**
|
|
39
|
+
* 时间戳
|
|
40
|
+
*/
|
|
41
|
+
timestamp?: string;
|
|
42
|
+
/**
|
|
43
|
+
* 时间戳位置
|
|
44
|
+
* @default 'bottom'
|
|
45
|
+
*/
|
|
46
|
+
placement?: 'top' | 'bottom';
|
|
47
|
+
/**
|
|
48
|
+
* 是否显示时间戳
|
|
49
|
+
* @default true
|
|
50
|
+
*/
|
|
51
|
+
showTimestamp?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* 节点尺寸
|
|
54
|
+
* @default 'normal'
|
|
55
|
+
*/
|
|
56
|
+
size?: 'normal' | 'large';
|
|
57
|
+
/**
|
|
58
|
+
* 图标
|
|
59
|
+
*/
|
|
60
|
+
icon?: string;
|
|
61
|
+
/**
|
|
62
|
+
* 是否空心
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
hollow?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* TimelineItem 组件实例类型
|
|
69
|
+
*/
|
|
70
|
+
export type TimelineItemInstance = InstanceType<typeof import('./src/timeline-item.vue').default>;
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { ComponentSize } from '@xto/core';
|
|
2
|
+
export interface TreeData {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}
|
|
5
|
+
export interface TreeNodeData {
|
|
6
|
+
/** 节点唯一标识 */
|
|
7
|
+
value?: string | number;
|
|
8
|
+
/** 节点标签 */
|
|
9
|
+
label?: string;
|
|
10
|
+
/** 子节点 */
|
|
11
|
+
children?: TreeNodeData[];
|
|
12
|
+
/** 是否禁用 */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** 是否为叶子节点 */
|
|
15
|
+
isLeaf?: boolean;
|
|
16
|
+
/** 自定义数据 */
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}
|
|
19
|
+
export interface TreePropsConfig {
|
|
20
|
+
/** 子节点字段名 */
|
|
21
|
+
children?: string;
|
|
22
|
+
/** 标签字段名 */
|
|
23
|
+
label?: string;
|
|
24
|
+
/** 禁用字段名 */
|
|
25
|
+
disabled?: string;
|
|
26
|
+
/** 是否叶子节点字段名 */
|
|
27
|
+
isLeaf?: string;
|
|
28
|
+
/** 值字段名 */
|
|
29
|
+
value?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface FieldNames {
|
|
32
|
+
/** 标题字段名 */
|
|
33
|
+
title?: string;
|
|
34
|
+
/** 键名字段名 */
|
|
35
|
+
key?: string;
|
|
36
|
+
/** 子节点字段名 */
|
|
37
|
+
children?: string;
|
|
38
|
+
/** 禁用字段名 */
|
|
39
|
+
disabled?: string;
|
|
40
|
+
/** 是否叶子节点字段名 */
|
|
41
|
+
isLeaf?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface TreeProps {
|
|
44
|
+
/** 树节点数据 */
|
|
45
|
+
data?: TreeNodeData[];
|
|
46
|
+
/** 树节点数据(别名) */
|
|
47
|
+
treeData?: TreeNodeData[];
|
|
48
|
+
/** 空数据提示文本 */
|
|
49
|
+
emptyText?: string;
|
|
50
|
+
/** 节点唯一标识字段名 */
|
|
51
|
+
nodeKey?: string;
|
|
52
|
+
/** 字段映射配置 */
|
|
53
|
+
props?: TreePropsConfig;
|
|
54
|
+
/** 字段名映射配置(别名) */
|
|
55
|
+
fieldNames?: FieldNames;
|
|
56
|
+
/** 是否展开后渲染子节点 */
|
|
57
|
+
renderAfterExpand?: boolean;
|
|
58
|
+
/** 懒加载方法 */
|
|
59
|
+
load?: (node: TreeNode, resolve: (data: TreeNodeData[]) => void) => void;
|
|
60
|
+
/** 自定义节点渲染函数 */
|
|
61
|
+
renderContent?: (h: any, data: {
|
|
62
|
+
node: TreeNode;
|
|
63
|
+
data: TreeNodeData;
|
|
64
|
+
store: TreeStore;
|
|
65
|
+
}) => any;
|
|
66
|
+
/** 是否高亮当前节点 */
|
|
67
|
+
highlightCurrent?: boolean;
|
|
68
|
+
/** 点击节点时是否勾选 */
|
|
69
|
+
checkOnClickNode?: boolean;
|
|
70
|
+
/** 展开节点时是否自动展开父节点 */
|
|
71
|
+
autoExpandParent?: boolean;
|
|
72
|
+
/** 默认展开的节点 key 数组 */
|
|
73
|
+
defaultExpandedKeys?: (string | number)[];
|
|
74
|
+
/** 默认勾选的节点 key 数组 */
|
|
75
|
+
defaultCheckedKeys?: (string | number)[];
|
|
76
|
+
/** 默认选中的节点 key 数组 */
|
|
77
|
+
defaultSelectedKeys?: (string | number)[];
|
|
78
|
+
/** 展开的节点 key 数组(受控) */
|
|
79
|
+
expandedKeys?: (string | number)[];
|
|
80
|
+
/** 勾选的节点 key 数组(受控) */
|
|
81
|
+
checkedKeys?: (string | number)[];
|
|
82
|
+
/** 选中的节点 key 数组(受控) */
|
|
83
|
+
selectedKeys?: (string | number)[];
|
|
84
|
+
/** 父子节点是否不关联 */
|
|
85
|
+
checkStrictly?: boolean;
|
|
86
|
+
/** 是否懒加载 */
|
|
87
|
+
lazy?: boolean;
|
|
88
|
+
/** 是否可拖拽 */
|
|
89
|
+
draggable?: boolean;
|
|
90
|
+
/** 是否允许拖拽判断函数 */
|
|
91
|
+
allowDrag?: (node: TreeNode) => boolean;
|
|
92
|
+
/** 是否允许放置判断函数 */
|
|
93
|
+
allowDrop?: (dragNode: TreeNode, dropNode: TreeNode, type: 'inner' | 'prev' | 'next') => boolean;
|
|
94
|
+
/** 是否手风琴模式 */
|
|
95
|
+
accordion?: boolean;
|
|
96
|
+
/** 缩进 */
|
|
97
|
+
indent?: number;
|
|
98
|
+
/** 自定义图标 */
|
|
99
|
+
icon?: string;
|
|
100
|
+
/** 点击节点是否展开 */
|
|
101
|
+
expandOnClickNode?: boolean;
|
|
102
|
+
/** 是否检查子孙节点 */
|
|
103
|
+
checkDescendants?: boolean;
|
|
104
|
+
/** 当前高亮的节点 key */
|
|
105
|
+
currentKey?: string | number;
|
|
106
|
+
/** 是否显示连接线 */
|
|
107
|
+
showLine?: boolean;
|
|
108
|
+
/** 是否显示复选框 */
|
|
109
|
+
showCheckbox?: boolean;
|
|
110
|
+
/** 是否可选择 */
|
|
111
|
+
selectable?: boolean;
|
|
112
|
+
/** 尺寸 */
|
|
113
|
+
size?: ComponentSize;
|
|
114
|
+
/** 是否默认展开所有节点 */
|
|
115
|
+
defaultExpandAll?: boolean;
|
|
116
|
+
/** 是否可勾选(别名) */
|
|
117
|
+
checkable?: boolean;
|
|
118
|
+
}
|
|
119
|
+
export interface TreeEmits {
|
|
120
|
+
/** 节点点击 */
|
|
121
|
+
(e: 'node-click', data: TreeNodeData, node: TreeNode, instance: any): void;
|
|
122
|
+
/** 节点右键点击 */
|
|
123
|
+
(e: 'node-contextmenu', event: Event, data: TreeNodeData, node: TreeNode): void;
|
|
124
|
+
/** 勾选变化 */
|
|
125
|
+
(e: 'check-change', data: TreeNodeData, checked: boolean, indeterminate: boolean): void;
|
|
126
|
+
/** 勾选 */
|
|
127
|
+
(e: 'check', data: TreeNodeData, info: {
|
|
128
|
+
checkedNodes: TreeNodeData[];
|
|
129
|
+
checkedKeys: (string | number)[];
|
|
130
|
+
halfCheckedNodes: TreeNodeData[];
|
|
131
|
+
halfCheckedKeys: (string | number)[];
|
|
132
|
+
}): void;
|
|
133
|
+
/** 当前节点变化 */
|
|
134
|
+
(e: 'current-change', data: TreeNodeData, node: TreeNode): void;
|
|
135
|
+
/** 节点展开 */
|
|
136
|
+
(e: 'node-expand', data: TreeNodeData, node: TreeNode, instance: any): void;
|
|
137
|
+
/** 节点收起 */
|
|
138
|
+
(e: 'node-collapse', data: TreeNodeData, node: TreeNode, instance: any): void;
|
|
139
|
+
/** 拖拽开始 */
|
|
140
|
+
(e: 'node-drag-start', node: TreeNode, event: DragEvent): void;
|
|
141
|
+
/** 拖拽进入 */
|
|
142
|
+
(e: 'node-drag-enter', node: TreeNode, event: DragEvent): void;
|
|
143
|
+
/** 拖拽离开 */
|
|
144
|
+
(e: 'node-drag-leave', node: TreeNode, event: DragEvent): void;
|
|
145
|
+
/** 拖拽悬停 */
|
|
146
|
+
(e: 'node-drag-over', node: TreeNode, event: DragEvent): void;
|
|
147
|
+
/** 拖拽结束 */
|
|
148
|
+
(e: 'node-drag-end', node: TreeNode, event: DragEvent): void;
|
|
149
|
+
/** 拖放完成 */
|
|
150
|
+
(e: 'node-drop', dragNode: TreeNode, dropNode: TreeNode, dropType: 'inner' | 'prev' | 'next', event: DragEvent): void;
|
|
151
|
+
}
|
|
152
|
+
export interface TreeStore {
|
|
153
|
+
nodesMap: Map<string | number, TreeNode>;
|
|
154
|
+
rootNodes: TreeNode[];
|
|
155
|
+
expandedKeys: Set<string | number>;
|
|
156
|
+
checkedKeys: Set<string | number>;
|
|
157
|
+
selectedKeys: Set<string | number>;
|
|
158
|
+
indeterminateKeys: Set<string | number>;
|
|
159
|
+
currentKey: string | number | null;
|
|
160
|
+
filterValue: string;
|
|
161
|
+
}
|
|
162
|
+
export declare class TreeNode {
|
|
163
|
+
/** 节点唯一标识 */
|
|
164
|
+
key: string | number;
|
|
165
|
+
/** 节点标签 */
|
|
166
|
+
label: string;
|
|
167
|
+
/** 节点层级 */
|
|
168
|
+
level: number;
|
|
169
|
+
/** 父节点 */
|
|
170
|
+
parent: TreeNode | null;
|
|
171
|
+
/** 子节点 */
|
|
172
|
+
children: TreeNode[];
|
|
173
|
+
/** 原始数据 */
|
|
174
|
+
data: TreeNodeData;
|
|
175
|
+
/** 是否展开 */
|
|
176
|
+
expanded: boolean;
|
|
177
|
+
/** 是否选中 */
|
|
178
|
+
selected: boolean;
|
|
179
|
+
/** 是否勾选 */
|
|
180
|
+
checked: boolean;
|
|
181
|
+
/** 是否半选 */
|
|
182
|
+
indeterminate: boolean;
|
|
183
|
+
/** 是否禁用 */
|
|
184
|
+
disabled: boolean;
|
|
185
|
+
/** 是否加载中 */
|
|
186
|
+
loading: boolean;
|
|
187
|
+
/** 是否可见 */
|
|
188
|
+
visible: boolean;
|
|
189
|
+
/** 是否为叶子节点 */
|
|
190
|
+
isLeaf: boolean;
|
|
191
|
+
/** 是否已加载(懒加载用) */
|
|
192
|
+
loaded: boolean;
|
|
193
|
+
/** Store 引用 */
|
|
194
|
+
store: TreeStore;
|
|
195
|
+
constructor(data: TreeNodeData, store: TreeStore, level?: number, parent?: TreeNode | null);
|
|
196
|
+
/** 设置展开状态 */
|
|
197
|
+
setExpanded(expanded: boolean, emitChange?: boolean): void;
|
|
198
|
+
/** 设置选中状态 */
|
|
199
|
+
setSelected(selected: boolean): void;
|
|
200
|
+
/** 设置勾选状态 */
|
|
201
|
+
setChecked(checked: boolean, deep?: boolean, emitChange?: boolean): void;
|
|
202
|
+
/** 更新子节点勾选状态 */
|
|
203
|
+
private updateChildrenChecked;
|
|
204
|
+
/** 更新父节点勾选状态 */
|
|
205
|
+
private updateParentChecked;
|
|
206
|
+
/** 展开/收起 */
|
|
207
|
+
toggleExpand(): void;
|
|
208
|
+
/** 勾选/取消勾选 */
|
|
209
|
+
toggleCheck(): void;
|
|
210
|
+
/** 判断是否应该显示 */
|
|
211
|
+
get shouldShow(): boolean;
|
|
212
|
+
/** 获取所有父节点的 key */
|
|
213
|
+
getParentKeys(): (string | number)[];
|
|
214
|
+
/** 获取所有子节点的 key */
|
|
215
|
+
getChildrenKeys(): (string | number)[];
|
|
216
|
+
}
|
|
217
|
+
export declare const defaultProps: TreeProps;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { TreeProps, TreeNode as TreeNodeType, TreeNodeData } from './index';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: {
|
|
5
|
+
default?(_: {
|
|
6
|
+
node: any;
|
|
7
|
+
data: any;
|
|
8
|
+
}): any;
|
|
9
|
+
empty?(_: {}): any;
|
|
10
|
+
};
|
|
11
|
+
refs: {};
|
|
12
|
+
rootEl: HTMLDivElement;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
15
|
+
declare const __VLS_component: import('vue').DefineComponent<TreeProps, {
|
|
16
|
+
filter: (value: string) => void;
|
|
17
|
+
getNode: (key: string | number) => TreeNodeType | undefined;
|
|
18
|
+
setCurrentKey: (key: string | number | null) => void;
|
|
19
|
+
getCurrentKey: () => string | number | null;
|
|
20
|
+
getCurrentNode: () => TreeNodeType | undefined;
|
|
21
|
+
getCheckedNodes: (leafOnly?: boolean) => TreeNodeData[];
|
|
22
|
+
getCheckedKeys: (leafOnly?: boolean) => (string | number)[];
|
|
23
|
+
setCheckedKeys: (keys: (string | number)[]) => void;
|
|
24
|
+
getHalfCheckedNodes: () => TreeNodeData[];
|
|
25
|
+
getHalfCheckedKeys: () => (string | number)[];
|
|
26
|
+
setChecked: (key: string | number, checked: boolean, deep?: boolean) => void;
|
|
27
|
+
getSelectedNodes: () => TreeNodeData[];
|
|
28
|
+
setSelectedKeys: (keys: (string | number)[]) => void;
|
|
29
|
+
expandAll: () => void;
|
|
30
|
+
collapseAll: () => void;
|
|
31
|
+
updateKeyChildren: (key: string | number, data: TreeNodeData[]) => void;
|
|
32
|
+
remove: (key: string | number) => void;
|
|
33
|
+
append: (data: TreeNodeData, parentKey?: string | number) => void;
|
|
34
|
+
insertBefore: (data: TreeNodeData, refKey: string | number) => void;
|
|
35
|
+
insertAfter: (data: TreeNodeData, refKey: string | number) => void;
|
|
36
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
37
|
+
"current-change": (data: TreeNodeData, node: TreeNodeType) => any;
|
|
38
|
+
"node-click": (data: TreeNodeData, node: TreeNodeType, instance: any) => any;
|
|
39
|
+
"node-contextmenu": (event: Event, data: TreeNodeData, node: TreeNodeType) => any;
|
|
40
|
+
"check-change": (data: TreeNodeData, checked: boolean, indeterminate: boolean) => any;
|
|
41
|
+
check: (data: TreeNodeData, info: {
|
|
42
|
+
checkedNodes: TreeNodeData[];
|
|
43
|
+
checkedKeys: (string | number)[];
|
|
44
|
+
halfCheckedNodes: TreeNodeData[];
|
|
45
|
+
halfCheckedKeys: (string | number)[];
|
|
46
|
+
}) => any;
|
|
47
|
+
"node-expand": (data: TreeNodeData, node: TreeNodeType, instance: any) => any;
|
|
48
|
+
"node-collapse": (data: TreeNodeData, node: TreeNodeType, instance: any) => any;
|
|
49
|
+
"node-drag-start": (node: TreeNodeType, event: DragEvent) => any;
|
|
50
|
+
"node-drag-enter": (node: TreeNodeType, event: DragEvent) => any;
|
|
51
|
+
"node-drag-leave": (node: TreeNodeType, event: DragEvent) => any;
|
|
52
|
+
"node-drag-over": (node: TreeNodeType, event: DragEvent) => any;
|
|
53
|
+
"node-drag-end": (node: TreeNodeType, event: DragEvent) => any;
|
|
54
|
+
"node-drop": (dragNode: TreeNodeType, dropNode: TreeNodeType, dropType: "inner" | "prev" | "next", event: DragEvent) => any;
|
|
55
|
+
}, string, import('vue').PublicProps, Readonly<TreeProps> & Readonly<{
|
|
56
|
+
"onCurrent-change"?: ((data: TreeNodeData, node: TreeNodeType) => any) | undefined;
|
|
57
|
+
"onNode-click"?: ((data: TreeNodeData, node: TreeNodeType, instance: any) => any) | undefined;
|
|
58
|
+
"onNode-contextmenu"?: ((event: Event, data: TreeNodeData, node: TreeNodeType) => any) | undefined;
|
|
59
|
+
"onCheck-change"?: ((data: TreeNodeData, checked: boolean, indeterminate: boolean) => any) | undefined;
|
|
60
|
+
onCheck?: ((data: TreeNodeData, info: {
|
|
61
|
+
checkedNodes: TreeNodeData[];
|
|
62
|
+
checkedKeys: (string | number)[];
|
|
63
|
+
halfCheckedNodes: TreeNodeData[];
|
|
64
|
+
halfCheckedKeys: (string | number)[];
|
|
65
|
+
}) => any) | undefined;
|
|
66
|
+
"onNode-expand"?: ((data: TreeNodeData, node: TreeNodeType, instance: any) => any) | undefined;
|
|
67
|
+
"onNode-collapse"?: ((data: TreeNodeData, node: TreeNodeType, instance: any) => any) | undefined;
|
|
68
|
+
"onNode-drag-start"?: ((node: TreeNodeType, event: DragEvent) => any) | undefined;
|
|
69
|
+
"onNode-drag-enter"?: ((node: TreeNodeType, event: DragEvent) => any) | undefined;
|
|
70
|
+
"onNode-drag-leave"?: ((node: TreeNodeType, event: DragEvent) => any) | undefined;
|
|
71
|
+
"onNode-drag-over"?: ((node: TreeNodeType, event: DragEvent) => any) | undefined;
|
|
72
|
+
"onNode-drag-end"?: ((node: TreeNodeType, event: DragEvent) => any) | undefined;
|
|
73
|
+
"onNode-drop"?: ((dragNode: TreeNodeType, dropNode: TreeNodeType, dropType: "inner" | "prev" | "next", event: DragEvent) => any) | undefined;
|
|
74
|
+
}>, {
|
|
75
|
+
size: import('@xto/core').ComponentSize;
|
|
76
|
+
props: import('./index').TreePropsConfig;
|
|
77
|
+
data: TreeNodeData[];
|
|
78
|
+
emptyText: string;
|
|
79
|
+
nodeKey: string;
|
|
80
|
+
renderAfterExpand: boolean;
|
|
81
|
+
highlightCurrent: boolean;
|
|
82
|
+
checkOnClickNode: boolean;
|
|
83
|
+
autoExpandParent: boolean;
|
|
84
|
+
defaultExpandedKeys: (string | number)[];
|
|
85
|
+
defaultCheckedKeys: (string | number)[];
|
|
86
|
+
defaultSelectedKeys: (string | number)[];
|
|
87
|
+
checkStrictly: boolean;
|
|
88
|
+
lazy: boolean;
|
|
89
|
+
draggable: boolean;
|
|
90
|
+
accordion: boolean;
|
|
91
|
+
indent: number;
|
|
92
|
+
expandOnClickNode: boolean;
|
|
93
|
+
checkDescendants: boolean;
|
|
94
|
+
showLine: boolean;
|
|
95
|
+
showCheckbox: boolean;
|
|
96
|
+
selectable: boolean;
|
|
97
|
+
defaultExpandAll: boolean;
|
|
98
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
99
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
100
|
+
export default _default;
|
|
101
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
102
|
+
new (): {
|
|
103
|
+
$slots: S;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TreeNode } from '../index';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
node: TreeNode;
|
|
4
|
+
};
|
|
5
|
+
declare function __VLS_template(): {
|
|
6
|
+
attrs: Partial<{}>;
|
|
7
|
+
slots: {
|
|
8
|
+
default?(_: {
|
|
9
|
+
node: TreeNode;
|
|
10
|
+
data: import('../index').TreeNodeData;
|
|
11
|
+
}): any;
|
|
12
|
+
default?(_: {
|
|
13
|
+
node: any;
|
|
14
|
+
data: any;
|
|
15
|
+
}): any;
|
|
16
|
+
};
|
|
17
|
+
refs: {
|
|
18
|
+
nodeRef: HTMLDivElement;
|
|
19
|
+
};
|
|
20
|
+
rootEl: HTMLDivElement;
|
|
21
|
+
};
|
|
22
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
23
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
24
|
+
nodeRef: HTMLDivElement;
|
|
25
|
+
}, HTMLDivElement>;
|
|
26
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
27
|
+
export default _default;
|
|
28
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { TreeProps, TreeEmits, TreeNode, TreeNodeData } from '../index';
|
|
2
|
+
export declare function useTree(props: TreeProps, emit: TreeEmits): {
|
|
3
|
+
store: {
|
|
4
|
+
nodesMap: Map<string | number, {
|
|
5
|
+
key: string | number;
|
|
6
|
+
label: string;
|
|
7
|
+
level: number;
|
|
8
|
+
parent: /*elided*/ any | null;
|
|
9
|
+
children: /*elided*/ any[];
|
|
10
|
+
data: {
|
|
11
|
+
[x: string]: any;
|
|
12
|
+
value?: string | number | undefined;
|
|
13
|
+
label?: string | undefined;
|
|
14
|
+
children?: /*elided*/ any[] | undefined;
|
|
15
|
+
disabled?: boolean | undefined;
|
|
16
|
+
isLeaf?: boolean | undefined;
|
|
17
|
+
};
|
|
18
|
+
expanded: boolean;
|
|
19
|
+
selected: boolean;
|
|
20
|
+
checked: boolean;
|
|
21
|
+
indeterminate: boolean;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
loading: boolean;
|
|
24
|
+
visible: boolean;
|
|
25
|
+
isLeaf: boolean;
|
|
26
|
+
loaded: boolean;
|
|
27
|
+
store: /*elided*/ any;
|
|
28
|
+
setExpanded: (expanded: boolean, emitChange?: boolean) => void;
|
|
29
|
+
setSelected: (selected: boolean) => void;
|
|
30
|
+
setChecked: (checked: boolean, deep?: boolean, emitChange?: boolean) => void;
|
|
31
|
+
toggleExpand: () => void;
|
|
32
|
+
toggleCheck: () => void;
|
|
33
|
+
readonly shouldShow: boolean;
|
|
34
|
+
getParentKeys: () => (string | number)[];
|
|
35
|
+
getChildrenKeys: () => (string | number)[];
|
|
36
|
+
}> & Omit<Map<string | number, TreeNode>, keyof Map<any, any>>;
|
|
37
|
+
rootNodes: {
|
|
38
|
+
key: string | number;
|
|
39
|
+
label: string;
|
|
40
|
+
level: number;
|
|
41
|
+
parent: /*elided*/ any | null;
|
|
42
|
+
children: /*elided*/ any[];
|
|
43
|
+
data: {
|
|
44
|
+
[x: string]: any;
|
|
45
|
+
value?: string | number | undefined;
|
|
46
|
+
label?: string | undefined;
|
|
47
|
+
children?: /*elided*/ any[] | undefined;
|
|
48
|
+
disabled?: boolean | undefined;
|
|
49
|
+
isLeaf?: boolean | undefined;
|
|
50
|
+
};
|
|
51
|
+
expanded: boolean;
|
|
52
|
+
selected: boolean;
|
|
53
|
+
checked: boolean;
|
|
54
|
+
indeterminate: boolean;
|
|
55
|
+
disabled: boolean;
|
|
56
|
+
loading: boolean;
|
|
57
|
+
visible: boolean;
|
|
58
|
+
isLeaf: boolean;
|
|
59
|
+
loaded: boolean;
|
|
60
|
+
store: /*elided*/ any;
|
|
61
|
+
setExpanded: (expanded: boolean, emitChange?: boolean) => void;
|
|
62
|
+
setSelected: (selected: boolean) => void;
|
|
63
|
+
setChecked: (checked: boolean, deep?: boolean, emitChange?: boolean) => void;
|
|
64
|
+
toggleExpand: () => void;
|
|
65
|
+
toggleCheck: () => void;
|
|
66
|
+
readonly shouldShow: boolean;
|
|
67
|
+
getParentKeys: () => (string | number)[];
|
|
68
|
+
getChildrenKeys: () => (string | number)[];
|
|
69
|
+
}[];
|
|
70
|
+
expandedKeys: Set<string | number> & Omit<Set<string | number>, keyof Set<any>>;
|
|
71
|
+
checkedKeys: Set<string | number> & Omit<Set<string | number>, keyof Set<any>>;
|
|
72
|
+
selectedKeys: Set<string | number> & Omit<Set<string | number>, keyof Set<any>>;
|
|
73
|
+
indeterminateKeys: Set<string | number> & Omit<Set<string | number>, keyof Set<any>>;
|
|
74
|
+
currentKey: string | number | null;
|
|
75
|
+
filterValue: string;
|
|
76
|
+
};
|
|
77
|
+
filter: (value: string) => void;
|
|
78
|
+
getNode: (key: string | number) => TreeNode | undefined;
|
|
79
|
+
setCurrentKey: (key: string | number | null) => void;
|
|
80
|
+
getCurrentNode: () => TreeNode | undefined;
|
|
81
|
+
getCheckedNodes: (leafOnly?: boolean) => TreeNodeData[];
|
|
82
|
+
getCheckedKeys: (leafOnly?: boolean) => (string | number)[];
|
|
83
|
+
setCheckedKeys: (keys: (string | number)[]) => void;
|
|
84
|
+
getHalfCheckedNodes: () => TreeNodeData[];
|
|
85
|
+
getHalfCheckedKeys: () => (string | number)[];
|
|
86
|
+
setChecked: (key: string | number, checked: boolean, deep?: boolean) => void;
|
|
87
|
+
getSelectedNodes: () => TreeNodeData[];
|
|
88
|
+
setSelectedKeys: (keys: (string | number)[]) => void;
|
|
89
|
+
expandAll: () => void;
|
|
90
|
+
collapseAll: () => void;
|
|
91
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface TreeTableColumnProps {
|
|
2
|
+
prop: string;
|
|
3
|
+
label: string;
|
|
4
|
+
width?: string | number;
|
|
5
|
+
minWidth?: string | number;
|
|
6
|
+
align?: 'left' | 'center' | 'right';
|
|
7
|
+
sortable?: boolean | 'custom';
|
|
8
|
+
fixed?: 'left' | 'right' | true;
|
|
9
|
+
formatter?: (row: any, column: any, cellValue: any, index: number) => string;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import('vue').DefineComponent<TreeTableColumnProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<TreeTableColumnProps> & Readonly<{}>, {
|
|
12
|
+
align: "left" | "center" | "right";
|
|
13
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export interface TreeTableColumnConfig {
|
|
2
|
+
prop: string;
|
|
3
|
+
label: string;
|
|
4
|
+
width?: string | number;
|
|
5
|
+
minWidth?: string | number;
|
|
6
|
+
align?: 'left' | 'center' | 'right';
|
|
7
|
+
sortable?: boolean | 'custom';
|
|
8
|
+
fixed?: 'left' | 'right' | true;
|
|
9
|
+
formatter?: (row: any, column: TreeTableColumnConfig, cellValue: any, index: number) => string;
|
|
10
|
+
slot?: Function;
|
|
11
|
+
}
|
|
12
|
+
export interface TreeTableProps {
|
|
13
|
+
data: any[];
|
|
14
|
+
rowKey?: string | ((row: any) => string);
|
|
15
|
+
loading?: boolean;
|
|
16
|
+
border?: boolean;
|
|
17
|
+
stripe?: boolean;
|
|
18
|
+
showHeader?: boolean;
|
|
19
|
+
emptyText?: string;
|
|
20
|
+
defaultExpandAll?: boolean;
|
|
21
|
+
defaultExpandedKeys?: (string | number)[];
|
|
22
|
+
indent?: number;
|
|
23
|
+
treeProps?: {
|
|
24
|
+
children?: string;
|
|
25
|
+
hasChildren?: string;
|
|
26
|
+
};
|
|
27
|
+
expandIcon?: string;
|
|
28
|
+
collapseIcon?: string;
|
|
29
|
+
}
|
|
30
|
+
declare function __VLS_template(): {
|
|
31
|
+
attrs: Partial<{}>;
|
|
32
|
+
slots: {
|
|
33
|
+
empty?(_: {}): any;
|
|
34
|
+
default?(_: {}): any;
|
|
35
|
+
};
|
|
36
|
+
refs: {};
|
|
37
|
+
rootEl: HTMLDivElement;
|
|
38
|
+
};
|
|
39
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
40
|
+
declare const __VLS_component: import('vue').DefineComponent<TreeTableProps, {
|
|
41
|
+
expandAll: () => void;
|
|
42
|
+
collapseAll: () => void;
|
|
43
|
+
toggleExpand: (row: any) => void;
|
|
44
|
+
expandedKeys: import('vue').Ref<Set<string | number> & Omit<Set<string | number>, keyof Set<any>>, Set<string | number> | (Set<string | number> & Omit<Set<string | number>, keyof Set<any>>)>;
|
|
45
|
+
columns: import('vue').Ref<{
|
|
46
|
+
prop: string;
|
|
47
|
+
label: string;
|
|
48
|
+
width?: string | number | undefined;
|
|
49
|
+
minWidth?: string | number | undefined;
|
|
50
|
+
align?: "left" | "center" | "right" | undefined;
|
|
51
|
+
sortable?: boolean | "custom" | undefined;
|
|
52
|
+
fixed?: "left" | "right" | true | undefined;
|
|
53
|
+
formatter?: ((row: any, column: TreeTableColumnConfig, cellValue: any, index: number) => string) | undefined;
|
|
54
|
+
slot?: Function | undefined;
|
|
55
|
+
}[], TreeTableColumnConfig[] | {
|
|
56
|
+
prop: string;
|
|
57
|
+
label: string;
|
|
58
|
+
width?: string | number | undefined;
|
|
59
|
+
minWidth?: string | number | undefined;
|
|
60
|
+
align?: "left" | "center" | "right" | undefined;
|
|
61
|
+
sortable?: boolean | "custom" | undefined;
|
|
62
|
+
fixed?: "left" | "right" | true | undefined;
|
|
63
|
+
formatter?: ((row: any, column: TreeTableColumnConfig, cellValue: any, index: number) => string) | undefined;
|
|
64
|
+
slot?: Function | undefined;
|
|
65
|
+
}[]>;
|
|
66
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
67
|
+
"sort-change": (sort: {
|
|
68
|
+
prop: string;
|
|
69
|
+
order: "ascending" | "descending" | null;
|
|
70
|
+
}) => any;
|
|
71
|
+
"row-click": (row: any, column: TreeTableColumnConfig, event: MouseEvent) => any;
|
|
72
|
+
"cell-click": (row: any, column: TreeTableColumnConfig, cell: HTMLTableCellElement, event: MouseEvent) => any;
|
|
73
|
+
"expand-change": (row: any, expanded: boolean) => any;
|
|
74
|
+
}, string, import('vue').PublicProps, Readonly<TreeTableProps> & Readonly<{
|
|
75
|
+
"onSort-change"?: ((sort: {
|
|
76
|
+
prop: string;
|
|
77
|
+
order: "ascending" | "descending" | null;
|
|
78
|
+
}) => any) | undefined;
|
|
79
|
+
"onRow-click"?: ((row: any, column: TreeTableColumnConfig, event: MouseEvent) => any) | undefined;
|
|
80
|
+
"onCell-click"?: ((row: any, column: TreeTableColumnConfig, cell: HTMLTableCellElement, event: MouseEvent) => any) | undefined;
|
|
81
|
+
"onExpand-change"?: ((row: any, expanded: boolean) => any) | undefined;
|
|
82
|
+
}>, {
|
|
83
|
+
data: any[];
|
|
84
|
+
border: boolean;
|
|
85
|
+
loading: boolean;
|
|
86
|
+
stripe: boolean;
|
|
87
|
+
showHeader: boolean;
|
|
88
|
+
emptyText: string;
|
|
89
|
+
indent: number;
|
|
90
|
+
treeProps: {
|
|
91
|
+
children?: string;
|
|
92
|
+
hasChildren?: string;
|
|
93
|
+
};
|
|
94
|
+
defaultExpandAll: boolean;
|
|
95
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
96
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
97
|
+
export default _default;
|
|
98
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
99
|
+
new (): {
|
|
100
|
+
$slots: S;
|
|
101
|
+
};
|
|
102
|
+
};
|