From e71561966a70b337705b13a7a0fbd8e1f97cf306 Mon Sep 17 00:00:00 2001 From: apuente Date: Tue, 13 Aug 2024 16:36:17 +0200 Subject: [PATCH] Delete and edit image --- ogWebconsole/src/app/app.module.ts | 4 +- .../components/groups/groups.component.html | 4 +- .../edit-image/edit-image.component.css | 0 .../edit-image/edit-image.component.html | 15 ++++++ .../edit-image/edit-image.component.spec.ts | 23 ++++++++ .../edit-image/edit-image.component.ts | 52 +++++++++++++++++++ .../images/images/images.component.css | 6 +++ .../images/images/images.component.html | 6 +-- .../images/images/images.component.ts | 15 +++++- 9 files changed, 117 insertions(+), 8 deletions(-) create mode 100644 ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.css create mode 100644 ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.html create mode 100644 ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.spec.ts create mode 100644 ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.ts diff --git a/ogWebconsole/src/app/app.module.ts b/ogWebconsole/src/app/app.module.ts index 355f949..1636725 100644 --- a/ogWebconsole/src/app/app.module.ts +++ b/ogWebconsole/src/app/app.module.ts @@ -73,6 +73,7 @@ import { SaveFiltersDialogComponent } from './components/groups/save-filters-dia import { AcctionsModalComponent } from './components/groups/acctions-modal/acctions-modal.component'; import { ImagesComponent } from './components/images/images/images.component'; import { CreateImageComponent } from './components/images/images/create-image/create-image/create-image.component'; +import { EditImageComponent } from './components/images/images/edit-image/edit-image/edit-image.component'; @NgModule({ declarations: [ @@ -108,7 +109,8 @@ import { CreateImageComponent } from './components/images/images/create-image/cr SaveFiltersDialogComponent, AcctionsModalComponent, ImagesComponent, - CreateImageComponent + CreateImageComponent, + EditImageComponent ], bootstrap: [AppComponent], imports: [BrowserModule, diff --git a/ogWebconsole/src/app/components/groups/groups.component.html b/ogWebconsole/src/app/components/groups/groups.component.html index bccfb25..0baaeb6 100644 --- a/ogWebconsole/src/app/components/groups/groups.component.html +++ b/ogWebconsole/src/app/components/groups/groups.component.html @@ -31,7 +31,7 @@ apartment {{ unidad.name }} - menu + more_vert + + diff --git a/ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.spec.ts b/ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.spec.ts new file mode 100644 index 0000000..b8e13f2 --- /dev/null +++ b/ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EditImageComponent } from './edit-image.component'; + +describe('EditImageComponent', () => { + let component: EditImageComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [EditImageComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(EditImageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.ts b/ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.ts new file mode 100644 index 0000000..ae63460 --- /dev/null +++ b/ogWebconsole/src/app/components/images/images/edit-image/edit-image/edit-image.component.ts @@ -0,0 +1,52 @@ +import { HttpClient } from '@angular/common/http'; +import { Component, Inject } from '@angular/core'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { ToastrService } from 'ngx-toastr'; + +@Component({ + selector: 'app-edit-image', + templateUrl: './edit-image.component.html', + styleUrls: ['./edit-image.component.css'] +}) +export class EditImageComponent { + name: string = ''; + downloadUrl: string = ''; + + constructor( + private toastService: ToastrService, + private http: HttpClient, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: any + ) { + // Rellenar los campos con los datos recibidos + if (data) { + this.name = data.name; + this.downloadUrl = data.downloadUrl; + } + } + + onNoClick(): void { + this.dialogRef.close(); + } + + editOgLive(): void { + const payload = { + name: this.name, + downloadUrl: this.downloadUrl + }; + + // Realizar PATCH para editar la imagen + this.http.patch(`http://127.0.0.1:8080/og-lives/${this.data.uuid}`, payload) + .subscribe({ + next: (response) => { + console.log('Success:', response); + this.toastService.success('Image updated successfully'); + this.dialogRef.close(); + }, + error: (error) => { + console.error('Error:', error); + this.toastService.error('Error updating image'); + } + }); + } +} diff --git a/ogWebconsole/src/app/components/images/images/images.component.css b/ogWebconsole/src/app/components/images/images/images.component.css index ae89817..feb6320 100644 --- a/ogWebconsole/src/app/components/images/images/images.component.css +++ b/ogWebconsole/src/app/components/images/images/images.component.css @@ -58,3 +58,9 @@ button { .mat-menu { min-width: 160px; } + +.cd-icon { + color: #888888; + margin-right: 20px; + transform: scale(1.5); + } \ No newline at end of file diff --git a/ogWebconsole/src/app/components/images/images/images.component.html b/ogWebconsole/src/app/components/images/images/images.component.html index 8018cd8..8142b12 100644 --- a/ogWebconsole/src/app/components/images/images/images.component.html +++ b/ogWebconsole/src/app/components/images/images/images.component.html @@ -13,13 +13,13 @@
No hay imágenes disponibles.
-
+
+ album

{{ image.name }}

- diff --git a/ogWebconsole/src/app/components/images/images/images.component.ts b/ogWebconsole/src/app/components/images/images/images.component.ts index 196b020..633af2d 100644 --- a/ogWebconsole/src/app/components/images/images/images.component.ts +++ b/ogWebconsole/src/app/components/images/images/images.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { HttpClient } from '@angular/common/http'; import { CreateImageComponent } from './create-image/create-image/create-image.component'; +import { EditImageComponent } from './edit-image/edit-image/edit-image.component'; @Component({ selector: 'app-images', @@ -68,7 +69,17 @@ export class ImagesComponent implements OnInit { } editImage(image: any): void { - // Implementar lógica para editar imagen - console.log('Editar:', image); + const dialogRef = this.dialog.open(EditImageComponent, { + width: '300px', + data: image // Pasa los datos de la imagen a editar + }); + + dialogRef.afterClosed().subscribe(result => { + if (result) { + // Opcional: Actualiza la lista de imágenes o realiza otras acciones necesarias + this.loadImages(); + } + }); } + }