FetchText: Support für einfache Abstimmungen mit Ja/Nein/Enthaltung

main
Mitja Stachowiak (Hessen) 2024-04-01 03:43:20 +02:00
parent 6ea0c16cb9
commit 82a78b99b6
1 changed files with 26 additions and 14 deletions

View File

@ -34,6 +34,11 @@ window.showAcceptance = function (arr) {
if (arr == chartAcceptanceData) return; if (arr == chartAcceptanceData) return;
chartAcceptanceData = arr; chartAcceptanceData = arr;
chartAcceptance.series[0].setData(arr); chartAcceptance.series[0].setData(arr);
if (arr.length == 10)
chartAcceptance.xAxis[0].update({categories: ['-5', '-4', '-3', '-2', '-1', '+1', '+2', '+3', '+4', '+5']});
else if (arr.length == 3)
chartAcceptance.xAxis[0].update({categories: ['Nein', 'Enthaltung', 'Ja']});
else throw 'Unknown vote system!';
} else if (document.getElementById('Acceptance')) } else if (document.getElementById('Acceptance'))
document.getElementById('Acceptance').style.display = 'none'; document.getElementById('Acceptance').style.display = 'none';
}; };
@ -185,10 +190,10 @@ function fetchText (win) {
function interpretAcceptance (str) { function interpretAcceptance (str) {
let arr = str.split(','); let arr = str.split(',');
if (arr.length != 10) return null;
let accepted = false; let accepted = false;
let nPositiv = 0;
let average = 0; let average = 0;
if (arr.length == 10) {
let nPositiv = 0;
let sum = 0; let sum = 0;
for (let j = 0; j < 10; j++) { for (let j = 0; j < 10; j++) {
arr[j] = parseInt(arr[j]); arr[j] = parseInt(arr[j]);
@ -202,6 +207,13 @@ function fetchText (win) {
} }
average /= sum; average /= sum;
accepted = (average > 0) && (nPositiv >= sum / 3 * 2); accepted = (average > 0) && (nPositiv >= sum / 3 * 2);
} else if (arr.length == 3) {
arr[0] = parseInt(arr[0]);
arr[1] = parseInt(arr[1]);
arr[2] = parseInt(arr[2]);
accepted = arr[0] < arr[2];
average = (arr[2] - arr[0]) / (arr[0]+arr[1]+arr[2]);
} else return;
return { return {
arr: arr, arr: arr,
average: average, average: average,