funky-framadate-front/src/app/pages/voting/voting-summary/voting-summary.component.ts

62 lines
1.9 KiB
TypeScript
Raw Normal View History

import {Component, Input, OnInit} from '@angular/core';
2020-01-16 10:20:15 +01:00
import {ConfigService} from "../../../services/config.service";
2020-01-20 14:36:26 +01:00
import {mockPoll3} from "../../../config/mocks/mock-poll3";
2019-08-21 14:28:50 +02:00
@Component({
selector: 'framadate-voting-summary',
templateUrl: './voting-summary.component.html',
styleUrls: ['./voting-summary.component.scss']
2019-08-21 14:28:50 +02:00
})
export class VotingSummaryComponent implements OnInit {
preferred: string = 'rien';
severalPreferred: boolean = false;
@Input() pollconfig = mockPoll3;
constructor(public config: ConfigService) {
2019-08-21 14:28:50 +02:00
}
2019-08-21 14:28:50 +02:00
ngOnInit() {
this.computePreferred();
console.log(' this.pollconfig.choices', this.pollconfig.choices)
console.log(' this.pollconfig.choices_count', this.pollconfig.choices_count.counts)
console.log('this.pollconfig.choices_count.counts[10]', this.pollconfig.choices_count.counts[10])
console.log('this.pollconfig.choices[2].id', this.pollconfig.choices[2].id)
console.log('this.pollconfig.choices_count.counts[]', this.pollconfig.choices_count.counts[this.pollconfig.choices[2].id].score)
}
2020-01-29 17:30:39 +01:00
getKeys(obj) {
return Object.keys(obj)
}
/**
* find the most "yes"
*/
computePreferred() {
let keys = Object.keys(this.pollconfig.choices_count.counts);
this.preferred = '';
this.severalPreferred = false;
let maxScore = this.pollconfig.choices_count.maxScore;
keys.forEach(item => {
if (maxScore === this.pollconfig.choices_count.counts[item].score) {
if (this.preferred.length) {
this.preferred += ', '
this.severalPreferred = true;
}
// find the favourite
this.preferred += this.pollconfig.choices_count.counts[item].choice_text;
}
});
}
2019-08-21 14:28:50 +02:00
showModalDialog() {
this.config.displayConfirmVoteModalAdmin = true;
}
2019-08-21 14:28:50 +02:00
}