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 params
IPaginationRequest Caso a propriedade IPaginationRequest#size do parâmetro
params
nã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_link
string Caso o parâmetro
p_link
nã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 paginationResult
IPaginationResult.<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 params
IPaginationRequest 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 store
IStore.<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 total
number Returns:
- Type
- this