vue-devui
Version:
DevUI components based on Vite and Vue3
87 lines (86 loc) • 4 kB
TypeScript
import type { Ref } from 'vue';
import type { ScrollYParams, ScrollXParams } from '../data-grid-types';
export declare function useDataGridScroll(): {
translateX: Ref<number>;
translateY: Ref<number>;
virtualColumnData: Ref<{
$columnId: string;
offsetLeft: number;
$showExpandTreeIcon?: boolean | undefined;
header: string;
field: string;
width?: string | number | undefined;
minWidth?: string | number | undefined;
maxWidth?: string | number | undefined;
type?: import("../data-grid-types").ColumnType | undefined;
resizable?: boolean | undefined;
sortable?: boolean | undefined;
showSortIcon?: boolean | undefined;
sortMethod?: import("../data-grid-types").SortMethod<import("../data-grid-types").RowData> | undefined;
filterable?: boolean | undefined;
showFilterIcon?: boolean | undefined;
filterMultiple?: boolean | undefined;
filterList?: {
name: string;
value: any;
checked?: boolean | undefined;
}[] | undefined;
filterChange?: ((val: import("../data-grid-types").FilterListItem | import("../data-grid-types").FilterListItem[]) => void) | undefined;
filterMenu?: ((scope: {
toggleFilterMenu: (status?: boolean | undefined) => void;
setFilterStatus: (status: boolean) => void;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>) | undefined;
fixed?: import("../data-grid-types").FixedDirection | undefined;
align?: import("../data-grid-types").ColumnAlign | undefined;
showOverflowTooltip?: boolean | {
content?: string | undefined;
position?: import("../../../overlay").Placement[] | undefined;
mouseEnterDelay?: number | undefined;
enterable?: boolean | undefined;
class?: string | undefined;
} | undefined;
showHeadOverflowTooltip?: boolean | {
content?: string | undefined;
position?: import("../../../overlay").Placement[] | undefined;
mouseEnterDelay?: number | undefined;
enterable?: boolean | undefined;
class?: string | undefined;
} | undefined;
headRender?: ((columnConfig: import("../data-grid-types").ColumnConfig) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>) | undefined;
cellRender?: ((rowData: import("../data-grid-types").RowData, rowIndex: number, cellData: string, cellIndex: number) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>) | undefined;
}[]>;
virtualRowData: Ref<{
[x: string]: any;
$rowId?: string | undefined;
$parentId?: string | undefined;
$rowIndex?: number | undefined;
$level?: number | undefined;
height?: number | undefined;
offsetTop?: number | undefined;
showNode?: boolean | undefined;
$expand?: boolean | undefined;
halfChecked?: boolean | undefined;
childList?: any[] | undefined;
descendantList?: any[] | undefined;
checked?: boolean | undefined;
disableCheck?: boolean | undefined;
children?: {
[x: string]: any;
checked?: boolean | undefined;
disableCheck?: boolean | undefined;
children?: any[] | undefined;
isLeaf?: boolean | undefined;
}[] | undefined;
isLeaf?: boolean | undefined;
}[]>;
calcVirtualRowData: (scrollYParams: ScrollYParams) => void;
calcVirtualColumnData: (scrollXParams: ScrollXParams, scrolling?: boolean) => void;
resetVirtualRowData: () => void;
};
export declare function useDataGridLazy(scrollRef: Ref<HTMLElement | undefined>): void;