Merge branch 'develop' of ssh://ognproject.evlt.uma.es:21987/opengnsys/oggui into develop

pull/19/head
Manuel Aranda Rosales 2025-03-31 14:37:52 +02:00
commit 945ae8ca0b
1 changed files with 9 additions and 7 deletions

View File

@ -106,25 +106,27 @@ export class GlobalStatusComponent implements OnInit {
const timeoutId = setTimeout(() => { const timeoutId = setTimeout(() => {
this.loading = false; this.loading = false;
this.repositories.forEach(repository => { this.repositories.forEach(repository => {
this.errorRepositories[repository.uuid] = true; if (!(repository.uuid in this.errorRepositories)) {
this.errorRepositories[repository.uuid] = true;
}
}); });
}, 5000); }, 5000);
this.http.get<any>(`${this.repositoriesUrl}?page=1&itemsPerPage=10`).subscribe( this.http.get<any>(`${this.repositoriesUrl}?page=1&itemsPerPage=10`).subscribe(
data => { data => {
this.repositories = data['hydra:member']; this.repositories = data['hydra:member'];
let remainingRepositories = this.repositories.length; let remainingRepositories = this.repositories.length;
this.repositories.forEach(repository => { this.repositories.forEach(repository => {
this.loadRepositoryStatus(repository.uuid, (errorOccurred: boolean) => { this.loadRepositoryStatus(repository.uuid, (errorOccurred: boolean) => {
remainingRepositories--; remainingRepositories--;
this.errorRepositories[repository.uuid] = errorOccurred;
if (remainingRepositories === 0) { if (remainingRepositories === 0) {
this.loading = false; this.loading = false;
clearTimeout(timeoutId); clearTimeout(timeoutId);
} }
if (errorOccurred) {
this.errorRepositories[repository.uuid] = true;
} else {
this.errorRepositories[repository.uuid] = false;
}
}); });
}); });
}, },
@ -138,7 +140,7 @@ export class GlobalStatusComponent implements OnInit {
} }
); );
} }
loadRepositoryStatus(repositoryUuid: string, callback: (errorOccurred: boolean) => void): void { loadRepositoryStatus(repositoryUuid: string, callback: (errorOccurred: boolean) => void): void {
const timeoutId = setTimeout(() => { const timeoutId = setTimeout(() => {
callback(true); callback(true);