- - Selecciona una opción - - Unidades organizativas - Clientes - - Nombre @@ -188,6 +181,13 @@ Grupos de clientes + + Selecciona una opción + + Unidades organizativas + Clientes + + Selecciona otra opción diff --git a/ogWebconsole/src/app/components/groups/groups.component.ts b/ogWebconsole/src/app/components/groups/groups.component.ts index f2297ef..cc95942 100644 --- a/ogWebconsole/src/app/components/groups/groups.component.ts +++ b/ogWebconsole/src/app/components/groups/groups.component.ts @@ -18,6 +18,7 @@ import { ClassroomViewDialogComponent } from './classroom-view/classroom-view-mo import {HttpClient} from "@angular/common/http"; import {Observable} from "rxjs"; import {PageEvent} from "@angular/material/paginator"; +import { SaveFiltersDialogComponent } from './save-filters-dialog/save-filters-dialog.component'; @Component({ selector: 'app-groups', @@ -61,9 +62,7 @@ export class GroupsComponent implements OnInit { getFilters(): void { this.dataService.getFilters().subscribe( data => { - this.savedFilterNames = data.map((filter: any) => filter.name); - console.log('data:', data); - console.log('Saved filters:', this.savedFilterNames); + this.savedFilterNames = data.map((filter: any) => [filter.name, filter.uuid]); }, error => { console.error('Error fetching filters:', error); @@ -315,26 +314,50 @@ export class GroupsComponent implements OnInit { this.itemsPerPage = event.pageSize; this.applyFilter(); } + + saveFilters() { - const filters = { - name: this.filterName || `Filter ${new Date().toISOString()}`, - favourite: true, - filters: { - filter1: this.selectedFilter1, - filter2: this.selectedFilter2 + const dialogRef = this.dialog.open(SaveFiltersDialogComponent); + + dialogRef.afterClosed().subscribe(result => { + if (result) { + const filters = { + name: result, + favourite: true, + filters: { + filter0: this.filterName, + filter1: this.selectedFilter1, + filter2: this.selectedFilter2 + } + }; + + console.log('Filters:', filters); + + this.http.post('http://127.0.0.1:8080/views', filters).subscribe(response => { + console.log('Response from server:', response); + }, error => { + console.error('Error:', error); + }); } - }; - - console.log('Filters:', filters); - - this.http.post('http://127.0.0.1:8080/views', filters).subscribe(response => { - console.log('Response from server:', response); - }, error => { - console.error('Error:', error); }); } loadSelectedFilter(savedFilter: any) { + const url = 'http://127.0.0.1:8080/views/' + savedFilter[1]; + console.log('llamando a:', url); + + this.dataService.getFilter(savedFilter[1]).subscribe(response => { + console.log('Response from server:', response.filters); + if (response) { + console.log('Filter1:', response.filters); + this.filterName = response.filters.filter0 || ''; + this.selectedFilter1 = response.filters.filter1 || null; + this.selectedFilter2 = response.filters.filter2 || ''; + } + }, error => { + console.error('Error:', error); + }); } + }