diff --git a/ogWebconsole/src/app/app.module.ts b/ogWebconsole/src/app/app.module.ts
index a7ab960..5b21193 100644
--- a/ogWebconsole/src/app/app.module.ts
+++ b/ogWebconsole/src/app/app.module.ts
@@ -24,7 +24,7 @@ import { MatInputModule } from '@angular/material/input';
import { MatListModule } from '@angular/material/list';
import { UsersComponent } from './components/pages/admin/users/users/users.component';
import { RolesComponent } from './components/pages/admin/roles/roles/roles.component';
-import { MatCell, MatHeaderCell, MatHeaderCellDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatTable } from '@angular/material/table';
+import {MatTableModule} from '@angular/material/table';
@NgModule({ declarations: [
AppComponent,
@@ -51,13 +51,7 @@ import { MatCell, MatHeaderCell, MatHeaderCellDef, MatHeaderRow, MatHeaderRowDef
MatFormFieldModule,
MatInputModule,
MatListModule,
- MatTable,
- MatHeaderRow,
- MatHeaderCell,
- MatCell,
- MatRow,
- MatHeaderRowDef,
- MatHeaderCellDef],
+ MatTableModule],
providers: [
{
provide: HTTP_INTERCEPTORS,
diff --git a/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css b/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css
index e61afc7..54dacbd 100644
--- a/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css
+++ b/ogWebconsole/src/app/components/layout/main-layout/main-layout.component.css
@@ -9,4 +9,5 @@
.content-wrapper{
display: block;
grid-area: content;
+ margin: 20px;
}
\ No newline at end of file
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/users.component.css b/ogWebconsole/src/app/components/pages/admin/users/users/users.component.css
index 2307539..ef18a39 100644
--- a/ogWebconsole/src/app/components/pages/admin/users/users/users.component.css
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/users.component.css
@@ -1,43 +1,16 @@
-.users-table {
- width: 100%;
- border-collapse: collapse;
- overflow-x: auto;
- }
-
- .users-table th, .users-table td {
- padding: 12px;
- text-align: left;
- border-bottom: 1px solid #ddd;
- }
-
- .users-table th {
- background-color: #f2f2f2;
- color: #333;
- }
-
- .users-table tbody tr:nth-child(even) {
- background-color: #f2f2f2;
- }
-
- .users-table tbody tr:hover {
- background-color: #ddd;
- }
-
- .action-cell {
- text-align: right;
- }
-
- .edit-button, .delete-button {
- padding: 6px 12px;
- margin-right: 5px;
- border: none;
- border-radius: 4px;
- cursor: pointer;
- background-color: #4CAF50;
- color: white;
- }
-
- .edit-button:hover, .delete-button:hover {
- background-color: #45a049;
- }
-
\ No newline at end of file
+table {
+ width: 100%;
+ margin-top: 50px;
+}
+
+.header-container {
+ margin-top: 16px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 16px;
+}
+
+.header-container h1 {
+ margin: 0;
+}
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/users.component.html b/ogWebconsole/src/app/components/pages/admin/users/users/users.component.html
index cc0b0a7..e614822 100644
--- a/ogWebconsole/src/app/components/pages/admin/users/users/users.component.html
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/users.component.html
@@ -1,19 +1,24 @@
-
-
-
- ID |
- Usuario |
- Acciones |
-
-
-
-
- {{ user.id }} |
- {{ user.username }} |
-
-
-
- |
-
-
+
+
+
+
+ {{ column.header }} |
+ {{ column.cell(user) }} |
+
+
+
+
+ Acciones |
+
+
+
+ |
+
+
+
+
+
diff --git a/ogWebconsole/src/app/components/pages/admin/users/users/users.component.ts b/ogWebconsole/src/app/components/pages/admin/users/users/users.component.ts
index d95ff7c..7d8ccc5 100644
--- a/ogWebconsole/src/app/components/pages/admin/users/users/users.component.ts
+++ b/ogWebconsole/src/app/components/pages/admin/users/users/users.component.ts
@@ -1,6 +1,7 @@
// users.component.ts
import { Component, OnInit } from '@angular/core';
import { UserService } from './users.service';
+import { MatTableDataSource } from '@angular/material/table';
@Component({
selector: 'app-users',
@@ -8,13 +9,46 @@ import { UserService } from './users.service';
styleUrls: ['./users.component.css']
})
export class UsersComponent implements OnInit {
- users: any[] = [];
+ dataSource = new MatTableDataSource();
+ columns = [
+ {
+ columnDef: 'id',
+ header: 'ID',
+ cell: (user: any) => `${user.id}`
+ },
+ {
+ columnDef: 'username',
+ header: 'Nombre de Usuario',
+ cell: (user: any) => `${user.username}`
+ },
+ {
+ columnDef: 'allowedOrganizationalUnits',
+ header: 'Unidades Organizacionales Permitidas',
+ cell: (user: any) => `${user.allowedOrganizationalUnits.join(', ')}`
+ },
+ {
+ columnDef: 'roles',
+ header: 'Roles',
+ cell: (user: any) => `${user.roles.join(', ')}`
+ }
+ ];
+ displayedColumns = [...this.columns.map(column => column.columnDef), 'actions'];
constructor(private userService: UserService) {}
ngOnInit() {
this.userService.getUsers().subscribe(response => {
- this.users = response['hydra:member'];
+ this.dataSource.data = response['hydra:member'];
});
}
+
+ editUser(user: any) {
+ // Implementar la lógica de edición
+ console.log('Editar usuario:', user);
+ }
+
+ deleteUser(user: any) {
+ // Implementar la lógica de eliminación
+ console.log('Eliminar usuario:', user);
+ }
}