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

View File

@ -1087,7 +1087,9 @@ class ChatElement extends HTMLElement {
const service = await Services.getInstance(); const service = await Services.getInstance();
const allProcesses: Record<string, Process> = await service.getProcesses(); const allProcesses: Record<string, Process> = await service.getProcesses();
console.log('All processes:', allProcesses);
const myProcesses: string[] = await service.getMyProcesses(); const myProcesses: string[] = await service.getMyProcesses();
console.log('My processes:', myProcesses);
const groupList = this.shadowRoot?.querySelector('#group-list'); const groupList = this.shadowRoot?.querySelector('#group-list');
if (!groupList) { 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( const sortedEntries = Object.entries(allProcesses).sort(
([keyA], [keyB]) => { ([keyA], [keyB]) => {
const inSetA = myProcesses.includes(keyA); const inSetA = myProcesses.includes(keyA);

View File

@ -1394,15 +1394,13 @@ export default class Services {
} }
public getLastCommitedState(process: Process): ProcessState { public getLastCommitedState(process: Process): ProcessState {
if (process.states.length === 0) return null; if (!process || !process.states || process.states.length === 0) {
const processTip = process.states[process.states.length - 1].commited_in; console.error('Invalid process or no states');
const lastCommitedState = process.states.findLast(state => state.commited_in !== processTip); return null;
if (lastCommitedState) {
return lastCommitedState;
} else {
console.error('Can\'t find last commited state');
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 { public isPairingProcess(roles: Record<string, RoleDefinition>): boolean {