bootstrangular-datatable
Version:
Este es un simple modulo de tabla interactiva al estilo de Angular, Bootstrap y Datatable. Necesita angular/core, bootstrap y sus dependencias (jquery y popper) para funcionar.
85 lines (84 loc) • 3.42 kB
TypeScript
import { OnInit } from '@angular/core';
export declare class DatatableComponent implements OnInit {
private dataSource;
headers: any;
pageSize: number;
pageSizeOptions: number[];
pageIndex: number;
tableBtnOptions: BtnOption[];
rowBtnOptions: BtnOption[];
showNumeration: boolean;
showSearcher: boolean;
showSizeOptions: boolean;
showPaginator: boolean;
private filterText;
private dataSourceFilter;
constructor();
ngOnInit(): void;
/** Obtener fuente de datos
* @description Devuelve los datos filtrados en caso de que `filterText` tenga
* valor, de lo contrario devuelve el total de datos. */
getDataSource(): any[];
/** Obtener datos por página
* @description Devuelve los datos por tamaño de página (número de renglones)
* dependiendo del índice de página del que se encuentre. */
getPageData(): any[];
/** Obtener el renglón inicial por página
* @description Devuelve el numero del renglón inicial de la página actual. */
getPageRowStart(): number;
/** Obtener el renglón final por página
* @description Devuelve el numero del renglón final de la página actual. */
getPageRowEnd(): number;
/** Ir a la primer página */
goFirstPage(): void;
/** Ir a la página anterior */
goPreviousPage(): void;
/** Ir a la siguiente página */
goNextPage(): void;
/** Ir a la ultima página */
goLastPage(): void;
/** Obtener ultima página
* @description Devuelve el índice de la ultima página de los datos disponibles
* calculado por el tamaño de datos por página. */
getLastPage(): number;
/** Cambiar tamaño de página
* @description Cambia el tamaño de renglones de la tabla por página vinculado
* con el índice de la página actual para no rebasar el total de datos por página.
* @param size Valor para el nuevo tamaño de página. */
changePageSize(size: number): void;
/** Revisar tamaño de página
* @description Verifica si `pageSize` está vacío, en tal caso se le asignará
* el primer valor de la lista de opciones. En caso de que la lista de opciones
* también se encuentre vacía, agrega el total de los datos como valor único. */
private checkPageSize;
/** Añadir tamaño de página
* @description Añade a la lista de opciones de tamaño de pagina el tamaño
* de pagina `pageSize` que llegue como parámetro. */
private addPageSizeToPageSizeOptions;
/** Obtener encabezados
* @description Obtiene los encabezados de la tabla, en caso de que no se
* definan como parámetro, devolverá una lista de las llaves de la primer fila. */
getHeaders(): object[];
/** Aplicar filtro
* @description Guarda en `filterText` lo escrito en la caja de búsqueda y
* guarda en `dataSourceFilter` el filtro aplicado en los datos.
* @param filter Texto escrito en la caja de búsqueda. */
applyFilter(filter: string): void;
}
/** Button Option
* @param title Titulo del boton.
* @param action Funcion del boton.
* @param icon Interface Button Icon. */
export interface BtnOption {
title: string;
action: Function;
icon?: BtnIcon;
}
/** Button Icon
* @param origin Origen o tipo de icono.
* @param icon Definicion del icono o recurso. */
interface BtnIcon {
origin: String;
icon: String;
}
export {};