diff --git a/CHANGELOG.md b/CHANGELOG.md index db16a14..394f881 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ # Changelog +## [0.11.2] - 2025-4-16 +### Fixed +- Se ha corregido un error en la actualizacion del estado de los pcs en la vista tarjetas. + +--- ## [0.11.1] - 2025-4-16 ### Improved - Nuevos campos en la tabla de clientes. Tipo de firmware y mac. diff --git a/ogWebconsole/src/app/components/groups/groups.component.html b/ogWebconsole/src/app/components/groups/groups.component.html index c780882..116dbc3 100644 --- a/ogWebconsole/src/app/components/groups/groups.component.html +++ b/ogWebconsole/src/app/components/groups/groups.component.html @@ -198,8 +198,8 @@ delete {{ 'delete' | translate }} - + diff --git a/ogWebconsole/src/app/components/groups/groups.component.ts b/ogWebconsole/src/app/components/groups/groups.component.ts index 894fff1..0235ab9 100644 --- a/ogWebconsole/src/app/components/groups/groups.component.ts +++ b/ogWebconsole/src/app/components/groups/groups.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy, ViewChild, QueryList, ViewChildren } from '@angular/core'; +import {Component, OnInit, OnDestroy, ViewChild, QueryList, ViewChildren, ChangeDetectorRef} from '@angular/core'; import { HttpClient, HttpParams } from '@angular/common/http'; import { Router } from '@angular/router'; import { MatDialog } from '@angular/material/dialog'; @@ -110,7 +110,8 @@ export class GroupsComponent implements OnInit, OnDestroy { private joyrideService: JoyrideService, private breakpointObserver: BreakpointObserver, private toastr: ToastrService, - private configService: ConfigService + private configService: ConfigService, + private cd: ChangeDetectorRef, ) { this.baseUrl = this.configService.apiUrl; this.mercureUrl = this.configService.mercureUrl; @@ -175,23 +176,35 @@ export class GroupsComponent implements OnInit, OnDestroy { }) } - private updateClientStatus(clientUuid: string, newStatus: string): void { - const clientIndex = this.selectedClients.data.findIndex(client => client['@id'] === clientUuid); + private updateClientStatus(clientUuid: string, status: string): void { + let updated = false; - if (clientIndex !== -1) { + const index = this.arrayClients.findIndex(client => client['@id'] === clientUuid); + if (index !== -1) { + const updatedClient = {...this.arrayClients[index], status}; + this.arrayClients = [ + ...this.arrayClients.slice(0, index), + updatedClient, + ...this.arrayClients.slice(index + 1) + ]; + updated = true; + } + + const tableIndex = this.selectedClients.data.findIndex(client => client['@id'] === clientUuid); + + if (tableIndex !== -1) { const updatedClients = [...this.selectedClients.data]; - updatedClients[clientIndex] = { - ...updatedClients[clientIndex], - status: newStatus + updatedClients[tableIndex] = { + ...updatedClients[tableIndex], + status: status }; this.selectedClients.data = updatedClients; - this.arrayClients = updatedClients; + } - console.log(`Estado actualizado para el cliente ${clientUuid}: ${newStatus}`); - } else { - console.warn(`Cliente con UUID ${clientUuid} no encontrado en la lista.`); + if (updated) { + this.cd.detectChanges(); } } @@ -388,6 +401,9 @@ export class GroupsComponent implements OnInit, OnDestroy { this.http.get(`${this.baseUrl}/clients?organizationalUnit.id=${node.id}&page=${this.page + 1}&itemsPerPage=${this.itemsPerPage}`, { params }).subscribe({ next: (response: any) => { this.selectedClients.data = response['hydra:member']; + if (this.selectedNode) { + this.selectedNode.clients = response['hydra:member']; + } this.length = response['hydra:totalItems']; this.arrayClients = this.selectedClients.data; this.hasClients = this.selectedClients.data.length > 0; diff --git a/ogWebconsole/src/app/components/repositories/repositories.component.ts b/ogWebconsole/src/app/components/repositories/repositories.component.ts index b53de26..4a398de 100644 --- a/ogWebconsole/src/app/components/repositories/repositories.component.ts +++ b/ogWebconsole/src/app/components/repositories/repositories.component.ts @@ -60,7 +60,7 @@ export class RepositoriesComponent implements OnInit { cell: (repository: any) => `${this.datePipe.transform(repository.createdAt, 'dd/MM/yyyy hh:mm:ss')}` } ]; - isGitModuleInstalled: boolean = true; + isGitModuleInstalled: boolean = false; displayedColumns: string[] = ['id', 'name', 'ip', 'user', 'images', 'createdAt', 'actions']; constructor( diff --git a/ogWebconsole/src/app/components/repositories/show-monolitic-images/show-monolitic-images.component.html b/ogWebconsole/src/app/components/repositories/show-monolitic-images/show-monolitic-images.component.html index f9db89e..592c09d 100644 --- a/ogWebconsole/src/app/components/repositories/show-monolitic-images/show-monolitic-images.component.html +++ b/ogWebconsole/src/app/components/repositories/show-monolitic-images/show-monolitic-images.component.html @@ -10,7 +10,7 @@
- +