tav-ui
Version:
305 lines (304 loc) • 8.19 kB
TypeScript
import type { FormProps, FormSchema } from 'tav-ui/es/components/form/src/types/form';
import type { ExtractPropTypes, PropType } from 'vue';
import type { PaginationProps } from './types/pagination';
import type { BasicColumn, FetchSetting, SizeType, SorterResult, TableCustomRecord, TableRowSelection, TableSetting } from './types/table';
declare type Recordable<T = any> = Record<string, T>;
export interface FilterForms {
inputForm?: Omit<FormSchema, 'label' | 'component'> | FormSchema;
pannelForm?: FormSchema[];
}
export interface useAction {
ifShow?: boolean;
handleBeforeAction?: () => void;
handleAction?: () => void;
handleAfterAction?: () => void;
}
export interface PermissionButton {
add: string;
delete: string;
import: string;
export: string;
refresh: string;
}
export declare const tableProps: {
clickToRowSelect: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
isTreeTable: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
tableSetting: import("vue-types").VueTypeShape<TableSetting>;
inset: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
sortFn: {
type: PropType<(sortInfo: SorterResult) => any>;
default: (sortInfo: SorterResult) => {
sort: string;
dir: string;
};
};
filterFn: {
type: PropType<(data: Partial<Recordable<string[]>>) => any>;
default: (data: Partial<Record<string, string[]>>) => Partial<Record<string, string[]>>;
};
showTableSetting: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
autoCreateKey: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
striped: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
showSummary: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
summaryFunc: {
type: PropType<(...arg: any[]) => any[]>;
default: null;
};
summaryData: {
type: PropType<Recordable<any>[]>;
default: null;
};
indentSize: import("vue-types").VueTypeValidableDef<number> & {
default: number;
} & {
default: number;
};
canColDrag: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
api: {
type: PropType<(...arg: any[]) => Promise<any>>;
default: null;
};
beforeFetch: {
type: PropType<(...arg: any[]) => any>;
default: null;
};
afterFetch: {
type: PropType<(...arg: any[]) => any>;
default: null;
};
handleSearchInfoFn: {
type: PropType<(...arg: any[]) => any>;
default: null;
};
fetchSetting: {
type: PropType<FetchSetting>;
default: () => {
pageField: string;
sizeField: string;
listField: string;
totalField: string;
};
};
immediate: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
emptyDataIsShowTable: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
searchInfo: {
type: PropType<Recordable<any>>;
default: null;
};
defSort: {
type: PropType<Recordable<any>>;
default: null;
};
useSearchForm: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
formConfig: {
type: PropType<Partial<FormProps>>;
default: null;
};
showTableAction: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
filter: {
type: PropType<FilterForms>;
default: null;
};
filterExclusion: {
type: BooleanConstructor;
default: boolean;
};
useAdd: {
type: PropType<useAction>;
default(): {
ifShow: boolean;
};
};
useDelete: {
type: PropType<useAction>;
default(): {
ifShow: boolean;
};
};
useImport: {
type: PropType<useAction>;
default(): {
ifShow: boolean;
};
};
useExport: {
type: PropType<useAction>;
default(): {
ifShow: boolean;
};
};
useRefresh: {
type: PropType<useAction>;
default(): {
ifShow: boolean;
};
};
columns: {
type: PropType<BasicColumn[]>;
default: () => never[];
};
showIndexColumn: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
indexColumnProps: {
type: PropType<BasicColumn>;
default: null;
};
actionColumn: {
type: PropType<BasicColumn>;
default: null;
};
ellipsis: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
isCanResizeParent: {
type: BooleanConstructor;
default: boolean;
};
tablePaddingDistance: {
type: NumberConstructor;
default: number;
};
formRefMarginTopDistance: {
type: NumberConstructor;
default: number;
};
canResize: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
} & {
default: boolean;
};
clearSelectOnPageChange: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
resizeHeightOffset: import("vue-types").VueTypeValidableDef<number> & {
default: number;
} & {
default: number;
};
rowSelection: {
type: PropType<TableRowSelection<any> | null>;
default: null;
};
title: {
type: PropType<string | ((data: Recordable) => string)>;
default: null;
};
titleHelpMessage: {
type: PropType<string | string[]>;
};
maxHeight: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
fullHeight: {
type: BooleanConstructor;
default: boolean;
};
dataSource: {
type: PropType<Recordable<any>[]>;
default: null;
};
rowKey: {
type: PropType<string | ((record: Recordable) => string)>;
default: string;
};
bordered: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
pagination: {
type: PropType<boolean | PaginationProps>;
default: null;
};
paginationControl: {
type: PropType<"backend" | "frontend">;
default: string;
};
loading: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
masking: import("vue-types").VueTypeValidableDef<boolean> & {
default: boolean;
};
rowClassName: {
type: PropType<(record: TableCustomRecord<any>, index: number) => string>;
};
scroll: {
type: PropType<{
x: number | true;
y: number;
}>;
default: null;
};
beforeEditSubmit: {
type: PropType<(data: {
record: Recordable;
index: number;
key: string | number;
value: any;
}) => Promise<any>>;
};
size: {
type: PropType<SizeType>;
default: string;
};
permission: {
type: PropType<Partial<PermissionButton>>;
default(): {
add: undefined;
delete: undefined;
import: undefined;
export: undefined;
refresh: undefined;
};
};
keepScrollTop: {
type: BooleanConstructor;
default: boolean;
};
};
export declare type TableProps = ExtractPropTypes<typeof tableProps>;
export {};