FetchText: Support für einfache Abstimmungen mit Ja/Nein/Enthaltung
parent
6ea0c16cb9
commit
82a78b99b6
|
|
@ -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,23 +190,30 @@ 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;
|
||||||
let sum = 0;
|
if (arr.length == 10) {
|
||||||
for (let j = 0; j < 10; j++) {
|
let nPositiv = 0;
|
||||||
arr[j] = parseInt(arr[j]);
|
let sum = 0;
|
||||||
sum += arr[j];
|
for (let j = 0; j < 10; j++) {
|
||||||
if (j < 5) {
|
arr[j] = parseInt(arr[j]);
|
||||||
average += arr[j] * (j-5);
|
sum += arr[j];
|
||||||
} else {
|
if (j < 5) {
|
||||||
nPositiv += arr[j];
|
average += arr[j] * (j-5);
|
||||||
average += arr[j] * (j-4);
|
} else {
|
||||||
|
nPositiv += arr[j];
|
||||||
|
average += arr[j] * (j-4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
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,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue