all_processes_ok
This commit is contained in:
parent
fd0d64a8f9
commit
1fe4fcb0a6
@ -699,7 +699,66 @@ class ChatElement extends HTMLElement {
|
||||
roleList.className = 'role-list';
|
||||
(roleList as HTMLElement).style.display = 'none';
|
||||
|
||||
li.appendChild(roleList);
|
||||
// Traiter chaque rôle
|
||||
Object.entries(roles).forEach(([roleName, roleData]: [string, any]) => {
|
||||
const roleItem = document.createElement('li');
|
||||
roleItem.className = 'role-item';
|
||||
|
||||
const roleContainer = document.createElement('div');
|
||||
roleContainer.className = 'role-item-container';
|
||||
|
||||
const roleNameSpan = document.createElement('span');
|
||||
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(filteredRoleData, roleItem);
|
||||
});
|
||||
|
||||
roleContainer.appendChild(roleNameSpan);
|
||||
roleItem.appendChild(roleContainer);
|
||||
roleList.appendChild(roleItem);
|
||||
});
|
||||
|
||||
li.appendChild(roleList);
|
||||
groupList.appendChild(li);
|
||||
|
||||
|
||||
// Ajouter un écouteur d'événements pour gérer le clic sur le container
|
||||
container.addEventListener('click', (event) => {
|
||||
event.stopPropagation();
|
||||
container.classList.toggle('expanded');
|
||||
const roleList = container.parentElement?.querySelector('.role-list');
|
||||
const dm = container.parentElement?.querySelector('.dm');
|
||||
|
||||
if (roleList) {
|
||||
// Si le container est expanded, on montre la liste des rôles
|
||||
if (container.classList.contains('expanded')) {
|
||||
(roleList as HTMLElement).style.display = 'block';
|
||||
if (dm) (dm as HTMLElement).style.display = 'block';
|
||||
} else {
|
||||
// Sinon on cache la liste des rôles
|
||||
(roleList as HTMLElement).style.display = 'none';
|
||||
if (dm) (dm as HTMLElement).style.display = 'none';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user