@bhplugin/vue3-datatable
Version:
Vue3 Datatable - fully customizable & easy to use datatable library
92 lines (91 loc) • 3.75 kB
TypeScript
import type { IColumnDefinition, IServerChangeResponse, ISortChangeResponse, IDataTableProps } from './types';
declare var __VLS_18: string, __VLS_19: {
value: Record<string, unknown>;
}, __VLS_21: {}, __VLS_39: {}, __VLS_41: {}, __VLS_43: {}, __VLS_45: {};
type __VLS_Slots = {} & {
[K in NonNullable<typeof __VLS_18>]?: (props: typeof __VLS_19) => any;
} & {
noData?: (props: typeof __VLS_21) => any;
} & {
firstArrow?: (props: typeof __VLS_39) => any;
} & {
previousArrow?: (props: typeof __VLS_41) => any;
} & {
nextArrow?: (props: typeof __VLS_43) => any;
} & {
lastArrow?: (props: typeof __VLS_45) => any;
};
declare const __VLS_base: import("vue").DefineComponent<IDataTableProps, {
reset: () => void;
getSelectedRows: () => Array<Record<string, unknown>>;
getColumnFilters: () => IColumnDefinition[];
clearSelectedRows: () => void;
selectRow: (index: number) => void;
unselectRow: (index: number) => void;
isRowSelected: (index: number) => boolean;
getFilteredRows: () => Record<string, unknown>[];
getVisibleRows: () => Record<string, unknown>[];
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
reset: () => any;
sortChange: (payload: ISortChangeResponse) => any;
changeServer: (payload: IServerChangeResponse) => any;
searchChange: (search: string) => any;
pageChange: (page: number) => any;
pageSizeChange: (pageSize: number) => any;
rowSelect: (rows: Record<string, unknown>[]) => any;
filterChange: (columns: IColumnDefinition[]) => any;
rowClick: (row: Record<string, unknown>) => any;
rowDBClick: (row: Record<string, unknown>) => any;
}, string, import("vue").PublicProps, Readonly<IDataTableProps> & Readonly<{
onReset?: (() => any) | undefined;
onSortChange?: ((payload: ISortChangeResponse) => any) | undefined;
onChangeServer?: ((payload: IServerChangeResponse) => any) | undefined;
onSearchChange?: ((search: string) => any) | undefined;
onPageChange?: ((page: number) => any) | undefined;
onPageSizeChange?: ((pageSize: number) => any) | undefined;
onRowSelect?: ((rows: Record<string, unknown>[]) => any) | undefined;
onFilterChange?: ((columns: IColumnDefinition[]) => any) | undefined;
onRowClick?: ((row: Record<string, unknown>) => any) | undefined;
onRowDBClick?: ((row: Record<string, unknown>) => any) | undefined;
}>, {
columnFilterLang: Record<string, string> | null;
search: string;
height: string;
hasCheckbox: boolean;
stickyHeader: boolean;
stickyFirstColumn: boolean;
sortable: boolean;
columnFilter: boolean;
columns: Array<IColumnDefinition>;
loading: boolean;
isServerMode: boolean;
skin: string;
totalRows: number;
rows: Array<Record<string, unknown>>;
page: number;
pageSize: number;
pageSizeOptions: Array<number>;
showPageSize: boolean;
rowClass: string | string[] | ((row: Record<string, unknown>) => string);
cellClass: string | string[] | ((row: Record<string, unknown>) => string);
sortColumn: string;
sortDirection: "asc" | "desc";
pagination: boolean;
showNumbers: boolean;
showNumbersCount: number;
showFirstPage: boolean;
showLastPage: boolean;
paginationInfo: string;
noDataContent: string;
skeletonRowCount: number;
cloneHeaderInFooter: boolean;
selectRowOnClick: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};