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>
</button>
<div class="content">
@for (sortLetter of this.sortAllUsers(); track sortLetter) {
<div class="first-letter">{{ sortLetter.firstName }}</div>
@for (sortLetter of this.checkUsersFirstLetter(); track sortLetter) {
<div class="first-letter">{{ sortLetter }}</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) {
<div class="contact" routerLink="/contacts/{{ user.id }}">
<div

View file

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