load myprocesses ok

This commit is contained in:
NicolasCantu 2025-03-24 17:02:24 +01:00
parent 05dddd9567
commit bb277706fd
3 changed files with 26 additions and 25 deletions

View File

@ -757,7 +757,7 @@ private editDeviceName(cell: HTMLTableCellElement): void {
input.focus();
}
private finishEditing(cell: HTMLTableCellElement, input: HTMLInputElement): void {
private async finishEditing(cell: HTMLTableCellElement, input: HTMLInputElement): Promise<void> {
const newValue = input.value.trim();
if (newValue === '') {
cell.textContent = cell.getAttribute('data-original-value') || '';
@ -765,24 +765,25 @@ private finishEditing(cell: HTMLTableCellElement, input: HTMLInputElement): void
return;
}
const row = cell.closest('tr');
if (!row) return;
try {
const service = await Services.getInstance();
const pairingProcessId = service.getPairingProcessId();
const process = await service.getProcess(pairingProcessId);
// Mettre à jour le nom via le service
await service.updateMemberPublicName(process, newValue);
const table = row.closest('tbody');
if (!table) return;
const index = Array.from(table.children).indexOf(row);
const storageKey = STORAGE_KEYS[currentMode];
const rows: Row[] = JSON.parse(localStorage.getItem(storageKey) || '[]');
if (rows[index]) {
rows[index].column2 = newValue;
localStorage.setItem(storageKey, JSON.stringify(rows));
// Mettre à jour l'interface
cell.textContent = newValue;
cell.classList.remove('editing');
} catch (error) {
console.error('Failed to update name:', error);
// Restaurer l'ancienne valeur en cas d'erreur
cell.textContent = cell.getAttribute('data-original-value') || '';
cell.classList.remove('editing');
}
cell.textContent = newValue;
cell.classList.remove('editing');
}
// Fonction pour gérer le téléchargement de l'avatar
private handleAvatarUpload(event: Event): void {
const input = event.target as HTMLInputElement;

View File

@ -1087,7 +1087,9 @@ class ChatElement extends HTMLElement {
const service = await Services.getInstance();
const allProcesses: Record<string, Process> = await service.getProcesses();
console.log('All processes:', allProcesses);
const myProcesses: string[] = await service.getMyProcesses();
console.log('My processes:', myProcesses);
const groupList = this.shadowRoot?.querySelector('#group-list');
if (!groupList) {
@ -1116,7 +1118,7 @@ class ChatElement extends HTMLElement {
});
});
//trier les processus : ceux de l'utilisateur en premier
// Trier les processus : ceux de l'utilisateur en premier
const sortedEntries = Object.entries(allProcesses).sort(
([keyA], [keyB]) => {
const inSetA = myProcesses.includes(keyA);

View File

@ -1394,15 +1394,13 @@ export default class Services {
}
public getLastCommitedState(process: Process): ProcessState {
if (process.states.length === 0) return null;
const processTip = process.states[process.states.length - 1].commited_in;
const lastCommitedState = process.states.findLast(state => state.commited_in !== processTip);
if (lastCommitedState) {
return lastCommitedState;
} else {
console.error('Can\'t find last commited state');
return null;
if (!process || !process.states || process.states.length === 0) {
console.error('Invalid process or no states');
return null;
}
// Dans la nouvelle structure, le premier état est le dernier état validé
return process.states[0];
}
public isPairingProcess(roles: Record<string, RoleDefinition>): boolean {