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
 
(82 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){
               $('#metrics').append("<ul><li>"+value.id+"|"+value.begin+"|"+value.end+"|"+value.score+"|"+value.type+"</li>");
               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){
                 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){
                 $.each(value.questions, function(ind, val){
                 $('#metrics').append("<li>"+val.title+"</li>");
                 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();
                 }
                 }
                $('#metrics').append("</ul>");
console.log(index);
                console.log(value);
         });
         });
});
});
Line 35: 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>

Latest revision as of 19:40, 24 July 2014