--- rat/client/parameter.html 2022/05/27 17:58:03 1.64.2.5.2.2 +++ rat/client/parameter.html 2022/07/07 03:37:02 1.90 @@ -5,7 +5,7 @@ The LearningOnline Network with CAPA Parameter Input Window // -// $Id: parameter.html,v 1.64.2.5.2.2 2022/05/27 17:58:03 raeburn Exp $ +// $Id: parameter.html,v 1.90 2022/07/07 03:37:02 raeburn Exp $ // // Copyright Michigan State University Board of Trustees // @@ -45,9 +45,14 @@ var pextravaltwo=''; var preturn=''; var pcode=''; var pscat=''; +var psmap=''; var pmarker=''; var pmodal=''; var pname=''; +var precursive=''; +var pnonreccol=''; +var pmarkerst=''; +var pparm=''; var pextra=''; var defhour=0; @@ -189,7 +194,7 @@ function second() { choicewrite('>'+i+''); } choicewrite(''); -} +} function date() { @@ -240,8 +245,8 @@ function month() { } choicewrite(''); } - - + + function intminute() { var thisminutes=cmins; var i; @@ -288,7 +293,7 @@ function intsecond() { } result += ''; return result; -} +} function intday() { @@ -324,7 +329,7 @@ function intcalc() { newpmodval = sform.donebutton[i].value; newpextravaltwo = sform.donebutton_text.value; } else { - if (sform.donebutton[i].value == '_done_proctor') { + if (sform.donebutton[i].value == '_done_proctor') { newpmodval = sform.donebutton[i].value; newpextraval = sform.donebutton_proctorkey.value; newpextravaltwo = sform.donebutton_text.value; @@ -345,7 +350,7 @@ function intcalc() { svalue += donevals[1]; } if (newpextravaltwo) { - if (newpextravaltwo != 'Done') { + if (newpextravaltwo != 'Done') { svalue += ':'+newpextravaltwo+':'; } } @@ -396,9 +401,9 @@ function validateInterval() { for (var i=0; i 0)) { + if ((numRegExp.test(posscoll)) && (posscoll > 0)) { svalue += posscoll; } else { alert("Please select either a numbered collection or check 'Standard (all menus)'."); @@ -473,6 +479,30 @@ function validateDeepLink() { } svalue += ','; svalue += sform.deeplinktarget.options[sform.deeplinktarget.selectedIndex].value; + svalue += ','; + if (sform.deeplinkexit.length) { + for (var i=0; i 0) { + if (items.length > 0) { for (var j=0; j'+ 'Remove'; @@ -624,6 +674,46 @@ function callradiostringeval(newval) { return 'onclick="parent.radiostringeval(\''+newval+'\')"'; } +function lenienteval(newval) { + if (newval == 'weighted') { + if (document.getElementById('lenientweighteddiv')) { + document.getElementById('lenientweighteddiv').style.display='block'; + } + var patternRelWeight = /^\-?[\d.]+$/; + var sform=choices.document.forms.sch; + var relwtlength = sform.lenientrelwt.length; + if ((relwtlength != '') && (typeof(relwtlength) != 'undefined')) { + for (var i=0; iX"; } choicewrite(''+selection+''); - -} +} function draw() { choicestart(); @@ -756,7 +845,7 @@ function draw() { tablestart('Date and time'); } if (pscat=='interval') { - var proctorkeytype = 'hidden'; + var proctorkeytype = 'hidden'; var donebuttontext = 'none'; if (pmodval == '_done_proctor') { proctorkeytype = 'text'; @@ -865,7 +954,7 @@ function draw() { if (ptype=='float') { if (pscat=='default') { tablestart('Default value or none'); - choicewrite(''); + choicewrite(''); } else { if (pscat=='pos') { tablestart('Positive floating point number or zero'); @@ -884,7 +973,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:'); @@ -953,7 +1042,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'); @@ -1022,7 +1141,7 @@ function draw() { if (pscat=='ip') { var currallow = new Array; var currdeny = new Array; - if ((svalue != '') && (svalue != null)) { + if ((svalue != '') && (typeof(svalue) != 'undefined')) { var patternComma = /,/; var patternAllow = /^([\[\]a-zA-Z\.\d\*\-]+)$/; var patternDeny = /^\!([\[\]a-zA-Z\.\d\*\-]+)$/; @@ -1104,18 +1223,22 @@ function draw() { ' type="radio" '+callradiostringeval('map_map')); if (svalue=='map_map') { choicewrite(' checked="checked"'); } 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(''); - } + choicewrite(''); + } if (pscat=='deeplink') { var deeplinkvals = new Array(); var linkprotectparts = new Array(); - var ltikeyRegExp = /^(ltic|ltid|key):(\w+)$/; + var ltikeyRegExp = /^(ltic:\d+|ltid:\d+|key:[a-zA-Z\d_.!@#$%^&*()+=-]+)$/; + var linkexitparts = new Array(); + var dlinkexitRegExp = /^(yes|url|no)(|:[^:,;'"]+)$/; var dlinkkeysty = 'hidden'; var dlinkkeyval = ''; var dlinklticdivsty = 'none'; var dlinkltiddivsty = 'none'; var dlinkmenusdivsty = 'none'; - if ((svalue != '') && (svalue != null)) { + var dlinkexitdivsty = 'none'; + var dlinkexittextval = ''; + if ((svalue != '') && (typeof(svalue) != 'undefined')) { deeplinkvals = svalue.split(','); if (ltikeyRegExp.test(deeplinkvals[4])) { linkprotectparts = deeplinkvals[4].split(':'); @@ -1132,8 +1255,20 @@ function draw() { if (deeplinkvals[5] >= 1) { dlinkmenusdivsty = 'inline-block'; } + if (dlinkexitRegExp.test(deeplinkvals[7])) { + linkexitparts = deeplinkvals[7].split(':'); + deeplinkvals[7] = linkexitparts[0]; + if (deeplinkvals[7] != 'no') { + dlinkexitdivsty = 'inline-block'; + if (!linkexitparts[1]) { + dlinkexittextval = 'Exit Tool'; + } else { + dlinkexittextval = linkexitparts[1]; + } + } + } } else { - deeplinkvals = ['off','unhide','full','res','','0']; + deeplinkvals = ['off','unhide','full','res','','0','_self','no']; } var deeplinkstate = new Array(); deeplinkstate = ['only','off','both']; @@ -1157,6 +1292,7 @@ function draw() { deeplinktarget = ['_self','_top']; var deeplinktargettxt = new Array(); deeplinktargettxt = ['Embedded','Not embedded']; + var deeplinkexit = ['yes','url','no']; tablestart('Deep-linked items'); choicewrite('Access status?'); choicewrite(''+deeplinktargettxt[i]+''); } choicewrite(''); + choicewrite(''); + choicewrite('Exit Button?'); + choicewrite('
'); + choicewrite(' '); + choicewrite('
'); + choicewrite('
'); + choicewrite('
Button text: '); + choicewrite(''); + choicewrite('
'); choicewrite(''); } } - + if (ptype=='color') { tablestart('Choose a Color'); choicewrite(''); @@ -1366,7 +1523,7 @@ function draw() { colorfield(ir,ig,ib); } choicewrite(''); - } + } } choicewrite('
'); } @@ -1389,6 +1546,22 @@ function catchange() { draw(); } +function recursechange() { + var rform=selector.document.forms.frec; + var count = rform.recurse.length; + if (count > 0) { + for (var i=0; i'); + if (ismap == 1) { + if ((pparm != 'hiddenresource') && (pparm != 'encrypturl')) { + selwrite('
'); + selwrite('Recursive:   '); + selwrite(''); + selwrite('

'); + } + } var targ='parent.opener'; if (pmodal==1) { targ='parent.parent'; @@ -1670,10 +1898,14 @@ function init() { selwrite(''); this.window.selector.document.close(); if (pscat == 'deeplink') { - document.getElementById("LCparampopup").rows="60,*"; + if (psmap==1) { + document.getElementById("LCparampopup").rows="100,*"; + } else { + document.getElementById("LCparampopup").rows="60,*"; + } } draw(); - + } // ]]>