Pagination et tri
Pagination et tri
Parcourez et triez de longues listes de résultats.
Pagination par curseur
Les champs de liste renvoient des connexions de style Relay. Avancez avec first + after, ou reculez avec last + before, à l'aide des curseurs renvoyés dans pageInfo.
first / afterRenvoie les N premiers éléments après un curseur (pagination avant).last / beforeRenvoie les N derniers éléments avant un curseur (pagination arrière).
paginatedIssues.graphql
query ListIssues($orgId: ID!, $first: Int!, $after: Cursor) {
organization(id: $orgId) {
issues(
first: $first
after: $after
orderBy: { field: CREATED_AT, direction: DESC }
) {
totalCount
edges {
cursor
node {
id
friendlyId
title
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}Forme de la connexion
Chaque connexion expose une liste d'edges, un objet pageInfo et un totalCount.
edges[].nodeL'élément lui-même : demandez les champs dont vous avez besoin dans node.edges[].cursorUn curseur opaque qui pointe sur cet élément, pour paginer à partir d'ici.pageInfo.hasNextPage / hasPreviousPageIndique s'il existe d'autres éléments dans ce sens.pageInfo.startCursor / endCursorPassezendCursorcomme prochaine valeur de after pour obtenir la page suivante.totalCountNombre total d'éléments, toutes pages confondues.
RÉPONSE
{
"totalCount": 128,
"edges": [
{
"cursor": "Y3Vyc29yOjE5",
"node": { "id": "rprdbtyvc51ys7g7xq9xwra8cm", "friendlyId": 20, "title": "..." }
}
],
"pageInfo": {
"hasNextPage": true,
"endCursor": "Y3Vyc29yOjE5"
}
}Tri
Passez un objet orderBy avec un field et une direction. Les champs disponibles dépendent de la connexion.
orderBy.fieldLe champ selon lequel trier. Par exemple,CREATED_AT.orderBy.directionASCpour un tri croissant ouDESCpour un tri décroissant.
orderBy.graphql
issues(orderBy: { field: CREATED_AT, direction: DESC })