@@ -32,12 +32,14 @@ const EXPORT_LIMIT = 500;
3232const 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`
6568const 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