tweaked to account for empty answers

This commit is contained in:
zuzanna-maria 2023-04-05 12:57:23 +02:00
parent e31a174b71
commit 10d44ca52e
2 changed files with 13 additions and 10 deletions

View File

@ -28,7 +28,6 @@ define([], function () {
var comparePairs = function() {
var pairs = getPermutations(optionArray, 2);
var pairDict = {};
pairs.forEach(function (pair) {
pairDict[pair] = 0;
@ -203,11 +202,9 @@ define([], function () {
var rankedPairWinner = rankedPairsMethod(optionArray, listOfLists);
var method = form[uid].condorcetmethod;
if (method === "schulze") {
condorcetWinner[0] = schulzeWinner;
condorcetWinner[1] = rankedPairWinner;
condorcetWinner = schulzeWinner;
} else if (method === "ranked") {
condorcetWinner[0] = rankedPairWinner;
condorcetWinner[1] = schulzeWinner;
condorcetWinner = rankedPairWinner;
}
return condorcetWinner;
};

View File

@ -2897,22 +2897,28 @@ define([
var listOfLists = [];
Object.keys(_answers).forEach(function(a) {
listOfLists.push(_answers[a].msg[uid]);
if (_answers[a].msg[uid] !== undefined) {
listOfLists.push(_answers[a].msg[uid]);
}
});
return Condorcet.showCondorcetWinner(_answers, opts, uid, form, optionArray, listOfLists);
if (Object.keys(listOfLists).length !== 0) {
return Condorcet.showCondorcetWinner(_answers, opts, uid, form, optionArray, listOfLists);
}
};
var condorcetWinnerDiv = h('div.cp-form-block-content');
if (type === "sort") {
if (summary) {
if (summary && showCondorcetWinner(answers, block.opts, uid, form) !== undefined) {
var calculateCondorcet = function() {
var condorcetWinner;
var detailedResults;
var condorcetResults = h('span');
var rankedResults = showCondorcetWinner(answers, block.opts, uid, form)[0][0];
var rankedResults = showCondorcetWinner(answers, block.opts, uid, form)[0];
if (form[uid].condorcetmethod === 'schulze') {
condorcetWinner = rankedResults[Object.keys(rankedResults).length - 1];
@ -2926,7 +2932,7 @@ define([
});
return [condorcetResults, detailedResults];
} else if (form[uid].condorcetmethod === 'ranked') {
var sortedRankDict = showCondorcetWinner(answers, block.opts, uid, form)[0][1];
var sortedRankDict = showCondorcetWinner(answers, block.opts, uid, form)[1];
condorcetWinner = rankedResults[0];
detailedResults = Object.keys(sortedRankDict).map(function(result) {