UNPKG

element-plus

Version:

A Component Library for Vue 3

132 lines (131 loc) 4.64 kB
import { Alignment, AnyColumns, CellRenderer, ClassNameGetter, Column, FixedDirection, HeaderCellRenderer, HeaderClassGetter, KeyType } from "../types.js"; import { TableV2Props } from "../table.js"; import * as vue from "vue"; import { CSSProperties, Ref } from "vue"; //#region ../../packages/components/table-v2/src/composables/use-columns.d.ts declare function useColumns(props: TableV2Props, columns: Ref<AnyColumns>, fixed: Ref<boolean>): { columns: vue.ComputedRef<{ key: KeyType; align?: Alignment; class?: string | ClassNameGetter<any> | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter<any> | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer<any> | undefined; headerCellRenderer?: HeaderCellRenderer<any> | undefined; }[]>; columnsStyles: vue.ComputedRef<Record<KeyType, CSSProperties>>; columnsTotalWidth: vue.ComputedRef<number>; fixedColumnsOnLeft: vue.ComputedRef<{ key: KeyType; align?: Alignment; class?: string | ClassNameGetter<any> | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter<any> | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer<any> | undefined; headerCellRenderer?: HeaderCellRenderer<any> | undefined; }[]>; fixedColumnsOnRight: vue.ComputedRef<{ key: KeyType; align?: Alignment; class?: string | ClassNameGetter<any> | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter<any> | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer<any> | undefined; headerCellRenderer?: HeaderCellRenderer<any> | undefined; }[]>; hasFixedColumns: vue.ComputedRef<number>; mainColumns: vue.ComputedRef<AnyColumns>; normalColumns: vue.ComputedRef<{ key: KeyType; align?: Alignment; class?: string | ClassNameGetter<any> | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter<any> | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer<any> | undefined; headerCellRenderer?: HeaderCellRenderer<any> | undefined; }[]>; visibleColumns: vue.ComputedRef<{ key: KeyType; align?: Alignment; class?: string | ClassNameGetter<any> | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter<any> | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer<any> | undefined; headerCellRenderer?: HeaderCellRenderer<any> | undefined; }[]>; getColumn: (key: KeyType) => { key: KeyType; align?: Alignment; class?: string | ClassNameGetter<any> | undefined; dataKey?: KeyType; fixed?: true | FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | HeaderClassGetter<any> | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: CellRenderer<any> | undefined; headerCellRenderer?: HeaderCellRenderer<any> | undefined; } | undefined; getColumnStyle: (key: KeyType) => CSSProperties; updateColumnWidth: (column: Column<any>, width: number) => void; onColumnSorted: (e: MouseEvent) => void; }; type UseColumnsReturn = ReturnType<typeof useColumns>; //#endregion export { UseColumnsReturn, useColumns };