--- rat/client/parameter.html 2015/01/23 19:35:48 1.67 +++ rat/client/parameter.html 2021/03/08 14:27:57 1.71.8.1 @@ -5,7 +5,7 @@ The LearningOnline Network with CAPA Parameter Input Window // -// $Id: parameter.html,v 1.67 2015/01/23 19:35:48 raeburn Exp $ +// $Id: parameter.html,v 1.71.8.1 2021/03/08 14:27:57 raeburn Exp $ // // Copyright Michigan State University Board of Trustees // @@ -39,6 +39,9 @@ Parameter Input Window var ptype=''; var pvalue=''; +var pmodval=''; +var pextraval=''; +var pextravaltwo=''; var preturn=''; var pcode=''; var pscat=''; @@ -241,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() { @@ -301,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 0) { + for (var j=0; j'+ + 'Remove'; + frame.document.getElementById('LC_string_ipacc_inner_'+iptype).appendChild(ipDiv); + } + return false; +} + +function removeIpRule(iptype,num) { + var frame = window.frames["choices"]; + if (frame.document.getElementById('LC_string_ipacc_inner_'+iptype)) { + var innerDiv = frame.document.getElementById('LC_string_ipacc_inner_'+iptype); + 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:'); @@ -560,7 +764,7 @@ function draw() { } if (ptype=='string') { - if ((pscat=='any') || (pscat=='') || (pscat=='default') || + if ((pscat=='any') || (pscat=='') || (pscat=='default') || (typeof(pscat)=='undefined')) { tablestart('Text'); choicewrite('Value:'); @@ -629,7 +833,7 @@ function draw() { choicewrite('
'); + choicewrite(' /> Exam
'); // choicewrite('
'); } if (pscat=='ip') { - tablestart('IP Number/Name'); - choicewrite('Value:'); - choicewrite(''); + var currallow = new Array; + var currdeny = new Array; + if ((svalue != '') && (svalue != null)) { + var patternComma = /,/; + var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/; + var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/; + var current = new Array; + if (patternComma.test(svalue)) { + current = svalue.split(','); + } else { + current = [svalue]; + } + for (var i=0; iAllow fromDeny from'); + var acctypes = ['allow','deny']; + for (var i=0; i'+ + '
'+ + '
'); + for (var j=0; j'); + choicewrite('Remove'); + choicewrite('
'); + } + choicewrite('
'); + } + choicewrite(''); } if (pscat=='fileext') { tablestart('Allowed File Extensions'); @@ -730,15 +975,15 @@ function draw() { choicewrite('
'); + choicewrite(' /> Yes, and the scope of the slot is a single resource.
'); choicewrite('
'); + choicewrite(' /> Yes, and the scope of the slot is the enclosing map/folder. When checking in, it applies to only one resource.
'); choicewrite('
'); + choicewrite(' /> Yes, and the scope of the slot is the enclosing map/folder. When checking in, all resources in the map/folder are checked in.
'); choicewrite(''); } } @@ -830,6 +1075,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); @@ -859,6 +1108,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') && @@ -980,8 +1270,12 @@ function init() { var targ='parent.opener'; if (pmodal==1) { targ='parent.parent'; - } - selwrite('