load_allgroup_ok
This commit is contained in:
parent
34ce754be4
commit
ce25ecc237
@ -121,10 +121,6 @@ class ChatElement extends HTMLElement {
|
|||||||
});
|
});
|
||||||
this.initMessageEvents();
|
this.initMessageEvents();
|
||||||
|
|
||||||
document.addEventListener('newMessagingProcess', ((event: CustomEvent) => {
|
|
||||||
console.log('🎯 Received newMessagingProcess event:', event.detail);
|
|
||||||
this.addNewMessagingProcess(event.detail.processId, event.detail.processName);
|
|
||||||
}) as EventListener);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
attributeChangedCallback(name: string, oldValue: string, newValue: string) {
|
attributeChangedCallback(name: string, oldValue: string, newValue: string) {
|
||||||
@ -628,32 +624,18 @@ class ChatElement extends HTMLElement {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
groupList.innerHTML = '';
|
const processes = await this.getProcesses();
|
||||||
const service = await Services.getInstance();
|
|
||||||
|
|
||||||
// Récupérer tous les processus
|
|
||||||
const processes = await service.getProcesses();
|
|
||||||
console.log('All processes here:', processes);
|
|
||||||
|
|
||||||
if (!processes || Object.keys(processes).length === 0) {
|
if (!processes || Object.keys(processes).length === 0) {
|
||||||
console.log('⚠️ No processes found');
|
console.log('⚠️ No processes found');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pour chaque processus, récupérer et afficher les rôles
|
for (const {key} of processes) {
|
||||||
/*for (const [processId, process] of Object.entries(processes)) {
|
const processName = await key;
|
||||||
console.log(`🔄 Processing: ${processId}`, process);
|
console.log("Je suis l'id process de la boucle :" ,processName);
|
||||||
const roles = await this.getRoles(process);
|
this.loadGroupListFromAProcess(processName);
|
||||||
console.log(`👥 Roles for ${processId}:`, roles);
|
|
||||||
|
|
||||||
if (roles === null) {
|
|
||||||
console.error(`❌ No roles in process ${processId}`);
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`📝 Loading group list for process ${processId}`);
|
|
||||||
await this.loadGroupListFromAProcess(processId);
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async loadGroupListFromAProcess(processId: string): Promise<void> {
|
private async loadGroupListFromAProcess(processId: string): Promise<void> {
|
||||||
@ -925,26 +907,27 @@ class ChatElement extends HTMLElement {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async getProcesses(): Promise<any[]> {
|
||||||
|
const service = await Services.getInstance();
|
||||||
|
const processes = await service.getProcesses();
|
||||||
|
|
||||||
|
const res = Object.entries(processes).map(([key, value]) => ({
|
||||||
|
key,
|
||||||
|
value,
|
||||||
|
}));
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
async connectedCallback() {
|
async connectedCallback() {
|
||||||
console.log('🔍 Connected Callback started');
|
console.log('🔍 Connected Callback started');
|
||||||
|
|
||||||
// Log du contenu d'IndexedDB
|
|
||||||
const dbRequest = indexedDB.open('4nk');
|
|
||||||
dbRequest.onsuccess = (event: any) => {
|
|
||||||
const db = event.target.result;
|
|
||||||
const transaction = db.transaction('processes', 'readonly');
|
|
||||||
// Log des processes
|
|
||||||
const processesStore = transaction.objectStore('processes');
|
|
||||||
processesStore.getAll().onsuccess = (event: any) => {
|
|
||||||
console.log('🔄 Processes in IndexedDB:', event.target.result);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
if (this.processId) {
|
if (this.processId) {
|
||||||
console.log('🔍 Loading chat with process ID:', this.processId);
|
console.log('🔍 Loading chat with process ID:', this.processId);
|
||||||
this.loadGroupListFromAProcess(this.processId);
|
this.loadGroupListFromAProcess(this.processId);
|
||||||
} else {
|
} else {
|
||||||
console.error('❌ No process ID found in element attributes');
|
console.error('❌ No process ID found in element attributes');
|
||||||
|
this.loadAllGroupList();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si un membre est sélectionné par défaut, charger ses messages
|
// Si un membre est sélectionné par défaut, charger ses messages
|
||||||
@ -953,117 +936,6 @@ class ChatElement extends HTMLElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private addNewMessagingProcess(processId: string, processName: string) {
|
|
||||||
console.log('🎯 Début addNewMessagingProcess');
|
|
||||||
console.log('📝 ProcessId reçu:', processId);
|
|
||||||
|
|
||||||
// Stockage immédiat du processId
|
|
||||||
this.processId = processId;
|
|
||||||
console.log('💾 ProcessId stocké dans this.processId:', this.processId);
|
|
||||||
|
|
||||||
const groupList = this.shadowRoot?.querySelector('#group-list');
|
|
||||||
if (!groupList) {
|
|
||||||
console.error('Group list not found');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Vérification que le processId est bien stocké
|
|
||||||
console.log('Vérification this.processId après stockage:', this.processId);
|
|
||||||
|
|
||||||
const existingProcess = groupList.querySelector(`[data-process-id="${processId}"]`);
|
|
||||||
if (existingProcess) {
|
|
||||||
console.log('Process already exists:', processId);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const li = document.createElement('li');
|
|
||||||
li.className = 'group-list-item';
|
|
||||||
li.setAttribute('data-process-id', processId);
|
|
||||||
|
|
||||||
const container = document.createElement('div');
|
|
||||||
container.className = 'group-item-container';
|
|
||||||
|
|
||||||
const nameSpan = document.createElement('span');
|
|
||||||
nameSpan.textContent = processName;
|
|
||||||
nameSpan.className = 'process-name';
|
|
||||||
|
|
||||||
const emojiSpan = document.createElement('span');
|
|
||||||
emojiSpan.className = 'process-emoji';
|
|
||||||
|
|
||||||
addressToEmoji(processId).then(emojis => {
|
|
||||||
emojiSpan.textContent = emojis;
|
|
||||||
});
|
|
||||||
|
|
||||||
container.appendChild(nameSpan);
|
|
||||||
container.appendChild(emojiSpan);
|
|
||||||
li.appendChild(container);
|
|
||||||
|
|
||||||
const roleList = document.createElement('ul');
|
|
||||||
roleList.className = 'role-list';
|
|
||||||
roleList.style.display = 'none';
|
|
||||||
|
|
||||||
const roleItem = document.createElement('li');
|
|
||||||
roleItem.className = 'role-item';
|
|
||||||
roleItem.textContent = 'Messaging';
|
|
||||||
roleList.appendChild(roleItem);
|
|
||||||
|
|
||||||
li.appendChild(roleList);
|
|
||||||
groupList.appendChild(li);
|
|
||||||
|
|
||||||
console.log('🎯 New messaging process added successfully');
|
|
||||||
}
|
|
||||||
|
|
||||||
private async getExistingMessageProcess(parentId: string, spAddresses: string[]): Promise<any> {
|
|
||||||
try {
|
|
||||||
console.log('🔍 Recherche du processus message');
|
|
||||||
console.log('Parent ID:', parentId);
|
|
||||||
console.log('SP Addresses:', spAddresses);
|
|
||||||
|
|
||||||
const db = await Database.getInstance();
|
|
||||||
const processStore = 'processes';
|
|
||||||
|
|
||||||
// Récupérer le processus parent
|
|
||||||
const parentProcess = await db.getObject(processStore, parentId);
|
|
||||||
console.log('📂 Process parent trouvé dans IndexedDB:', {
|
|
||||||
store: processStore,
|
|
||||||
processId: parentId,
|
|
||||||
data: parentProcess
|
|
||||||
});
|
|
||||||
|
|
||||||
// Afficher la structure détaillée
|
|
||||||
if (parentProcess?.states) {
|
|
||||||
console.log('📝 States:', parentProcess.states);
|
|
||||||
console.log('🔐 Encrypted PCD:', parentProcess.states[0]?.encrypted_pcd);
|
|
||||||
console.log('🔄 Processes:', parentProcess.states[0]?.encrypted_pcd?.processes);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Chercher dans les states[0].encrypted_pcd.roles
|
|
||||||
const roles = parentProcess?.states?.[0]?.encrypted_pcd?.roles;
|
|
||||||
console.log('👥 Roles trouvés:', roles);
|
|
||||||
|
|
||||||
// Chercher le processus message dans les rôles
|
|
||||||
for (const role in roles) {
|
|
||||||
console.log(` Vérification du rôle: ${role}`);
|
|
||||||
const members = roles[role].members;
|
|
||||||
if (members?.some((member: any) =>
|
|
||||||
spAddresses.includes(member.sp_addresses[0])
|
|
||||||
)) {
|
|
||||||
console.log('✅ Membre trouvé dans le rôle:', role);
|
|
||||||
return {
|
|
||||||
description: 'messaging',
|
|
||||||
parent_id: parentId,
|
|
||||||
roles: roles
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log('❌ Aucun processus message correspondant trouvé');
|
|
||||||
return null;
|
|
||||||
} catch (error) {
|
|
||||||
console.error('❌ Erreur recherche processus:', error);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
customElements.define('chat-element', ChatElement);
|
customElements.define('chat-element', ChatElement);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user