Removed duplicate code and added member modal event (#10542)

* Removed duplicate code and added member modal event

* Removed console

* Removed console log
This commit is contained in:
Keith Holliday
2018-07-30 13:56:17 +08:00
committed by GitHub
parent 9205ec10b3
commit 2fc233e70f
4 changed files with 36 additions and 21 deletions

View File

@@ -344,14 +344,14 @@ export default {
this.tasksByType[task.type].splice(index, 1); this.tasksByType[task.type].splice(index, 1);
}, },
showMemberModal () { showMemberModal () {
// @TODO: Change these to options and add a custom event to members modal this.$root.$emit('habitica:show-member-modal', {
this.$store.state.memberModalOptions.challengeId = this.challenge._id; challengeId: this.challenge._id,
this.$store.state.memberModalOptions.groupId = 'challenge'; // @TODO: change these terrible settings groupId: 'challenge', // @TODO: change these terrible settings
this.$store.state.memberModalOptions.group = this.group; group: this.group,
this.$store.state.memberModalOptions.memberCount = this.challenge.memberCount; memberCount: this.challenge.memberCount,
this.$store.state.memberModalOptions.viewingMembers = this.members; viewingMembers: this.members,
this.$store.state.memberModalOptions.fetchMoreMembers = this.loadMembers; fetchMoreMembers: this.loadMembers,
this.$root.$emit('bv::show::modal', 'members-modal'); });
}, },
async joinChallenge () { async joinChallenge () {
this.user.challenges.push(this.searchId); this.user.challenges.push(this.searchId);

View File

@@ -126,7 +126,7 @@
.sidebar { .sidebar {
background-color: $gray-600; background-color: $gray-600;
padding-bottom: 2em; padding-bottom: 2em;
} }
.buttons-wrapper { .buttons-wrapper {
@@ -426,12 +426,13 @@ export default {
return this.$store.dispatch('members:getGroupMembers', payload); return this.$store.dispatch('members:getGroupMembers', payload);
}, },
showMemberModal () { showMemberModal () {
this.$store.state.memberModalOptions.groupId = this.group._id; this.$root.$emit('habitica:show-member-modal', {
this.$store.state.memberModalOptions.group = this.group; groupId: this.group._id,
this.$store.state.memberModalOptions.memberCount = this.group.memberCount; group: this.group,
this.$store.state.memberModalOptions.viewingMembers = this.members; memberCount: this.group.memberCount,
this.$store.state.memberModalOptions.fetchMoreMembers = this.loadMembers; viewingMembers: this.members,
this.$root.$emit('bv::show::modal', 'members-modal'); fetchMoreMembers: this.loadMembers,
});
}, },
fetchRecentMessages () { fetchRecentMessages () {
this.fetchGuild(); this.fetchGuild();

View File

@@ -278,7 +278,20 @@ export default {
}; };
}, },
mounted () { mounted () {
this.getMembers(); this.$root.$on('habitica:show-member-modal', (data) => {
// @TODO: Remove store
this.$store.state.memberModalOptions.challengeId = data.challengeId;
this.$store.state.memberModalOptions.groupId = data.groupId;
this.$store.state.memberModalOptions.group = data.group;
this.$store.state.memberModalOptions.memberCount = data.memberCount;
this.$store.state.memberModalOptions.viewingMembers = data.viewingMembers;
this.$store.state.memberModalOptions.fetchMoreMembers = data.fetchMoreMembers;
this.$root.$emit('bv::show::modal', 'members-modal');
this.getMembers();
});
},
destroyed () {
this.$root.$off('habitica:show-member-modal');
}, },
computed: { computed: {
...mapState({user: 'user.data'}), ...mapState({user: 'user.data'}),
@@ -363,6 +376,7 @@ export default {
}); });
this.invites = invites; this.invites = invites;
} }
if (this.$store.state.memberModalOptions.viewingMembers.length > 0) { if (this.$store.state.memberModalOptions.viewingMembers.length > 0) {
this.members = this.$store.state.memberModalOptions.viewingMembers; this.members = this.$store.state.memberModalOptions.viewingMembers;
} }

View File

@@ -176,11 +176,11 @@ export default {
} }
}, },
showPartyMembers () { showPartyMembers () {
// Set the party details for the members-modal component this.$root.$emit('habitica:show-member-modal', {
this.$store.state.memberModalOptions.groupId = this.user.party._id; groupId: this.user.party._id,
this.$store.state.memberModalOptions.viewingMembers = this.partyMembers; viewingMembers: this.partyMembers,
this.$store.state.memberModalOptions.group = this.user.party; group: this.user.party,
this.$root.$emit('bv::show::modal', 'members-modal'); });
}, },
setPartyMembersWidth ($event) { setPartyMembersWidth ($event) {
if (this.currentWidth !== $event.width) { if (this.currentWidth !== $event.width) {