guardar en memoria info sobre opciones seleccionadas
This commit is contained in:
parent
48d7ad03b8
commit
622233ce3f
|
@ -56,6 +56,8 @@
|
||||||
<div class="radio" *ngIf="ePregunta.tipo === 'SINGLE'">
|
<div class="radio" *ngIf="ePregunta.tipo === 'SINGLE'">
|
||||||
<input
|
<input
|
||||||
type="radio"
|
type="radio"
|
||||||
|
(change)="onCheck(ePreguntaOpcionFinal)"
|
||||||
|
[value]="ePreguntaOpcionFinal.id"
|
||||||
style="border-radius: 3px"
|
style="border-radius: 3px"
|
||||||
name="{{ 'radio' + ePregunta.id }}"
|
name="{{ 'radio' + ePregunta.id }}"
|
||||||
id="{{ 'radio' + ePreguntaOpcionFinal.id }}"
|
id="{{ 'radio' + ePreguntaOpcionFinal.id }}"
|
||||||
|
@ -63,7 +65,12 @@
|
||||||
<label for="{{ 'radio' + ePreguntaOpcionFinal.id }}">{{ ePreguntaOpcionFinal.nombre }}</label>
|
<label for="{{ 'radio' + ePreguntaOpcionFinal.id }}">{{ ePreguntaOpcionFinal.nombre }}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkbox" *ngIf="ePregunta.tipo === 'MULTIPLE'">
|
<div class="checkbox" *ngIf="ePregunta.tipo === 'MULTIPLE'">
|
||||||
<input type="checkbox" style="border-radius: 3px" id="{{ 'checkbox' + ePreguntaOpcionFinal.id }}" />
|
<input
|
||||||
|
(change)="toggleOption(ePreguntaOpcionFinal)"
|
||||||
|
type="checkbox"
|
||||||
|
style="border-radius: 3px"
|
||||||
|
id="{{ 'checkbox' + ePreguntaOpcionFinal.id }}"
|
||||||
|
/>
|
||||||
<label for="{{ 'checkbox' + ePreguntaOpcionFinal.id }}">{{ ePreguntaOpcionFinal.nombre }}</label>
|
<label for="{{ 'checkbox' + ePreguntaOpcionFinal.id }}">{{ ePreguntaOpcionFinal.nombre }}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -76,6 +83,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<button class="ds-btn ds-btn--primary" (click)="finish()">Terminar</button>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="modal fade ds-modal"
|
class="modal fade ds-modal"
|
||||||
|
|
|
@ -11,10 +11,13 @@ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { IEPreguntaCerrada } from 'app/entities/e-pregunta-cerrada/e-pregunta-cerrada.model';
|
import { IEPreguntaCerrada } from 'app/entities/e-pregunta-cerrada/e-pregunta-cerrada.model';
|
||||||
import { EPreguntaCerradaService } from 'app/entities/e-pregunta-cerrada/service/e-pregunta-cerrada.service';
|
import { EPreguntaCerradaService } from 'app/entities/e-pregunta-cerrada/service/e-pregunta-cerrada.service';
|
||||||
import { EPreguntaAbiertaService } from '../../e-pregunta-abierta/service/e-pregunta-abierta.service';
|
import { EPreguntaAbiertaService } from '../../e-pregunta-abierta/service/e-pregunta-abierta.service';
|
||||||
|
import { EPreguntaAbiertaRespuestaService } from '../../e-pregunta-abierta-respuesta/service/e-pregunta-abierta-respuesta.service';
|
||||||
import { EPreguntaCerradaOpcionService } from '../../e-pregunta-cerrada-opcion/service/e-pregunta-cerrada-opcion.service';
|
import { EPreguntaCerradaOpcionService } from '../../e-pregunta-cerrada-opcion/service/e-pregunta-cerrada-opcion.service';
|
||||||
import { faStar, faQuestion } from '@fortawesome/free-solid-svg-icons';
|
import { faStar, faQuestion } from '@fortawesome/free-solid-svg-icons';
|
||||||
import { AccesoEncuesta } from 'app/entities/enumerations/acceso-encuesta.model';
|
import { AccesoEncuesta } from 'app/entities/enumerations/acceso-encuesta.model';
|
||||||
import { EncuestaPasswordDialogComponent } from '../encuesta-password-dialog/encuesta-password-dialog.component';
|
import { EncuestaPasswordDialogComponent } from '../encuesta-password-dialog/encuesta-password-dialog.component';
|
||||||
|
import { EPreguntaCerradaOpcion } from 'app/entities/e-pregunta-cerrada-opcion/e-pregunta-cerrada-opcion.model';
|
||||||
|
import { PreguntaCerradaTipo } from 'app/entities/enumerations/pregunta-cerrada-tipo.model';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'jhi-complete',
|
selector: 'jhi-complete',
|
||||||
|
@ -30,6 +33,9 @@ export class EncuestaCompleteComponent implements OnInit {
|
||||||
ePreguntas?: any[];
|
ePreguntas?: any[];
|
||||||
ePreguntasOpciones?: any[];
|
ePreguntasOpciones?: any[];
|
||||||
isLocked?: boolean;
|
isLocked?: boolean;
|
||||||
|
selectedOpenOptions: any;
|
||||||
|
selectedSingleOptions: any;
|
||||||
|
selectedMultiOptions: any;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
protected activatedRoute: ActivatedRoute,
|
protected activatedRoute: ActivatedRoute,
|
||||||
|
@ -39,9 +45,13 @@ export class EncuestaCompleteComponent implements OnInit {
|
||||||
protected modalService: NgbModal,
|
protected modalService: NgbModal,
|
||||||
protected ePreguntaCerradaService: EPreguntaCerradaService,
|
protected ePreguntaCerradaService: EPreguntaCerradaService,
|
||||||
protected ePreguntaCerradaOpcionService: EPreguntaCerradaOpcionService,
|
protected ePreguntaCerradaOpcionService: EPreguntaCerradaOpcionService,
|
||||||
protected ePreguntaAbiertaService: EPreguntaAbiertaService
|
protected ePreguntaAbiertaService: EPreguntaAbiertaService,
|
||||||
) {}
|
protected ePreguntaAbiertaAbiertaRespuestaService: EPreguntaAbiertaRespuestaService
|
||||||
|
) {
|
||||||
|
this.selectedOpenOptions = {};
|
||||||
|
this.selectedSingleOptions = {};
|
||||||
|
this.selectedMultiOptions = [];
|
||||||
|
}
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.activatedRoute.data.subscribe(({ encuesta }) => {
|
this.activatedRoute.data.subscribe(({ encuesta }) => {
|
||||||
if (encuesta) {
|
if (encuesta) {
|
||||||
|
@ -54,6 +64,11 @@ export class EncuestaCompleteComponent implements OnInit {
|
||||||
this.loadAll();
|
this.loadAll();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
for (let pregunta of this.ePreguntas!) {
|
||||||
|
if (pregunta.tipo && pregunta.tipo === PreguntaCerradaTipo.SINGLE) {
|
||||||
|
this.selectedSingleOptions[pregunta.id] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
verifyPassword(): boolean {
|
verifyPassword(): boolean {
|
||||||
|
@ -74,18 +89,22 @@ export class EncuestaCompleteComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
initListeners(): void {
|
initListeners(): void {
|
||||||
const checkboxes = document.getElementsByClassName('ds-survey--checkbox');
|
const questions = document.getElementsByClassName('ds-survey--question-wrapper');
|
||||||
for (let i = 0; i < checkboxes.length; i++) {
|
for (let i = 0; i < questions.length; i++) {
|
||||||
checkboxes[i].addEventListener('click', e => {
|
if (questions[i].classList.contains('ds-survey--closed-option')) {
|
||||||
|
questions[i].addEventListener('click', e => {
|
||||||
if ((e.target as HTMLInputElement).checked) {
|
if ((e.target as HTMLInputElement).checked) {
|
||||||
(e.target as HTMLElement).offsetParent!.classList.add('ds-survey--closed-option--active');
|
(e.target as HTMLElement).offsetParent!.classList.add('ds-survey--closed-option--active');
|
||||||
|
(e.target as HTMLElement).id;
|
||||||
debugger;
|
debugger;
|
||||||
} else {
|
} else {
|
||||||
(e.target as HTMLElement).offsetParent!.classList.remove('ds-survey--closed-option--active');
|
(e.target as HTMLElement).offsetParent!.classList.remove('ds-survey--closed-option--active');
|
||||||
|
debugger;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
trackId(_index: number, item: IEPreguntaCerrada): number {
|
trackId(_index: number, item: IEPreguntaCerrada): number {
|
||||||
return item.id!;
|
return item.id!;
|
||||||
|
@ -137,4 +156,29 @@ export class EncuestaCompleteComponent implements OnInit {
|
||||||
previousState(): void {
|
previousState(): void {
|
||||||
window.history.back();
|
window.history.back();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onCheck(preguntaOpcion: { epreguntaCerrada: any; id: any }): void {
|
||||||
|
this.selectedSingleOptions[preguntaOpcion.epreguntaCerrada!.id!] = preguntaOpcion.id;
|
||||||
|
console.log(this.selectedSingleOptions);
|
||||||
|
debugger;
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleOption(ePreguntaOpcionFinal: { id: any }): void {
|
||||||
|
if (this.selectedMultiOptions.includes(ePreguntaOpcionFinal.id)) {
|
||||||
|
for (let i = 0; i < this.selectedMultiOptions.length; i++) {
|
||||||
|
if (this.selectedMultiOptions[i] === ePreguntaOpcionFinal.id) {
|
||||||
|
this.selectedMultiOptions.splice(i, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.selectedMultiOptions.push(ePreguntaOpcionFinal.id);
|
||||||
|
}
|
||||||
|
debugger;
|
||||||
|
}
|
||||||
|
|
||||||
|
finish(): void {
|
||||||
|
console.log(this.selectedMultiOptions);
|
||||||
|
console.log(this.selectedSingleOptions);
|
||||||
|
console.log(this.selectedOpenOptions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue