sort users

This commit is contained in:
Chneemann 2024-03-30 07:05:46 +01:00
parent 0dd00ce7bd
commit 459cd43ce5
2 changed files with 15 additions and 12 deletions

View file

@ -7,10 +7,10 @@
</div> </div>
</button> </button>
<div class="content"> <div class="content">
@for (sortLetter of this.sortAllUsers(); track sortLetter) { @for (sortLetter of this.checkUsersFirstLetter(); track sortLetter) {
<div class="first-letter">{{ sortLetter.firstName }}</div> <div class="first-letter">{{ sortLetter }}</div>
<div class="line"></div> <div class="line"></div>
@for (user of this.sortUsersFirstLetter(sortLetter.id); track user; let @for (user of this.sortUsersByFirstLetter(sortLetter); track user; let
index = $index) { index = $index) {
<div class="contact" routerLink="/contacts/{{ user.id }}"> <div class="contact" routerLink="/contacts/{{ user.id }}">
<div <div

View file

@ -36,18 +36,21 @@ export class ContactsComponent {
return this.userService.getUsers().filter((user) => user.initials !== 'G'); return this.userService.getUsers().filter((user) => user.initials !== 'G');
} }
sortAllUsers() { sortUsersByFirstLetter(sortLetter: string) {
return [...this.loadAllUserWithoutGuest()].sort((a, b) => return this.loadAllUserWithoutGuest().filter(
(a.initials?.toLowerCase() ?? '').localeCompare( (user) => user.initials.substring(0, 1) === sortLetter
b.initials?.toLowerCase() ?? ''
)
); );
} }
sortUsersFirstLetter(userId: string) { checkUsersFirstLetter() {
const filteredUsers = this.loadAllUserWithoutGuest().filter( let usersFirstLetter = [];
(user) => user.id === userId usersFirstLetter = Array.from(
new Set(
this.loadAllUserWithoutGuest().map((user) =>
user.firstName[0].toUpperCase()
)
)
); );
return filteredUsers; return usersFirstLetter;
} }
} }