diff --git a/ogWebconsole/src/app/app.module.ts b/ogWebconsole/src/app/app.module.ts
index c999b44..9ac672f 100644
--- a/ogWebconsole/src/app/app.module.ts
+++ b/ogWebconsole/src/app/app.module.ts
@@ -70,6 +70,7 @@ import { LegendComponent } from './components/groups/legend/legend.component';
import { ClassroomViewDialogComponent } from './components/groups/classroom-view/classroom-view-modal';
import {MatPaginator} from "@angular/material/paginator";
import { SaveFiltersDialogComponent } from './components/groups/save-filters-dialog/save-filters-dialog.component';
+import { AcctionsModalComponent } from './components/groups/acctions-modal/acctions-modal.component';
@NgModule({
declarations: [
@@ -102,7 +103,8 @@ import { SaveFiltersDialogComponent } from './components/groups/save-filters-dia
TreeViewComponent,
LegendComponent,
ClassroomViewDialogComponent,
- SaveFiltersDialogComponent
+ SaveFiltersDialogComponent,
+ AcctionsModalComponent
],
bootstrap: [AppComponent],
imports: [BrowserModule,
diff --git a/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.css b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.css
new file mode 100644
index 0000000..a63ee5d
--- /dev/null
+++ b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.css
@@ -0,0 +1,20 @@
+
+.button-column {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background-color: #fff;
+ padding: 20px;
+ border-radius: 10px;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra ligera */
+}
+
+.button-column button {
+ margin: 10px 0; /* Espaciado entre los botones */
+ width: 200px; /* Ancho uniforme para todos los botones */
+ font-size: 16px; /* Tamaño de fuente consistente */
+}
+
+.button-column button.mat-flat-button {
+ border-radius: 5px; /* Bordes ligeramente redondeados */
+}
diff --git a/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.html b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.html
new file mode 100644
index 0000000..4530933
--- /dev/null
+++ b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.html
@@ -0,0 +1,9 @@
+
Acciones
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.spec.ts b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.spec.ts
new file mode 100644
index 0000000..671341d
--- /dev/null
+++ b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { AcctionsModalComponent } from './acctions-modal.component';
+
+describe('AcctionsModalComponent', () => {
+ let component: AcctionsModalComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [AcctionsModalComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(AcctionsModalComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.ts b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.ts
new file mode 100644
index 0000000..96fd9a4
--- /dev/null
+++ b/ogWebconsole/src/app/components/groups/acctions-modal/acctions-modal.component.ts
@@ -0,0 +1,31 @@
+// componente
+import { Component, Inject } from '@angular/core';
+import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
+import { ToastrService } from 'ngx-toastr';
+@Component({
+ selector: 'app-acctions-modal',
+ templateUrl: './acctions-modal.component.html',
+ styleUrls: ['./acctions-modal.component.css']
+})
+export class AcctionsModalComponent {
+ selectedElements: any;
+
+ constructor(
+ private toastService: ToastrService,
+ public dialogRef: MatDialogRef,
+ @Inject(MAT_DIALOG_DATA) public data: any
+ ) {
+ this.selectedElements = data.selectedElements;
+ }
+
+ onCancel(): void {
+ this.dialogRef.close(null);
+ }
+
+ onSend(): void {
+ console.log('send Action');
+ console.log(this.selectedElements);
+
+ this.toastService.success(' Acción enviada a: ' + this.selectedElements);
+ }
+}
diff --git a/ogWebconsole/src/app/components/groups/groups.component.css b/ogWebconsole/src/app/components/groups/groups.component.css
index 8d5af00..4dd1ce4 100644
--- a/ogWebconsole/src/app/components/groups/groups.component.css
+++ b/ogWebconsole/src/app/components/groups/groups.component.css
@@ -133,7 +133,7 @@ mat-spinner {
padding-right: 20px;
}
-.classroomBtn {
+.roomMap-btn{
}
.container {
diff --git a/ogWebconsole/src/app/components/groups/groups.component.html b/ogWebconsole/src/app/components/groups/groups.component.html
index e327b58..06d3e8a 100644
--- a/ogWebconsole/src/app/components/groups/groups.component.html
+++ b/ogWebconsole/src/app/components/groups/groups.component.html
@@ -7,7 +7,7 @@
-
diff --git a/ogWebconsole/src/app/components/groups/groups.component.ts b/ogWebconsole/src/app/components/groups/groups.component.ts
index afb55da..862dc17 100644
--- a/ogWebconsole/src/app/components/groups/groups.component.ts
+++ b/ogWebconsole/src/app/components/groups/groups.component.ts
@@ -19,6 +19,7 @@ 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';
+import { AcctionsModalComponent } from './acctions-modal/acctions-modal.component';
@Component({
selector: 'app-groups',
@@ -332,12 +333,12 @@ export class GroupsComponent implements OnInit {
}
};
- console.log('Filters:', filters);
-
this.http.post('http://127.0.0.1:8080/views', filters).subscribe(response => {
console.log('Response from server:', response);
+ this.toastService.success('Se ha guardado el filtro correctamente');
}, error => {
console.error('Error:', error);
+ this.toastService.error(error);
});
}
});
@@ -354,6 +355,7 @@ export class GroupsComponent implements OnInit {
this.filterName = response.filters.filter0 || '';
this.selectedFilter1 = response.filters.filter1 || null;
this.selectedFilter2 = response.filters.filter2 || '';
+ this.applyFilter();
}
}, error => {
console.error('Error:', error);
@@ -375,8 +377,7 @@ export class GroupsComponent implements OnInit {
sendActions() {
- alert('Send actions:'+ this.selectedElements);
-
+ const dialogRef = this.dialog.open(AcctionsModalComponent, { data: { selectedElements: this.selectedElements }, width: '700px'});
}
}
diff --git a/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.css b/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.html b/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.html
new file mode 100644
index 0000000..c02fcb8
--- /dev/null
+++ b/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.html
@@ -0,0 +1 @@
+save-filters-dialog works!
diff --git a/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.spec.ts b/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.spec.ts
new file mode 100644
index 0000000..1a1622b
--- /dev/null
+++ b/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SaveFiltersDialogComponent } from './save-filters-dialog.component';
+
+describe('SaveFiltersDialogComponent', () => {
+ let component: SaveFiltersDialogComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [SaveFiltersDialogComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(SaveFiltersDialogComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.ts b/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.ts
new file mode 100644
index 0000000..9707c63
--- /dev/null
+++ b/ogWebconsole/src/app/components/groups/save-filters-dialog/save-filters-dialog.component.ts
@@ -0,0 +1,38 @@
+import { Component } from '@angular/core';
+import { MatDialogRef } from '@angular/material/dialog';
+import { FormControl, Validators } from '@angular/forms';
+
+@Component({
+ selector: 'app-save-filters-dialog',
+ template: `
+ Guardar filtros
+
+
+ Nombre del filtro
+
+
+ El nombre es obligatorio
+
+
+
+
+
+
+
+ `
+})
+export class SaveFiltersDialogComponent {
+ filterNameControl = new FormControl('', [Validators.required]);
+
+ constructor(public dialogRef: MatDialogRef) {}
+
+ onCancel(): void {
+ this.dialogRef.close(null);
+ }
+
+ onSave(): void {
+ if (this.filterNameControl.valid) {
+ this.dialogRef.close(this.filterNameControl.value);
+ }
+ }
+}