--- rat/client/parameter.html 2016/05/21 16:58:07 1.73 +++ rat/client/parameter.html 2019/02/13 19:19:49 1.81 @@ -5,7 +5,7 @@ The LearningOnline Network with CAPA Parameter Input Window // -// $Id: parameter.html,v 1.73 2016/05/21 16:58:07 raeburn Exp $ +// $Id: parameter.html,v 1.81 2019/02/13 19:19:49 raeburn Exp $ // // Copyright Michigan State University Board of Trustees // @@ -48,6 +48,11 @@ var pscat=''; var pmarker=''; var pmodal=''; var pname=''; +var precursive=''; +var pnonreccol=''; +var pmarkerst=''; +var pparm=''; +var pextra=''; var defhour=0; var defmin=0; @@ -188,7 +193,7 @@ function second() { choicewrite('>'+i+''); } choicewrite(''); -} +} function date() { @@ -239,8 +244,8 @@ function month() { } choicewrite(''); } - - + + function intminute() { var thisminutes=cmins; var i; @@ -408,6 +413,69 @@ function validateInterval() { assemble(); } +function validateDeepLink() { + var sform=choices.document.forms.sch; + svalue = sform.deeplinklisted.options[sform.deeplinklisted.selectedIndex].value+','; + svalue += sform.deeplinkacc.options[sform.deeplinkacc.selectedIndex].value+','; + if (sform.deeplinktypes.length) { + for (var i=0; i 0) { for (var j=0; jX"; } choicewrite(''+selection+''); - -} +} function draw() { choicestart(); @@ -785,7 +851,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'); @@ -980,7 +1046,7 @@ function draw() { if (patternComma.test(svalue)) { current = svalue.split(','); } else { - current = (svalue); + current = [svalue]; } for (var i=0; i'+ '
'+ '
'); - var num=0; for (var j=0; j'); - if (num > 0) { - choicewrite('Remove'); - } + choicewrite('Remove'); choicewrite('
'); - num ++; } - choicewrite('
'); + choicewrite(''); } choicewrite(''); } @@ -1058,10 +1120,127 @@ function draw() { ' type="radio" '+callradiostringeval('map_map')); if (svalue=='map_map') { choicewrite(' checked="checked"'); } choicewrite(' /> Yes, and the scope of student selected 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 linktypeparts = new Array(); + var ltikeyRegExp = /^(lti|key):(\w+)$/; + var dlinkkeysty = 'hidden'; + var dlinkltidivsty = 'none'; + var dlinkkeyval = ''; + if ((svalue != '') && (svalue != null)) { + deeplinkvals = svalue.split(','); + if (ltikeyRegExp.test(deeplinkvals[2])) { + linktypeparts = deeplinkvals[2].split(':'); + deeplinkvals[2] = linktypeparts[0]; + if (linktypeparts[0] == 'key') { + dlinkkeysty = 'text'; + dlinkkeyval = linktypeparts[1]; + } else if (linktypeparts[0] == 'lti') { + dlinkltidivsty = 'inline-block'; + } + } + } else { + deeplinkvals = ['full','res','any']; + } + var deeplinklisting = new Array(); + deeplinklisting = ['full','absent','grades','details','datestatus']; + var deeplinklisttxt = new Array(); + deeplinklisttxt = ['Listed (linked) in both','Not listed','Listed in grades only','Listed (unlinked) in both','Listed (unlinked) inc. status in both']; + var deeplinkscopes = new Array(); + deeplinkscopes = ['res','map','rec']; + var deeplinkscopetxt = new Array(); + deeplinkscopetxt = ['resource only','enclosing map/folder','recursive map/folder']; + var deeplinkurls = new Array(); + deeplinkurls = ['any','only','key','lti']; + tablestart('Deep-linked items'); + choicewrite('In Contents or Gradebook?'); + choicewrite(''); + choicewrite('Access scope via deep-link'); + choicewrite(''); + choicewrite('Supported Link Types'); + choicewrite('
'); + choicewrite('
'); + choicewrite(''); + choicewrite(''); + choicewrite('
'); + if ((pextra != '') && (pextra != null)) { + var ltiRegExp = /^lti_/; + if (ltiRegExp.test(pextra)) { + pextra = pextra.replace(ltiRegExp,''); + var posslti = pextra.split(','); + if (posslti.length >= 1) { + var ltinums = new Array(); + var ltititles = new Array(); + for (var i=0; i'); + choicewrite('
'); + choicewrite('

'); + } + } + } + } + choicewrite(''); + } } - + if (ptype=='color') { tablestart('Choose a Color'); choicewrite(''); @@ -1076,7 +1255,7 @@ function draw() { colorfield(ir,ig,ib); } choicewrite(''); - } + } } choicewrite('
'); } @@ -1099,6 +1278,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= 0 && pair[1] < 60) { defmin=pair[1]; } if (pair[0]=='defsec' && pair[1] >= 0 && pair[1] < 60) { defsec=pair[1]; } + if (pair[0]=='extra') { pextra=pair[1]; } } + var tablecol = ''; + var ismap = ''; + if (markerRegExp.test(pmarker)) { + var markerinfo = pmarker.match(markerRegExp); + if (markerinfo.length == 4) { + pmarkerst = markerinfo[1]; + pparm = markerinfo[2]; + tablecol = markerinfo[3]; + if (tablecol == 17 || tablecol == 16) { + ismap = 1; + if (tablecol == 17) { + precursive = 1; + } + pnonreccol = 16; + } else if (tablecol == 11 || tablecol == 10) { + ismap = 1; + if (tablecol == 11) { + precursive = 1; + } + pnonreccol = 10; + } else if (tablecol == 7 || tablecol == 6) { + ismap = 1; + if (tablecol == 7) { + precursive = 1; + } + pnonreccol = 6; + } else if (tablecol == 3 || tablecol == 2) { + ismap = 1; + if (tablecol == 3) { + precursive = 1; + } + pnonreccol = 2; + } + } + } + + if (ptype=='date' && pscat == 'interval') { if (doneproctorRegExp.test(pvalue)) { var current = pvalue.match(doneproctorRegExp); @@ -1207,7 +1441,7 @@ function init() { } } else { if (doneRegExp.test(pvalue)) { - var current = pvalue.match(doneRegExp); + var current = pvalue.match(doneRegExp); if (current.length == 2) { var textstr = current[1]; if (textstr != '') { @@ -1225,8 +1459,8 @@ function init() { } svalue=pvalue; if (((ptype=='float') || (ptype=='string') || (ptype=='int')) && - (pscat=='default') && - (typeof(svalue)!="undefined") && + (pscat=='default') && + (typeof(svalue)!="undefined") && (svalue!=0) && (svalue!='')) { pscat='any'; } if (ptype=='tolerance') { @@ -1302,7 +1536,7 @@ function init() { months[10]='November'; months[11]='December'; } - + if (ptype=='int') { sopt('default','Default'); sopt('pos','Positive Integer, Not Zero'); @@ -1331,8 +1565,9 @@ function init() { else if (pscat == 'ip') { sopt('ip','IP Number/Name'); } else if (pscat == 'fileext') { sopt('fileext','File Extension'); } else if (pscat == 'useslots') { sopt('useslots','Slots control access'); } + else if (pscat == 'deeplink') { sopt('deeplink','Deep-linked items'); } else { pscat = 'any'; } - sopt('any','String Value'); + if (pscat != 'deeplink') { sopt('any','String Value'); } } if (ptype=='color') { @@ -1341,12 +1576,30 @@ function init() { } selwrite(''); + if (ismap == 1) { + if ((pparm != 'hiddenresource') && (pparm != 'encrypturl')) { + selwrite('
'); + selwrite('Recursive:   '); + selwrite(''); + selwrite('

'); + } + } var targ='parent.opener'; if (pmodal==1) { targ='parent.parent'; } if ((ptype=='date') && (pscat=='interval')) { selwrite(' +