new Pagination()
- See:
-
- PaginatedDataGrid
- DataGrid
- TreeGrid
Example
interface Pessoa {
id: number;
nome: string;
sobrenome: string;
idade: string;
pais: string;
}
let store = new PessoaStore();
let grid:DataGrid<Pessoa> = new DataGrid<Pessoa>()
.setColumns([
{name: "nome", title: "Nome", sortable: true, width: 25},
{name: "sobrenome", title: "Sobrenome", sortable: true, width: 25},
{name: "idade", title: "Idade", sortable: true, width: 25},
{name: "pais", title: "País", sortable: true, width: 25}
])
.addTableStyle(EGridStyle.TABLE_HOVER, EGridStyle.TABLE_BORDERED, EGridStyle.TABLE_STRIPED);
store.onChange.subscribe((pessoas: Pessoa[]) => {
grid.setData(pessoas);
});
let pagination: Pagination<Pessoa> = new Pagination<Pessoa>("/dist/mv-starter/pessoa/pagination");
pagination
.setStore(store)//o Pagination atribuirá dados à store a cada nova resposta de requisição
.loadPage({page: 0, size: 3})
//Exemplo de passagem de parâmetros para ordenação
grid.onSortingChange.subscribe((cols) => {
let sort: any[] = [];
cols.forEach((c: IDataGridColumn) => {
let direction = (c.sortingDirection == EDataGridSortingDirection.ASCENDING) ? 'asc' : 'desc';
sort.push({"property": c.name, "direction": direction});
});
pagination.loadPage({
page: pagination.getLastPaginationRequest().page,
sort: sort
});
})
Methods
-
calculateVisiblePageNumbers()
-
Calcula os números das páginas que devem ser exibidos nos links da paginação. O cálculo é baseado na propriedade Pagination.visiblePageNumbersTotal, que diz a quantidade de links que deve ser exibida.
-
getLastPaginationRequest()
-
Retorna os dados da última requisição realizada.
Returns:
- Type
- IPaginationRequest
-
getLastPaginationResult()
-
Retorna o último resultao de paginação obtido do servidor
Returns:
- Type
- IPaginationResult.<T>
-
loadPage(params, p_link)
-
Carrega uma nova página de acordo com os parâmetros informados.
Parameters:
Name Type Description paramsIPaginationRequest Caso a propriedade IPaginationRequest#size do parâmetro
paramsnão seja informada, o último valor informado para esta propriedade será usado, caso não tenha sido informado ainda, o valor padrão será utilizado (Pagination.pageSize).p_linkstring Caso o parâmetro
p_linknão seja informado, o valor da propriedade Pagination#baseURL será utilizado.Returns:
- Type
- this
-
needsRecalculateVisiblePageNumbers()
-
Verifica a necessidade de se recalcular os números das páginas exibidas nos links de paginação.
-
nextVisiblePageNumbers()
-
Calcula os próximos números que devem ser exibidos nos links de paginação.
-
onPaginationResultReceived(paginationResult)
-
Executado cada vez que uma nova requisição é respondida. Emite o evento que indica que uma nova página foi carregada.
Parameters:
Name Type Description paginationResultIPaginationResult.<T> - See:
-
- Pagination#onPageLoad
-
prepareSortingParams(params)
-
Altera os parâmetros de ordenação da requisição para se adequarem aos esperados pelo Spring Data.
Parameters:
Name Type Description paramsIPaginationRequest Returns:
- Type
- IPaginationRequest
-
previousVisiblePageNumbers()
-
Calcula os números anteriores que devem ser exibidos nos links de paginação.
-
requestPage()
-
Carrega uma página de acordo com o parâmetro informado.
-
setPaginationInfoTemplate()
-
Adiciona o template que será utilizado para exibir informações sobre a paginação. A string passada como template deverá ter o seguintes placeholders: {from} - Exbirá o número do primeiro registro da página {to} - Exibirá o número do último registro da página {of} - Exibirá o total de elementos da paginação
Example
pagination.setPaginationInfoTemplate("Exibindo {from} - {to} de {of}"); -
setStore(store)
-
Parameters:
Name Type Description storeIStore.<T> Returns:
- Type
- this
-
setTotalOfVisibleLinks(total)
-
Configura o total de links que devem ser exibidos na paginação (links com números das páginas)
Parameters:
Name Type Description totalnumber Returns:
- Type
- this
