--- rat/client/parameter.html 2019/01/06 15:27:57 1.80
+++ rat/client/parameter.html 2022/05/24 16:23:04 1.87
@@ -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.87 2022/05/24 16:23:04 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='';
@@ -402,7 +403,7 @@ function validateInterval() {
if (sform.donebutton[i].value == '_done_proctor') {
if ((sform.donebutton_proctorkey.value == '') ||
(sform.donebutton_proctorkey.value == null)) {
- alert('Please provide a key for a proctor to enter when a student uses the "Done" button.');
+ alert('Please enter a key for a proctor to enter when a student uses the "Done" button.');
return;
}
}
@@ -415,55 +416,111 @@ function validateInterval() {
function validateDeepLink() {
var sform=choices.document.forms.sch;
- svalue = sform.deeplinklisted.options[sform.deeplinklisted.selectedIndex].value+',';
+ svalue = sform.deeplinkstate.options[sform.deeplinkstate.selectedIndex].value+',';
+ svalue += sform.deeplinkothers.options[sform.deeplinkothers.selectedIndex].value+',';
+ 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)) {
+ 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;
}
}
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;
assemble();
}
-function toggleDeepLink() {
+function toggleDeepLink(caller) {
var sform=choices.document.forms.sch;
- if (sform.deeplinktypes.length) {
+ if ((caller == 'protect') && (sform.deeplinkprotect.length)) {
var frame = window.frames["choices"];
- for (var i=0; i
Value:
');
@@ -1036,17 +1093,17 @@ function draw() {
choicewrite(' /> No ');
}
if (pscat=='ip') {
- var currallow = new Array;
+ 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)) {
+ 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|ltid|key):(\w+)$/;
var dlinkkeysty = 'hidden';
- var dlinkltidivsty = 'none';
var dlinkkeyval = '';
+ var dlinklticdivsty = 'none';
+ var dlinkltiddivsty = 'none';
+ var dlinkmenusdivsty = 'none';
if ((svalue != '') && (svalue != null)) {
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';
+ }
} else {
- deeplinkvals = ['full','res','any'];
+ deeplinkvals = ['off','unhide','full','res','','0'];
}
+ 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 +1224,203 @@ 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'];
tablestart('Deep-linked items');
- choicewrite('