--- rat/client/parameter.html 2012/04/30 13:43:31 1.59.2.1.2.1 +++ rat/client/parameter.html 2016/05/15 17:40:34 1.72 @@ -5,7 +5,7 @@ The LearningOnline Network with CAPA Parameter Input Window // -// $Id: parameter.html,v 1.59.2.1.2.1 2012/04/30 13:43:31 raeburn Exp $ +// $Id: parameter.html,v 1.72 2016/05/15 17:40:34 raeburn Exp $ // // Copyright Michigan State University Board of Trustees // @@ -39,10 +39,14 @@ Parameter Input Window var ptype=''; var pvalue=''; +var pmodval=''; +var pextraval=''; +var pextravaltwo=''; var preturn=''; var pcode=''; var pscat=''; var pmarker=''; +var pmodal=''; var pname=''; var defhour=0; @@ -240,58 +244,66 @@ function month() { function intminute() { var thisminutes=cmins; var i; - choicewrite(''; for (i=0;i<=59;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); + result += ''; + return result; } function inthour() { var thishours=chours; var i; - choicewrite(''; for (i=0;i<=23;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); -} + result += ''; + return result; +} function intsecond() { - var thisseconds=csecs; + var thisseconds=csecs; var i; - choicewrite(''; for (i=0;i<=59;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); + result += ''; + return result; } function intday() { var thisdate=cdays; var i; - choicewrite(''; for (i=0;i<=31;i++) { - choicewrite(''); + result += '>'+i+''; } - choicewrite(''); + result += ''; + return result; } function intcalc() { @@ -300,7 +312,100 @@ function intcalc() { sform.hours.options[sform.hours.selectedIndex].value*1)*60+ sform.minutes.options[sform.minutes.selectedIndex].value*1)*60+ sform.seconds.options[sform.seconds.selectedIndex].value*1; - draw(); + if ((ptype=='date') && (pscat=='interval')) { + var newpmodval = ''; + var newpextraval = ''; + var newpextravaltwo = 'Done'; + if (sform.donebutton.length) { + for (var i=0; i'); - intervaldis(); - choicewrite('Time:' - +''); - intday();choicewrite('days '); - inthour();choicewrite('hours '); - intminute(); choicewrite('mins '); intsecond(); - choicewrite('secs'); - } else { + choicewrite( [ + ''+intervaldis()+'', + 'Time:', + ''+intday()+' days ', + ''+inthour()+' hours', + ''+intminute()+' mins', + ''+intsecond()+' secs', + '', + '', + '
', + ].join("\n")); + tablestart('Provide a "Done" button to students?'); + choicewrite('Value:'); + choicewrite('
'); + choicewrite('
'); + choicewrite(''+ + ''); + choicewrite(' 
'+ + '
'+ + '
'+ + 'Button text:'+ + '
'); + choicewrite(''); + } else { choicewrite('' +cdate.toString()+ 'Date:'); @@ -630,7 +813,7 @@ function draw() { choicewrite('
'); + choicewrite(' /> Bubblesheet Exam
'); // choicewrite('
'); } + if (pscat=='lenient') { + var patternLenientStd = /^(yes|no|default)$/; + var patternLenientRel = /^([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)\,([\-\d\.]+)$/; + var lenientweighted = 'none'; + var relatives = new Array; + tablestart('Lenient Grading (Partial Credit)'); + choicewrite('Value:'); + choicewrite('
'); + choicewrite('
'); + choicewrite('
'); + choicewrite('

'+ + '
'+ + ''+ + ''); + var lenienttypes = ['Correct (checked)','Correct (unchecked)','Incorrect (checked)','Incorrect (unchecked)']; + for (var i=0; i'+ + ''); + } + choicewrite('
Foil submission statusPoints
'+lenienttypes[i]+'
'); + } if (pscat=='discussvote') { tablestart('Discussion Voting'); choicewrite('Value:'); @@ -815,6 +1044,10 @@ function assemble() { function init() { var i; var subs=new Array(); + var doneRegExp = /_done(|\:[^\:]+\:)/; + var doneproctorRegExp = /_done(|\:[^\:]+\:)_proctor/; + var proctorkeyRegExp = /^(\d+)_(.+)$/; + var donetextRegExp = /\:([^\:]+)\:/; var namevalue=this.window.location.search.split('&'); namevalue[0]=namevalue[0].substr(1,namevalue[0].length-1); @@ -836,6 +1069,7 @@ function init() { if (pair[0]=='call') { pcode=pair[1]; } if (pair[0]=='marker') { pmarker=pair[1]; } if (pair[0]=='name') { pname=pair[1]; } + if (pair[0]=='modal') { pmodal=pair[1]; } if (pair[0]=='defhour' && pair[1] >= 0 && pair[1] < 24 ) { defhour=pair[1]; } @@ -843,6 +1077,47 @@ function init() { if (pair[0]=='defsec' && pair[1] >= 0 && pair[1] < 60) { defsec=pair[1]; } } + if (ptype=='date' && pscat == 'interval') { + if (doneproctorRegExp.test(pvalue)) { + var current = pvalue.match(doneproctorRegExp); + if (current.length == 2) { + var textstr = current[1]; + if (textstr != '') { + var textvals = textstr.match(donetextRegExp); + if (textvals.length == 2) { + pextravaltwo = textvals[1]; + } + } + } + var intervalwithkey = pvalue.replace(doneproctorRegExp,''); + if (proctorkeyRegExp.test(intervalwithkey)) { + var currvals = intervalwithkey.match(proctorkeyRegExp); + if (currvals.length == 3) { + pvalue = currvals[1]; + pextraval = currvals[2]; + pmodval = '_done_proctor'; + } else { + pmodval = ''; + } + } + } else { + if (doneRegExp.test(pvalue)) { + var current = pvalue.match(doneRegExp); + if (current.length == 2) { + var textstr = current[1]; + if (textstr != '') { + var textvals = textstr.match(donetextRegExp); + if (textvals.length == 2) { + pextravaltwo = textvals[1]; + } + } + } + var pnumval = pvalue.replace(doneRegExp,''); + pmodval = '_done'; + pvalue = pnumval; + } + } + } svalue=pvalue; if (((ptype=='float') || (ptype=='string') || (ptype=='int')) && (pscat=='default') && @@ -882,7 +1157,7 @@ function init() { selwrite(''); selwrite(''); selwrite('
'+pname+'
'); - selwrite(''); if (ptype=='tolerance') { sopt('default','Default'); @@ -946,6 +1221,7 @@ function init() { else if (pscat == 'problemstatus'){ sopt('problemstatus','Problem Status'); } else if (pscat == 'examtype') { sopt('examtype','Exam Type'); } else if (pscat == 'questiontype') { sopt('questiontype','Question Type'); } + else if (pscat == 'lenient') { sopt('lenient','Lenient Grading (Partial Credit)'); } else if (pscat == 'discussvote') { sopt('discussvote','Discussion Voting'); } else if (pscat == 'ip') { sopt('ip','IP Number/Name'); } else if (pscat == 'fileext') { sopt('fileext','File Extension'); } @@ -960,56 +1236,38 @@ function init() { } selwrite('
'); - - selwrite('Save  '); selwrite('Delete  '); - selwrite('Cancel'); - selwrite(''); this.window.selector.document.close(); draw();