Skip to content

Commit

Permalink
Merge pull request #4 from binfalse/berechnung-update-absent
Browse files Browse the repository at this point in the history
Berechnung update absent MEPs
  • Loading branch information
tomthe authored May 13, 2019
2 parents c22bdb0 + c41621c commit 8fbdc83
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 16 deletions.
20 changes: 10 additions & 10 deletions src/app/2019-eu/eu19.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -265,16 +265,16 @@ <h4>Welche Partei hat am ähnlichsten wie du abgestimmt?</h4>
<ng-container *ngFor="let party of partypriority">
<tr [ngClass]="{'opaqueresult': questionResults[q][party].relevant < 1}">
<td class="partyDetailsImage">
<img src="/assets/partei-logos/{{getPartyLogo (party)}}" alt="{{getProperPartyName (party)}}" title="Ergebnis {{getProperPartyName (party)}}: {{questionResults[q][party].dafuer}} Ja-Stimmen, {{questionResults[q][party].dagegen}} Nein-Stimmen, {{questionResults[q][party].enthalten}} Enthaltungen">
<img src="/assets/partei-logos/{{getPartyLogo (party)}}" alt="{{getProperPartyName (party)}}" title="Ergebnis {{getProperPartyName (party)}}: {{questionResults[q][party].dafuer}} Ja-Stimmen, {{questionResults[q][party].dagegen}} Nein-Stimmen, {{questionResults[q][party].enthalten}} Enthaltungen, {{questionResults[q][party].abwesend}} Abwesend">
</td>
<td class="partyDetailsBar">
<div *ngIf="questionResults[q][party].relevant > 0">
<div class="stackedbar">
<div class="stackedbarbar w3-green" [style.width.%]="questionResults[q][party].dafuer * 100 / questionResults[q][party].relevant" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-red" [style.width.%]="questionResults[q][party].dagegen * 100 / questionResults[q][party].relevant" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-blue" [style.width.%]="questionResults[q][party].enthalten * 100 / questionResults[q][party].relevant" style="margin:0;padding:0;top:0;bottom:0"></div><br>
<div class="stackedbarbar w3-green" [style.width.%]="questionResults[q][party].dafuer * 100 / questionResults[q][party].gesamt" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-red" [style.width.%]="questionResults[q][party].dagegen * 100 / questionResults[q][party].gesamt" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-blue" [style.width.%]="questionResults[q][party].enthalten * 100 / questionResults[q][party].gesamt" style="margin:0;padding:0;top:0;bottom:0"></div><br>
</div>
Ja: {{questionResults[q][party].dafuer}} &mdash; Nein: {{questionResults[q][party].dagegen}} &mdash; Enthaltung: {{questionResults[q][party].enthalten}}<br>
Ja: {{questionResults[q][party].dafuer}} &mdash; Nein: {{questionResults[q][party].dagegen}} &mdash; Enthaltung: {{questionResults[q][party].enthalten}} &mdash; Abwesend: {{questionResults[q][party].abwesend}}<br>
Score: {{quest.fragen[q]["score"][party]}} <strong>{{quest.fragen[q][party]}} wie du</strong><br>
</div>
<span *ngIf="questionResults[q][party].relevant == 0">nicht beteiligt</span>
Expand Down Expand Up @@ -350,7 +350,7 @@ <h4>Welche Partei hat am ähnlichsten wie du abgestimmt?</h4>
<td class="w3-left-align">
<ng-container *ngFor="let party of partypriority">
<ng-container *ngIf="quest.fragen[q].consent.indexOf (party) > -1">
<img class='optional-margin partylogolist' src="/assets/partei-logos/{{getPartyLogo (party)}}" alt="{{getProperPartyName (party)}}" title="{{getProperPartyName (party)}}">
<img class='optional-margin partylogolist' src="/assets/partei-logos/{{getPartyLogo (party)}}" alt="{{getProperPartyName (party)}}" title="{{getProperPartyName (party)}}: {{questionResults[q][party].dafuer}} Ja-Stimmen, {{questionResults[q][party].dagegen}} Nein-Stimmen, {{questionResults[q][party].enthalten}} Enthaltungen, {{questionResults[q][party].abwesend}} Abwesend">
</ng-container>
</ng-container>
</td>
Expand All @@ -371,13 +371,13 @@ <h4>Welche Partei hat am ähnlichsten wie du abgestimmt?</h4>
<ng-container *ngFor="let party of partypriority">
<tr [ngClass]="{'opaqueresult': questionResults[q][party].relevant < 1}">
<td class="partyDetailsImage">
<img src="/assets/partei-logos/{{getPartyLogo (party)}}" alt="{{getProperPartyName (party)}}" title="Ergebnis {{getProperPartyName (party)}}: {{questionResults[q][party].dafuer}} Ja-Stimmen, {{questionResults[q][party].dagegen}} Nein-Stimmen, {{questionResults[q][party].enthalten}} Enthaltungen">
<img src="/assets/partei-logos/{{getPartyLogo (party)}}" alt="{{getProperPartyName (party)}}" title="Ergebnis {{getProperPartyName (party)}}: {{questionResults[q][party].dafuer}} Ja-Stimmen, {{questionResults[q][party].dagegen}} Nein-Stimmen, {{questionResults[q][party].enthalten}} Enthaltungen, {{questionResults[q][party].abwesend}} Abwesend">
</td>
<td class="partyDetailsBar">
<div class="stackedbar" *ngIf="questionResults[q][party].relevant > 0">
<div class="stackedbarbar w3-green" [style.width.%]="questionResults[q][party].dafuer * 100 / questionResults[q][party].relevant" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-red" [style.width.%]="questionResults[q][party].dagegen * 100 / questionResults[q][party].relevant" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-blue" [style.width.%]="questionResults[q][party].enthalten * 100 / questionResults[q][party].relevant" style="margin:0;padding:0;top:0;bottom:0"></div><br>
<div class="stackedbarbar w3-green" [style.width.%]="questionResults[q][party].dafuer * 100 / questionResults[q][party].gesamt" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-red" [style.width.%]="questionResults[q][party].dagegen * 100 / questionResults[q][party].gesamt" style="margin:0;padding:0;top:0;bottom:0"></div>
<div class="stackedbarbar w3-blue" [style.width.%]="questionResults[q][party].enthalten * 100 / questionResults[q][party].gesamt" style="margin:0;padding:0;top:0;bottom:0"></div><br>
</div>
<span *ngIf="questionResults[q][party].relevant == 0">Nicht beteiligt</span>
</td>
Expand Down
14 changes: 8 additions & 6 deletions src/app/2019-eu/eu19.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -494,34 +494,36 @@ export class EuropaWal2019 implements OnInit, AfterContentInit, AfterViewInit, A
getZustimmungsPunkte(partyResults, answer) {
const opt = this.voteOptions;
let nAbgegebeneStimmen = partyResults[opt[0]] + partyResults[opt[1]] + partyResults[opt[2]];


// in der eu gibts parties mit nur einer person... wenn die mal nicht da ist -> keine abgegebene stimme -> division durch 0 -> :(
if (nAbgegebeneStimmen < 1) {
/*if (nAbgegebeneStimmen < 1) {
return { 'punkteRelativ': 0, 'punkteAbsolut': 0, 'nAbgegebeneStimmen': 0, 'scoreDescription': "nicht beteiligt" };
}
}*/
let punkte = 0;
let description = "";
if (answer === 'enthalten') { // Enthaltung
punkte = partyResults[opt[0]] + 0.5 * partyResults[opt[1]] + 0.5 * partyResults[opt[2]];
description = "(1/2 · Ja + 1/2 · Nein + Enthaltung) / Gesamt = ("
+ 0.5 * partyResults[opt[1]] + " + " + 0.5 * partyResults[opt[2]] + " + " + partyResults[opt[0]] + ") / " + nAbgegebeneStimmen
+ 0.5 * partyResults[opt[1]] + " + " + 0.5 * partyResults[opt[2]] + " + " + partyResults[opt[0]] + ") / " + partyResults["gesamt"]
+ " = ";
} else if (answer === 'dafuer') { // ja
punkte = 0.5 * partyResults[opt[0]] + partyResults[opt[1]];
description = "(Ja + 1/2 · Enthaltung) / Gesamt = ("
+ partyResults[opt[1]] + " + " + 0.5 * partyResults[opt[0]] + ") / " + nAbgegebeneStimmen
+ partyResults[opt[1]] + " + " + 0.5 * partyResults[opt[0]] + ") / " + partyResults["gesamt"]
+ " = ";
} else if (answer === 'dagegen') { // nein
punkte = 0.5 * partyResults[opt[0]] + partyResults[opt[2]];
description = "(Nein + 1/2 · Enthaltung) / Gesamt = ("
+ partyResults[opt[2]] + " + " + 0.5 * partyResults[opt[0]] + ") / " + nAbgegebeneStimmen
+ partyResults[opt[2]] + " + " + 0.5 * partyResults[opt[0]] + ") / " + partyResults["gesamt"]
+ " = ";
} else {
// wenn der Benutzer gar keine Antwort ausgewaehlt hat
// sowol punkte als auch nAbgegebeneStimmen auf 0 setzen, damit sie nicht ins gesamtergebnis reinzaehlen:
punkte = 0;
nAbgegebeneStimmen = 0;
}
return { 'punkteRelativ': (punkte / nAbgegebeneStimmen), 'punkteAbsolut': punkte, 'nAbgegebeneStimmen': nAbgegebeneStimmen, 'scoreDescription':description };
return { 'punkteRelativ': (punkte / partyResults['gesamt']), 'punkteAbsolut': punkte, 'nAbgegebeneStimmen': nAbgegebeneStimmen, 'scoreDescription':description };
}


Expand Down

0 comments on commit 8fbdc83

Please sign in to comment.