diff --git a/ogWebconsole/src/app/components/groups/groups.component.css b/ogWebconsole/src/app/components/groups/groups.component.css
index 9858f90..50c1127 100644
--- a/ogWebconsole/src/app/components/groups/groups.component.css
+++ b/ogWebconsole/src/app/components/groups/groups.component.css
@@ -258,11 +258,11 @@ mat-tree mat-tree-node.disabled:hover {
.client-name {
display: block;
- font-size: 16px;
- font-weight: 600;
- color: #333;
+ font-weight: 500;
margin-bottom: 5px;
margin-top: 5px;
+ padding-left: 1rem;
+ padding-right: 1rem;
}
.filters-container {
@@ -319,11 +319,26 @@ mat-tree mat-tree-node.disabled:hover {
box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}
-.client-image {
- width: 35px;
- height: 35px;
+.client-details {
+ flex-grow: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ margin-top: 4px;
+}
+
+.action-icons {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 1px;
margin-top: 10px;
- margin-bottom: 8px;
+}
+
+.client-status-container {
+ display: flex;
+ align-items: center;
+ gap: 5px;
}
.client-ip {
@@ -338,11 +353,9 @@ mat-tree mat-tree-node.disabled:hover {
gap: 4px;
}
-.action-icons {
- display: flex;
- justify-content: center;
- gap: 1px;
- margin-top: 10px;
+.sync-spinner {
+ margin-left: 1em;
+ margin-right: 1em;
}
.mat-elevation-z8 {
@@ -360,10 +373,6 @@ mat-tree mat-tree-node.disabled:hover {
position: relative;
}
-.client-details {
- margin-top: 4px;
-}
-
@media (max-width: 1560px) {
.clients-view-header {
display: flex;
diff --git a/ogWebconsole/src/app/components/groups/groups.component.html b/ogWebconsole/src/app/components/groups/groups.component.html
index 0c91f2e..3056117 100644
--- a/ogWebconsole/src/app/components/groups/groups.component.html
+++ b/ogWebconsole/src/app/components/groups/groups.component.html
@@ -60,12 +60,14 @@
-
+
{{ option.name }}
-
@@ -226,7 +228,7 @@
-
@@ -234,14 +236,6 @@
{{ client.ip }}
{{ client.mac }}
-
- sync
-
-
-
-
-
1 || (selection.selected.length === 1 && !selection.isSelected(client))">
@@ -252,6 +246,10 @@
more_vert
+
+
+
+
edit
@@ -261,6 +259,11 @@
visibility
{{ 'viewDetails' | translate }}
+
+ sync
+ {{ 'sync' | translate }}
+
delete
{{ 'delete' | translate }}
@@ -300,8 +303,13 @@
{{ 'status' | translate }} |
-
+
+ ![Client Icon]()
+
+
+
+
|
@@ -372,7 +380,8 @@
-
|
+
|
@@ -395,4 +404,4 @@
-
+
\ No newline at end of file
diff --git a/ogWebconsole/src/app/components/images/create-image/create-image.component.css b/ogWebconsole/src/app/components/images/create-image/create-image.component.css
index 8a9bda9..926bd5b 100644
--- a/ogWebconsole/src/app/components/images/create-image/create-image.component.css
+++ b/ogWebconsole/src/app/components/images/create-image/create-image.component.css
@@ -1,8 +1,25 @@
-.dialog-content {
+.create-image-container {
display: flex;
flex-direction: column;
- gap: 16px;
- /* Espacio entre los elementos del formulario */
+ padding: 1rem;
+}
+
+.loading-spinner {
+ display: block;
+ margin: 0 auto;
+}
+
+.mat-dialog-content.loading {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 200px;
+}
+
+.mat-dialog-content {
+ padding-left: 1.5em;
+ padding-right: 1.5em;
+ padding-top: 1em;
}
.image-form {
diff --git a/ogWebconsole/src/app/components/images/create-image/create-image.component.html b/ogWebconsole/src/app/components/images/create-image/create-image.component.html
index fcc73de..daf3d74 100644
--- a/ogWebconsole/src/app/components/images/create-image/create-image.component.html
+++ b/ogWebconsole/src/app/components/images/create-image/create-image.component.html
@@ -1,72 +1,72 @@
-
+
+
{{ isEditMode ? 'Editar' : 'Crear' }} imagen
+
-
-
-
-
Información de Partición de origen
-
Sistema de archivos: {{ partitionInfo['filesystem'] }}
-
Disco: {{ partitionInfo['numDisk'] }}
-
Particion: {{ partitionInfo['numPartition'] }}
-
Nombre del SO: {{ partitionInfo['osName'] }}
-
Código de partición: {{ partitionInfo['partitionCode'] }}
-
-
-
-
-
-
- {{ 'cancelButton' | translate }}
- {{ 'saveButton' | translate }}
-
+
+ {{ 'cancelButton' | translate }}
+ {{ 'saveButton' | translate }}
+
+
\ No newline at end of file
diff --git a/ogWebconsole/src/app/components/images/create-image/create-image.component.ts b/ogWebconsole/src/app/components/images/create-image/create-image.component.ts
index df6a1e8..d4d3a04 100644
--- a/ogWebconsole/src/app/components/images/create-image/create-image.component.ts
+++ b/ogWebconsole/src/app/components/images/create-image/create-image.component.ts
@@ -17,6 +17,7 @@ export class CreateImageComponent implements OnInit {
softwareProfiles: any[] = [];
repositories: any[] = [];
loading: boolean = false;
+ isEditMode: boolean = false;
partitionInfo: { [key: string]: string } = {};
showWarning: boolean = false;
@@ -42,30 +43,34 @@ export class CreateImageComponent implements OnInit {
ngOnInit() {
this.loading = true;
if (this.data) {
- this.load()
+ this.isEditMode = true;
+ this.load();
+ } else {
+ this.loading = false;
}
this.fetchSoftwareProfiles();
this.fetchRepositories();
- this.loading = false;
}
load(): void {
this.dataService.getImage(this.data).subscribe({
next: (response) => {
- this.imageForm = this.fb.group({
- name: [response.name, Validators.required],
- description: [response.description],
- comments: [response.comments],
- remotePc: [response.remotePc],
- isGlobal: [response.isGlobal],
- softwareProfile: [response.softwareProfile ? response.softwareProfile['@id'] : null, Validators.required],
- imageRepositories: [response.imageRepositories ? response.imageRepositories.map((r: any) => r.imageRepository['@id']) : [], Validators.required],
+ this.imageForm.patchValue({
+ name: response.name,
+ description: response.description,
+ comments: response.comments,
+ remotePc: response.remotePc,
+ isGlobal: response.isGlobal,
+ softwareProfile: response.softwareProfile ? response.softwareProfile['@id'] : null,
+ imageRepositories: response.imageRepositories ? response.imageRepositories.map((r: any) => r.imageRepository['@id']) : [],
});
this.imageId = response['@id'];
this.partitionInfo = response.partitionInfo;
+ this.loading = false;
},
error: (err) => {
console.error('Error fetching remote calendar:', err);
+ this.loading = false;
}
});
}
@@ -135,4 +140,4 @@ export class CreateImageComponent implements OnInit {
close(): void {
this.dialogRef.close();
}
-}
+}
\ No newline at end of file