File tree Expand file tree Collapse file tree 1 file changed +26
-3
lines changed
src/skins/vector/views/organisms Expand file tree Collapse file tree 1 file changed +26
-3
lines changed Original file line number Diff line number Diff line change @@ -33,15 +33,38 @@ module.exports = React.createClass({
3333 return { editing : false } ;
3434 } ,
3535
36+ memberSort : function ( userIdA , userIdB ) {
37+ var userA = this . memberDict [ userIdA ] . user ;
38+ var userB = this . memberDict [ userIdB ] . user ;
39+
40+ var presenceMap = {
41+ online : 3 ,
42+ unavailable : 2 ,
43+ offline : 1
44+ } ;
45+
46+ var presenceOrdA = userA ? presenceMap [ userA . presence ] : 0 ;
47+ var presenceOrdB = userB ? presenceMap [ userB . presence ] : 0 ;
48+
49+ if ( presenceOrdA != presenceOrdB ) {
50+ return presenceOrdB - presenceOrdA ;
51+ }
52+
53+ var latA = userA ? ( userA . lastPresenceTs - ( userA . lastActiveAgo || userA . lastPresenceTs ) ) : 0 ;
54+ var latB = userB ? ( userB . lastPresenceTs - ( userB . lastActiveAgo || userB . lastPresenceTs ) ) : 0 ;
55+
56+ return latB - latA ;
57+ } ,
58+
3659 makeMemberTiles : function ( membership ) {
3760 var MemberTile = sdk . getComponent ( "molecules.MemberTile" ) ;
3861
3962 var self = this ;
40- return Object . keys ( self . state . memberDict ) . filter ( function ( userId ) {
41- var m = self . state . memberDict [ userId ] ;
63+ return self . state . members . filter ( function ( userId ) {
64+ var m = self . memberDict [ userId ] ;
4265 return m . membership == membership ;
4366 } ) . map ( function ( userId ) {
44- var m = self . state . memberDict [ userId ] ;
67+ var m = self . memberDict [ userId ] ;
4568 return (
4669 < MemberTile key = { userId } member = { m } ref = { userId } />
4770 ) ;
You can’t perform that action at this time.
0 commit comments