Widget:UserExamQuery: Difference between revisions
Jump to navigation
Jump to search
Matt Pijoan (talk | contribs) No edit summary |
Matt Pijoan (talk | contribs) No edit summary |
||
(84 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<includeonly> | <includeonly> | ||
<style type="text/css"> | |||
#metrics{ | |||
width:100%; | |||
text-align: center; | |||
} | |||
.headerCell{ | |||
display: inline-block; | |||
width:20%; | |||
} | |||
.question{ | |||
background: #C7DDEE; | |||
color:#000; | |||
display: inline-block; | |||
width:20%; | |||
height:30px; | |||
} | |||
.cell | |||
{ background:#C7DDEE url('http://www.jankoatwarpspeed.com/wp-content/uploads/examples/expandable-rows/row_bkg.png') repeat-x scroll center left; color:#000; display: inline-block; width:20%; height:30px; } | |||
#header { background:#7CB8E2 url('http://www.jankoatwarpspeed.com/wp-content/uploads/examples/expandable-rows/header_bkg.png') repeat-x scroll center left; color:#fff; width:100%; height:30px; text-align:left; | |||
display: inline-block;} | |||
.mw-collapsible-toggle{ | |||
position:absolute; | |||
/* @noflip */ | |||
right: 20px; | |||
} | |||
</style> | |||
<script type="text/javascript"> | <script type="text/javascript"> | ||
function ensureLoggedIn() { | function ensureLoggedIn() { | ||
mw.loader.using('mediawiki.user', function() { | mw.loader.using('mediawiki.user', function() { | ||
mw.loader.using('jquery.makeCollapsible', function() { | |||
if ($.isEmptyObject(wgUserName)) { | if ($.isEmptyObject(wgUserName)) { | ||
alert("Please Log In To Continue."); | alert("Please Log In To Continue."); | ||
Line 10: | Line 37: | ||
} | } | ||
}); | }); | ||
}); | |||
} | } | ||
function runQuery() { | function runQuery() { | ||
Line 20: | Line 48: | ||
.always(function (data) { | .always(function (data) { | ||
$.each(data.userExamQuery[0], function(index, value){ | $.each(data.userExamQuery[0], function(index, value){ | ||
$( | var outstring = ""; | ||
var timeBegin = ""; | |||
$(' | var timeEnd = ""; | ||
var scoreString = ""; | |||
if(value.begin != null){ | |||
timeBegin = new Date(value.begin * 1000).toDateString(); | |||
} | |||
if(value.end != null){ | |||
timeEnd = new Date (value.end * 1000).toDateString(); | |||
scoreString = value.score + "%"; | |||
} else { | |||
timeEnd = "Unfinished"; | |||
scoreString = "N/A"; | |||
} | |||
if($(value.questions).length > 0){ | |||
outstring += "<div id='"+value.id+"'><span class='cell'>"+value.id+"</span><span class='cell'>"+timeBegin+"</span><span class='cell'>"+scoreString+"</span><span class='cell'>"+timeEnd+"</span><span class='cell'>"+value.type+"</span>"; | |||
outstring += "<div class='mw-collapsible-content'>"; | |||
$.each(value.questions, function(ind, val){ | |||
outstring += "<span class='question'>"+val.title+"</span>"; | |||
if(val.timestam != null){ | |||
var timestam = new Date (val.timestam * 1000).toDateString(); | |||
outstring += "<span class='question'>"+timestam+"</span>"; | |||
} | |||
outstring += "<span class='question'>"+val.submitted+"</span><br />"; | |||
}); | |||
outstring += "</div>" | |||
outstring += "</div>"; | |||
$("#metrics").append(outstring); | |||
$("#"+value.id).makeCollapsible(); | |||
} | |||
}); | }); | ||
}); | }); | ||
Line 31: | Line 84: | ||
</script> | </script> | ||
<div id="metrics"></div> | <div id="metrics"> | ||
<div id="header"> | |||
<span class="headerCell">Exam ID</span><span class="headerCell">Date started</span><span class="headerCell">Performance</span><span class="headerCell">Date Finished</span><span class="headerCell">Exam Type</span> | |||
</div> | |||
</div> | |||
</includeonly> | </includeonly> |