--- rat/client/parameter.html 2019/01/06 15:27:57 1.80 +++ 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.80 2019/01/06 15:27:57 raeburn Exp $ +// $Id: parameter.html,v 1.90 2022/07/07 03:37:02 raeburn Exp $ // // Copyright Michigan State University Board of Trustees // @@ -45,6 +45,7 @@ var pextravaltwo=''; var preturn=''; var pcode=''; var pscat=''; +var psmap=''; var pmarker=''; var pmodal=''; var pname=''; @@ -400,9 +401,9 @@ function validateInterval() { for (var i=0; i 0)) { + svalue += ':'+possltic; + } else { + alert('Please select an LTI launcher, or choose a different supported link type.'); + return; + } + } else if (sform.deeplinkprotect[i].value == 'ltid') { + var possltid = sform.linkpossltid.options[sform.linkpossltid.selectedIndex].value; + if ((numRegExp.test(possltid)) && (possltid > 0)) { + svalue += ':'+possltid; + } else { + alert('Please select an LTI launcher, or choose a different supported link type.'); + return; } - } else if (sform.deeplinktypes[i].value == 'lti') { - var posslti = sform.linkposslti.options[sform.linkposslti.selectedIndex].value; - if (posslti != '' && posslti != null) { - svalue += ':'+posslti; + } + break; + } + } + } + svalue += ','; + if (sform.deeplinkmenus.length) { + for (var i=0; i 0)) { + svalue += posscoll; + } else { + alert("Please select either a numbered collection or check 'Standard (all menus)'."); + return; + } + } + break; + } + } + } + svalue += ','; + svalue += sform.deeplinktarget.options[sform.deeplinktarget.selectedIndex].value; + svalue += ','; + if (sform.deeplinkexit.length) { + for (var i=0; iValue:'); @@ -1036,17 +1139,17 @@ function draw() { choicewrite(' /> No
'); } if (pscat=='ip') { - var currallow = new Array; + 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\*\-]+)$/; var current = new Array; - if (patternComma.test(svalue)) { + if (patternComma.test(svalue)) { current = svalue.split(','); } else { - current = (svalue); + current = [svalue]; } for (var i=0; i Yes, and the scope of student selected slot is a single resource.
'); + 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(''); } if (pscat=='deeplink') { var deeplinkvals = new Array(); - var linktypeparts = new Array(); - var ltikeyRegExp = /^(lti|key):(\w+)$/; + var linkprotectparts = new Array(); + var ltikeyRegExp = /^(ltic:\d+|ltid:\d+|key:[a-zA-Z\d_.!@#$%^&*()+=-]+)$/; + var linkexitparts = new Array(); + var dlinkexitRegExp = /^(yes|url|no)(|:[^:,;'"]+)$/; var dlinkkeysty = 'hidden'; - var dlinkltidivsty = 'none'; var dlinkkeyval = ''; - if ((svalue != '') && (svalue != null)) { + var dlinklticdivsty = 'none'; + var dlinkltiddivsty = 'none'; + var dlinkmenusdivsty = 'none'; + var dlinkexitdivsty = 'none'; + var dlinkexittextval = ''; + if ((svalue != '') && (typeof(svalue) != 'undefined')) { deeplinkvals = svalue.split(','); - if (ltikeyRegExp.test(deeplinkvals[2])) { - linktypeparts = deeplinkvals[2].split(':'); - deeplinkvals[2] = linktypeparts[0]; - if (linktypeparts[0] == 'key') { + if (ltikeyRegExp.test(deeplinkvals[4])) { + linkprotectparts = deeplinkvals[4].split(':'); + deeplinkvals[4] = linkprotectparts[0]; + if (linkprotectparts[0] == 'key') { dlinkkeysty = 'text'; - dlinkkeyval = linktypeparts[1]; - } else if (linktypeparts[0] == 'lti') { - dlinkltidivsty = 'inline-block'; + dlinkkeyval = linkprotectparts[1]; + } else if (linkprotectparts[0] == 'ltic') { + dlinklticdivsty = 'block'; + } else if (linkprotectparts[0] == 'ltid') { + dlinkltiddivsty = 'block'; + } + } + 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 = ['full','res','any']; + deeplinkvals = ['off','unhide','full','res','','0','_self','no']; } + var deeplinkstate = new Array(); + deeplinkstate = ['only','off','both']; + var deeplinkstatetxt = new Array(); + deeplinkstatetxt = ['deep only','deeplink off','regular + deep']; + var deeplinkothers = new Array(); + deeplinkothers = ['hide','unhide']; + var deeplinkotherstxt = new Array(); + deeplinkotherstxt = ['Hidden','Unhidden']; var deeplinklisting = new Array(); deeplinklisting = ['full','absent','grades','details','datestatus']; var deeplinklisttxt = new Array(); @@ -1152,91 +1286,225 @@ function draw() { 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']; + var deeplinkprotect = new Array(); + deeplinkprotect = ['none','key','ltic','ltid']; + var deeplinktarget = new Array(); + deeplinktarget = ['_self','_top']; + var deeplinktargettxt = new Array(); + deeplinktargettxt = ['Embedded','Not embedded']; + var deeplinkexit = ['yes','url','no']; tablestart('Deep-linked items'); - choicewrite('In Contents or Gradebook?'); + choicewrite('Access status?'); + choicewrite(''); + choicewrite('Hide other resources?'); + choicewrite(''); + choicewrite('In Contents + Gradebook?'); choicewrite(''); - choicewrite('Access scope via deep-link'); + choicewrite('Access scope for link'); choicewrite(''); - choicewrite('Supported Link Types'); + choicewrite('Link protection'); choicewrite('
'); - choicewrite('
'); - choicewrite(''); - choicewrite(''); + choicewrite(' not in use'); + choicewrite(' key access'); + 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(' course LTI launch'); + choicewrite('
'); + choicewrite('

'); + } + } + } else if (ltidRegExp.test(extras[i])) { + extras[i] = extras[i].replace(ltidRegExp,''); + var possltid = extras[i].split(','); + if (possltid.length >= 1) { + var ltidnums = new Array(); + var ltidtitles = new Array(); + for (var j=0; j'); + choicewrite('
'); + choicewrite('

'); } - choicewrite('

'); } + + } else if (menusRegExp.test(extras[i])) { + extras[i] = extras[i].replace(menusRegExp,''); + possmenus = extras[i].split(','); + } + } + } + choicewrite('Menu Items Displayed'); + choicewrite('
'); + if (possmenus.length >= 1) { + choicewrite(''); + choicewrite('
'); + choicewrite('

'); + } + choicewrite(''); + choicewrite('Embedded?'); + choicewrite(''); + choicewrite(''); + choicewrite('Exit Button?'); + choicewrite('
'); + choicewrite(' '); + choicewrite('
'); + choicewrite('
'); + choicewrite('
Button text: '); + choicewrite(''); + choicewrite('
'); choicewrite(''); } } @@ -1414,6 +1682,7 @@ function init() { } } } + psmap = ismap; if (ptype=='date' && pscat == 'interval') { @@ -1588,7 +1857,7 @@ function init() { if (precursive != 1) { selwrite('checked="checked" '); } - selwrite('onclick="parent.recursechange();" />No'); + selwrite('onclick="parent.recursechange();" />No'); selwrite('
'); } } @@ -1628,15 +1897,22 @@ function init() { selwrite(''); this.window.selector.document.close(); + if (pscat == 'deeplink') { + if (psmap==1) { + document.getElementById("LCparampopup").rows="100,*"; + } else { + document.getElementById("LCparampopup").rows="60,*"; + } + } draw(); - + } // ]]> - +