random autofill on view page of a poll

This commit is contained in:
Tykayn 2021-05-20 12:51:25 +02:00 committed by tykayn
parent e86e7af5e1
commit 406bf71b92
6 changed files with 35 additions and 11 deletions

View File

@ -3,8 +3,8 @@ import { Owner } from './owner.model';
export class Stack { export class Stack {
public id: number; public id: number;
public pseudo: string = 'Choque Nourrice'; public pseudo = 'Choque Nourrice';
public comment: string = 'Le beau commentaire de Choque Nourrice'; public comment = 'Le beau commentaire de Choque Nourrice';
public owner: Owner = new Owner(); public owner: Owner = new Owner();
public votes: Vote[]; public votes: Vote[] = [];
} }

View File

@ -18,6 +18,7 @@ import {
import { Poll } from '../models/poll.model'; import { Poll } from '../models/poll.model';
import { Owner } from '../models/owner.model'; import { Owner } from '../models/owner.model';
import { DateUtilitiesService } from './date.utilities.service'; import { DateUtilitiesService } from './date.utilities.service';
import { ToastService } from './toast.service';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
@ -44,8 +45,13 @@ export class StorageService {
@LocalStorage() @LocalStorage()
public choices: Choice[] = []; public choices: Choice[] = [];
constructor(public dateUtilities: DateUtilitiesService) { constructor(
public dateUtilities: DateUtilitiesService,
private toastService: ToastService
) {
if (environment.autofill) { if (environment.autofill) {
this.toastService.display('autofill des sondages utilisateur');
this.userPolls.push(new Poll(new Owner(), 'Démo: Anniversaire de tonton Patrick', 'aujourdhui-ou-demain')); this.userPolls.push(new Poll(new Owner(), 'Démo: Anniversaire de tonton Patrick', 'aujourdhui-ou-demain'));
this.userPolls.push(new Poll(new Owner(), 'Démo: Atelier cuisine du quartier', 'aujourdhui-ou-demain')); this.userPolls.push(new Poll(new Owner(), 'Démo: Atelier cuisine du quartier', 'aujourdhui-ou-demain'));
this.userPolls.push( this.userPolls.push(
@ -64,7 +70,9 @@ export class StorageService {
// text choices // text choices
for (const choice of choices_list) { for (const choice of choices_list) {
if (environment.autofill) { if (environment.autofill) {
this.vote_stack.votes.push(new Vote(choice.id, 'yes')); this.toastService.display('autofill au hasard des votes à ce sondage');
const defaultvalue = Math.random() > 0.75 ? 'yes' : '';
this.vote_stack.votes.push(new Vote(choice.id, defaultvalue));
} else { } else {
this.vote_stack.votes.push(new Vote(choice.id)); this.vote_stack.votes.push(new Vote(choice.id));
} }

View File

@ -2,9 +2,9 @@
<div class="date-choices" *ngIf="poll.kind == 'date'"> <div class="date-choices" *ngIf="poll.kind == 'date'">
<div class="box" *ngFor="let group of poll.choices_grouped"> <div class="box" *ngFor="let group of poll.choices_grouped">
<h3 class="title is-3"> <h3 class="title is-3">
{{ group.date_string }} {{ showAsDate(group.date_string) | date: 'fullDate':'Europe/Paris':'fr_FR' }}
</h3> </h3>
<div class="box" *ngFor="let choice of group.choices"> <div class="time-slice-choice" *ngFor="let choice of group.choices">
<div class="columns is-vcentered is-mobile"> <div class="columns is-vcentered is-mobile">
<div class="column"> <div class="column">
<label class="label"> <label class="label">
@ -18,9 +18,9 @@
</span> </span>
</div> </div>
<div class="column is-narrow"> <div class="column is-narrow">
<button class="button is-white" (click)="openModal(poll, choice)"> <!-- <button class="button is-white" (click)="openModal(poll, choice)">-->
<i class="fa fa-info-circle"></i> <!-- <i class="fa fa-info-circle"></i>-->
</button> <!-- </button>-->
</div> </div>
<div class="column is-narrow"> <div class="column is-narrow">
<div class="buttons has-addons is-right"> <div class="buttons has-addons is-right">

View File

@ -31,4 +31,8 @@ export class PollResultsCompactComponent implements OnInit {
toggleAnswer(choice_id: number, value: string) { toggleAnswer(choice_id: number, value: string) {
this.storageService.toggleAnswer(choice_id, value); this.storageService.toggleAnswer(choice_id, value);
} }
showAsDate(date_string: string) {
return new Date(date_string);
}
} }

View File

@ -1,5 +1,5 @@
<button <button
class="button is-white" class="choice-button is-white"
[ngClass]="{ 'is-primary': storageService.choiceHasAnswerOfValue(choice.id, answerEnum[answerKind]) }" [ngClass]="{ 'is-primary': storageService.choiceHasAnswerOfValue(choice.id, answerEnum[answerKind]) }"
(click)="storageService.toggleAnswer(choice.id, answerEnum[answerKind])" (click)="storageService.toggleAnswer(choice.id, answerEnum[answerKind])"
*ngIf="poll.allowed_answers.indexOf(answerEnum[answerKind]) !== -1" *ngIf="poll.allowed_answers.indexOf(answerEnum[answerKind]) !== -1"

View File

@ -0,0 +1,12 @@
.choice-button {
padding: 1.5em;
border-radius: 10em;
border: solid 3px #ccc;
height: 5em;
width: 5em;
display: inline-block;
&:focus,
&:active {
border-color: #6c99ff;
}
}