From 3b8aa9d8491a94fba3cc46b12fc20069ee89f9b8 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Thu, 20 May 2021 13:25:45 +0200 Subject: [PATCH] add toggle function to yes on all timeslices of a group choice --- src/app/core/models/choice.model.ts | 1 + src/app/core/services/storage.service.ts | 10 ++++++++++ .../consultation/consultation.component.ts | 1 + .../poll-results-compact.component.html | 8 +++++++- .../poll-results-compact.component.ts | 16 +++++++++++++++- .../poll-results-detailed.component.html | 2 +- .../poll-results-detailed.component.scss | 5 +++++ .../poll-results-detailed.component.ts | 7 ++++++- src/environments/environment.ts | 8 ++++---- 9 files changed, 50 insertions(+), 8 deletions(-) diff --git a/src/app/core/models/choice.model.ts b/src/app/core/models/choice.model.ts index 707e7100..d0edc9c7 100644 --- a/src/app/core/models/choice.model.ts +++ b/src/app/core/models/choice.model.ts @@ -3,6 +3,7 @@ import { Owner } from './owner.model'; export class ChoiceGroup { date_string: string; + subSetToYes = false; // to know if all the choices are set to YES, to toggle them all at once without checking them individually choices: Choice[]; } diff --git a/src/app/core/services/storage.service.ts b/src/app/core/services/storage.service.ts index 53955ceb..2aedad26 100644 --- a/src/app/core/services/storage.service.ts +++ b/src/app/core/services/storage.service.ts @@ -102,4 +102,14 @@ export class StorageService { } return false; } + + setAllSubchoicesTo(groupe, newAnswer = 'yes') { + groupe.choices.map((choice) => { + for (const vote of this.vote_stack.votes) { + if (vote.choice_id == choice.id) { + vote.value = newAnswer; + } + } + }); + } } diff --git a/src/app/features/consultation/consultation.component.ts b/src/app/features/consultation/consultation.component.ts index 807312d9..c9c20aec 100644 --- a/src/app/features/consultation/consultation.component.ts +++ b/src/app/features/consultation/consultation.component.ts @@ -52,6 +52,7 @@ export class ConsultationComponent implements OnInit, OnDestroy { if (newpoll) { this.isArchived = new Date(newpoll.expiracy_date) < new Date(); this.poll.is_archived = this.isArchived; + this.poll.choices_grouped.map((elem) => (elem.subSetToYes = false)); } }); diff --git a/src/app/features/consultation/poll-results-compact/poll-results-compact.component.html b/src/app/features/consultation/poll-results-compact/poll-results-compact.component.html index e028368b..38ba8d5d 100644 --- a/src/app/features/consultation/poll-results-compact/poll-results-compact.component.html +++ b/src/app/features/consultation/poll-results-compact/poll-results-compact.component.html @@ -2,13 +2,19 @@

+ {{ showAsDate(group.date_string) | date: 'fullDate':'Europe/Paris':'fr_FR' }}

diff --git a/src/app/features/consultation/poll-results-compact/poll-results-compact.component.ts b/src/app/features/consultation/poll-results-compact/poll-results-compact.component.ts index 6df66375..366d421d 100644 --- a/src/app/features/consultation/poll-results-compact/poll-results-compact.component.ts +++ b/src/app/features/consultation/poll-results-compact/poll-results-compact.component.ts @@ -16,7 +16,6 @@ import { StorageService } from '../../../core/services/storage.service'; export class PollResultsCompactComponent implements OnInit { @Input() public poll: Poll; public answerEnum = Answer; - constructor(private modalService: ModalService, private storageService: StorageService) {} ngOnInit(): void { @@ -35,4 +34,19 @@ export class PollResultsCompactComponent implements OnInit { showAsDate(date_string: string) { return new Date(date_string); } + + toggleAllOfChoice(groupe: any) { + console.log('groupe', groupe); + + if (!groupe.subSetToYes) { + this.storageService.setAllSubchoicesTo(groupe, 'yes'); + groupe.subSetToYes = true; + } else { + this.storageService.setAllSubchoicesTo(groupe, ''); + groupe.subSetToYes = false; + } + // savoir si on a déjà tout mis en "yes" + // si oui, on enlève toutes les réponses + // autrement on met tout à "yes" + } } diff --git a/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.html b/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.html index 8468857a..f8ba850b 100644 --- a/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.html +++ b/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.html @@ -8,7 +8,7 @@ {{ choice.name }} - {{ choice.name | date: 'short':'Europe/Paris':'fr_FR' }} + {{ make_date(choice.name) | date: 'fullDate':'Europe/Paris':'fr_FR' }} diff --git a/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.scss b/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.scss index 5feaefdb..3f667c6b 100644 --- a/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.scss +++ b/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.scss @@ -10,6 +10,11 @@ background: #ffd7d7; } +table { + overflow: scroll; + max-width: 90vw !important; + display: block; +} table { th, th * { diff --git a/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.ts b/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.ts index 556c2df3..8a4cc7dd 100644 --- a/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.ts +++ b/src/app/features/consultation/poll-results-detailed/poll-results-detailed.component.ts @@ -1,6 +1,5 @@ import { Component, Input, OnInit } from '@angular/core'; -import { Answer } from '../../../core/enums/answer.enum'; import { Poll } from '../../../core/models/poll.model'; import { PollService } from '../../../core/services/poll.service'; @@ -24,4 +23,10 @@ export class PollResultsDetailedComponent { } return null; } + + make_date(name: string) { + name = name.substr(0, 24); + console.log('name.length', name.length, name); + return new Date(name); + } } diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 0e893209..05b0fc11 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -3,12 +3,12 @@ // The list of file replacements can be found in `angular.json`. const backendApiUrlsInDev = { - local: 'http://tktest.lan/api/v1', - remote: 'http://tktest.lan/api/v1', + local: 'http://127.0.0.1:8000/api/v1', + remote: 'http://127.0.0.1:8000/api/v1', // remote: 'https://framadate-api.cipherbliss.com/api/v1', }; const apiV1 = { - baseHref: 'http://tktest.lan/api/v1', + baseHref: 'http://127.0.0.1:8000/api/v1', // baseHref: 'https://framadate-api.cipherbliss.com/api/v1', api_new_poll: '/poll/', api_get_poll: '/poll/{id}', @@ -18,7 +18,7 @@ const apiV1 = { }; export const environment = { - frontDomain: 'http://tktest.lan', + frontDomain: 'http://127.0.0.1:8000', production: false, display_routes: false, autofill: true,