mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-07-22 05:44:16 +00:00
Merge pull request #1896 from Fandekasp/party_members_order
Party members order
This commit is contained in:
commit
e9467dc466
5 changed files with 52 additions and 6 deletions
8
migrations/20131123_set_default_party_order.js
Normal file
8
migrations/20131123_set_default_party_order.js
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
//Add default to randomize party members list
|
||||
db.users.update(
|
||||
{},
|
||||
{$set:{
|
||||
'party.order': 'random',
|
||||
}},
|
||||
{multi:true}
|
||||
)
|
||||
|
|
@ -180,6 +180,14 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Groups', '$http', 'A
|
|||
group.$get();
|
||||
}
|
||||
|
||||
// List of Ordering options for the party members list
|
||||
$scope.partyOrderChoices = {
|
||||
'level': 'Sort by Level',
|
||||
'random': 'Sort randomly',
|
||||
'pets': 'Sort by number of pets',
|
||||
'party_date_joined': 'Sort by Party date joined',
|
||||
};
|
||||
|
||||
}])
|
||||
|
||||
.controller("GuildsCtrl", ['$scope', 'Groups', 'User', '$rootScope', '$state', '$location',
|
||||
|
|
|
|||
|
|
@ -2,10 +2,31 @@
|
|||
|
||||
habitrpg.controller("HeaderCtrl", ['$scope', 'Groups', 'User',
|
||||
function($scope, Groups, User) {
|
||||
|
||||
|
||||
$scope.party = Groups.party(function(){
|
||||
$scope.partyMinusSelf = _.filter($scope.party.members, function(member){
|
||||
return member._id !== User.user._id;
|
||||
});
|
||||
$scope.partyMinusSelf = _.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;
|
||||
default:
|
||||
// party date joined
|
||||
return true;
|
||||
}
|
||||
}
|
||||
).reverse()
|
||||
});
|
||||
}
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -110,8 +110,7 @@ var UserSchema = new Schema({
|
|||
head: Number,
|
||||
shield: Number,
|
||||
|
||||
// -------------- Animals -------------------
|
||||
|
||||
// -------------- Animals -------------------
|
||||
// Complex bit here. The result looks like:
|
||||
// pets: {
|
||||
// 'Wolf-Desert': 0, // 0 means does not own
|
||||
|
|
@ -182,7 +181,8 @@ var UserSchema = new Schema({
|
|||
current: String, // party._id
|
||||
invitation: String, // party._id
|
||||
lastMessageSeen: String,
|
||||
leader: Boolean
|
||||
leader: Boolean,
|
||||
order: {type:String, 'default':'level'}
|
||||
},
|
||||
preferences: {
|
||||
armorSet: String,
|
||||
|
|
|
|||
|
|
@ -40,6 +40,15 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank'
|
|||
.modal-header
|
||||
h3 Members
|
||||
.modal-body
|
||||
span
|
||||
| Party Members list ordering
|
||||
select#partyOrder(
|
||||
style='width:140px',
|
||||
ng-model='user.party.order',
|
||||
ng-controller='ChatCtrl',
|
||||
ng-options='k as v for (k , v) in partyOrderChoices',
|
||||
ng-change='set("party.order", user.party.order)'
|
||||
)
|
||||
table.table.table-striped(bindonce='group')
|
||||
tr(ng-repeat='member in group.members')
|
||||
td
|
||||
|
|
|
|||
Loading…
Reference in a new issue