diff --git a/src/main/webapp/app/entities/encuesta/encuesta-delete-dialog/encuesta-delete-question-dialog.component.html b/src/main/webapp/app/entities/encuesta/encuesta-delete-dialog/encuesta-delete-question-dialog.component.html new file mode 100644 index 0000000..fd2c58c --- /dev/null +++ b/src/main/webapp/app/entities/encuesta/encuesta-delete-dialog/encuesta-delete-question-dialog.component.html @@ -0,0 +1,25 @@ +
diff --git a/src/main/webapp/app/entities/encuesta/encuesta-delete-dialog/encuesta-delete-question-dialog.component.ts b/src/main/webapp/app/entities/encuesta/encuesta-delete-dialog/encuesta-delete-question-dialog.component.ts new file mode 100644 index 0000000..56c7347 --- /dev/null +++ b/src/main/webapp/app/entities/encuesta/encuesta-delete-dialog/encuesta-delete-question-dialog.component.ts @@ -0,0 +1,17 @@ +import { Component } from '@angular/core'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; + +@Component({ + templateUrl: './encuesta-delete-question-dialog.component.html', +}) +export class EncuestaDeleteQuestionDialogComponent { + constructor(protected activeModal: NgbActiveModal) {} + + cancel(): void { + this.activeModal.dismiss(); + } + + confirmDelete(): void { + this.activeModal.close('confirm'); + } +} diff --git a/src/main/webapp/app/entities/encuesta/encuesta.module.ts b/src/main/webapp/app/entities/encuesta/encuesta.module.ts index 7b1d91e..f4ba632 100644 --- a/src/main/webapp/app/entities/encuesta/encuesta.module.ts +++ b/src/main/webapp/app/entities/encuesta/encuesta.module.ts @@ -7,6 +7,7 @@ import { EncuestaDeleteDialogComponent } from './delete/encuesta-delete-dialog.c import { EncuestaRoutingModule } from './route/encuesta-routing.module'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { EncuestaPublishDialogComponent } from './encuesta-publish-dialog/encuesta-publish-dialog.component'; +import { EncuestaDeleteQuestionDialogComponent } from './encuesta-delete-dialog/encuesta-delete-question-dialog.component'; @NgModule({ imports: [SharedModule, EncuestaRoutingModule, FontAwesomeModule], @@ -16,6 +17,7 @@ import { EncuestaPublishDialogComponent } from './encuesta-publish-dialog/encues EncuestaUpdateComponent, EncuestaDeleteDialogComponent, EncuestaPublishDialogComponent, + EncuestaDeleteQuestionDialogComponent, ], entryComponents: [EncuestaDeleteDialogComponent], }) diff --git a/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts b/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts index 11c479f..12eac9f 100644 --- a/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts +++ b/src/main/webapp/app/entities/encuesta/update/encuesta-update.component.ts @@ -1,3 +1,4 @@ +import { EncuestaDeleteQuestionDialogComponent } from './../encuesta-delete-dialog/encuesta-delete-question-dialog.component'; import { EPreguntaCerrada } from './../../e-pregunta-cerrada/e-pregunta-cerrada.model'; import { EPreguntaCerradaOpcion, IEPreguntaCerradaOpcion } from './../../e-pregunta-cerrada-opcion/e-pregunta-cerrada-opcion.model'; import { EPreguntaAbiertaService } from './../../e-pregunta-abierta/service/e-pregunta-abierta.service'; @@ -26,7 +27,6 @@ import { EPreguntaCerradaDeleteDialogComponent } from 'app/entities/e-pregunta-c import { faTimes, faPlus } from '@fortawesome/free-solid-svg-icons'; import { PreguntaCerradaTipo } from 'app/entities/enumerations/pregunta-cerrada-tipo.model'; - @Component({ selector: 'jhi-encuesta-update', templateUrl: './encuesta-update.component.html', @@ -99,6 +99,7 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { (res: any) => { this.isLoading = false; this.ePreguntas = res.body ?? []; + console.log(this.ePreguntas); }, () => { this.isLoading = false; @@ -188,41 +189,46 @@ export class EncuestaUpdateComponent implements OnInit, AfterViewChecked { } deleteQuestion(event: any) { - const id = event.target.dataset.id; - if (event.target.dataset.type) { - // Delete closed question - const questionElement = (event.target as HTMLElement).parentElement?.parentElement; - const optionIdsToDelete: number[] = []; + const modalRef = this.modalService.open(EncuestaDeleteQuestionDialogComponent, { size: 'lg', backdrop: 'static' }); + modalRef.closed.subscribe(reason => { + if (reason === 'confirm') { + const id = event.target.dataset.id; + if (event.target.dataset.type) { + // Delete closed question + const questionElement = (event.target as HTMLElement).parentElement?.parentElement; + const optionIdsToDelete: number[] = []; - // Get options IDs - questionElement?.childNodes.forEach((e, i) => { - if (e.nodeName !== 'DIV') return; - if (i === 0) return; - if ((e as HTMLElement).dataset.id === undefined) return; - if (!(e as HTMLElement).classList.contains('can-delete')) return; - let optionId = (e as HTMLElement).dataset.id; - optionIdsToDelete.push(+optionId!); - }); + // Get options IDs + questionElement?.childNodes.forEach((e, i) => { + if (e.nodeName !== 'DIV') return; + if (i === 0) return; + if ((e as HTMLElement).dataset.id === undefined) return; + if (!(e as HTMLElement).classList.contains('can-delete')) return; + let optionId = (e as HTMLElement).dataset.id; + optionIdsToDelete.push(+optionId!); + }); - if (optionIdsToDelete.length === 0) { - this.ePreguntaCerradaService.delete(id).subscribe(e => { - this.loadAll(); - }); - } else { - // Delete question options - this.ePreguntaCerradaOpcionService.deleteMany(optionIdsToDelete).subscribe(e => { - // Delete question - this.ePreguntaCerradaService.delete(id).subscribe(e => { + if (optionIdsToDelete.length === 0) { + this.ePreguntaCerradaService.delete(id).subscribe(e => { + this.loadAll(); + }); + } else { + // Delete question options + this.ePreguntaCerradaOpcionService.deleteMany(optionIdsToDelete).subscribe(e => { + // Delete question + this.ePreguntaCerradaService.delete(id).subscribe(e => { + this.loadAll(); + }); + }); + } + } else { + // Delete open question + this.ePreguntaAbiertaService.delete(id).subscribe(e => { this.loadAll(); }); - }); + } } - } else { - // Delete open question - this.ePreguntaAbiertaService.delete(id).subscribe(e => { - this.loadAll(); - }); - } + }); } deleteOption(event: any): void { diff --git a/src/main/webapp/i18n/es/encuesta.json b/src/main/webapp/i18n/es/encuesta.json index 15c119d..f9e5e60 100644 --- a/src/main/webapp/i18n/es/encuesta.json +++ b/src/main/webapp/i18n/es/encuesta.json @@ -12,7 +12,8 @@ "updated": "Una encuesta ha sido actualizado con el identificador {{ param }}", "deleted": "Una encuesta ha sido eliminada con el identificador {{ param }}", "delete": { - "question": "¿Seguro que quiere eliminar la encuesta {{ id }}?" + "question": "¿Seguro que quiere eliminar la encuesta {{ id }}?", + "deletequestion": "¿Seguro que quiere eliminar esta pregunta?" }, "detail": { "title": "Encuesta"