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

51 lines
1.2 KiB
TypeScript

import { Component, Input, OnInit } from '@angular/core';
import { ConfigService } from '../../../services/config.service';
import { mockPoll3 } from '../../../config/mocks/mock-poll3';
@Component({
selector: 'framadate-voting-summary',
templateUrl: './voting-summary.component.html',
styleUrls: ['./voting-summary.component.scss'],
})
export class VotingSummaryComponent implements OnInit {
preferred = 'rien';
severalPreferred = false;
@Input() pollconfig = mockPoll3;
constructor(public config: ConfigService) {}
ngOnInit() {
this.computePreferred();
}
getKeys(obj) {
return Object.keys(obj);
}
/**
* find the most "yes"
*/
computePreferred() {
const keys = Object.keys(this.pollconfig.choices_count.counts);
this.preferred = '';
this.severalPreferred = false;
const 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;
}
});
}
showModalDialog() {
this.config.displayConfirmVoteModalAdmin = true;
}
}