refs #1969. Partition changes
testing/ogGui-multibranch/pipeline/head There was a failure building this commit Details

pull/22/head
Manuel Aranda Rosales 2025-05-08 17:09:56 +02:00
parent 7ea5013cf4
commit 757de78dc4
5 changed files with 123 additions and 75 deletions

View File

@ -72,7 +72,7 @@ button.remove-btn {
background-color: #dc3545;
color: white;
border-radius: 4px;
padding: 7px;
padding: 7px 10px;
}
button.remove-btn:hover {
@ -238,6 +238,34 @@ button.remove-btn:hover {
align-items: center;
}
.disk-space-info-container {
display: flex;
justify-self: start;
margin-top: 10px;
gap: 10px;
}
.disk-space-info {
padding: 16px;
background-color: #f9f9f9;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
display: flex;
gap: 12px;
margin: 16px auto;
}
.chip-free {
background-color: #d0f0c0; /* verde claro */
color: #2e7d32;
font-weight: 500;
}
.chip-full {
background-color: #ffcccb; /* rojo claro */
color: #c62828;
font-weight: 500;
}

View File

@ -87,10 +87,30 @@
<div class="partition-assistant" *ngIf="selectedDisk">
<div class="row-button">
<button class="action-button" (click)="addPartition(selectedDisk.diskNumber)">Añadir partición</button>
<button class="action-button" [disabled]="partitionCode === 'MSDOS'" (click)="addPartition(selectedDisk.diskNumber)">Añadir partición</button>
<mat-chip *ngIf="selectedModelClient.firmwareType">
Tabla de firmware: {{ selectedModelClient.firmwareType }}
Firmware: {{ selectedModelClient.firmwareType }}
</mat-chip>
<mat-chip color="info" *ngIf="partitionCode">
Tabla de particiones: {{ partitionCode }}
</mat-chip>
</div>
<mat-divider style="padding: 10px;"></mat-divider>
<div class="disk-space-info-container">
<div class="disk-space-info" [ngClass]="selectedDisk.used < selectedDisk.totalDiskSize ? 'chip-free' : 'chip-full'">
Espacio usado: {{ selectedDisk.used }} MB
</div>
<div class="disk-space-info" [ngClass]="selectedDisk.used < selectedDisk.totalDiskSize ? 'chip-free' : 'chip-full'">
Espacio libre: {{ selectedDisk.totalDiskSize - selectedDisk.used}} MB
</div>
<div class="disk-space-info">
Espacio total: {{ selectedDisk.totalDiskSize }} MB
</div>
</div>
<div class="row">
@ -104,7 +124,6 @@
<th>Tamaño (MB)</th>
<th>Tamaño (%)</th>
<th>Formatear</th>
<th>Eliminar</th>
</tr>
</thead>
<tbody>
@ -112,32 +131,32 @@
<tr *ngIf="!partition.removed">
<td>{{ partition.partitionNumber }}</td>
<td>
<select [(ngModel)]="partition.partitionCode" required>
<select [(ngModel)]="partition.partitionCode" required [disabled]="partition.partitionNumber === 1 && partitionCode === 'GPT'">
<option *ngFor="let type of partitionTypes" [value]="type.name">
{{ type.name }}
</option>
</select>
</td>
<td>
<select [(ngModel)]="partition.filesystem" required>
<select [(ngModel)]="partition.filesystem" required [disabled]="partition.partitionNumber === 1 && partitionCode === 'GPT'">
<option *ngFor="let type of filesystemTypes" [value]="type.name">
{{ type.name }}
</option>
</select>
</td>
<td>
<input type="number" [(ngModel)]="partition.size" required
<input [disabled]="partition.partitionNumber === 1 && partitionCode === 'GPT'" type="number" [(ngModel)]="partition.size" required
(input)="updatePartitionSize(selectedDisk.diskNumber, j, partition.size)" />
</td>
<td>
<input type="number" [(ngModel)]="partition.percentage"
<input [disabled]="partition.partitionNumber === 1 && partitionCode === 'GPT'" type="number" [(ngModel)]="partition.percentage"
(input)="updatePartitionSizeFromPercentage(selectedDisk.diskNumber, j, partition.percentage)" />
</td>
<td>
<input type="checkbox" [(ngModel)]="partition.format" />
<mat-checkbox type="checkbox" [(ngModel)]="partition.format" />
</td>
<td>
<button (click)="removePartition(selectedDisk.diskNumber, partition)" class="remove-btn">X</button>
<button mat-button *ngIf="partitionCode !== 'MSDOS'" (click)="removePartition(selectedDisk.diskNumber, partition)" class="remove-btn">X</button>
</td>
</tr>
</ng-container>

View File

@ -51,6 +51,7 @@ export class PartitionAssistantComponent implements OnInit{
allSelected = true;
selectedClients: any[] = [];
selectedModelClient: any = null;
partitionCode: string = '';
constructor(
private http: HttpClient,
@ -109,6 +110,7 @@ export class PartitionAssistantComponent implements OnInit{
(response) => {
this.data = response;
this.initializeDisks();
this.partitionCode = this.data.partitions[0].partitionCode;
},
(error) => {
console.error('Error al cargar los datos del cliente:', error);
@ -415,6 +417,7 @@ export class PartitionAssistantComponent implements OnInit{
}
updateDiskChart(disk: any) {
console.log('disk', disk);
disk.chartData = this.generateChartData(disk.partitions);
disk.used = this.calculateUsedSpace(disk.partitions);
disk.percentage = (disk.used / disk.totalDiskSize) * 100;

View File

@ -1,26 +1,26 @@
export const FILESYSTEM_TYPES = [
{ id: 1, name: 'EMPTY', description: 'EMPTY', active: 0 },
{ id: 2, name: 'CACHE', description: 'CACHE', active: 0 },
{ id: 22, name: '0', description: '', active: 0 },
{ id: 3, name: 'BTRFS', description: 'BTRFS', active: 0 },
{ id: 4, name: 'EXT2', description: 'EXT2', active: 0 },
{ id: 5, name: 'EXT3', description: 'EXT3', active: 0 },
{ id: 6, name: 'EXT4', description: 'EXT4', active: 0 },
{ id: 2, name: 'CACHE', description: 'CACHE', active: 0 },
{ id: 1, name: 'EMPTY', description: 'EMPTY', active: 0 },
{ id: 20, name: 'F2FS', description: 'F2FS', active: 0 },
{ id: 7, name: 'FAT12', description: 'FAT12', active: 0 },
{ id: 8, name: 'FAT16', description: 'FAT16', active: 0 },
{ id: 9, name: 'FAT32', description: 'FAT32', active: 0 },
{ id: 18, name: 'EXFAT', description: 'EXFAT', active: 0 },
{ id: 4, name: 'EXT2', description: 'EXT2', active: 0 },
{ id: 5, name: 'EXT3', description: 'EXT3', active: 0 },
{ id: 6, name: 'EXT4', description: 'EXT4', active: 0 },
{ id: 10, name: 'HFS', description: 'HFS', active: 0 },
{ id: 11, name: 'HFSPLUS', description: 'HFSPLUS', active: 0 },
{ id: 24, name: 'ISO9660', description: '', active: 0 },
{ id: 12, name: 'JFS', description: 'JFS', active: 0 },
{ id: 23, name: 'LINUX-LVM', description: '', active: 0 },
{ id: 19, name: 'LINUX-SWAP', description: 'LINUX-SWAP', active: 0 },
{ id: 21, name: 'NILFS2', description: 'NILFS2', active: 0 },
{ id: 13, name: 'NTFS', description: 'NTFS', active: 0 },
{ id: 14, name: 'REISERFS', description: 'REISERFS', active: 0 },
{ id: 15, name: 'REISER4', description: 'REISER4', active: 0 },
{ id: 14, name: 'REISERFS', description: 'REISERFS', active: 0 },
{ id: 16, name: 'UFS', description: 'UFS', active: 0 },
{ id: 17, name: 'XFS', description: 'XFS', active: 0 },
{ id: 18, name: 'EXFAT', description: 'EXFAT', active: 0 },
{ id: 19, name: 'LINUX-SWAP', description: 'LINUX-SWAP', active: 0 },
{ id: 20, name: 'F2FS', description: 'F2FS', active: 0 },
{ id: 21, name: 'NILFS2', description: 'NILFS2', active: 0 },
{ id: 22, name: '0', description: '', active: 0 },
{ id: 23, name: 'LINUX-LVM', description: '', active: 0 },
{ id: 24, name: 'ISO9660', description: '', active: 0 },
];

View File

@ -1,72 +1,70 @@
export const PARTITION_TYPES = [
{ code: 0, name: 'EMPTY', active: false },
{ code: 1, name: 'FAT12', active: true },
{ code: 5, name: 'EXTENDED', active: false },
{ code: 6, name: 'FAT16', active: true },
{ code: 7, name: 'NTFS', active: true },
{ code: 11, name: 'FAT32', active: true },
{ code: 17, name: 'HFAT12', active: true },
{ code: 22, name: 'HFAT16', active: true },
{ code: 23, name: 'HNTFS', active: true },
{ code: 27, name: 'HFAT32', active: true },
{ code: 130, name: 'LINUX-SWAP', active: false },
{ code: 131, name: 'LINUX', active: true },
{ code: 142, name: 'LINUX-LVM', active: true },
{ code: 165, name: 'FREEBSD', active: true },
{ code: 166, name: 'OPENBSD', active: true },
{ code: 169, name: 'NETBSD', active: true },
{ code: 175, name: 'HFS', active: true },
{ code: 190, name: 'SOLARIS-BOOT', active: true },
{ code: 191, name: 'SOLARIS', active: true },
{ code: 61186, name: 'BIOS-BOOT', active: false },
{ code: 202, name: 'CACHE', active: false },
{ code: 218, name: 'DATA', active: true },
{ code: 238, name: 'GPT', active: false },
{ code: 239, name: 'EFI', active: true },
{ code: 251, name: 'VMFS', active: true },
{ code: 253, name: 'LINUX-RAID', active: true },
{ code: 1792, name: 'WINDOWS', active: true },
{ code: 3073, name: 'WIN-RESERV', active: true },
{ code: 9984, name: 'WIN-RECOV', active: true },
{ code: 51712, name: 'CACHE', active: false },
{ code: 32512, name: 'CHROMEOS-KRN', active: true },
{ code: 32513, name: 'CHROMEOS', active: true },
{ code: 32514, name: 'CHROMEOS-RESERV', active: true },
{ code: 33280, name: 'LINUX-SWAP', active: false },
{ code: 33536, name: 'LINUX', active: true },
{ code: 33537, name: 'LINUX-RESERV', active: true },
{ code: 33538, name: 'LINUX', active: true },
{ code: 36352, name: 'LINUX-LVM', active: true },
{ code: 42240, name: 'FREEBSD-DISK', active: false },
{ code: 42241, name: 'FREEBSD-BOOT', active: true },
{ code: 42242, name: 'FREEBSD-SWAP', active: false },
{ code: 218, name: 'DATA', active: true },
{ code: 239, name: 'EFI', active: true },
{ code: 61184, name: 'EFI', active: true },
{ code: 0, name: 'EMPTY', active: false },
{ code: 1, name: 'FAT12', active: true },
{ code: 6, name: 'FAT16', active: true },
{ code: 11, name: 'FAT32', active: true },
{ code: 165, name: 'FREEBSD', active: true },
{ code: 42243, name: 'FREEBSD', active: true },
{ code: 42244, name: 'FREEBSD', active: true },
{ code: 43265, name: 'NETBSD-SWAP', active: false },
{ code: 42241, name: 'FREEBSD-BOOT', active: true },
{ code: 42240, name: 'FREEBSD-DISK', active: false },
{ code: 42242, name: 'FREEBSD-SWAP', active: false },
{ code: 238, name: 'GPT', active: false },
{ code: 43776, name: 'HFS-BOOT', active: true },
{ code: 175, name: 'HFS', active: true },
{ code: 44800, name: 'HFS', active: true },
{ code: 44801, name: 'HFS-RAID', active: true },
{ code: 44802, name: 'HFS-RAID', active: true },
{ code: 17, name: 'HFAT12', active: true },
{ code: 22, name: 'HFAT16', active: true },
{ code: 27, name: 'HFAT32', active: true },
{ code: 39, name: 'HNTFS-WINRE', active: true },
{ code: 131, name: 'LINUX', active: true },
{ code: 33536, name: 'LINUX', active: true },
{ code: 33538, name: 'LINUX', active: true },
{ code: 142, name: 'LINUX-LVM', active: true },
{ code: 36352, name: 'LINUX-LVM', active: true },
{ code: 64768, name: 'LINUX-RAID', active: true },
{ code: 253, name: 'LINUX-RAID', active: true },
{ code: 33537, name: 'LINUX-RESERV', active: true },
{ code: 130, name: 'LINUX-SWAP', active: false },
{ code: 33280, name: 'LINUX-SWAP', active: false },
{ code: 65536, name: 'LVM-LV', active: true },
{ code: 61185, name: 'MBR', active: false },
{ code: 169, name: 'NETBSD', active: true },
{ code: 43266, name: 'NETBSD', active: true },
{ code: 43267, name: 'NETBSD', active: true },
{ code: 43268, name: 'NETBSD', active: true },
{ code: 43269, name: 'NETBSD', active: true },
{ code: 43270, name: 'NETBSD-RAID', active: true },
{ code: 43776, name: 'HFS-BOOT', active: true },
{ code: 44800, name: 'HFS', active: true },
{ code: 44801, name: 'HFS-RAID', active: true },
{ code: 44802, name: 'HFS-RAID', active: true },
{ code: 48640, name: 'SOLARIS-BOOT', active: true },
{ code: 43265, name: 'NETBSD-SWAP', active: false },
{ code: 7, name: 'NTFS', active: true },
{ code: 166, name: 'OPENBSD', active: true },
{ code: 5, name: 'EXTENDED', active: false },
{ code: 48896, name: 'SOLARIS', active: true },
{ code: 48897, name: 'SOLARIS', active: true },
{ code: 48898, name: 'SOLARIS-SWAP', active: false },
{ code: 48899, name: 'SOLARIS-DISK', active: true },
{ code: 191, name: 'SOLARIS', active: true },
{ code: 48900, name: 'SOLARIS', active: true },
{ code: 48901, name: 'SOLARIS', active: true },
{ code: 51712, name: 'CACHE', active: false },
{ code: 61184, name: 'EFI', active: true },
{ code: 61185, name: 'MBR', active: false },
{ code: 61186, name: 'BIOS-BOOT', active: false },
{ code: 48899, name: 'SOLARIS-DISK', active: true },
{ code: 48640, name: 'SOLARIS-BOOT', active: true },
{ code: 190, name: 'SOLARIS-BOOT', active: true },
{ code: 48898, name: 'SOLARIS-SWAP', active: false },
{ code: 64256, name: 'VMFS', active: true },
{ code: 64257, name: 'VMFS-RESERV', active: true },
{ code: 251, name: 'VMFS', active: true },
{ code: 64258, name: 'VMFS-KRN', active: true },
{ code: 64768, name: 'LINUX-RAID', active: true },
{ code: 64257, name: 'VMFS-RESERV', active: true },
{ code: 9984, name: 'WIN-RECOV', active: true },
{ code: 3073, name: 'WIN-RESERV', active: true },
{ code: 1792, name: 'WINDOWS', active: true },
{ code: 65535, name: 'UNKNOWN', active: true },
{ code: 65536, name: 'LVM-LV', active: true },
{ code: 65552, name: 'ZFS-VOL', active: true },
{ code: 39, name: 'HNTFS-WINRE', active: true },
];