@@ -86,7 +86,6 @@ export class TeamsComponent implements OnInit, AfterViewInit {
8686 get tableData ( ) {
8787 return this . teams ;
8888 }
89- showUserTeamsFilter = false ;
9089
9190 constructor (
9291 private userService : UserService ,
@@ -160,8 +159,6 @@ export class TeamsComponent implements OnInit, AfterViewInit {
160159 }
161160 this . dialogsLoadingService . stop ( ) ;
162161 this . isLoading = false ;
163- this . showUserTeamsFilter = this . myTeamsFilter === 'off' &&
164- this . teams . data . some ( e => e . userStatus === 'member' || e . userStatus === 'requesting' ) ;
165162 } , ( error ) => {
166163 if ( this . userNotInShelf ) {
167164 this . displayedColumns = [ 'doc.name' , 'visitLog.lastVisit' , 'visitLog.visitCount' , 'doc.teamType' ] ;
@@ -219,6 +216,20 @@ export class TeamsComponent implements OnInit, AfterViewInit {
219216 default :
220217 return { ...team , userStatus : 'unrelated' } ;
221218 }
219+ } ) . sort ( ( teamA , teamB ) => {
220+ const membershipOrder = { member : 2 , requesting : 1 , unrelated : 0 } ;
221+ const membershipDifference = membershipOrder [ teamB . userStatus ] - membershipOrder [ teamA . userStatus ] ;
222+ if ( membershipDifference !== 0 ) {
223+ return membershipDifference ;
224+ }
225+
226+ const lastVisitA = teamA . visitLog . lastVisit || 0 ;
227+ const lastVisitB = teamB . visitLog . lastVisit || 0 ;
228+ if ( lastVisitB !== lastVisitA ) {
229+ return lastVisitB - lastVisitA ;
230+ }
231+
232+ return teamA . doc . name . localeCompare ( teamB . doc . name ) ;
222233 } ) ;
223234 }
224235
@@ -342,19 +353,6 @@ export class TeamsComponent implements OnInit, AfterViewInit {
342353 this . teams . filter = filterValue || ( this . myTeamsFilter ? ' ' : '' ) ;
343354 }
344355
345- sortbyUserTeams ( ) {
346- if ( ! this . teams . data . some ( e => e . userStatus === 'member' || e . userStatus === 'requesting' ) ) {
347- return ;
348- }
349-
350- this . sort . active = 'membership' ;
351- this . sort . direction = 'desc' ;
352- this . sort . sortChange . emit ( {
353- active : this . sort . active ,
354- direction : this . sort . direction
355- } ) ;
356- }
357-
358356 getTeamTypeLabel ( team : any ) : string {
359357 return team . doc . type === 'enterprise' ? $localize `enterprise` : $localize `team` ;
360358 }
0 commit comments