refs #1505. Refactor Groups component to use arrayClients for filtering
testing/ogGui-multibranch/pipeline/head There was a failure building this commit
Details
testing/ogGui-multibranch/pipeline/head There was a failure building this commit
Details
parent
bada1762aa
commit
c8c1bdd0bd
|
@ -187,17 +187,12 @@
|
|||
<div *ngIf="hasClients; else noClientsTemplate">
|
||||
<!-- Cards view -->
|
||||
<div class="clients-grid" *ngIf="currentView === 'card'">
|
||||
<div *ngFor="let client of selectedClients.data" class="client-item">
|
||||
<div *ngFor="let client of arrayClients" class="client-item">
|
||||
<div class="client-card">
|
||||
<mat-checkbox (click)="$event.stopPropagation()"
|
||||
(change)="toggleRow(client)"
|
||||
[checked]="selection.isSelected(client)"
|
||||
[disabled]="client.status === 'busy'"
|
||||
>
|
||||
<mat-checkbox (click)="$event.stopPropagation()" (change)="toggleRow(client)"
|
||||
[checked]="selection.isSelected(client)" [disabled]="client.status === 'busy'">
|
||||
</mat-checkbox>
|
||||
<img
|
||||
[src]="'assets/images/ordenador_' + client.status + '.png'"
|
||||
alt="Client Icon"
|
||||
<img [src]="'assets/images/ordenador_' + client.status + '.png'" alt="Client Icon"
|
||||
class="client-image" />
|
||||
|
||||
<div class="client-details">
|
||||
|
@ -205,24 +200,17 @@
|
|||
<span class="client-ip">{{ client.ip }}</span>
|
||||
<span class="client-ip">{{ client.mac }}</span>
|
||||
<div class="action-icons">
|
||||
<button
|
||||
*ngIf="(!syncStatus || syncingClientId !== client.uuid)"
|
||||
mat-icon-button color="primary"
|
||||
<button *ngIf="(!syncStatus || syncingClientId !== client.uuid)" mat-icon-button color="primary"
|
||||
(click)="getStatus(client, selectedNode)">
|
||||
<mat-icon>sync</mat-icon>
|
||||
</button>
|
||||
|
||||
<button
|
||||
*ngIf="syncStatus && syncingClientId === client.uuid"
|
||||
mat-icon-button color="primary">
|
||||
<button *ngIf="syncStatus && syncingClientId === client.uuid" mat-icon-button color="primary">
|
||||
<mat-spinner diameter="24"></mat-spinner>
|
||||
</button>
|
||||
|
||||
<app-execute-command
|
||||
[clientData]="[client]"
|
||||
[buttonType]="'icon'"
|
||||
[icon]="'terminal'"
|
||||
></app-execute-command>
|
||||
<app-execute-command [clientData]="[client]" [buttonType]="'icon'"
|
||||
[icon]="'terminal'"></app-execute-command>
|
||||
|
||||
<button mat-icon-button [matMenuTriggerFor]="clientMenu" color="primary">
|
||||
<mat-icon>more_vert</mat-icon>
|
||||
|
|
|
@ -125,6 +125,8 @@ export class GroupsComponent implements OnInit, OnDestroy {
|
|||
client.mac?.toLowerCase().includes(lowerTerm)
|
||||
);
|
||||
};
|
||||
|
||||
this.arrayClients = this.selectedClients.data;
|
||||
}
|
||||
|
||||
|
||||
|
@ -308,6 +310,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
|
|||
this.http.get<any>(`${this.baseUrl}/clients?organizationalUnit.id=${node.id}`).subscribe({
|
||||
next: (response) => {
|
||||
this.selectedClients.data = response['hydra:member'];
|
||||
this.arrayClients = this.selectedClients.data;
|
||||
this.hasClients = node.hasClients ?? false;
|
||||
this.isLoadingClients = false;
|
||||
this.initialLoading = false;
|
||||
|
@ -400,16 +403,12 @@ export class GroupsComponent implements OnInit, OnDestroy {
|
|||
|
||||
|
||||
onDeleteClick(event: MouseEvent, entity: TreeNode | Client | null): void {
|
||||
console.log('Entity to delete:', entity);
|
||||
event.stopPropagation();
|
||||
if (!entity) return;
|
||||
|
||||
const uuid = entity['@id'] ? this.extractUuid(entity['@id']) : null;
|
||||
const type = entity.hasOwnProperty('mac') ? NodeType.Client : NodeType.OrganizationalUnit;
|
||||
|
||||
console.log('UUID:', uuid);
|
||||
console.log('Type:', type);
|
||||
|
||||
if (!uuid) return;
|
||||
|
||||
const dialogRef = this.dialog.open(DeleteModalComponent, {
|
||||
|
@ -596,6 +595,7 @@ export class GroupsComponent implements OnInit, OnDestroy {
|
|||
filterClients(searchTerm: string): void {
|
||||
this.searchTerm = searchTerm.trim().toLowerCase();
|
||||
this.selectedClients.filter = this.searchTerm;
|
||||
this.arrayClients = this.selectedClients.filteredData;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue