mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +01:00
* Added test for header ctrl * Made openModal function more readable * Only show setting to disable invite friends if party is exactly 1 member big * Use party.memberCount instead of party.members.length because it's more expressive
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
"use strict";
|
|
|
|
habitrpg.controller("HeaderCtrl", ['$scope', 'Groups', 'User', '$location', '$rootScope',
|
|
function($scope, Groups, User, $location, $rootScope) {
|
|
|
|
$scope.Math = window.Math;
|
|
$scope.user = User.user;
|
|
|
|
$scope.party = Groups.party(function(){
|
|
var triggerResort = function() {
|
|
$scope.partyMinusSelf = resortParty();
|
|
};
|
|
|
|
triggerResort();
|
|
$scope.$watch('user.party.order', triggerResort);
|
|
$scope.$watch('user.party.orderAscending', triggerResort);
|
|
});
|
|
|
|
$scope.inviteOrStartParty = function(group) {
|
|
if (group.type === "party") {
|
|
$rootScope.openModal('invite-friends', {
|
|
controller:'InviteToGroupCtrl',
|
|
resolve: {
|
|
injectedGroup: function(){ return group; }
|
|
}
|
|
});
|
|
} else {
|
|
$location.path("/options/groups/party");
|
|
}
|
|
}
|
|
|
|
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:
|
|
// party date joined
|
|
return true;
|
|
}
|
|
}
|
|
)
|
|
if (User.user.party.orderAscending == "descending") {
|
|
result = result.reverse()
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
]);
|