UNPKG

@luisgb2212/table-customizable

Version:

Vue3 Datatable - fully customizable & easy to use datatable library

375 lines (374 loc) 12.7 kB
export interface colDef { isUnique?: boolean; field?: string; title?: string; value?: any; condition?: any; type?: string; width?: string | undefined; minWidth?: string | undefined; maxWidth?: string | undefined; hide?: boolean; filter?: boolean; search?: boolean; sort?: boolean; html?: boolean; cellRenderer?: [Function, string]; headerClass?: string; cellClass?: string; range?: boolean; formatDate?: string; filterColumns?: Array<string>; } export interface Props { loading?: boolean; isServerMode?: boolean; skin?: string; totalRows?: number; rows?: Array<any>; columns?: Array<colDef>; hasCheckbox?: boolean; search?: string; columnChooser?: boolean; page?: number; pageSize?: number; pageSizeOptions?: Array<number>; showPageSize?: boolean; rowClass?: [Array<string>, Function]; cellClass?: [Array<string>, Function]; sortable?: boolean; sortColumn?: string; sortDirection?: string; columnFilter?: boolean; columnFilterLang?: Record<string, string> | null; pagination?: boolean; showNumbers?: boolean; showNumbersCount?: number; showFirstPage?: boolean; showLastPage?: boolean; firstArrow?: string; lastArrow?: string; nextArrow?: string; previousArrow?: string; paginationInfo?: string; noDataContent?: string; stickyHeader?: boolean; height?: string; stickyFirstColumn?: boolean; cloneHeaderInFooter?: boolean; selectRowOnClick?: boolean; fieldVerify?: string; virifyClass?: string; } declare const _default: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, { loading: boolean; isServerMode: boolean; skin: string; totalRows: number; rows: () => never[]; columns: () => never[]; hasCheckbox: boolean; search: string; columnChooser: boolean; page: number; pageSize: number; pageSizeOptions: () => number[]; showPageSize: boolean; rowClass: never; cellClass: never; cellRenderer: null; sortable: boolean; sortColumn: string; sortDirection: string; columnFilter: boolean; columnFilterLang: null; pagination: boolean; showNumbers: boolean; showNumbersCount: number; showFirstPage: boolean; showLastPage: boolean; firstArrow: string; lastArrow: string; nextArrow: string; previousArrow: string; paginationInfo: string; noDataContent: string; stickyHeader: boolean; height: string; stickyFirstColumn: boolean; cloneHeaderInFooter: boolean; selectRowOnClick: boolean; }>>> & Readonly<{ onFilterChange?: ((...args: any[]) => any) | undefined; onSortChange?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined; onSearchChange?: ((...args: any[]) => any) | undefined; onPageChange?: ((...args: any[]) => any) | undefined; onPageSizeChange?: ((...args: any[]) => any) | undefined; onRowSelect?: ((...args: any[]) => any) | undefined; onRowClick?: ((...args: any[]) => any) | undefined; onRowDBClick?: ((...args: any[]) => any) | undefined; }>, { reset(): void; getSelectedRows(): any[]; getColumnFilters(): colDef[]; clearSelectedRows(): void; selectRow(index: number): void; unselectRow(index: number): void; isRowSelected(index: number): boolean; getFilteredRows(): any[]; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "filterChange" | "sortChange" | "searchChange" | "pageChange" | "pageSizeChange" | "rowSelect" | "rowClick" | "rowDBClick")[], import("vue").PublicProps, { search: string; columnFilterLang: Record<string, string> | null; loading: boolean; isServerMode: boolean; skin: string; totalRows: number; rows: any[]; columns: colDef[]; hasCheckbox: boolean; columnChooser: boolean; page: number; pageSize: number; pageSizeOptions: number[]; showPageSize: boolean; rowClass: [string[], Function]; cellClass: [string[], Function]; sortable: boolean; sortColumn: string; sortDirection: string; columnFilter: boolean; pagination: boolean; showNumbers: boolean; showNumbersCount: number; showFirstPage: boolean; showLastPage: boolean; firstArrow: string; lastArrow: string; nextArrow: string; previousArrow: string; paginationInfo: string; noDataContent: string; stickyHeader: boolean; height: string; stickyFirstColumn: boolean; cloneHeaderInFooter: boolean; selectRowOnClick: boolean; }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, { loading: boolean; isServerMode: boolean; skin: string; totalRows: number; rows: () => never[]; columns: () => never[]; hasCheckbox: boolean; search: string; columnChooser: boolean; page: number; pageSize: number; pageSizeOptions: () => number[]; showPageSize: boolean; rowClass: never; cellClass: never; cellRenderer: null; sortable: boolean; sortColumn: string; sortDirection: string; columnFilter: boolean; columnFilterLang: null; pagination: boolean; showNumbers: boolean; showNumbersCount: number; showFirstPage: boolean; showLastPage: boolean; firstArrow: string; lastArrow: string; nextArrow: string; previousArrow: string; paginationInfo: string; noDataContent: string; stickyHeader: boolean; height: string; stickyFirstColumn: boolean; cloneHeaderInFooter: boolean; selectRowOnClick: boolean; }>>> & Readonly<{ onFilterChange?: ((...args: any[]) => any) | undefined; onSortChange?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined; onSearchChange?: ((...args: any[]) => any) | undefined; onPageChange?: ((...args: any[]) => any) | undefined; onPageSizeChange?: ((...args: any[]) => any) | undefined; onRowSelect?: ((...args: any[]) => any) | undefined; onRowClick?: ((...args: any[]) => any) | undefined; onRowDBClick?: ((...args: any[]) => any) | undefined; }>, { reset(): void; getSelectedRows(): any[]; getColumnFilters(): colDef[]; clearSelectedRows(): void; selectRow(index: number): void; unselectRow(index: number): void; isRowSelected(index: number): boolean; getFilteredRows(): any[]; }, {}, {}, {}, { search: string; columnFilterLang: Record<string, string> | null; loading: boolean; isServerMode: boolean; skin: string; totalRows: number; rows: any[]; columns: colDef[]; hasCheckbox: boolean; columnChooser: boolean; page: number; pageSize: number; pageSizeOptions: number[]; showPageSize: boolean; rowClass: [string[], Function]; cellClass: [string[], Function]; sortable: boolean; sortColumn: string; sortDirection: string; columnFilter: boolean; pagination: boolean; showNumbers: boolean; showNumbersCount: number; showFirstPage: boolean; showLastPage: boolean; firstArrow: string; lastArrow: string; nextArrow: string; previousArrow: string; paginationInfo: string; noDataContent: string; stickyHeader: boolean; height: string; stickyFirstColumn: boolean; cloneHeaderInFooter: boolean; selectRowOnClick: boolean; }>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, { loading: boolean; isServerMode: boolean; skin: string; totalRows: number; rows: () => never[]; columns: () => never[]; hasCheckbox: boolean; search: string; columnChooser: boolean; page: number; pageSize: number; pageSizeOptions: () => number[]; showPageSize: boolean; rowClass: never; cellClass: never; cellRenderer: null; sortable: boolean; sortColumn: string; sortDirection: string; columnFilter: boolean; columnFilterLang: null; pagination: boolean; showNumbers: boolean; showNumbersCount: number; showFirstPage: boolean; showLastPage: boolean; firstArrow: string; lastArrow: string; nextArrow: string; previousArrow: string; paginationInfo: string; noDataContent: string; stickyHeader: boolean; height: string; stickyFirstColumn: boolean; cloneHeaderInFooter: boolean; selectRowOnClick: boolean; }>>> & Readonly<{ onFilterChange?: ((...args: any[]) => any) | undefined; onSortChange?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined; onSearchChange?: ((...args: any[]) => any) | undefined; onPageChange?: ((...args: any[]) => any) | undefined; onPageSizeChange?: ((...args: any[]) => any) | undefined; onRowSelect?: ((...args: any[]) => any) | undefined; onRowClick?: ((...args: any[]) => any) | undefined; onRowDBClick?: ((...args: any[]) => any) | undefined; }>, { reset(): void; getSelectedRows(): any[]; getColumnFilters(): colDef[]; clearSelectedRows(): void; selectRow(index: number): void; unselectRow(index: number): void; isRowSelected(index: number): boolean; getFilteredRows(): any[]; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "filterChange" | "sortChange" | "searchChange" | "pageChange" | "pageSizeChange" | "rowSelect" | "rowClick" | "rowDBClick")[], "change" | "filterChange" | "sortChange" | "searchChange" | "pageChange" | "pageSizeChange" | "rowSelect" | "rowClick" | "rowDBClick", { search: string; columnFilterLang: Record<string, string> | null; loading: boolean; isServerMode: boolean; skin: string; totalRows: number; rows: any[]; columns: colDef[]; hasCheckbox: boolean; columnChooser: boolean; page: number; pageSize: number; pageSizeOptions: number[]; showPageSize: boolean; rowClass: [string[], Function]; cellClass: [string[], Function]; sortable: boolean; sortColumn: string; sortDirection: string; columnFilter: boolean; pagination: boolean; showNumbers: boolean; showNumbersCount: number; showFirstPage: boolean; showLastPage: boolean; firstArrow: string; lastArrow: string; nextArrow: string; previousArrow: string; paginationInfo: string; noDataContent: string; stickyHeader: boolean; height: string; stickyFirstColumn: boolean; cloneHeaderInFooter: boolean; selectRowOnClick: boolean; }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => { $slots: any; }); export default _default; type __VLS_NonUndefinedable<T> = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps<T> = { [K in keyof T]-?: {} extends Pick<T, K> ? { type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>; } : { type: import('vue').PropType<T[K]>; required: true; }; }; type __VLS_WithDefaults<P, D> = { [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & { default: D[K]; } : P[K]; };