bkui-vue 3.0.4 → 3.0.5
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 +1 -1
- package/dist/index.esm.js +645 -450
- package/dist/index.umd.js +21 -21
- package/dist/style.css +1 -1
- package/dist/style.variable.css +1 -1
- package/lib/index.js +1 -1
- package/lib/packages/tree/constant.d.ts +2 -0
- package/lib/packages/tree/tree-node-row.d.ts +54 -0
- package/lib/packages/tree/use-node-attribute.d.ts +6 -5
- package/lib/packages/tree/use-search.d.ts +2 -0
- package/lib/packages/tree/use-visible-nodes.d.ts +8 -1
- package/lib/tree/index.js +699 -209
- package/lib/tree/tree.css +24 -6
- package/lib/tree/tree.less +24 -6
- package/lib/tree/tree.variable.css +24 -6
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -51,6 +51,8 @@ export declare const enum NODE_ATTRIBUTES {
|
|
|
51
51
|
ORDER = "__order",
|
|
52
52
|
PARENT = "__parent",
|
|
53
53
|
PATH = "__path",
|
|
54
|
+
/** 同级是否存在下一个兄弟(用于 level-line,避免渲染时 indexOf) */
|
|
55
|
+
HAS_NEXT_SIBLING = "__has_next_sibling",
|
|
54
56
|
TREE_NODE_ATTR = "__attr__",
|
|
55
57
|
UUID = "__uuid"
|
|
56
58
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import { TreeNode } from './props';
|
|
3
|
+
/**
|
|
4
|
+
* 独立树行组件:仅在 version / globalVersion 变化时重渲染。
|
|
5
|
+
* 展开/选中时避免所有可见行的自定义插槽被连带重跑。
|
|
6
|
+
*/
|
|
7
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
8
|
+
item: {
|
|
9
|
+
type: PropType<TreeNode>;
|
|
10
|
+
required: true;
|
|
11
|
+
};
|
|
12
|
+
showTree: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
16
|
+
version: {
|
|
17
|
+
type: NumberConstructor;
|
|
18
|
+
default: number;
|
|
19
|
+
};
|
|
20
|
+
globalVersion: {
|
|
21
|
+
type: NumberConstructor;
|
|
22
|
+
default: number;
|
|
23
|
+
};
|
|
24
|
+
renderFn: {
|
|
25
|
+
type: PropType<(item: TreeNode, showTree?: boolean) => unknown>;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
}>, () => ReturnType<(item: TreeNode, showTree?: boolean) => unknown>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
29
|
+
item: {
|
|
30
|
+
type: PropType<TreeNode>;
|
|
31
|
+
required: true;
|
|
32
|
+
};
|
|
33
|
+
showTree: {
|
|
34
|
+
type: BooleanConstructor;
|
|
35
|
+
default: boolean;
|
|
36
|
+
};
|
|
37
|
+
version: {
|
|
38
|
+
type: NumberConstructor;
|
|
39
|
+
default: number;
|
|
40
|
+
};
|
|
41
|
+
globalVersion: {
|
|
42
|
+
type: NumberConstructor;
|
|
43
|
+
default: number;
|
|
44
|
+
};
|
|
45
|
+
renderFn: {
|
|
46
|
+
type: PropType<(item: TreeNode, showTree?: boolean) => unknown>;
|
|
47
|
+
required: true;
|
|
48
|
+
};
|
|
49
|
+
}>> & Readonly<{}>, {
|
|
50
|
+
showTree: boolean;
|
|
51
|
+
version: number;
|
|
52
|
+
globalVersion: number;
|
|
53
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
54
|
+
export default _default;
|
|
@@ -18,6 +18,7 @@ type TreeNodeAttributeMap = {
|
|
|
18
18
|
[NODE_ATTRIBUTES.ORDER]: number;
|
|
19
19
|
[NODE_ATTRIBUTES.PARENT]: TreeNode;
|
|
20
20
|
[NODE_ATTRIBUTES.PATH]: string;
|
|
21
|
+
[NODE_ATTRIBUTES.HAS_NEXT_SIBLING]: boolean;
|
|
21
22
|
[NODE_ATTRIBUTES.TREE_NODE_ATTR]: Record<string, unknown>;
|
|
22
23
|
[NODE_ATTRIBUTES.UUID]: string | number;
|
|
23
24
|
};
|
|
@@ -57,7 +58,7 @@ declare const _default: (flatData: {
|
|
|
57
58
|
getParentNodeAttr: (node: TreeNode, attrName: string) => unknown;
|
|
58
59
|
getParentNode: (node: TreeNode) => TreeNode;
|
|
59
60
|
setNodeAttr: (node: TreeNode, attr: string, val: unknown, id?: any, setOptions?: SetNodeAttrOptions) => void;
|
|
60
|
-
setNodeAttrById: (id: unknown, attr: string, val: unknown) => void;
|
|
61
|
+
setNodeAttrById: (id: unknown, attr: string, val: unknown, setOptions?: SetNodeAttrOptions) => void;
|
|
61
62
|
getNodePath: (node: TreeNode) => string;
|
|
62
63
|
isRootNode: (node: TreeNode | string) => boolean;
|
|
63
64
|
isNodeOpened: (node: TreeNode) => boolean;
|
|
@@ -78,7 +79,7 @@ declare const _default: (flatData: {
|
|
|
78
79
|
parentId: string | number;
|
|
79
80
|
};
|
|
80
81
|
setTreeNodeLoading: (node: TreeNode, value: boolean) => void;
|
|
81
|
-
extendNodeAttr: (item: TreeNode) => TreeNode & {
|
|
82
|
+
extendNodeAttr: (item: TreeNode) => import("vue").Raw<TreeNode & {
|
|
82
83
|
__attr__: {
|
|
83
84
|
[x: string]: string | number | boolean | TreeNode;
|
|
84
85
|
fullPath: string;
|
|
@@ -86,9 +87,9 @@ declare const _default: (flatData: {
|
|
|
86
87
|
parent: TreeNode;
|
|
87
88
|
parentId: string | number;
|
|
88
89
|
};
|
|
89
|
-
}
|
|
90
|
+
}>;
|
|
90
91
|
getChildNodes: (node: TreeNode) => TreeNode[];
|
|
91
|
-
extendNodeScopedData: (item: TreeNode) => {
|
|
92
|
+
extendNodeScopedData: (item: TreeNode) => import("vue").Raw<{
|
|
92
93
|
data: TreeNode;
|
|
93
94
|
attributes: {
|
|
94
95
|
[x: string]: string | number | boolean | TreeNode;
|
|
@@ -97,7 +98,7 @@ declare const _default: (flatData: {
|
|
|
97
98
|
parent: TreeNode;
|
|
98
99
|
parentId: string | number;
|
|
99
100
|
};
|
|
100
|
-
}
|
|
101
|
+
}>;
|
|
101
102
|
getIntersectionResponse: (target: HTMLElement | TreeNode) => {
|
|
102
103
|
level: number;
|
|
103
104
|
target: HTMLElement | TreeNode;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { SearchOption, TreePropTypes } from './props';
|
|
2
2
|
declare const _default: (props: TreePropTypes) => {
|
|
3
3
|
searchFn: (itemValue: unknown, item: unknown) => boolean;
|
|
4
|
+
createMatcher: () => ((itemValue: unknown, item: unknown) => boolean);
|
|
5
|
+
searchValue: import("vue").ComputedRef<string | number | boolean | SearchOption>;
|
|
4
6
|
refSearch: import("vue").Ref<string | number | boolean | SearchOption, string | number | boolean | SearchOption>;
|
|
5
7
|
isSearchActive: import("vue").ComputedRef<boolean>;
|
|
6
8
|
isSearchDisabled: import("vue").ComputedRef<boolean>;
|
|
@@ -5,6 +5,7 @@ type VisibleNodeHelpers = {
|
|
|
5
5
|
checkNodeIsOpen: (node: TreeNode) => boolean;
|
|
6
6
|
getChildNodes: (node: TreeNode) => TreeNode[];
|
|
7
7
|
getNodeAttr: (node: TreeNode, attr: string) => unknown;
|
|
8
|
+
getNodeId: (node: TreeNode) => unknown;
|
|
8
9
|
getNodePath: (node: TreeNode) => string;
|
|
9
10
|
getNodeOrder: (node: TreeNode) => number;
|
|
10
11
|
getSchemaVal: (node: TreeNode) => Record<string, unknown> | undefined;
|
|
@@ -13,15 +14,21 @@ type VisibleNodeHelpers = {
|
|
|
13
14
|
/**
|
|
14
15
|
* 增量维护树的可见节点列表,避免每次展开都对全量 flatData 做 O(N) filter。
|
|
15
16
|
* 展开/收起复杂度接近 O(受影响的可见子节点数),禁止回退到全表扫描。
|
|
17
|
+
*
|
|
18
|
+
* UI 刷新支持按节点粒度 bump,避免自定义插槽时全量可见行重跑。
|
|
16
19
|
*/
|
|
17
20
|
declare const _default: (flatData: IFlatData, helpers: VisibleNodeHelpers) => {
|
|
18
21
|
visibleNodes: ShallowRef<TreeNode[]>;
|
|
19
22
|
uiVersion: ShallowRef<number, number>;
|
|
23
|
+
uiTick: ShallowRef<number, number>;
|
|
24
|
+
nodeUiVersions: Record<string, number>;
|
|
25
|
+
getNodeUiVersion: (node: TreeNode) => number;
|
|
20
26
|
rebuildVisibleNodes: (filterFn?: (node: TreeNode) => boolean) => void;
|
|
27
|
+
setVisibleNodes: (nodes: TreeNode[]) => void;
|
|
21
28
|
expandVisibleNode: (node: TreeNode) => void;
|
|
22
29
|
collapseVisibleNode: (node: TreeNode) => void;
|
|
23
30
|
syncNodeOpenState: (node: TreeNode, isOpen: boolean) => void;
|
|
24
|
-
scheduleUiRefresh: () => void;
|
|
31
|
+
scheduleUiRefresh: (node?: TreeNode) => void;
|
|
25
32
|
};
|
|
26
33
|
export default _default;
|
|
27
34
|
export type { VisibleNodeHelpers };
|