Fix sort/search on member selection modal (#15066)

This commit is contained in:
Leonardo Chappuis
2024-01-23 18:06:54 -03:00
committed by GitHub
parent bfe7c263cb
commit 6d62ecdf17

View File

@@ -207,10 +207,9 @@ export default {
computed: { computed: {
...mapState({ user: 'user.data' }), ...mapState({ user: 'user.data' }),
sortedMembers () { sortedMembers () {
const sortedMembers = this.members; if (!this.sortOption) return this.members;
if (!this.sortOption) return sortedMembers;
sortBy(this.members, [member => { const sortedMembers = sortBy(this.members, [member => {
if (this.sortOption === 'tier') { if (this.sortOption === 'tier') {
if (!member.contributor) return; if (!member.contributor) return;
return member.contributor.level; // eslint-disable-line consistent-return return member.contributor.level; // eslint-disable-line consistent-return
@@ -223,7 +222,7 @@ export default {
} }
}]); }]);
return this.members; return sortedMembers;
}, },
isLoadMoreAvailable () { isLoadMoreAvailable () {
// Only available if the current length of `members` is less than the // Only available if the current length of `members` is less than the
@@ -243,6 +242,13 @@ export default {
this.getMembers(); this.getMembers();
} }
}, },
searchTerm () {
if (this.searchTerm) {
this.searchMembers(this.searchTerm);
} else {
this.getMembers();
}
},
}, },
methods: { methods: {
loadMembers (payload = null) { loadMembers (payload = null) {
@@ -253,6 +259,14 @@ export default {
return this.$store.dispatch('members:getGroupMembers', payload); return this.$store.dispatch('members:getGroupMembers', payload);
}, },
async searchMembers (searchTerm = '') {
this.members = await this.$store.state.memberModalOptions.fetchMoreMembers({
challengeId: this.challengeId,
groupId: this.groupId,
searchTerm,
includeAllPublicFields: true,
});
},
async getMembers () { async getMembers () {
this.group = await this.$store.dispatch('party:getParty'); this.group = await this.$store.dispatch('party:getParty');
this.group = this.$store.state.party.data; this.group = this.$store.state.party.data;