Skip to content
This repository was archived by the owner on Jun 7, 2023. It is now read-only.

Commit d246508

Browse files
committed
Add poll functionality - display all results, display count, move small percents outside of bar (Vincent Qiu December 2020)
1 parent 8094684 commit d246508

1 file changed

Lines changed: 31 additions & 12 deletions

File tree

runestone/poll/js/poll.js

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -176,18 +176,37 @@ export default class Poll extends RunestoneBase {
176176
);
177177
var list = $(document.createElement("div"));
178178
$(list).addClass("results-container");
179-
for (var i = 0; i < opt_list.length; i++) {
180-
var count = count_list[i];
181-
var percent = (count / total) * 100;
182-
var text = Math.round(10 * percent) / 10 + "%"; // round percent to 10ths
183-
var html =
184-
`<div class="progresscounter">${i + 1}. </div>` +
185-
"<div class='progress'>" +
186-
"<div class='progress-bar progress-bar-success'" +
187-
`style="width: ${percent}%; min-width: 2em;">` +
188-
"<span class='poll-text'>" +
189-
text +
190-
"</span></div></div>";
179+
for (var i = 0; i < this.optionList.length; i++) {
180+
var count;
181+
var percent;
182+
if (count_list[i]) {
183+
count = count_list[i];
184+
percent = (count / total) * 100;
185+
} else {
186+
count = 0;
187+
percent = 0;
188+
}
189+
var text = count + " (" + Math.round(10 * percent) / 10 + "%)"; // round percent to 10ths
190+
var html;
191+
if (percent > 10) {
192+
html =
193+
`<div class="progresscounter">${i + 1}. </div>` +
194+
"<div class='progress'>" +
195+
"<div class='progress-bar progress-bar-success'" +
196+
`style="width: ${percent}%; min-width: 2em;">` +
197+
"<span class='poll-text'>" +
198+
text +
199+
"</span></div></div>";
200+
} else {
201+
html =
202+
`<div class="progresscounter">${i + 1}. </div>` +
203+
"<div class='progress'>" +
204+
"<div class='progress-bar progress-bar-success'" +
205+
`style="width: ${percent}%; min-width: 2em;"></div>` +
206+
"<span class='poll-text' style='margin: 0 0 0 10px;'>" +
207+
text +
208+
"</span></div>";
209+
}
191210
var el = $(html);
192211
list.append(el);
193212
}

0 commit comments

Comments
 (0)