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');
|
const roleList = document.createElement('ul');
|
||||||
roleList.className = 'role-list';
|
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');
|
const roleItem = document.createElement('li');
|
||||||
roleItem.className = 'role-item';
|
roleItem.className = 'role-item';
|
||||||
|
|
||||||
@ -484,9 +485,24 @@ class ChatElement extends HTMLElement {
|
|||||||
roleNameSpan.className = 'role-name';
|
roleNameSpan.className = 'role-name';
|
||||||
roleNameSpan.textContent = roleName;
|
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) => {
|
roleContainer.addEventListener('click', (event) => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
this.toggleMembers(roles[roleName], roleItem);
|
this.toggleMembers(filteredRoleData, roleItem);
|
||||||
});
|
});
|
||||||
|
|
||||||
roleContainer.appendChild(roleNameSpan);
|
roleContainer.appendChild(roleNameSpan);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user