import type { TreeDataItem, CheckEvent as CheckEventOrigin } from 'ant-design-vue/es/tree/Tree';
|
import { ContextMenuItem } from '/@/hooks/web/useContextMenu';
|
export interface ActionItem {
|
render: (record: Recordable) => any;
|
show?: boolean | ((record: Recordable) => boolean);
|
}
|
|
export interface TreeItem extends TreeDataItem {
|
icon?: any;
|
}
|
|
export interface ReplaceFields {
|
children?: string;
|
title?: string;
|
key?: string;
|
}
|
|
export type Keys = (string | number)[];
|
export type CheckKeys =
|
| (string | number)[]
|
| { checked: (string | number)[]; halfChecked: (string | number)[] };
|
|
export interface TreeActionType {
|
checkAll: (checkAll: boolean) => void;
|
expandAll: (expandAll: boolean) => void;
|
setExpandedKeys: (keys: Keys) => void;
|
getExpandedKeys: () => Keys;
|
setSelectedKeys: (keys: Keys) => void;
|
getSelectedKeys: () => Keys;
|
setCheckedKeys: (keys: CheckKeys) => void;
|
getCheckedKeys: () => CheckKeys;
|
filterByLevel: (level: number) => void;
|
insertNodeByKey: (opt: InsertNodeParams) => void;
|
insertNodesByKey: (opt: InsertNodeParams) => void;
|
deleteNodeByKey: (key: string) => void;
|
updateNodeByKey: (key: string, node: Omit<TreeDataItem, 'key'>) => void;
|
setSearchValue: (value: string) => void;
|
getSearchValue: () => string;
|
}
|
|
export interface InsertNodeParams {
|
parentKey: string | null;
|
node: TreeDataItem;
|
list?: TreeDataItem[];
|
push?: 'push' | 'unshift';
|
}
|
|
export interface ContextMenuOptions {
|
icon?: string;
|
styles?: any;
|
items?: ContextMenuItem[];
|
}
|
|
export type CheckEvent = CheckEventOrigin;
|