Skip to content

Commit cf84515

Browse files
committed
Fix contributor export on user dashboard
1 parent 2865e55 commit cf84515

File tree

1 file changed

+12
-6
lines changed
  • community-dashboard/app/views/UserGroupDashboard

1 file changed

+12
-6
lines changed

community-dashboard/app/views/UserGroupDashboard/index.tsx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@ const EXPORT_LIMIT = 500;
3232
const USER_GROUP_STATS = gql`
3333
query UserGroupStats($pk: ID!, $limit: Int!, $offset: Int!) {
3434
userGroup(pk: $pk) {
35+
id
3536
userGroupId
3637
name
3738
description
3839
userMemberships(pagination: { limit: $limit, offset: $offset }) {
3940
count
4041
items {
42+
id
4143
userId
4244
username
4345
isActive
@@ -48,6 +50,7 @@ const USER_GROUP_STATS = gql`
4850
}
4951
}
5052
userGroupStats(userGroupId: $pk) {
53+
id
5154
stats {
5255
totalContributors
5356
totalSwipes
@@ -65,6 +68,7 @@ const USER_GROUP_STATS = gql`
6568
const FILTERED_USER_GROUP_STATS = gql`
6669
query FilteredUserGroupStats($pk: ID!, $fromDate: DateTime! $toDate: DateTime!) {
6770
userGroupStats(userGroupId: $pk) {
71+
id
6872
filteredStats(dateRange: { fromDate: $fromDate, toDate: $toDate}) {
6973
userStats {
7074
totalMappingProjects
@@ -111,11 +115,13 @@ const USER_MEMBERSHIPS_EXPORT = gql`
111115
$offset: Int!,
112116
) {
113117
userGroup(pk: $pk) {
118+
id
114119
userMemberships(pagination: { limit: $limit, offset: $offset }) {
115120
count
116121
limit
117122
offset
118123
items {
124+
id
119125
userId
120126
username
121127
isActive
@@ -215,11 +221,9 @@ function UserGroupDashboard(props: Props) {
215221
onCompleted: (response) => {
216222
const result = response?.userGroup?.userMemberships;
217223
const userMembershipsCount = response?.userGroup?.userMemberships?.count ?? 0;
224+
const newUserMembershipsData = [...userMembershipsData, ...(result?.items ?? [])];
218225

219-
setUserMembershipsData((prevValue) => [...prevValue, ...result?.items ?? []]);
220-
setOffset((prevValue) => prevValue + EXPORT_LIMIT);
221-
222-
if (userMembershipsData?.length < userMembershipsCount) {
226+
if (newUserMembershipsData?.length < userMembershipsCount) {
223227
setExportPending(true);
224228
exportUserMembership({
225229
variables: userGroupId ? ({
@@ -230,10 +234,10 @@ function UserGroupDashboard(props: Props) {
230234
});
231235
}
232236

233-
if (userMembershipsData?.length === userMembershipsCount) {
237+
if (newUserMembershipsData.length === userMembershipsCount) {
234238
const userGroupData = [
235239
['User', 'Total swipes', 'Project contributed', 'Time spent(mins)'],
236-
...(userMembershipsData?.map((user) => (
240+
...(newUserMembershipsData?.map((user) => (
237241
[
238242
user.username,
239243
user.totalSwipes,
@@ -263,6 +267,8 @@ function UserGroupDashboard(props: Props) {
263267
window.URL.revokeObjectURL(objUrl);
264268
setExportPending(false);
265269
}
270+
setOffset((prevValue) => prevValue + EXPORT_LIMIT);
271+
setUserMembershipsData(() => newUserMembershipsData);
266272
},
267273
onError: (err) => {
268274
// NOTE: we don't show any alert on failure and success for now

0 commit comments

Comments
 (0)