Index: lams_central/web/authoring/template/comms.jsp
===================================================================
diff -u -r3f18890e24de43c31ac23d49e2c1a4906e479863 -r5d865502ffc41ad5759af87eb091d9627e6965a1
--- lams_central/web/authoring/template/comms.jsp (.../comms.jsp) (revision 3f18890e24de43c31ac23d49e2c1a4906e479863)
+++ lams_central/web/authoring/template/comms.jsp (.../comms.jsp) (revision 5d865502ffc41ad5759af87eb091d9627e6965a1)
@@ -127,23 +127,33 @@
$('#templateForm').submit();
}
+ // Triggers the import window. The saving is done in a method saveQTI(formHTML, formName, callerID) which should be defined in the main template jsp file.
+ // CallerID can be set to define which tab has triggered the QTI import, as TBL has import on both the RAT Questions and App Ex tabs.
+ function importQTI(callerID, limit){
+ var url = 'questions/questionFile.jsp?callerID='+callerID;
+ if ( limit ) {
+ url = url + '&limitType='+limit;
+ }
+ window.open(url,'QuestionFile','width=500,height=240,scrollbars=yes');
+ }
- function createAssessment(questionType) {
+ function createAssessment(questionType, numAssessmentsFieldname, containingDivName ) {
+ var numAssessments = $('#'+numAssessmentsFieldname);
var type = questionType ? questionType : 'essay';
- var currNum = $('#numAssessments').val();
+ var currNum = numAssessments.val();
var nextNum = +currNum + 1;
var newDiv = document.createElement("div");
- newDiv.id = 'divassess'+nextNum;
- newDiv.className = 'space-top';
- var url=getSubmissionURL()+"/createAssessment.do?questionNumber="+nextNum+"&questionType="+type;
- $('#divassessments').append(newDiv);
+ newDiv.id = containingDivName+'divassess'+nextNum;
+ newDiv.className = 'space-top space-sides';
+ var url=getSubmissionURL()+"/createAssessment.do?questionNumber="+nextNum+"&questionType="+type+"&containingDivName="+containingDivName;
+ $('#'+containingDivName).append(newDiv);
$.ajaxSetup({ cache: true });
$(newDiv).load(url, function( response, status, xhr ) {
if ( status == "error" ) {
console.log( xhr.status + " " + xhr.statusText );
newDiv.remove();
} else {
- $('#numAssessments').val(nextNum);
+ numAssessments.val(nextNum);
newDiv.scrollIntoView();
}
});
@@ -234,9 +244,7 @@
});
}
- function getOptionData(questionNum, assessment) {
- var paramPrefix = assessment ? "assmcq" : "question";
- paramPrefix = paramPrefix + questionNum;
+ function getOptionData(questionNum, paramPrefix) {
var data = { };
var correctField = paramPrefix + "correct";
$('#templateForm').find('input, textarea, select').each(function() {
@@ -251,13 +259,18 @@
return data;
}
- function swapOptions(questionNum, optionNum1, optionNum2, divToLoad, assessment) {
+ function swapOptions(questionNum, optionNum1, optionNum2, divToLoad, appexContainingDivName) {
refreshCKEditors() ;
- var url=getSubmissionURL()+"/swapOption.do?questionNumber="+questionNum+"&optionNumber1="+optionNum1+"&optionNumber2="+optionNum2;
- if ( assessment ) {
- url += "&assess=true";
+
+ var paramPrefix = appexContainingDivName ? appexContainingDivName + "assmcq" : "question";
+ paramPrefix = paramPrefix + questionNum;
+ var data = getOptionData(questionNum, paramPrefix);
+
+ var url=getSubmissionURL()+"/swapOption.do?questionNumber="+questionNum+"&optionNumber1="+optionNum1
+ +"&optionNumber2="+optionNum2;
+ if ( appexContainingDivName ) {
+ url += "&containingDivName="+appexContainingDivName+"&assess=true";
}
- var data = getOptionData(questionNum, assessment);
$.ajaxSetup({ cache: true });
jqueryDivToLoad = divToLoad ? $('#'+divToLoad) : $('#divq'+questionNum+'options');
@@ -269,12 +282,16 @@
});
}
- function removeOption(questionNum, optionNum, divToLoad, assessment) {
+ function removeOption(questionNum, optionNum, divToLoad, appexContainingDivName) {
refreshCKEditors() ;
+
+ var paramPrefix = appexContainingDivName ? appexContainingDivName + "assmcq" : "question";
+ paramPrefix = paramPrefix + questionNum;
+ var data = getOptionData(questionNum, paramPrefix);
+
var url=getSubmissionURL()+"/deleteOption.do?questionNumber="+questionNum+"&optionNumber="+optionNum;
- if ( assessment )
- url += "&assess=true";
- var data = getOptionData(questionNum, assessment);
+ if ( appexContainingDivName )
+ url += "&containingDivName="+appexContainingDivName+"&assess=true";
$.ajaxSetup({ cache: true });
jqueryDivToLoad = divToLoad ? $('#'+divToLoad) : $('#divq'+questionNum+'options');
@@ -383,12 +400,3 @@
}
return true;
}
-
-
- function importQTI(callerID, limit){
- var url = 'questions/questionFile.jsp?callerID='+callerID;
- if ( limit ) {
- url = url + '&limitType='+limit;
- }
- window.open(url,'QuestionFile','width=500,height=240,scrollbars=yes');
- }