infogo-tree
Version:
A vue tree component using virtual list.
340 lines (339 loc) • 17.3 kB
TypeScript
import Vue from 'vue';
import { TreeNode } from '../store';
import { TreeNodeKeyType } from '../const';
declare const _default: import("vue/types/vue").ExtendedVue<Vue & {
$refs: {
reference: HTMLDivElement;
dropdown: HTMLDivElement;
treeSearch: import("vue/types/vue").CombinedVueInstance<{
checkAllStatus: {
checked: boolean;
indeterminate: boolean;
disabled: boolean;
};
isShowingChecked: boolean; /** 下拉框是否可见 */
keyword: string;
debounceTimer: number | undefined;
checkedCount: number; /** 展示 slot 的 props */
} & {
clearKeyword(): void;
getKeyword(): string;
search(keyword?: string | undefined): Promise<void>;
handleCheckAll(): void;
handleSearch(): void;
handleShowChecked(): void;
handleSetData(): void;
updateCheckAllStatus(): void;
updateCheckedCount(): void;
setData: (data: {
[key: string]: any;
}[]) => void;
setChecked: (key: TreeNodeKeyType, value: boolean) => void;
setCheckedKeys: (keys: TreeNodeKeyType[], value: boolean, triggerEvent?: boolean, triggerDataChange?: boolean, isCheckAll?: boolean) => void;
checkAll: () => void;
clearChecked: () => void;
setSelected: (key: TreeNodeKeyType, value: boolean) => void;
clearSelected: () => void;
setExpand: (key: TreeNodeKeyType, value: boolean, expandParent?: boolean) => void;
setExpandKeys: (keys: TreeNodeKeyType[], value: boolean) => void;
setExpandAll: (value: boolean) => void;
getCheckedNodes: (ignoreMode?: "children" | "none" | "parents" | undefined) => TreeNode[];
getCheckedKeys: (ignoreMode?: "children" | "none" | "parents" | undefined) => TreeNodeKeyType[];
getIndeterminateNodes: () => TreeNode[];
getSelectedNode: () => TreeNode | null;
getSelectedKey: () => string | number | null;
getExpandNodes: () => TreeNode[];
getExpandKeys: () => TreeNodeKeyType[];
getCurrentVisibleNodes: () => TreeNode[];
getNode: (key: TreeNodeKeyType) => TreeNode | null;
getTreeData: () => TreeNode[];
getFlatData: () => TreeNode[];
getNodesCount: () => number;
insertBefore: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
insertAfter: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
append: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
prepend: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
remove: (removedKey: TreeNodeKeyType) => TreeNode | null;
filter: (keyword: string, filterMethod?: import("../store/tree-store").FilterFunctionType | undefined) => void;
showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
loadRootNodes: () => Promise<void>;
scrollTo: (key: TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom") => void;
} & {
wrapperCls: string[];
searchCls: string[];
checkAllWrapperCls: string[];
checkboxCls: (string | object)[];
inputWrapperCls: string[];
inputCls: (string | object)[];
actionWrapperCls: (string | object)[];
checkedButtonCls: (string | object)[];
treeWrapperCls: (string | object)[];
footerCls: string[];
checkable: boolean;
} & {
value: unknown;
searchPlaceholder: string;
diyText: any;
isTree: boolean;
showCheckAll: boolean;
isShowSearch: boolean;
showCheckedButton: boolean;
replenishSelect: boolean;
checkedButtonText: string;
showFooter: boolean;
searchMethod: (keyword: string) => void | Promise<void>;
searchLength: number;
searchDisabled: boolean;
searchRemote: boolean;
childStr: string;
separator: string;
searchDebounceTime: number;
itemSize: number;
} & Vue & {
$refs: {
tree: import("vue/types/vue").CombinedVueInstance<{
unloadCheckedNodes: TreeNode[];
blockLength: number;
blockAreaHeight: number;
topSpaceHeight: number;
bottomSpaceHeight: number;
renderAmount: number;
renderAmountCache: number;
renderNodes: TreeNode[];
renderStart: number;
renderStartCache: number;
isRootLoading: boolean;
valueCache: string | number | TreeNodeKeyType[];
debounceTimer: number | undefined;
} & {
setData(data: {
[key: string]: any;
}[]): void;
setChecked(key: TreeNodeKeyType, value: boolean): void;
setCheckedKeys(keys: TreeNodeKeyType[], value: boolean, triggerEvent?: boolean, triggerDataChange?: boolean, isCheckAll?: boolean): void;
checkAll(): void;
clearChecked(): void;
setSelected(key: TreeNodeKeyType, value: boolean): void;
clearSelected(): void;
setExpand(key: TreeNodeKeyType, value: boolean, expandParent?: boolean): void;
setExpandKeys(keys: TreeNodeKeyType[], value: boolean): void;
setExpandAll(value: boolean): void;
getCheckedNodes(ignoreMode?: "children" | "none" | "parents" | undefined): TreeNode[];
getCheckedKeys(ignoreMode?: "children" | "none" | "parents" | undefined): TreeNodeKeyType[];
getIndeterminateNodes(): TreeNode[];
getSelectedNode(): TreeNode | null;
getSelectedKey(): string | number | null;
getExpandNodes(): TreeNode[];
getExpandKeys(): TreeNodeKeyType[];
getCurrentVisibleNodes(): TreeNode[];
getNode(key: TreeNodeKeyType): TreeNode | null;
getTreeData(): TreeNode[];
getFlatData(): TreeNode[];
getNodesCount(): number;
insertBefore(insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, referenceKey: TreeNodeKeyType): TreeNode | null;
insertAfter(insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, referenceKey: TreeNodeKeyType): TreeNode | null;
append(insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, parentKey: TreeNodeKeyType): TreeNode | null;
prepend(insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, parentKey: TreeNodeKeyType): TreeNode | null;
remove(removedKey: TreeNodeKeyType): TreeNode | null;
filter(keyword: string, filterMethod?: import("../store/tree-store").FilterFunctionType | undefined): void;
showCheckedNodes(showUnloadCheckedNodes?: boolean | undefined): void;
loadRootNodes(): Promise<void>;
scrollTo(key: TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom"): void;
updateExpandedKeys(): void;
updateUnloadStatus(): void;
handleNodeCheck(node: TreeNode): void;
handleNodeSelect(node: TreeNode): void;
handleNodeExpand(node: TreeNode): void;
handleNodeDrop(data: TreeNode, e: DragEvent, hoverPart: import("../const").dragHoverPartEnum): void;
emitCheckableInput(checkedNodes: TreeNode[], checkedKeys: TreeNodeKeyType[]): void;
emitSelectableInput(selectedNode: TreeNode | null, selectedKey: string | number | null): void;
attachStoreEvents(): void;
resetSpaceHeights(): void;
updateBlockNodes(): void;
updateBlockData(): void;
updateRender(): void;
updateRenderAmount(): void;
updateRenderNodes(isScroll?: boolean): void;
handleTreeScroll(): void;
initializeNonReactiveData(): void;
defaultClassName(node: TreeNode): string;
} & {
topSpaceStyles: object;
bottomSpaceStyles: object;
wrapperCls: string[];
scrollAreaCls: string[];
blockAreaCls: string[];
emptyCls: string[];
emptyTextDefaultCls: string[];
loadingCls: string[];
loadingWrapperCls: string[];
loadingIconCls: string[];
iframeCls: string[];
treeNodeListeners: object;
} & {
value: string | number | TreeNodeKeyType[];
data: {
[key: string]: any;
}[];
unloadDataList: {
[key: string]: any;
}[];
showUnloadCheckedNodes: boolean;
emptyText: string;
titleField: string;
selectShowField: string;
keyField: string;
childStr: string;
replenishSelect: boolean;
disabledFn: Function;
separator: string;
checkable: boolean;
selectable: boolean;
filteredNodeCheckable: boolean;
cascade: boolean;
cascadeLoose: boolean;
enableLeafOnly: boolean;
disableAll: boolean;
defaultExpandAll: boolean;
defaultExpandedKeys: TreeNodeKeyType[];
expandedKeys: TreeNodeKeyType[];
draggable: boolean;
droppable: boolean;
beforeDropMethod: (dragKey: TreeNodeKeyType, dropKey: TreeNodeKeyType, hoverPart: import("../const").dragHoverPartEnum) => boolean;
allowDrag: (dragKey: TreeNode) => boolean;
ignoreMode: "children" | "none" | "parents";
autoLoad: boolean;
load: (node: TreeNode | null, resolve: Function, reject: Function) => any;
render: (h: import("vue").CreateElement, node: TreeNode) => import("vue").VNode;
filterMethod: import("../store/tree-store").FilterFunctionType;
expandOnFilter: boolean;
unselectOnClick: boolean;
loading: boolean;
nodeMinHeight: number;
nodeIndent: number;
renderNodeAmount: number;
bufferNodeAmount: number;
nodeClassName: any;
usePadding: boolean;
itemSize: number;
} & Vue & {
$refs: {
scrollArea: HTMLDivElement;
iframe: HTMLIFrameElement;
};
nonReactive: {
store: import("../store").default;
blockNodes: TreeNode[];
};
}, object, object, object, Record<never, any>>;
};
}, object, object, object, Record<never, any>>;
};
}, {
clearDom: boolean;
selectedSliceNum: number;
showTagNum: number;
selectDataLength: number;
/** 下拉框是否可见 */
dropdownVisible: boolean;
/** 多选选中节点个数 */
checkedCount: number;
/** 单选选中节点名称 */
selectedTitle: TreeNodeKeyType;
/** 展示 slot 的 props */
slotProps: {
/** 多选选中的节点 */
checkedNodes: TreeNode[];
/** 多选选中的节点 key */
checkedKeys: TreeNodeKeyType[];
/** 单选选中的节点 */
selectedNode: TreeNode | null;
/** 单选选中的节点 key */
selectedKey: string | number | null;
};
scrollParent: HTMLElement;
dropdownTop: number;
dropdownLeft: number;
}, {
/** 定位下拉框 */
locateDropdown(): void;
setDropdownTop(): void;
handleRefClick(): void;
handleDocumentClick(e: MouseEvent): void;
removeTag(key: any, index: any): void;
handleClear(): void;
handleCheckedChange(nodes: TreeNode[], keys: TreeNodeKeyType[]): void;
handleSelectedChange(node: TreeNode | null, key: string | number | null): void;
/** 处理树数据更新 */
handleSetData(): void;
setSelected(): void;
setData: (data: {
[key: string]: any;
}[]) => void;
setChecked: (key: TreeNodeKeyType, value: boolean) => void;
setCheckedKeys: (keys: TreeNodeKeyType[], value: boolean, triggerEvent?: boolean, triggerDataChange?: boolean, isCheckAll?: boolean) => void;
checkAll: () => void;
clearChecked: () => void;
clearSelected: () => void;
setExpand: (key: TreeNodeKeyType, value: boolean, expandParent?: boolean) => void;
setExpandKeys: (keys: TreeNodeKeyType[], value: boolean) => void;
setExpandAll: (value: boolean) => void;
getCheckedNodes: (ignoreMode?: "children" | "none" | "parents" | undefined) => TreeNode[];
getCheckedKeys: (ignoreMode?: "children" | "none" | "parents" | undefined) => TreeNodeKeyType[];
getIndeterminateNodes: () => TreeNode[];
getSelectedNode: () => TreeNode | null;
getSelectedKey: () => string | number | null;
getExpandNodes: () => TreeNode[];
getExpandKeys: () => TreeNodeKeyType[];
getCurrentVisibleNodes: () => TreeNode[];
getNode: (key: TreeNodeKeyType) => TreeNode | null;
getTreeData: () => TreeNode[];
getFlatData: () => TreeNode[];
getNodesCount: () => number;
insertBefore: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
insertAfter: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, referenceKey: TreeNodeKeyType) => TreeNode | null;
append: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
prepend: (insertedNode: string | number | import("../store/tree-node").ITreeNodeOptions, parentKey: TreeNodeKeyType) => TreeNode | null;
remove: (removedKey: TreeNodeKeyType) => TreeNode | null;
filter: (keyword: string, filterMethod?: import("../store/tree-store").FilterFunctionType | undefined) => void;
showCheckedNodes: (showUnloadCheckedNodes?: boolean | undefined) => void;
loadRootNodes: () => Promise<void>;
scrollTo: (key: TreeNodeKeyType, verticalPosition?: number | "top" | "center" | "bottom") => void;
clearKeyword: () => void;
getKeyword: () => string;
search: (keyword?: string | undefined) => Promise<void>;
}, {
tagList: (Object | null)[];
wrapperCls: string[];
referenceCls: string[];
displayInputCls: (string | object)[];
displayInputTextCls: (string | object)[];
dropIconCls: (string | object)[];
clearIconCls: string[];
dropdownCls: string[];
checkable: boolean;
selectable: boolean;
displayValue: TreeNodeKeyType;
showClearIcon: boolean;
}, {
value: unknown;
collapseTags: boolean;
showTagClose: boolean;
separator: string;
tagWidth: string;
tagNumWidth: string;
selectWidth: number;
isTree: boolean;
maxTagCount: TreeNodeKeyType;
dropHeight: number;
dropPlaceholder: string;
dropDisabled: boolean;
clearable: boolean;
replenishSelect: boolean;
placement: "top" | "bottom" | "bottom-start" | "bottom-end" | "top-start" | "top-end";
transfer: boolean;
dropdownClassName: string | string[];
dropdownMinWidth: number;
dropdownWidthFixed: boolean;
}>;
export default _default;