From a969dd5e780d54c5ab825b4d8f179294ca7940e0 Mon Sep 17 00:00:00 2001 From: jmbardallo Date: Mon, 13 Apr 2026 12:41:54 +0200 Subject: [PATCH] =?UTF-8?q?opcion=20para=20seleccionar=20s=C3=B3lo=20actua?= =?UTF-8?q?lizar=20cache=20en=20una=20restauraci=C3=B3n=20de=20imagen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 ++ .../deploy-image/deploy-image.component.css | 82 ++++++++++++++++-- .../deploy-image/deploy-image.component.html | 30 +++++++ .../deploy-image/deploy-image.component.ts | 7 ++ .../client-details.component.html | 84 +++++++++---------- 5 files changed, 159 insertions(+), 49 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1a2277..8bb413f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ # Changelog + +## [1.3.2] - 2026-04-13 +### Added +- Añadida opción para restaurar sólo cache o cache y particion. + ## [1.3.1] - 2026-04-09 ### Added - Añadida información de la fecha de despliegue de una imagen en una particion. diff --git a/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.css b/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.css index 6a2a8a6..05cebdb 100644 --- a/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.css +++ b/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.css @@ -708,11 +708,83 @@ table { font-size: 13px; } -.section-hint mat-icon { - color: #667eea; - font-size: 18px; - width: 18px; - height: 18px; +/* Deploy mode radio group */ +.form-section-row { + display: flex; + align-items: flex-start; + gap: 20px; + flex-wrap: wrap; + margin-bottom: 20px; + padding: 16px 20px; + background: #f7faff; + border-radius: 10px; + border: 1px solid #e2e8ff; } +.deploy-mode-label { + display: flex; + align-items: center; + gap: 8px; + font-size: 14px; + font-weight: 600; + color: #2c3e50; + min-width: 140px; + padding-top: 12px; +} + +.deploy-mode-label mat-icon { + color: #667eea; +} + +.deploy-mode-radio-group { + display: flex; + gap: 16px; + flex-wrap: wrap; +} + +.deploy-mode-radio { + border: 2px solid #e2e8ff; + border-radius: 10px; + padding: 10px 16px; + background: white; + transition: border-color 0.2s, box-shadow 0.2s; + cursor: pointer; +} + +.deploy-mode-radio:has(.mat-radio-button-checked), +.deploy-mode-radio:hover { + border-color: #667eea; + box-shadow: 0 2px 8px rgba(102, 126, 234, 0.15); +} + +.deploy-mode-option { + display: flex; + align-items: center; + gap: 10px; +} + +.deploy-mode-option mat-icon { + color: #667eea; + font-size: 20px; + width: 20px; + height: 20px; +} + +.deploy-mode-option div { + display: flex; + flex-direction: column; +} + +.deploy-mode-option-title { + font-size: 13px; + font-weight: 600; + color: #2c3e50; + line-height: 1.2; +} + +.deploy-mode-option-desc { + font-size: 11px; + color: #6c757d; + margin-top: 2px; +} diff --git a/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.html b/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.html index 1b10903..b1c6d89 100644 --- a/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.html +++ b/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.html @@ -198,6 +198,36 @@ + + @if (imageType === 'monolithic' && selectedMethod && !isDirectMethod()) { +
+
+ cached + Modo de operación +
+ + +
+ storage +
+ Despliegue completo + Actualiza caché y restaura partición +
+
+
+ +
+ download +
+ Solo actualizar caché + Descarga imagen sin restaurar partición +
+
+
+
+
+ } +
{{ errorMessage }}
diff --git a/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.ts b/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.ts index dae7062..1a86e36 100644 --- a/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.ts +++ b/ogWebconsole/src/app/components/groups/components/client-main-view/deploy-image/deploy-image.component.ts @@ -43,6 +43,7 @@ export class DeployImageComponent implements OnInit{ showInstructions: boolean = false; loadingCommits: boolean = false; selectedGitRepository: string = ''; + deployMode: string = 'deploy'; // 'deploy' | 'update-cache' protected p2pModeOptions = [ { name: 'Leecher', value: 'leecher' }, @@ -354,6 +355,7 @@ export class DeployImageComponent implements OnInit{ type: this.imageType, queue: result, clients: this.selectedClients.map((client: any) => client.uuid), + deployMode: this.isDirectMethod() ? 'deploy' : this.deployMode, }; url = `${this.baseUrl}/image-image-repositories/${this.selectedImage.uuid}/deploy-image`; @@ -418,6 +420,11 @@ export class DeployImageComponent implements OnInit{ return true; } + isDirectMethod(): boolean { + return this.selectedMethod === 'unicast-direct' || + this.selectedMethod === 'udpcast-direct'; + } + openScheduleModal(): void { let scope = this.runScriptContext?.type || 'clients'; diff --git a/ogWebconsole/src/app/components/groups/shared/client-details/client-details.component.html b/ogWebconsole/src/app/components/groups/shared/client-details/client-details.component.html index 6cf601f..808ba25 100644 --- a/ogWebconsole/src/app/components/groups/shared/client-details/client-details.component.html +++ b/ogWebconsole/src/app/components/groups/shared/client-details/client-details.component.html @@ -44,73 +44,69 @@

Disco {{ disk.diskNumber }}

- Total: {{ disk.total.toFixed(2) }} GB  |  Usado: {{ (disk.used).toFixed(2) }} GB ({{ disk.percentage }}%) + Total: {{ disk.total.toFixed(2) }} GB  |  Usado: {{ (disk.used).toFixed(2) }} GB ({{ + disk.percentage }}%)
- +
- @for (column of columns; track column.columnDef) { - - - + - - } + } + + + } - + - - - -
{{ column.header }} - @if (column.columnDef !== 'size' && column.columnDef !== 'operativeSystem') { + @for (column of columns; track column.columnDef) { + + {{ column.header }} + @if (column.columnDef !== 'size' && column.columnDef !== 'operativeSystem') { {{ column.cell(image) }} - } - @if (column.columnDef === 'size') { + } + @if (column.columnDef === 'size') { {{ (image.size / 1024).toFixed(2) }} GB - } + } - @if (column.columnDef === 'operativeSystem') { + @if (column.columnDef === 'operativeSystem') {
@if (image.filesystem === 'CACHE' && image.cacheContent) { - Contenido: - @for (item of parseCacheContent(image.cacheContent); track item.name) { -
- • {{ item.name }} ({{ item.size }}) -
- } + Contenido: + @for (item of parseCacheContent(image.cacheContent); track item.name) { +
+ • {{ item.name }} ({{ item.size }}) +
+ } } @if (image.filesystem !== 'CACHE' || !image.cacheContent) { - {{image.operativeSystem?.name }} - {{ image.image?.name }} - @if (image.deployDate) { - Instalada el {{ image.deployDate | date:'dd/MM/yyyy HH:mm' }} - } + {{image.operativeSystem?.name }} + {{ image.image?.name }} + @if (image.deployDate) { + Desplegada: {{ image.deployDate | date:'dd/MM/yyyy HH:mm' }} + } }
- } -
+ + + + + -
+
-
-
- - +
+
+ + +
-