mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-04 01:29:21 +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();
|
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',
|
.controller("GuildsCtrl", ['$scope', 'Groups', 'User', '$rootScope', '$state', '$location',
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,31 @@
|
||||||
|
|
||||||
habitrpg.controller("HeaderCtrl", ['$scope', 'Groups', 'User',
|
habitrpg.controller("HeaderCtrl", ['$scope', 'Groups', 'User',
|
||||||
function($scope, Groups, User) {
|
function($scope, Groups, User) {
|
||||||
|
|
||||||
|
|
||||||
$scope.party = Groups.party(function(){
|
$scope.party = Groups.party(function(){
|
||||||
$scope.partyMinusSelf = _.filter($scope.party.members, function(member){
|
$scope.partyMinusSelf = _.sortBy(
|
||||||
return member._id !== User.user._id;
|
_.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,
|
head: Number,
|
||||||
shield: Number,
|
shield: Number,
|
||||||
|
|
||||||
// -------------- Animals -------------------
|
// -------------- Animals -------------------
|
||||||
|
|
||||||
// Complex bit here. The result looks like:
|
// Complex bit here. The result looks like:
|
||||||
// pets: {
|
// pets: {
|
||||||
// 'Wolf-Desert': 0, // 0 means does not own
|
// 'Wolf-Desert': 0, // 0 means does not own
|
||||||
|
|
@ -182,7 +181,8 @@ var UserSchema = new Schema({
|
||||||
current: String, // party._id
|
current: String, // party._id
|
||||||
invitation: String, // party._id
|
invitation: String, // party._id
|
||||||
lastMessageSeen: String,
|
lastMessageSeen: String,
|
||||||
leader: Boolean
|
leader: Boolean,
|
||||||
|
order: {type:String, 'default':'level'}
|
||||||
},
|
},
|
||||||
preferences: {
|
preferences: {
|
||||||
armorSet: String,
|
armorSet: String,
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,15 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank'
|
||||||
.modal-header
|
.modal-header
|
||||||
h3 Members
|
h3 Members
|
||||||
.modal-body
|
.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')
|
table.table.table-striped(bindonce='group')
|
||||||
tr(ng-repeat='member in group.members')
|
tr(ng-repeat='member in group.members')
|
||||||
td
|
td
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue