Skip to content

Commit

Permalink
refs #89 fix member order in settings sidebar
Browse files Browse the repository at this point in the history
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
  • Loading branch information
Julien Veyssier committed Oct 3, 2021
1 parent 23b0d8d commit 5fd41e0
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 14 deletions.
13 changes: 2 additions & 11 deletions src/components/AppNavigationProjectItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ import AppNavigationItem from '@nextcloud/vue/dist/Components/AppNavigationItem'
import cospend from '../state'
import * as constants from '../constants'
import { Timer, strcmp } from '../utils'
import { Timer, getSortedMembers } from '../utils'
export default {
name: 'AppNavigationProjectItem',
Expand Down Expand Up @@ -146,16 +146,7 @@ export default {
return this.project.precision
},
sortedMembers() {
if (this.memberOrder === 'name') {
return this.members.slice().sort((a, b) => {
return strcmp(a.name, b.name)
})
} else if (this.memberOrder === 'balance') {
return this.members.slice().sort((a, b) => {
return b.balance - a.balance
})
}
return this.members
return getSortedMembers(this.members, this.memberOrder)
},
},
beforeMount() {
Expand Down
11 changes: 8 additions & 3 deletions src/components/SettingsTabSidebar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
</template>
</Multiselect>
<AppNavigationMemberItem
v-for="member in project.members"
v-for="member in sortedMembers"
:key="member.id"
:member="member"
:project-id="project.id"
Expand Down Expand Up @@ -156,12 +156,14 @@ import Multiselect from '@nextcloud/vue/dist/Components/Multiselect'
import AppNavigationItem from '@nextcloud/vue/dist/Components/AppNavigationItem'
import Avatar from '@nextcloud/vue/dist/Components/Avatar'
import { generateOcsUrl } from '@nextcloud/router'
import axios from '@nextcloud/axios'
import { getCurrentUser } from '@nextcloud/auth'
import { showError } from '@nextcloud/dialogs'
import cospend from '../state'
import * as constants from '../constants'
import { generateOcsUrl } from '@nextcloud/router'
import axios from '@nextcloud/axios'
import { getSortedMembers } from '../utils'
import AppNavigationMemberItem from './AppNavigationMemberItem'
export default {
Expand Down Expand Up @@ -206,6 +208,9 @@ export default {
memberList() {
return this.project.members
},
sortedMembers() {
return getSortedMembers(this.memberList, cospend.memberOrder)
},
activeMembers() {
return this.memberList.filter((member) => { return member.activated })
},
Expand Down
13 changes: 13 additions & 0 deletions src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@ export function getSmartMemberName(projectid, memberid) {
: getMemberName(projectid, memberid)
}

export function getSortedMembers(members, order) {
if (order === 'name') {
return members.slice().sort((a, b) => {
return strcmp(a.name, b.name)
})
} else if (order === 'balance') {
return members.slice().sort((a, b) => {
return b.balance - a.balance
})
}
return members
}

export function getCategory(projectid, catId) {
let icon, name, color
if (catId in cospend.hardCodedCategories) {
Expand Down

0 comments on commit 5fd41e0

Please sign in to comment.