mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +01:00
* Remove party joined option * Make default sort sort by profile name * Remove extraneous comment
67 lines
1.8 KiB
JavaScript
67 lines
1.8 KiB
JavaScript
"use strict";
|
|
|
|
habitrpg.controller("HeaderCtrl", ['$scope', 'Groups', 'User',
|
|
function($scope, Groups, User) {
|
|
|
|
$scope.Math = window.Math;
|
|
$scope.user = User.user;
|
|
|
|
$scope.inviteOrStartParty = Groups.inviteOrStartParty;
|
|
|
|
function handlePartyResponse (party) {
|
|
$scope.party = party;
|
|
|
|
var triggerResort = function() {
|
|
$scope.partyMinusSelf = resortParty();
|
|
};
|
|
|
|
triggerResort();
|
|
$scope.$watch('user.party.order', triggerResort);
|
|
$scope.$watch('user.party.orderAscending', triggerResort);
|
|
}
|
|
|
|
Groups.party().then(handlePartyResponse, handlePartyResponse);
|
|
|
|
function resortParty() {
|
|
var result = _.sortBy(
|
|
_.filter($scope.party.members, function(member){
|
|
return member._id !== User.user._id;
|
|
}),
|
|
function (member) {
|
|
switch(User.user.party.order)
|
|
{
|
|
case 'level':
|
|
return member.stats.lvl;
|
|
break;
|
|
case 'random':
|
|
return Math.random();
|
|
break;
|
|
case 'pets':
|
|
return member.items.pets.length;
|
|
break;
|
|
case 'name':
|
|
return member.profile.name;
|
|
break;
|
|
case 'backgrounds':
|
|
return member.preferences.background;
|
|
break;
|
|
case 'habitrpg_date_joined':
|
|
return member.auth.timestamps.created;
|
|
break
|
|
case 'habitrpg_last_logged_in':
|
|
return member.auth.timestamps.loggedin;
|
|
break
|
|
default:
|
|
return member.profile.name;
|
|
}
|
|
}
|
|
)
|
|
if (User.user.party.orderAscending == "descending") {
|
|
result = result.reverse()
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
]);
|