Index: lams_learning/web/includes/javascript/kumalive.js =================================================================== diff -u -r00c630a99ddb827c772bd0fc0d8d903cc0079f7e -r713741e9ab4f79f0d97486155f1f3e351b3c460d --- lams_learning/web/includes/javascript/kumalive.js (.../kumalive.js) (revision 00c630a99ddb827c772bd0fc0d8d903cc0079f7e) +++ lams_learning/web/includes/javascript/kumalive.js (.../kumalive.js) (revision 713741e9ab4f79f0d97486155f1f3e351b3c460d) @@ -175,7 +175,7 @@ $('#raiseHandPromptButton').click(raiseHandPrompt); $('#downHandPromptButton').click(downHandPrompt); $('#score i').click(score); - $('#pollButton').click(setupPoll).show(); + $('#actionCell .pollButton').click(setupPoll).show(); $('#pollSetupAnswer').change(function(){ if ($('#pollSetupAnswer option:selected').val() === 'custom') { $('#pollSetupAnswerCustom').show(); @@ -335,18 +335,25 @@ pollId = null; // close the panel $('#pollCell').hide(); - $('#pollButton').prop('disabled', false); + $('#actionCell .pollButton').prop('disabled', false); + + $('#learnersCell .learner .badge').remove(); } return; } // open panel if closed + $('#actionCell .pollButton').prop('disabled', true); $('#pollCell, #pollRun').show(); // init poll fields or make them read only after voting if (poll.id != pollId || (poll.finished && $('#pollRunVoteButton').is(':visible'))) { initPoll(poll); } + if (poll.voted != null) { + // highlight the answer user voted for + $('#pollAnswer' + poll.voted).addClass('active'); + } if (poll.votes) { // show votes if user is teacher or votes were released $.each(poll.votes, function(index, count) { @@ -359,9 +366,41 @@ badge.text(count); }); } - if (poll.voted != null) { - // highlight the answer user voted for - $('#pollAnswer' + poll.voted).addClass('active'); + if (poll.voters) { + $.each(poll.voters, function(answerIndex, answerVoters) { + var answerVotersContainer = $('#pollVoters' + answerIndex); + if (answerVotersContainer.length === 0) { + answerVotersContainer = $('
').attr('id', 'pollVoters' + answerIndex).addClass('pollVoters') + .appendTo('#pollRun'); + $('').addClass('badge').appendTo(answerVotersContainer); + $('

').text(pollAnswerBullets[answerIndex] + ') ' + poll.answers[answerIndex]).appendTo(answerVotersContainer); + } + $('.badge', answerVotersContainer).text(poll.votes[answerIndex]); + + $.each(answerVoters, function(voterIndex, voter) { + if ($('.learner[userId="' + voter.id + '"]', answerVotersContainer).length !== 0) { + return true; + } + var voterDiv = learnerDivTemplate.clone() + .attr('userId', voter.id) + .appendTo(answerVotersContainer), + profilePicture = $('.profilePicture', voterDiv); + // use profile picture or a coloured icon + addPortrait(profilePicture, voter.portraitUuid, voter.id, "large", true, LAMS_URL); + $('.name', voterDiv).text(voter.firstName + ' ' + voter.lastName); + + if (roleTeacher) { + // teacher can see logins and chooses who speaks + voterDiv.attr('title', message.logins['user' + voter.id]); + } + learnerFadeIn(voterDiv); + + var learnerDiv = $('#learnersContainer .learner[userId="' + voter.id + '"]'); + if ( $('.badge', learnerDiv).length === 0) { + $('').addClass('badge').text(pollAnswerBullets[answerIndex]).prependTo(learnerDiv); + } + }); + }); } } @@ -668,7 +707,7 @@ * Show form where teacher can build poll */ function setupPoll() { - $('#pollButton').prop('disabled', true); + $('#actionCell .pollButton').prop('disabled', true); $('#pollRun').hide(); // reset form inputs $('#pollSetup input').val(null); @@ -687,7 +726,7 @@ $('#pollRun').show(); } else { $('#pollCell').hide(); - $('#pollButton').prop('disabled', false); + $('#actionCell .pollButton').prop('disabled', false); } } @@ -710,7 +749,7 @@ .appendTo(answerList); if (poll.votes) { // show votes if user is teacher or votes were released - $('').addClass('badge').text(poll.votes[index]).appendTo(answerElement); + $('').addClass('badge').text(poll.votes[index]).prependTo(answerElement); } }); $('#pollRunAnswerList').show(); @@ -730,6 +769,7 @@ .find('label').append($('').text(pollAnswerBullets[index] + ') ' + answer)) .find('input').val(index); }); + radioList.append('
'); $('#pollRunVoteButton').show(); } }