UNPKG

synapse-react-client

Version:

[![Build Status](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client.svg?branch=main)](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synaps

46 lines 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useGetUserChallengesInfinite = void 0; var tslib_1 = require("tslib"); var react_query_1 = require("react-query"); var __1 = require("../.."); var SynapseContext_1 = require("../../SynapseContext"); function useGetUserChallengesInfinite(userId, options) { var _this = this; var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken; return (0, react_query_1.useInfiniteQuery)(['getuserchallenges', userId], function (context) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () { var challenges, challengeProjectIds, challengeProjects_1, challengeWithProjectHeaderPagedResults; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, __1.SynapseClient.getUserChallenges(accessToken, userId, context.pageParam, // pass the context.pageParam for the new offset 10 // limit ) // also look up the challenge project names (if there are challenges) ]; case 1: challenges = _a.sent(); if (!(challenges.results.length > 0)) return [3 /*break*/, 3]; challengeProjectIds = Array.from(challenges.results, function (challenge) { return challenge.projectId; }); return [4 /*yield*/, __1.SynapseClient.getEntityHeadersByIds(challengeProjectIds)]; case 2: challengeProjects_1 = _a.sent(); challengeWithProjectHeaderPagedResults = { results: Array.from(challenges.results, function (challenge, index) { return { challenge: challenge, projectHeader: challengeProjects_1.results[index] }; }), totalNumberOfResults: challenges.totalNumberOfResults }; return [2 /*return*/, challengeWithProjectHeaderPagedResults]; case 3: return [2 /*return*/, { results: [], totalNumberOfResults: challenges.totalNumberOfResults }]; } }); }); }, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, options), { getNextPageParam: function (lastPage, pages) { if (lastPage.results.length > 0) return pages.length * 10; //set the new offset to (page * limit) else return undefined; } })); } exports.useGetUserChallengesInfinite = useGetUserChallengesInfinite; //# sourceMappingURL=useGetUserChallenges.js.map