no_duplicate_member_role
This commit is contained in:
parent
ed080cd712
commit
7e0eb4d450
@ -473,7 +473,8 @@ class ChatElement extends HTMLElement {
|
||||
const roleList = document.createElement('ul');
|
||||
roleList.className = 'role-list';
|
||||
|
||||
Object.keys(roles).forEach(roleName => {
|
||||
// Traiter chaque rôle
|
||||
Object.entries(roles).forEach(([roleName, roleData]: [string, any]) => {
|
||||
const roleItem = document.createElement('li');
|
||||
roleItem.className = 'role-item';
|
||||
|
||||
@ -484,9 +485,24 @@ class ChatElement extends HTMLElement {
|
||||
roleNameSpan.className = 'role-name';
|
||||
roleNameSpan.textContent = roleName;
|
||||
|
||||
// Filtrer les membres dupliqués ici, avant de les passer à toggleMembers
|
||||
const uniqueMembers = new Map<string, any>();
|
||||
roleData.members?.forEach((member: any) => {
|
||||
const spAddress = member.sp_addresses?.[0];
|
||||
if (spAddress && !uniqueMembers.has(spAddress)) {
|
||||
uniqueMembers.set(spAddress, member);
|
||||
}
|
||||
});
|
||||
|
||||
// Créer un nouveau roleData avec les membres uniques
|
||||
const filteredRoleData = {
|
||||
...roleData,
|
||||
members: Array.from(uniqueMembers.values())
|
||||
};
|
||||
|
||||
roleContainer.addEventListener('click', (event) => {
|
||||
event.stopPropagation();
|
||||
this.toggleMembers(roles[roleName], roleItem);
|
||||
this.toggleMembers(filteredRoleData, roleItem);
|
||||
});
|
||||
|
||||
roleContainer.appendChild(roleNameSpan);
|
||||
|
Loading…
x
Reference in New Issue
Block a user