Skip to content

Commit 48e34c7

Browse files
committed
feat: update types
1 parent 4a2fdc9 commit 48e34c7

8 files changed

+63
-39
lines changed

tsconfig.tsbuildinfo

+1-1
Large diffs are not rendered by default.

types/components/Tree.vue.d.ts

+11-9
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
172172
filter: (keyword: string, filterMethod?: FilterFunctionType | undefined) => void;
173173
showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
174174
loadRootNodes: () => Promise<void>;
175-
scrollTo: (key: TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom") => void;
175+
updateNode: (key: TreeNodeKeyType, newNode: import("../store/tree-node").ITreeNodeOptions) => void;
176+
updateNodes: (newNodes: import("../store/tree-node").ITreeNodeOptions[]) => void;
177+
scrollTo: (key: TreeNodeKeyType, verticalPosition?: number | "bottom" | "top" | "center") => void;
176178
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
177179
[x: string]: (...args: any[]) => void;
178180
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<TreeProps>, {
@@ -211,25 +213,25 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
211213
cascade: boolean;
212214
defaultExpandAll: boolean;
213215
expandOnFilter: boolean;
216+
titleField: string;
217+
checkable: boolean;
218+
selectable: boolean;
219+
unselectOnClick: boolean;
220+
disableAll: boolean;
221+
draggable: boolean;
222+
droppable: boolean;
223+
nodeIndent: number;
214224
data: AnyPropsArrayType;
215225
emptyText: string;
216-
selectable: boolean;
217-
checkable: boolean;
218226
separator: string;
219-
titleField: string;
220227
showUnloadCheckedNodes: boolean;
221228
unloadDataList: AnyPropsArrayType;
222229
enableLeafOnly: boolean;
223-
disableAll: boolean;
224230
defaultExpandedKeys: TreeNodeKeyType[];
225231
expandedKeys: TreeNodeKeyType[];
226-
draggable: boolean;
227-
droppable: boolean;
228232
beforeDropMethod: (dragKey: TreeNodeKeyType, dropKey: TreeNodeKeyType, hoverPart: dragHoverPartEnum) => boolean;
229233
autoLoad: boolean;
230-
unselectOnClick: boolean;
231234
loading: boolean;
232-
nodeIndent: number;
233235
renderNodeAmount: number;
234236
nodeMinHeight: number;
235237
bufferNodeAmount: number;

types/components/TreeDrop.vue.d.ts

+14-12
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
114114
renderNodeAmount: number;
115115
bufferNodeAmount: number;
116116
}>, {
117-
filter: (keyword: string, filterMethod?: import("../store/tree-store.js").FilterFunctionType | undefined) => void;
118-
search: (keyword1?: string | undefined) => Promise<void>;
119117
setData: (data: import("../types").AnyPropsArrayType) => void;
120118
setChecked: (key: TreeNodeKeyType, value: boolean) => void;
121119
setCheckedKeys: (keys: TreeNodeKeyType[], value: boolean) => void;
@@ -143,11 +141,15 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
143141
append: (insertedNode: TreeNodeKeyType | import("../store/tree-node.js").ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
144142
prepend: (insertedNode: TreeNodeKeyType | import("../store/tree-node.js").ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
145143
remove: (removedKey: TreeNodeKeyType) => TreeNode | null;
144+
filter: (keyword: string, filterMethod?: import("../store/tree-store.js").FilterFunctionType | undefined) => void;
146145
showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
147146
loadRootNodes: () => Promise<void>;
148-
scrollTo: (key: TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom") => void;
147+
updateNode: (key: TreeNodeKeyType, newNode: import("../store/tree-node.js").ITreeNodeOptions) => void;
148+
updateNodes: (newNodes: import("../store/tree-node.js").ITreeNodeOptions[]) => void;
149+
scrollTo: (key: TreeNodeKeyType, verticalPosition?: number | "bottom" | "top" | "center") => void;
149150
clearKeyword: () => void;
150151
getKeyword: () => string;
152+
search: (keyword1?: string | undefined) => Promise<void>;
151153
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
152154
[x: string]: (...args: any[]) => void;
153155
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<TreeDropProps>, {
@@ -202,25 +204,25 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
202204
cascade: boolean;
203205
defaultExpandAll: boolean;
204206
expandOnFilter: boolean;
207+
titleField: string;
208+
checkable: boolean;
209+
selectable: boolean;
210+
unselectOnClick: boolean;
211+
disableAll: boolean;
212+
draggable: boolean;
213+
droppable: boolean;
214+
nodeIndent: number;
205215
data: import("../types").AnyPropsArrayType;
206216
emptyText: string;
207-
selectable: boolean;
208-
checkable: boolean;
209217
separator: string;
210-
titleField: string;
211218
showUnloadCheckedNodes: boolean;
212219
unloadDataList: import("../types").AnyPropsArrayType;
213220
enableLeafOnly: boolean;
214-
disableAll: boolean;
215221
defaultExpandedKeys: TreeNodeKeyType[];
216222
expandedKeys: TreeNodeKeyType[];
217-
draggable: boolean;
218-
droppable: boolean;
219223
beforeDropMethod: (dragKey: TreeNodeKeyType, dropKey: TreeNodeKeyType, hoverPart: import("../constants").dragHoverPartEnum) => boolean;
220224
autoLoad: boolean;
221-
unselectOnClick: boolean;
222225
loading: boolean;
223-
nodeIndent: number;
224226
renderNodeAmount: number;
225227
nodeMinHeight: number;
226228
bufferNodeAmount: number;
@@ -236,7 +238,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
236238
dropHeight: number;
237239
dropDisabled: boolean;
238240
clearable: boolean;
239-
placement: "top" | "bottom" | "bottom-start" | "bottom-end" | "top-start" | "top-end";
241+
placement: "bottom-start" | "bottom-end" | "bottom" | "top-start" | "top-end" | "top";
240242
transfer: boolean;
241243
dropdownWidthFixed: boolean;
242244
}, {}>, Partial<Record<NonNullable<string | number>, (_: any) => any>> & {

types/components/TreeSearch.vue.d.ts

+12-10
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
103103
clearKeyword: () => void;
104104
getKeyword: () => string;
105105
search: (keyword1?: string) => Promise<void>;
106-
filter: (keyword: string, filterMethod?: import("../store/tree-store.js").FilterFunctionType | undefined) => void;
107106
setData: (data: import("..").AnyPropsArrayType) => void;
108107
setChecked: (key: import("..").TreeNodeKeyType, value: boolean) => void;
109108
setCheckedKeys: (keys: import("..").TreeNodeKeyType[], value: boolean) => void;
@@ -131,9 +130,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
131130
append: (insertedNode: import("..").TreeNodeKeyType | import("../store/tree-node.js").ITreeNodeOptions, parentKey: import("..").TreeNodeKeyType) => TreeNode | null;
132131
prepend: (insertedNode: import("..").TreeNodeKeyType | import("../store/tree-node.js").ITreeNodeOptions, parentKey: import("..").TreeNodeKeyType) => TreeNode | null;
133132
remove: (removedKey: import("..").TreeNodeKeyType) => TreeNode | null;
133+
filter: (keyword: string, filterMethod?: import("../store/tree-store.js").FilterFunctionType | undefined) => void;
134134
showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
135135
loadRootNodes: () => Promise<void>;
136-
scrollTo: (key: import("..").TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom") => void;
136+
updateNode: (key: import("..").TreeNodeKeyType, newNode: import("../store/tree-node.js").ITreeNodeOptions) => void;
137+
updateNodes: (newNodes: import("../store/tree-node.js").ITreeNodeOptions[]) => void;
138+
scrollTo: (key: import("..").TreeNodeKeyType, verticalPosition?: number | "bottom" | "top" | "center") => void;
137139
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
138140
[x: string]: (...args: any[]) => void;
139141
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<TreeSearchProps>, {
@@ -181,25 +183,25 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
181183
cascade: boolean;
182184
defaultExpandAll: boolean;
183185
expandOnFilter: boolean;
186+
titleField: string;
187+
checkable: boolean;
188+
selectable: boolean;
189+
unselectOnClick: boolean;
190+
disableAll: boolean;
191+
draggable: boolean;
192+
droppable: boolean;
193+
nodeIndent: number;
184194
data: import("..").AnyPropsArrayType;
185195
emptyText: string;
186-
selectable: boolean;
187-
checkable: boolean;
188196
separator: string;
189-
titleField: string;
190197
showUnloadCheckedNodes: boolean;
191198
unloadDataList: import("..").AnyPropsArrayType;
192199
enableLeafOnly: boolean;
193-
disableAll: boolean;
194200
defaultExpandedKeys: import("..").TreeNodeKeyType[];
195201
expandedKeys: import("..").TreeNodeKeyType[];
196-
draggable: boolean;
197-
droppable: boolean;
198202
beforeDropMethod: (dragKey: import("..").TreeNodeKeyType, dropKey: import("..").TreeNodeKeyType, hoverPart: import("../constants").dragHoverPartEnum) => boolean;
199203
autoLoad: boolean;
200-
unselectOnClick: boolean;
201204
loading: boolean;
202-
nodeIndent: number;
203205
renderNodeAmount: number;
204206
nodeMinHeight: number;
205207
bufferNodeAmount: number;

types/constants/index.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ export declare enum ignoreEnum {
33
parents = "parents",
44
children = "children"
55
}
6-
export declare const TREE_API_METHODS: readonly ["setData", "setChecked", "setCheckedKeys", "checkAll", "clearChecked", "setSelected", "clearSelected", "setExpand", "setExpandKeys", "setExpandAll", "getCheckedNodes", "getCheckedKeys", "getIndeterminateNodes", "getSelectedNode", "getSelectedKey", "getExpandNodes", "getExpandKeys", "getCurrentVisibleNodes", "getNode", "getTreeData", "getFlatData", "getNodesCount", "insertBefore", "insertAfter", "append", "prepend", "remove", "filter", "showCheckedNodes", "loadRootNodes", "scrollTo"];
7-
export declare const TREE_SEARCH_API_METHODS: readonly ["setData", "setChecked", "setCheckedKeys", "checkAll", "clearChecked", "setSelected", "clearSelected", "setExpand", "setExpandKeys", "setExpandAll", "getCheckedNodes", "getCheckedKeys", "getIndeterminateNodes", "getSelectedNode", "getSelectedKey", "getExpandNodes", "getExpandKeys", "getCurrentVisibleNodes", "getNode", "getTreeData", "getFlatData", "getNodesCount", "insertBefore", "insertAfter", "append", "prepend", "remove", "filter", "showCheckedNodes", "loadRootNodes", "scrollTo", "clearKeyword", "getKeyword", "search"];
6+
export declare const TREE_API_METHODS: readonly ["setData", "setChecked", "setCheckedKeys", "checkAll", "clearChecked", "setSelected", "clearSelected", "setExpand", "setExpandKeys", "setExpandAll", "getCheckedNodes", "getCheckedKeys", "getIndeterminateNodes", "getSelectedNode", "getSelectedKey", "getExpandNodes", "getExpandKeys", "getCurrentVisibleNodes", "getNode", "getTreeData", "getFlatData", "getNodesCount", "insertBefore", "insertAfter", "append", "prepend", "remove", "filter", "showCheckedNodes", "loadRootNodes", "updateNode", "updateNodes", "scrollTo"];
7+
export declare const TREE_SEARCH_API_METHODS: readonly ["setData", "setChecked", "setCheckedKeys", "checkAll", "clearChecked", "setSelected", "clearSelected", "setExpand", "setExpandKeys", "setExpandAll", "getCheckedNodes", "getCheckedKeys", "getIndeterminateNodes", "getSelectedNode", "getSelectedKey", "getExpandNodes", "getExpandKeys", "getCurrentVisibleNodes", "getNode", "getTreeData", "getFlatData", "getNodesCount", "insertBefore", "insertAfter", "append", "prepend", "remove", "filter", "showCheckedNodes", "loadRootNodes", "updateNode", "updateNodes", "scrollTo", "clearKeyword", "getKeyword", "search"];
88
export declare enum placementEnum {
99
'bottom-start' = "bottom-start",
1010
'bottom-end' = "bottom-end",

types/hooks/usePublicTreeAPI.d.ts

+2
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,7 @@ export declare const usePublicTreeAPI: (nonReactive: INonReactiveData, props: IU
6060
filter: (keyword: string, filterMethod?: FilterFunctionType) => void;
6161
showCheckedNodes: (showUnloadCheckedNodes?: boolean) => void;
6262
loadRootNodes: () => Promise<void>;
63+
updateNode: (key: TreeNodeKeyType, newNode: ITreeNodeOptions) => void;
64+
updateNodes: (newNodes: ITreeNodeOptions[]) => void;
6365
};
6466
export {};

types/store/tree-store.d.ts

+17-5
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ export default class TreeStore extends TreeEventTarget {
7676
* @param triggerDataChange 是否触发视图刷新
7777
*/
7878
private triggerCheckedChange;
79+
/**
80+
* 触发 selected-change 的快捷方法
81+
* @param triggerEvent 是否触发事件
82+
* @param triggerDataChange 是否触发视图刷新
83+
*/
84+
private triggerSelectedChange;
7985
/**
8086
* 设置单选选中
8187
* @param key 选中节点 key
@@ -109,6 +115,9 @@ export default class TreeStore extends TreeEventTarget {
109115
*/
110116
setExpandKeys(keys: TreeNodeKeyType[], value: boolean, triggerDataChange?: boolean): void;
111117
setExpandAll(value: boolean, triggerDataChange?: boolean): void;
118+
private isChildrenChanged;
119+
updateNode(key: TreeNodeKeyType, newNode: ITreeNodeOptions, triggerEvent?: boolean, triggerDataChange?: boolean): void;
120+
updateNodes(newNodes: ITreeNodeOptions[]): void;
112121
/**
113122
* 获取多选选中节点
114123
* @param ignoreMode 忽略模式,可选择忽略父节点或子节点,默认值是 VTree 的 ignoreMode Prop
@@ -148,15 +157,17 @@ export default class TreeStore extends TreeEventTarget {
148157
* @param key 节点 key
149158
*/
150159
getNode(key: TreeNodeKeyType): TreeNode | null;
151-
insertBefore(insertedNode: TreeNodeKeyType | ITreeNodeOptions, referenceKey: TreeNodeKeyType): TreeNode | null;
152-
insertAfter(insertedNode: TreeNodeKeyType | ITreeNodeOptions, referenceKey: TreeNodeKeyType): TreeNode | null;
153-
append(insertedNode: TreeNodeKeyType | ITreeNodeOptions, parentKey: TreeNodeKeyType): TreeNode | null;
154-
prepend(insertedNode: TreeNodeKeyType | ITreeNodeOptions, parentKey: TreeNodeKeyType): TreeNode | null;
160+
insertBefore(insertedNode: TreeNodeKeyType | ITreeNodeOptions, referenceKey: TreeNodeKeyType, triggerEvent?: boolean, triggerDataChange?: boolean): TreeNode | null;
161+
insertAfter(insertedNode: TreeNodeKeyType | ITreeNodeOptions, referenceKey: TreeNodeKeyType, triggerEvent?: boolean, triggerDataChange?: boolean): TreeNode | null;
162+
append(insertedNode: TreeNodeKeyType | ITreeNodeOptions, parentKey: TreeNodeKeyType, triggerEvent?: boolean, triggerDataChange?: boolean): TreeNode | null;
163+
prepend(insertedNode: TreeNodeKeyType | ITreeNodeOptions, parentKey: TreeNodeKeyType, triggerEvent?: boolean, triggerDataChange?: boolean): TreeNode | null;
155164
/**
156165
* 删除节点
157166
* @param removedKey 要删除的节点 key
158167
*/
159-
remove(removedKey: TreeNodeKeyType, triggerDataChange?: boolean): TreeNode | null;
168+
remove(removedKey: TreeNodeKeyType, triggerEvent?: boolean, triggerDataChange?: boolean): TreeNode | null;
169+
private removeChildren;
170+
private loadChildren;
160171
private getInsertedNode;
161172
/**
162173
* 将一个节点插入 store 记录中
@@ -200,6 +211,7 @@ export default class TreeStore extends TreeEventTarget {
200211
/**
201212
* 向上勾选/取消勾选父节点,不包括自身
202213
* @param node 需要勾选的节点
214+
* @param fromCurrentNode 是否从当前节点开始处理
203215
*/
204216
private checkNodeUpward;
205217
/**

types/types/index.d.ts

+4
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,14 @@ export interface INonReactiveData {
2222
store: TreeStore;
2323
blockNodes: TreeNode[];
2424
}
25+
type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
26+
type IntRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
2527
export interface ShowLine {
2628
/** 连接线宽度,svg stroke-width, 默认 1px */
2729
width?: number;
2830
type?: showLineType;
2931
color?: string;
3032
polyline?: boolean;
33+
dashDensity?: IntRange<1, 11>;
3134
}
35+
export {};

0 commit comments

Comments
 (0)