--- rat/client/parameter.html 2019/02/13 19:19:49 1.81
+++ rat/client/parameter.html 2020/10/29 23:24:13 1.84
@@ -5,7 +5,7 @@
The LearningOnline Network with CAPA
Parameter Input Window
//
-// $Id: parameter.html,v 1.81 2019/02/13 19:19:49 raeburn Exp $
+// $Id: parameter.html,v 1.84 2020/10/29 23:24:13 raeburn Exp $
//
// Copyright Michigan State University Board of Trustees
//
@@ -402,7 +402,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;
}
}
@@ -417,6 +417,8 @@ function validateDeepLink() {
var sform=choices.document.forms.sch;
svalue = sform.deeplinklisted.options[sform.deeplinklisted.selectedIndex].value+',';
svalue += sform.deeplinkacc.options[sform.deeplinkacc.selectedIndex].value+',';
+ var keyRegExp = /^[a-zA-Z\d_.!@#$%^&*()+=-]+$/;
+ var numRegExp = /^\d+$/;
if (sform.deeplinktypes.length) {
for (var i=0; i 0)) {
svalue += ':'+posslti;
+ } 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;
@@ -441,9 +468,9 @@ function validateDeepLink() {
assemble();
}
-function toggleDeepLink() {
+function toggleDeepLink(caller) {
var sform=choices.document.forms.sch;
- if (sform.deeplinktypes.length) {
+ if ((caller == 'types') && (sform.deeplinktypes.length)) {
var frame = window.frames["choices"];
for (var i=0; i
Value:
');
@@ -1036,14 +1078,14 @@ 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];
@@ -1055,7 +1097,7 @@ function draw() {
} else {
if (patternAllow.test(current[i])) {
currallow.push(current[i]);
- }
+ }
}
}
}
@@ -1111,15 +1153,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('
');
}
if (pscat=='deeplink') {
@@ -1127,8 +1169,9 @@ function draw() {
var linktypeparts = new Array();
var ltikeyRegExp = /^(lti|key):(\w+)$/;
var dlinkkeysty = 'hidden';
- var dlinkltidivsty = 'none';
var dlinkkeyval = '';
+ var dlinkltidivsty = 'none';
+ var dlinkmenusdivsty = 'none';
if ((svalue != '') && (svalue != null)) {
deeplinkvals = svalue.split(',');
if (ltikeyRegExp.test(deeplinkvals[2])) {
@@ -1138,11 +1181,14 @@ function draw() {
dlinkkeysty = 'text';
dlinkkeyval = linktypeparts[1];
} else if (linktypeparts[0] == 'lti') {
- dlinkltidivsty = 'inline-block';
+ dlinkltidivsty = 'block';
}
}
+ if (deeplinkvals[3] >= 1) {
+ dlinkmenusdivsty = 'inline-block';
+ }
} else {
- deeplinkvals = ['full','res','any'];
+ deeplinkvals = ['full','res','any','0'];
}
var deeplinklisting = new Array();
deeplinklisting = ['full','absent','grades','details','datestatus'];
@@ -1155,7 +1201,7 @@ function draw() {
var deeplinkurls = new Array();
deeplinkurls = ['any','only','key','lti'];
tablestart('Deep-linked items');
- choicewrite('