Use bars for MCQ, add mean for int responses
This commit is contained in:
parent
f0bd1b1e70
commit
ab3c94119d
|
@ -32,20 +32,24 @@
|
|||
}
|
||||
let req_proposals = null;
|
||||
let req_responses = null;
|
||||
let mean = null;
|
||||
|
||||
if (question.kind == "int") {
|
||||
req_responses = question.getResponses();
|
||||
req_responses.then((responses) => {
|
||||
const values = [];
|
||||
const proposal_idx = { };
|
||||
for (const res of responses) {
|
||||
if (proposal_idx[res.value]) {
|
||||
data.datasets[0].values[proposal_idx[res.value]] += 1;
|
||||
values.push(Number(res.value));
|
||||
} else {
|
||||
data.labels.push(res.value);
|
||||
data.datasets[0].values.push(1);
|
||||
proposal_idx[res.value] = new String(data.labels.length - 1);
|
||||
}
|
||||
}
|
||||
mean = Math.trunc(values.reduce((p, e) => p + e) / values.length*10)/10;
|
||||
});
|
||||
} else {
|
||||
req_proposals = refreshProposals();
|
||||
|
@ -74,7 +78,16 @@
|
|||
<span>Récupération des réponses…</span>
|
||||
</div>
|
||||
{:then}
|
||||
<Chart data={data} type="pie" maxSlices="9" />
|
||||
{#if mean !== null}
|
||||
<div class="text-center">
|
||||
Moyenne représentative : <strong>{mean}</strong>
|
||||
</div>
|
||||
{/if}
|
||||
{#if question.kind === "mcq"}
|
||||
<Chart data={data} type="bar" />
|
||||
{:else}
|
||||
<Chart data={data} type="pie" maxSlices="9" />
|
||||
{/if}
|
||||
{/await}
|
||||
{/await}
|
||||
</div>
|
||||
|
|
Reference in New Issue