can show_roles_and_members
This commit is contained in:
parent
24310cf12a
commit
edbc966ff9
@ -356,6 +356,18 @@ body {
|
|||||||
padding-left: 4%;
|
padding-left: 4%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.signature-content {
|
||||||
|
padding: 10px;
|
||||||
|
background-color: var(--secondary-color);
|
||||||
|
color: var(--primary-color);
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 1%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
#close-signature {
|
#close-signature {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -1013,6 +1013,7 @@ class ChatElement extends HTMLElement {
|
|||||||
const li = document.createElement('li');
|
const li = document.createElement('li');
|
||||||
li.className = 'group-list-item';
|
li.className = 'group-list-item';
|
||||||
const oneProcess = process.states[0].commited_in;
|
const oneProcess = process.states[0].commited_in;
|
||||||
|
const roles = process.states[0].encrypted_pcd.roles;
|
||||||
|
|
||||||
// Si le processus est dans notre Set, ajouter la classe my-process
|
// Si le processus est dans notre Set, ajouter la classe my-process
|
||||||
if (this.userProcessSet && this.userProcessSet.has(oneProcess)) {
|
if (this.userProcessSet && this.userProcessSet.has(oneProcess)) {
|
||||||
@ -1041,6 +1042,10 @@ class ChatElement extends HTMLElement {
|
|||||||
signatureHeader.textContent = `Signature of ${emoji}`;
|
signatureHeader.textContent = `Signature of ${emoji}`;
|
||||||
}
|
}
|
||||||
this.openSignature();
|
this.openSignature();
|
||||||
|
|
||||||
|
//afficher les roles dans chaque processus
|
||||||
|
console.log('🎯 Roles de signature:', roles);
|
||||||
|
await this.loadAllRolesAndMembersInSignature(roles);
|
||||||
};
|
};
|
||||||
groupList.appendChild(li);
|
groupList.appendChild(li);
|
||||||
|
|
||||||
@ -1063,7 +1068,7 @@ class ChatElement extends HTMLElement {
|
|||||||
li.appendChild(container);
|
li.appendChild(container);
|
||||||
|
|
||||||
// afficher les roles dans chaque processus
|
// afficher les roles dans chaque processus
|
||||||
const roles = process.states[0].encrypted_pcd.roles;
|
|
||||||
//console.log('🎯 Roles:', roles);
|
//console.log('🎯 Roles:', roles);
|
||||||
const roleList = document.createElement('ul');
|
const roleList = document.createElement('ul');
|
||||||
roleList.className = 'role-list';
|
roleList.className = 'role-list';
|
||||||
@ -1128,6 +1133,49 @@ class ChatElement extends HTMLElement {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async loadAllRolesAndMembersInSignature(roles: any) {
|
||||||
|
console.log('🎯 Roles:', roles);
|
||||||
|
const signatureDescription = this.shadowRoot?.querySelector('.signature-description');
|
||||||
|
if (signatureDescription) {
|
||||||
|
signatureDescription.innerHTML = '';
|
||||||
|
Object.entries(roles).forEach(([roleName, roleData]: [string, any]) => {
|
||||||
|
const roleItem = document.createElement('li');
|
||||||
|
roleItem.className = 'role-signature';
|
||||||
|
|
||||||
|
const roleContainer = document.createElement('div');
|
||||||
|
roleContainer.className = 'role-signature-container';
|
||||||
|
|
||||||
|
const roleNameSpan = document.createElement('span');
|
||||||
|
roleNameSpan.className = 'role-signature-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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const filteredRoleData = {
|
||||||
|
...roleData,
|
||||||
|
members: Array.from(uniqueMembers.values())
|
||||||
|
};
|
||||||
|
|
||||||
|
roleContainer.addEventListener('click', async (event) => {
|
||||||
|
console.log("CLICKED ON ROLE:", roleName);
|
||||||
|
event.stopPropagation();
|
||||||
|
await this.toggleMembers(filteredRoleData, roleItem);
|
||||||
|
});
|
||||||
|
|
||||||
|
roleContainer.appendChild(roleNameSpan);
|
||||||
|
roleItem.appendChild(roleContainer);
|
||||||
|
signatureDescription.appendChild(roleItem);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//fonction qui ferme la signature
|
//fonction qui ferme la signature
|
||||||
private closeSignature() {
|
private closeSignature() {
|
||||||
const closeSignature = this.shadowRoot?.querySelector('#close-signature');
|
const closeSignature = this.shadowRoot?.querySelector('#close-signature');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user