bkui-vue 2.1.0-dev-beta.8 → 2.1.0-dev-beta.9
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/dist/index.cjs.js +44 -44
- package/dist/index.esm.js +13484 -13350
- package/dist/index.umd.js +44 -44
- package/lib/index.js +1 -1
- package/lib/popover/index.js +10 -12
- package/lib/tree/constant.d.ts +4 -0
- package/lib/tree/index.d.ts +31 -0
- package/lib/tree/index.js +439 -183
- package/lib/tree/props.d.ts +62 -2
- package/lib/tree/tree.d.ts +17 -0
- package/lib/tree/use-node-action.d.ts +1 -1
- package/lib/tree/use-node-async.d.ts +2 -2
- package/lib/tree/use-node-drag.d.ts +1 -1
- package/lib/tree/use-tree-init.d.ts +1 -1
- package/lib/tree/util.d.ts +23 -1
- package/package.json +2 -1
package/lib/tree/props.d.ts
CHANGED
|
@@ -19,6 +19,49 @@ export type TreeNode = {
|
|
|
19
19
|
*/
|
|
20
20
|
export type DropType = 'child' | 'move' | 'sort';
|
|
21
21
|
export type DisableDropHandler = (data: TreeNode, type: DropType, target: TreeNode) => boolean;
|
|
22
|
+
export type TreeDataChangeTrigger = 'async' | 'drag';
|
|
23
|
+
export type TreeDataChangePayload = {
|
|
24
|
+
trigger: TreeDataChangeTrigger;
|
|
25
|
+
data: TreeNode[];
|
|
26
|
+
node: TreeNode;
|
|
27
|
+
targetNode?: TreeNode;
|
|
28
|
+
parentNode?: TreeNode | null;
|
|
29
|
+
oldParentNode?: TreeNode | null;
|
|
30
|
+
dropType?: DropType;
|
|
31
|
+
sourceIndex?: number;
|
|
32
|
+
targetIndex?: number;
|
|
33
|
+
};
|
|
34
|
+
export type TreeDataChangeHandler = (payload: TreeDataChangePayload) => void;
|
|
35
|
+
export type TreeCheckedPayload = {
|
|
36
|
+
checkedNodes: TreeNode[];
|
|
37
|
+
indeterminateNodes: TreeNode[];
|
|
38
|
+
};
|
|
39
|
+
export type TreeSelectedPayload = {
|
|
40
|
+
selected: boolean;
|
|
41
|
+
node: TreeNode;
|
|
42
|
+
};
|
|
43
|
+
export type TreeDropPayload = {
|
|
44
|
+
event: unknown;
|
|
45
|
+
element: HTMLElement;
|
|
46
|
+
targetNode: TreeNode;
|
|
47
|
+
sourceNode: TreeNode;
|
|
48
|
+
data: TreeNode[];
|
|
49
|
+
parentNode?: TreeNode | null;
|
|
50
|
+
oldParentNode?: TreeNode | null;
|
|
51
|
+
dropType?: DropType;
|
|
52
|
+
sourceIndex?: number;
|
|
53
|
+
targetIndex?: number;
|
|
54
|
+
};
|
|
55
|
+
export type TreeDragSortPayload = {
|
|
56
|
+
sourceNode: TreeNode;
|
|
57
|
+
targetNode: TreeNode;
|
|
58
|
+
data: TreeNode[];
|
|
59
|
+
parentNode?: TreeNode | null;
|
|
60
|
+
oldParentNode?: TreeNode | null;
|
|
61
|
+
dropType?: DropType;
|
|
62
|
+
sourceIndex?: number;
|
|
63
|
+
targetIndex?: number;
|
|
64
|
+
};
|
|
22
65
|
/**
|
|
23
66
|
* Tree Prop: prefixIcon function
|
|
24
67
|
* @param {} isRoot 是否为分跟节点
|
|
@@ -41,7 +84,7 @@ export declare const treeProps: {
|
|
|
41
84
|
label: import("vue-types").VueTypeDef<any>;
|
|
42
85
|
/**
|
|
43
86
|
* 每个树节点用来作为唯一标识的属性,此标识应该是唯一的
|
|
44
|
-
*
|
|
87
|
+
* 启用拖拽、异步、受控选中/勾选等复杂能力时强烈建议显式设置
|
|
45
88
|
*/
|
|
46
89
|
nodeKey: import("vue-types").VueTypeValidableDef<string> & {
|
|
47
90
|
default: string;
|
|
@@ -102,6 +145,10 @@ export declare const treeProps: {
|
|
|
102
145
|
prefixIcon: import("vue-types").VueTypeDef<any> & {
|
|
103
146
|
default: any;
|
|
104
147
|
};
|
|
148
|
+
/**
|
|
149
|
+
* 当树数据需要由外部接管更新时的统一回调
|
|
150
|
+
*/
|
|
151
|
+
onDataChange: PropType<TreeDataChangeHandler>;
|
|
105
152
|
/**
|
|
106
153
|
* 异步加载节点数据配置
|
|
107
154
|
* @param callback 请求数据回调函数,函数返回 Promise
|
|
@@ -268,13 +315,26 @@ export declare const treeProps: {
|
|
|
268
315
|
default: boolean;
|
|
269
316
|
};
|
|
270
317
|
/**
|
|
271
|
-
*
|
|
318
|
+
* 是否启用父子节点勾选联动
|
|
319
|
+
* true: 父子联动
|
|
320
|
+
* false: 父子不联动(语义与行业常见 checkStrictly 相反,为兼容历史行为暂保留)
|
|
272
321
|
*/
|
|
273
322
|
checkStrictly: import("vue-types").VueTypeValidableDef<boolean> & {
|
|
274
323
|
default: boolean;
|
|
275
324
|
} & {
|
|
276
325
|
default: boolean;
|
|
277
326
|
};
|
|
327
|
+
/**
|
|
328
|
+
* 是否深度监听 props.data 变化
|
|
329
|
+
* - false (默认): 仅监听 props.data 引用变化,性能更优
|
|
330
|
+
* - true: 深度监听 props.data 内部节点变化(已废弃,将在下个主版本移除)
|
|
331
|
+
* @deprecated 请使用 onDataChange 回调更新数据,避免直接修改 props.data 内部节点
|
|
332
|
+
*/
|
|
333
|
+
deepWatch: import("vue-types").VueTypeValidableDef<boolean> & {
|
|
334
|
+
default: boolean;
|
|
335
|
+
} & {
|
|
336
|
+
default: boolean;
|
|
337
|
+
};
|
|
278
338
|
/**
|
|
279
339
|
* 是否开启监听Tree节点进入Tree容器可视区域
|
|
280
340
|
*/
|
package/lib/tree/tree.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
43
43
|
prefixIcon: import("vue-types").VueTypeDef<any> & {
|
|
44
44
|
default: any;
|
|
45
45
|
};
|
|
46
|
+
onDataChange: import("vue").PropType<import("./props").TreeDataChangeHandler>;
|
|
46
47
|
async: import("vue-types").VueTypeShape<{
|
|
47
48
|
callback: (item: any, cb: any) => Promise<string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
48
49
|
[key: string]: any;
|
|
@@ -139,10 +140,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
139
140
|
} & {
|
|
140
141
|
default: boolean;
|
|
141
142
|
};
|
|
143
|
+
deepWatch: import("vue-types").VueTypeValidableDef<boolean> & {
|
|
144
|
+
default: boolean;
|
|
145
|
+
} & {
|
|
146
|
+
default: boolean;
|
|
147
|
+
};
|
|
142
148
|
intersectionObserver: import("vue-types").VueTypeDef<boolean | import("./props").IIntersectionObserver> & {
|
|
143
149
|
default: boolean | (() => import("./props").IIntersectionObserver);
|
|
144
150
|
};
|
|
145
151
|
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
152
|
+
nodeAsyncLoad: (..._args: any[]) => boolean;
|
|
153
|
+
nodeAsyncLoadError: (..._args: any[]) => boolean;
|
|
146
154
|
nodeClick: (..._args: any[]) => boolean;
|
|
147
155
|
nodeCollapse: (..._args: any[]) => boolean;
|
|
148
156
|
nodeExpand: (..._args: any[]) => boolean;
|
|
@@ -193,6 +201,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
193
201
|
prefixIcon: import("vue-types").VueTypeDef<any> & {
|
|
194
202
|
default: any;
|
|
195
203
|
};
|
|
204
|
+
onDataChange: import("vue").PropType<import("./props").TreeDataChangeHandler>;
|
|
196
205
|
async: import("vue-types").VueTypeShape<{
|
|
197
206
|
callback: (item: any, cb: any) => Promise<string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
198
207
|
[key: string]: any;
|
|
@@ -289,10 +298,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
289
298
|
} & {
|
|
290
299
|
default: boolean;
|
|
291
300
|
};
|
|
301
|
+
deepWatch: import("vue-types").VueTypeValidableDef<boolean> & {
|
|
302
|
+
default: boolean;
|
|
303
|
+
} & {
|
|
304
|
+
default: boolean;
|
|
305
|
+
};
|
|
292
306
|
intersectionObserver: import("vue-types").VueTypeDef<boolean | import("./props").IIntersectionObserver> & {
|
|
293
307
|
default: boolean | (() => import("./props").IIntersectionObserver);
|
|
294
308
|
};
|
|
295
309
|
}>> & Readonly<{
|
|
310
|
+
onNodeAsyncLoad?: (...args: any[]) => any;
|
|
311
|
+
onNodeAsyncLoadError?: (...args: any[]) => any;
|
|
296
312
|
onNodeChecked?: (...args: any[]) => any;
|
|
297
313
|
onNodeClick?: (...args: any[]) => any;
|
|
298
314
|
onNodeCollapse?: (...args: any[]) => any;
|
|
@@ -335,5 +351,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
335
351
|
nodeContentAction: any;
|
|
336
352
|
keepSlotData: boolean;
|
|
337
353
|
checkStrictly: boolean;
|
|
354
|
+
deepWatch: boolean;
|
|
338
355
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
339
356
|
export default _default;
|
|
@@ -4,7 +4,7 @@ declare const _default: (props: TreePropTypes, ctx: any, flatData: IFlatData, _r
|
|
|
4
4
|
renderTreeNode: (item: TreeNode, showTree?: boolean) => JSX.Element;
|
|
5
5
|
handleTreeNodeClick: (item: TreeNode, e: MouseEvent, event?: string) => void;
|
|
6
6
|
deepAutoOpen: () => void;
|
|
7
|
-
asyncNodeClick: (item: TreeNode) => Promise<boolean
|
|
7
|
+
asyncNodeClick: (item: TreeNode) => Promise<boolean | Record<string, unknown>>;
|
|
8
8
|
setNodeAction: (args: TreeNode | TreeNode[], action: string, value: unknown) => void;
|
|
9
9
|
setNodeOpened: (item: TreeNode, isOpen?: any, e?: MouseEvent, fireEmit?: boolean) => void;
|
|
10
10
|
setSelect: (nodes: TreeNode | TreeNode[], selected?: boolean, autoOpen?: boolean, triggerEvent?: boolean, event?: string) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TreeNode } from './props';
|
|
2
|
-
declare const _default: (props: any, flatData: any) => {
|
|
3
|
-
asyncNodeClick: (item: TreeNode) => Promise<boolean
|
|
2
|
+
declare const _default: (props: any, flatData: any, ctx?: any) => {
|
|
3
|
+
asyncNodeClick: (item: TreeNode) => Promise<boolean | Record<string, unknown>>;
|
|
4
4
|
deepAutoOpen: () => void;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TreePropTypes } from './props';
|
|
2
|
-
declare const _default: (props: TreePropTypes, ctx: any, root?: any, flatData?: any) => {
|
|
2
|
+
declare const _default: (props: TreePropTypes, ctx: any, root?: any, flatData?: any, options?: any) => {
|
|
3
3
|
isDragging: import("vue").Ref<boolean, boolean>;
|
|
4
4
|
};
|
|
5
5
|
export default _default;
|
|
@@ -8,7 +8,7 @@ declare const _default: (props: TreePropTypes) => {
|
|
|
8
8
|
schema: WeakMap<TreeNode, Record<string, unknown>> & Omit<WeakMap<TreeNode, Record<string, unknown>>, keyof WeakMap<any, any>>;
|
|
9
9
|
levelLineSchema: {};
|
|
10
10
|
};
|
|
11
|
-
asyncNodeClick: (item: TreeNode) => Promise<boolean
|
|
11
|
+
asyncNodeClick: (item: TreeNode) => Promise<boolean | Record<string, unknown>>;
|
|
12
12
|
deepAutoOpen: () => void;
|
|
13
13
|
afterDataUpdate: (callFn: (d: any) => void) => void;
|
|
14
14
|
registerNextLoop: (key: string, event: any, reset?: boolean) => void;
|
package/lib/tree/util.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TreeNode, TreePropTypes } from './props';
|
|
1
|
+
import { TreeDataChangePayload, TreeNode, TreePropTypes } from './props';
|
|
2
2
|
export type IFlatData = {
|
|
3
3
|
data: TreeNode[];
|
|
4
4
|
schema: WeakMap<TreeNode, Record<string, unknown>>;
|
|
@@ -61,6 +61,28 @@ export declare const getNodeRowClass: (item: TreeNode, schema: WeakMap<TreeNode,
|
|
|
61
61
|
* @param nodeValue 节点值
|
|
62
62
|
*/
|
|
63
63
|
export declare const updateTreeNode: (path: string, treeData: TreeNode[], childKey: string, nodekey: string, nodeValue: Record<string, unknown>[]) => void;
|
|
64
|
+
export declare const cloneTreeData: (treeData?: TreeNode[], childKey?: string) => TreeNode[];
|
|
65
|
+
export declare const findNodeById: (treeData: TreeNode[], nodeId: string | number, nodeKey: string, childKey: string) => TreeNode | null;
|
|
66
|
+
export declare const mutateTreeById: (treeData: TreeNode[], nodeId: string | number, nodeKey: string, childKey: string, updater: (node: TreeNode) => void) => TreeNode[];
|
|
67
|
+
export declare const removeTreeNodeById: (treeData: TreeNode[], nodeId: string | number, nodeKey: string, childKey: string) => {
|
|
68
|
+
node: TreeNode | null;
|
|
69
|
+
data: TreeNode[];
|
|
70
|
+
parentNode: TreeNode | null;
|
|
71
|
+
index: number;
|
|
72
|
+
};
|
|
73
|
+
export declare const insertTreeNodeById: (treeData: TreeNode[], node: TreeNode, targetNodeId: string | number, nodeKey: string, childKey: string, options: {
|
|
74
|
+
dropType: 'child' | 'move' | 'sort';
|
|
75
|
+
willInsertAfter?: boolean;
|
|
76
|
+
}) => {
|
|
77
|
+
data: TreeNode[];
|
|
78
|
+
parentNode: TreeNode | null;
|
|
79
|
+
targetNode: TreeNode | null;
|
|
80
|
+
index: number;
|
|
81
|
+
};
|
|
82
|
+
export declare const moveTreeNodeById: (treeData: TreeNode[], nodeId: string | number, targetNodeId: string | number, nodeKey: string, childKey: string, options: {
|
|
83
|
+
dropType: 'child' | 'move' | 'sort';
|
|
84
|
+
willInsertAfter?: boolean;
|
|
85
|
+
}) => TreeDataChangePayload | null;
|
|
64
86
|
/**
|
|
65
87
|
* 根据路径更新指定节点Child-Data
|
|
66
88
|
* @param path 节点路径
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bkui-vue",
|
|
3
|
-
"version": "2.1.0-dev-beta.
|
|
3
|
+
"version": "2.1.0-dev-beta.9",
|
|
4
4
|
"workspaces": [
|
|
5
5
|
"packages/**",
|
|
6
6
|
"scripts/cli",
|
|
@@ -135,6 +135,7 @@
|
|
|
135
135
|
"js-calendar": "~1.2.3",
|
|
136
136
|
"json-formatter-js": "~2.3.4",
|
|
137
137
|
"lodash": "~4.17.21",
|
|
138
|
+
"sortablejs": "~1.15.7",
|
|
138
139
|
"tinycolor2": "~1.6.0",
|
|
139
140
|
"vue-types": "~4.1.1"
|
|
140
141
|
}
|