Update loadAllMembers() to add the member labels functionnality
This commit is contained in:
parent
47e047a082
commit
b8bbe9e7b9
@ -400,15 +400,15 @@ class ChatElement extends HTMLElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async loadAllMembers() {
|
private async loadAllMembers() {
|
||||||
console.log('🎯 Loading all members');
|
|
||||||
const groupList = this.shadowRoot?.querySelector('#group-list');
|
const groupList = this.shadowRoot?.querySelector('#group-list');
|
||||||
if (!groupList) return;
|
if (!groupList) return;
|
||||||
|
|
||||||
const service = await Services.getInstance();
|
const service = await Services.getInstance();
|
||||||
const members = await service.getAllMembers();
|
const members = await service.getAllMembers();
|
||||||
console.log("MEMBERS: ", members);
|
const database = await Database.getInstance();
|
||||||
|
const db = database.db;
|
||||||
|
|
||||||
const memberList = document.createElement('div');
|
const memberList = document.createElement('ul');
|
||||||
memberList.className = 'member-list active';
|
memberList.className = 'member-list active';
|
||||||
|
|
||||||
for (const [processId, member] of Object.entries(members)) {
|
for (const [processId, member] of Object.entries(members)) {
|
||||||
@ -422,19 +422,52 @@ class ChatElement extends HTMLElement {
|
|||||||
emojiSpan.className = 'member-emoji';
|
emojiSpan.className = 'member-emoji';
|
||||||
|
|
||||||
const emojis = await addressToEmoji(processId);
|
const emojis = await addressToEmoji(processId);
|
||||||
emojiSpan.textContent = `Member : ${emojis}`;
|
emojiSpan.dataset.emojis = emojis;
|
||||||
|
|
||||||
|
const transaction = db.transaction("labels", "readonly");
|
||||||
|
const store = transaction.objectStore("labels");
|
||||||
|
const request = store.get(emojis);
|
||||||
|
|
||||||
|
request.onsuccess = () => {
|
||||||
|
const label = request.result;
|
||||||
|
emojiSpan.textContent = label ? `${label.label} (${emojis})` : `Member (${emojis})`;
|
||||||
|
};
|
||||||
|
|
||||||
|
request.onerror = () => {
|
||||||
|
emojiSpan.textContent = `Member (${emojis})`;
|
||||||
|
};
|
||||||
|
|
||||||
memberContainer.appendChild(emojiSpan);
|
memberContainer.appendChild(emojiSpan);
|
||||||
memberItem.appendChild(memberContainer);
|
memberItem.appendChild(memberContainer);
|
||||||
memberList.appendChild(memberItem);
|
|
||||||
|
|
||||||
memberItem.addEventListener('click', async () => {
|
memberItem.addEventListener('click', async () => {
|
||||||
try {
|
|
||||||
await this.loadMemberChat(processId);
|
await this.loadMemberChat(processId);
|
||||||
} catch (error) {
|
|
||||||
console.error('Error loading member chat:', error);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const editLabelButton = document.createElement('span');
|
||||||
|
editLabelButton.className = 'edit-label-button';
|
||||||
|
editLabelButton.textContent = "✏️";
|
||||||
|
|
||||||
|
editLabelButton.addEventListener("dblclick", async (event) => {
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
const newLabel = prompt("Set a new name for the member:");
|
||||||
|
if (!newLabel) return;
|
||||||
|
|
||||||
|
const editTransaction = db.transaction("labels", "readwrite");
|
||||||
|
const editStore = editTransaction.objectStore("labels");
|
||||||
|
|
||||||
|
const labelObject = { emoji: emojis, label: newLabel };
|
||||||
|
const putRequest = editStore.put(labelObject);
|
||||||
|
|
||||||
|
putRequest.onsuccess = () => {
|
||||||
|
emojiSpan.textContent = `${newLabel} : ${emojis}`;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
memberList.appendChild(memberItem);
|
||||||
|
memberList.appendChild(editLabelButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
groupList.appendChild(memberList);
|
groupList.appendChild(memberList);
|
||||||
@ -449,7 +482,7 @@ class ChatElement extends HTMLElement {
|
|||||||
const recipientAddresses = memberAddresses.sp_addresses;
|
const recipientAddresses = memberAddresses.sp_addresses;
|
||||||
for (const [processId, process] of Object.entries(processes)) {
|
for (const [processId, process] of Object.entries(processes)) {
|
||||||
const description = await service.getDescription(processId, process);
|
const description = await service.getDescription(processId, process);
|
||||||
console.log('Process description:', description);
|
// console.log('Process description:', description);
|
||||||
if (description !== "dm") {
|
if (description !== "dm") {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user