fix(inventory): add disk type badge to client details and partition selector views
testing/ogGui-multibranch/pipeline/head There was a failure building this commit Details
oggui-debian-package/pipeline/head This commit looks good Details

pull/98/head
Juan Manuel Bardallo 2026-07-31 13:58:02 +02:00
parent 41b0974608
commit 4154e18ab6
6 changed files with 42 additions and 6 deletions

View File

@ -191,6 +191,17 @@ table {
color: #3f51b5; color: #3f51b5;
font-weight: bold; font-weight: bold;
} }
.badge-disk-type {
display: inline-block;
padding: 2px 6px;
font-size: 11px;
font-weight: bold;
color: #fff;
background-color: #607d8b;
border-radius: 4px;
margin-left: 8px;
vertical-align: middle;
}
.disk-card-metrics-wrapper { .disk-card-metrics-wrapper {
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -46,7 +46,11 @@
<div class="disk-card-wrapper"> <div class="disk-card-wrapper">
<mat-card class="disk-mat-card mat-elevation-z4"> <mat-card class="disk-mat-card mat-elevation-z4">
<div class="disk-card-header"> <div class="disk-card-header">
<h3 class="disk-card-title">Disco {{ disk.diskNumber }}</h3> <h3 class="disk-card-title">Disco {{ disk.diskNumber }}
@if (disk.diskType) {
<span class="badge-disk-type">{{ disk.diskType }}</span>
}
</h3>
<div class="disk-card-metrics-wrapper"> <div class="disk-card-metrics-wrapper">
<mat-chip class="disk-card-metrics-chip"> <mat-chip class="disk-card-metrics-chip">
Total: {{ disk.total.toFixed(2) }} GB &nbsp;|&nbsp; Usado: {{ (disk.used).toFixed(2) }} GB ({{ Total: {{ disk.total.toFixed(2) }} GB &nbsp;|&nbsp; Usado: {{ (disk.used).toFixed(2) }} GB ({{

View File

@ -133,7 +133,7 @@ export class ClientDetailsComponent {
} }
calculateDiskUsage() { calculateDiskUsage() {
const diskUsageMap = new Map<number, { total: number, used: number, partitions: any[] }>(); const diskUsageMap = new Map<number, { total: number, used: number, partitions: any[], diskType?: string }>();
this.partitions.forEach((partition: any) => { this.partitions.forEach((partition: any) => {
const diskNumber = partition.diskNumber; const diskNumber = partition.diskNumber;
@ -146,13 +146,14 @@ export class ClientDetailsComponent {
if (partition.partitionNumber === 0) { if (partition.partitionNumber === 0) {
diskData!.total = Number((partition.size / 1024).toFixed(2)); diskData!.total = Number((partition.size / 1024).toFixed(2));
diskData!.diskType = partition.diskType;
} else { } else {
diskData!.used += Number((partition.size / 1024).toFixed(2)); diskData!.used += Number((partition.size / 1024).toFixed(2));
diskData!.partitions.push(partition); diskData!.partitions.push(partition);
} }
}); });
this.chartDisk = Array.from(diskUsageMap.entries()).map(([diskNumber, { total, used, partitions }]) => { this.chartDisk = Array.from(diskUsageMap.entries()).map(([diskNumber, { total, used, partitions, diskType }]) => {
const partitionData = partitions.map(partition => ({ const partitionData = partitions.map(partition => ({
name: `${this.translate.instant('labelPartition')} ${partition.partitionNumber}`, name: `${this.translate.instant('labelPartition')} ${partition.partitionNumber}`,
value: Number((partition.size / 1024).toFixed(2)) value: Number((partition.size / 1024).toFixed(2))
@ -172,7 +173,8 @@ export class ClientDetailsComponent {
total, total,
used, used,
percentage: total > 0 ? Math.round((used / total) * 100) : 0, percentage: total > 0 ? Math.round((used / total) * 100) : 0,
partitions partitions,
diskType
}; };
}); });

View File

@ -32,6 +32,18 @@
font-weight: bold; font-weight: bold;
} }
.badge-disk-type {
display: inline-block;
padding: 2px 6px;
font-size: 11px;
font-weight: bold;
color: #fff;
background-color: #607d8b;
border-radius: 4px;
margin-left: 8px;
vertical-align: middle;
}
.disk-card-layout { .disk-card-layout {
display: flex; display: flex;
align-items: stretch; align-items: stretch;

View File

@ -3,7 +3,11 @@
<div class="disk-card-wrapper"> <div class="disk-card-wrapper">
<mat-card class="disk-mat-card mat-elevation-z4"> <mat-card class="disk-mat-card mat-elevation-z4">
<div class="disk-card-header"> <div class="disk-card-header">
<h3 class="disk-card-title">Disco {{ disk.diskNumber }}</h3> <h3 class="disk-card-title">Disco {{ disk.diskNumber }}
@if (disk.diskType) {
<span class="badge-disk-type">{{ disk.diskType }}</span>
}
</h3>
</div> </div>
<div class="disk-card-layout"> <div class="disk-card-layout">

View File

@ -43,9 +43,12 @@ export class DiskPartitionSelectorComponent implements OnChanges {
for (const diskNum in grouped) { for (const diskNum in grouped) {
if (grouped.hasOwnProperty(diskNum)) { if (grouped.hasOwnProperty(diskNum)) {
const diskPartitions = grouped[diskNum];
const partitionZero = diskPartitions.find((p: any) => p.partitionNumber === 0);
this.diskUsageData.push({ this.diskUsageData.push({
diskNumber: diskNum, diskNumber: diskNum,
partitions: grouped[diskNum] partitions: diskPartitions,
diskType: partitionZero ? partitionZero.diskType : undefined
}); });
} }
} }