Я пытаюсь добавить totalcount записей, которые будут использоваться для разбивки на страницы. Прямо сейчас я вижу связь, у меня возникли проблемы с ее модификацией, чтобы мой totalCount был отделен от нее.Relay/GraphQL добавить настраиваемое поле к соединению
Books: {
type: BooksConnection.connectionType,
args: { ...connectionArgs, isbn: { type: GraphQLString }, publisher: {type: GraphQLString}},
resolve: (obj, { ...args }, context, { rootValue: objectManager }) =>
{
let user = obj;
let FormatedArgs = MasterFields.FormatPredicate(args);
return objectManager.getListBy('Book', user, FormatedArgs.queryArgs, objectManager.getViewerUserId()).then((arr) =>
{
let result = {};
result.Books = arr;
result.totalCount = arr.length;
;
//Originally i would just pass arr instead of result.
return connectionFromArray(result, FormatedArgs.connArgs);
})
}
},
Когда я получаю объект соединения в BookConnection в этом случае. Я хочу иметь возможность присвоить это значение полю.
export default connectionDefinitions({
name: 'Books',
nodeType: BookType,
connectionFields:() => ({
totalCount: {
type: GraphQLInt,
resolve: (connection) => { console.log(connection); return connection.totalCount; },
description: `A count of the total number of objects in this connection, ignoring pagination.
This allows a client to fetch the first five objects by passing "5" as the
argument to "first", then fetch the total count so it could display "5 of 83",
for example.`
}
})
});
Как я могу сделать totalCount
свойство переменной connection
?
Я нашел часть ответа здесь: How to pass total count to the client in pageInfo