CODE MERGE - MARK CALCULATION COMPLETE : RV
This commit is contained in:
commit
23963dd4de
@ -1,7 +1,7 @@
|
||||
|
||||
function QuestionPaperPreview(jsonData){
|
||||
// The provided JSON data
|
||||
|
||||
// console.log(jsonData)
|
||||
function convertToLatex(text, mathstatus) {
|
||||
// Parse mathstatus into a boolean
|
||||
const mathStatusBoolean = JSON.parse(mathstatus);
|
||||
@ -67,10 +67,10 @@ function GroupQuestion(question, questionIndex, depth) {
|
||||
questionPaper += `${question.group_title}`;
|
||||
questionPaper += `${question.group_description}`;
|
||||
const nestedQuestions = question.questions;
|
||||
|
||||
// Process nested questions in the same way
|
||||
nestedQuestions.forEach((nestedQuestion) => {
|
||||
processQuestion(nestedQuestion, questionIndex, depth);
|
||||
// processQuestion(nestedQuestion, questionIndex, depth);
|
||||
CheakQnType(nestedQuestion,questionIndex,depth);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
120
addform.html
120
addform.html
@ -546,8 +546,14 @@
|
||||
|
||||
<!-- nave pane -->
|
||||
<script src="nav_pane.js"></script>
|
||||
|
||||
<!-- Main.js its used to trigger auto save when system online -->
|
||||
|
||||
<script src="main.js"></script>
|
||||
|
||||
<script src="checkParent.js"></script>
|
||||
|
||||
|
||||
<script>
|
||||
var sidebarWrapper = document.getElementById("questionPaper");
|
||||
|
||||
@ -648,11 +654,13 @@ function loadXML(xmlFileName) {
|
||||
} else{
|
||||
decodeData = data;
|
||||
}
|
||||
|
||||
resolve(data);
|
||||
xml2json(data);
|
||||
// json2nav();
|
||||
// clearSidebarWrapper();
|
||||
// navpane();
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -1090,6 +1098,7 @@ $('#'+Section_Marks_raw_Id).keyup(function() {
|
||||
//Function for Create a New Question Group
|
||||
function addQuestionGroup(idObj)
|
||||
{
|
||||
|
||||
const QuestionGroup_UUID = uuidv4();
|
||||
|
||||
//set default values
|
||||
@ -1104,6 +1113,7 @@ function addQuestionGroup(idObj)
|
||||
}
|
||||
else if(idObj.hasOwnProperty('add_question_group_id'))
|
||||
{
|
||||
// console.log(idObj.add_question_group_id);
|
||||
question_group_id = idObj.add_question_group_id;
|
||||
}
|
||||
|
||||
@ -1125,7 +1135,6 @@ function addQuestionGroup(idObj)
|
||||
localStorage.setItem('QuestionGroupId', QuestionGroup_ID)
|
||||
|
||||
var sectionRandomID = localStorage.getItem('sectionId');
|
||||
|
||||
addQuestionGroup +=
|
||||
`<div draggable='true' class="draggable-group hidedrag" id="draggedGroup_${QuestionGroup_ID}">
|
||||
<i id="collapseSubSection_${QuestionGroup_ID}" aria-hidden="true" style=" font-size: 24px; margin-right: 9px; margin-top: 25px;"></i>
|
||||
@ -1216,6 +1225,7 @@ function addQuestionGroup(idObj)
|
||||
}
|
||||
else if(add_question_group_id)
|
||||
{
|
||||
|
||||
var formContainer = document.getElementById(add_question_group_id);
|
||||
formContainer.insertAdjacentHTML('beforeend', addQuestionGroup);
|
||||
}
|
||||
@ -1327,74 +1337,7 @@ function addQuestionGroup(idObj)
|
||||
}
|
||||
|
||||
|
||||
//mark calculation in QuestionGroup
|
||||
|
||||
// var Question_Group_Marks_Field = 'Question_Group_Marks_Id_' + QuestionGroup_ID;
|
||||
|
||||
// var sectionRandomID = localStorage.getItem('sectionId');
|
||||
// var Section_Attempt_Any_raw_Id = 'Section_Attempt_Any_Id_' + sectionRandomID;
|
||||
// var Section_Marks_raw_Id = 'Section_Marks_Id_' + sectionRandomID;
|
||||
// var InMarkValue = $('#'+Section_Marks_raw_Id).val();
|
||||
|
||||
// var Question_Attempt_Any_Fields = 'Question_Attempt_Any_Id_'+ QuestionGroup_ID;
|
||||
|
||||
// var QGinputValue = $('#'+Section_Attempt_Any_raw_Id).val();
|
||||
|
||||
// if(QGinputValue == ""){
|
||||
// $('#'+Question_Group_Marks_Field).prop("disabled", false);
|
||||
// }else{
|
||||
// $('#'+Question_Group_Marks_Field).prop("disabled", true);
|
||||
// $('#'+Question_Group_Marks_Field).val(InMarkValue);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
// $('#'+Section_Attempt_Any_raw_Id).keyup(function() {
|
||||
// var inputValue = $(this).val();
|
||||
|
||||
// var Question_Attempt_Any_Fields_values = $('#'+Question_Attempt_Any_Fields).val();
|
||||
// console.log(Question_Attempt_Any_Fields_values);
|
||||
|
||||
// if(Question_Attempt_Any_Fields_values == "")
|
||||
// {
|
||||
// if(inputValue == ""){
|
||||
// $('#'+Question_Group_Marks_Field).prop("disabled", false);
|
||||
// // alert('enable');
|
||||
// }else{
|
||||
// $('#'+Question_Group_Marks_Field).prop("disabled", true);
|
||||
// // alert('disabled');
|
||||
|
||||
// }
|
||||
// }
|
||||
|
||||
// json2nav();
|
||||
// });
|
||||
|
||||
// $('#'+Section_Marks_raw_Id).keyup(function() {
|
||||
// var MarksinputValue = $(this).val();
|
||||
// if(MarksinputValue !== ""){
|
||||
// $('#'+Question_Group_Marks_Field).val(MarksinputValue);
|
||||
// }else{
|
||||
// $('#'+Question_Group_Marks_Field).val("");
|
||||
// }
|
||||
// });
|
||||
|
||||
|
||||
// $('#'+Question_Attempt_Any_Fields).keyup(function() {
|
||||
// var inputValue = $(this).val();
|
||||
// if(inputValue == ""){
|
||||
// $('#'+Question_Group_Marks_Field).prop("disabled", true);
|
||||
// // alert('disabled');
|
||||
// }else{
|
||||
// $('#'+Question_Group_Marks_Field).prop("disabled", false);
|
||||
// // alert('enable');
|
||||
|
||||
// }
|
||||
// json2nav();
|
||||
// });
|
||||
|
||||
//end of mark calculation in Choice Question
|
||||
|
||||
|
||||
var question_groupid = 'subSection_title_text_'+ QuestionGroup_ID;
|
||||
var inputElement = document.getElementById(question_groupid);
|
||||
@ -1426,11 +1369,44 @@ clearSidebarWrapper();
|
||||
navpane();
|
||||
markCalculation()
|
||||
|
||||
// start the find Parent count and Remove the Fivth Question Group list
|
||||
const value = localStorage.getItem('JSON_FOR_NAV')
|
||||
const parsedValue = JSON.parse(value);
|
||||
const questionGroupId =question_groupid;
|
||||
const classes = findParent(parsedValue, questionGroupId); //this line goto checkParent.js and give the Parent count
|
||||
|
||||
let originalString = questionGroupId;
|
||||
let substringToRemove = "subSection_title_text_";
|
||||
let modifiedString = originalString.replace(substringToRemove, '');
|
||||
// let finalString = "QuestionGroupButtons_" + modifiedString;
|
||||
let finalString ="draggedGroup_" +modifiedString;
|
||||
|
||||
var element = document.getElementById(`${finalString}`);
|
||||
if (classes < 5) {
|
||||
console.log("Div not found.");
|
||||
} else {
|
||||
const Swal = require('sweetalert2');
|
||||
Swal.fire({
|
||||
title: 'Alert!!!',
|
||||
text: 'Only Four Question Groups allowed.',
|
||||
icon: 'info',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
|
||||
element.parentNode.removeChild(element);
|
||||
console.log("Div removed successfully.");
|
||||
}
|
||||
// end of find QG level script
|
||||
}
|
||||
|
||||
//Function for Create a New Choice Question in the Section and Question Group
|
||||
function groupQuestion( question_id = false, section_id = false , group_question_area_id = false, questionTitle = false, questionDescription = false, questionSubType = false, mathEnabled = false, Choice = false, questionAreaId = false, questionGroupId = false, questionRandomNo = false, QuestionGroupRandomNo = false, questionMarks = false, questionUUID = false, group_question_marks = false, group_question_uuid = false, questionDisplayMarks = false, group_question_Display_Marks = false)
|
||||
{
|
||||
// console.log('===========================================================================================================================================')
|
||||
// console.log("group_question_area_id : "+group_question_area_id, 'questionGroupId : '+ questionGroupId, 'questionAreaId : '+questionAreaId)
|
||||
// console.log('===========================================================================================================================================')
|
||||
|
||||
|
||||
|
||||
// console.log(
|
||||
// 'question_id : '+question_id,
|
||||
@ -2183,6 +2159,10 @@ function addNewChoice(NewaddChoiceAreaId = false , choiceName = false, choiceDes
|
||||
//Function for Create a New Text Question in the Section and Question Group
|
||||
function textQuestion(question_id = false, section_id = false, group_question_area_id = false, questionTitle = false, questionDescription = false, questionSubType = false, mathEnabled = false, questionGroupId = false, questionAreaId = false, questionRandomNo = false, QuestionGroupRandomNo = false, questionMarks = false, questionUUID = false, group_question_marks = false, group_question_uuid = false, questionDisplayMarks = false, group_question_Display_Marks = false)
|
||||
{
|
||||
// console.log('===========================================================================================================================================')
|
||||
// console.log("group_question_area_id : "+group_question_area_id, 'questionGroupId : '+ questionGroupId, 'questionAreaId : '+questionAreaId)
|
||||
// console.log('===========================================================================================================================================')
|
||||
|
||||
const Text_Question_UUID = uuidv4();
|
||||
|
||||
var textQuestion = "";
|
||||
@ -2603,7 +2583,6 @@ function MultiLevelQuestionGroup(e)
|
||||
//Function for Add a Text and Choice Question in the Section Question Area
|
||||
function addNewQuestions(e, type)
|
||||
{
|
||||
|
||||
clone_id_time = e.target.id;
|
||||
var clone_id = clone_id_time.split("_")[1];
|
||||
var section_id = 'question_area_'+clone_id;
|
||||
@ -2618,7 +2597,6 @@ function addNewQuestions(e, type)
|
||||
//Function For Add a Group Question in the Section Question Area
|
||||
function addNewGroupQuestions(e, type)
|
||||
{
|
||||
|
||||
clone_id_time = e.target.id;
|
||||
var clone_id = clone_id_time.split("_")[1];
|
||||
var group_question_area_id = 'group_question_area_'+clone_id;
|
||||
|
||||
25
checkParent.js
Normal file
25
checkParent.js
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
function findParent(jsonData, targetId) {
|
||||
function findParentChild(data, id, parentClasses, idKey) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
const section = data[i];
|
||||
if (section[idKey] === id) {
|
||||
parentClasses.push(i);
|
||||
// const childClassCount = (section.questions && section.questions.length > 0) ? section.questions.length : 0;
|
||||
return parentClasses.length - 1
|
||||
} else if (section.questions) {
|
||||
const newParentClasses = parentClasses.slice(); // Create a shallow copy of parentClasses array
|
||||
newParentClasses.push(i);
|
||||
const childClass = findParentChild(section.questions, id, newParentClasses, idKey);
|
||||
if (childClass) {
|
||||
return childClass; // If childClass is found, return it
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
let result = findParentChild(jsonData.sections, targetId, [], "question_group_id");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -20,6 +20,8 @@ function jsonToHtml(jsonData) {
|
||||
else
|
||||
{
|
||||
var title = jsonData.question_paper_title;
|
||||
console.log(title)
|
||||
console.log("TItle")
|
||||
var description = jsonData.question_paper_description;
|
||||
var question_Paper_uuid = jsonData.attributes.Id;
|
||||
var max_marks = jsonData.attributes.MaxMarks;
|
||||
@ -83,6 +85,7 @@ function jsonToHtml(jsonData) {
|
||||
|
||||
if(questionType == 'text')
|
||||
{
|
||||
|
||||
textQuestion(false, false, false, questionTitle, questionDescription, questionSubType, mathEnabled, questionAreaId, false, questionRandomNo, false, questionMarks, questionUUID, false, false, questionDisplayMarks, false);
|
||||
}
|
||||
else if (questionType == 'group')
|
||||
|
||||
10
xml2json.js
10
xml2json.js
@ -2,7 +2,7 @@
|
||||
function xml2json(xmlData) {
|
||||
// console.clear();
|
||||
console.log('xml to json converstion');
|
||||
console.log(xmlData);
|
||||
// console.log(xmlData);
|
||||
|
||||
function getAttributesOfXMLNode(node)
|
||||
{
|
||||
@ -122,8 +122,9 @@ jsonObj['sections'] = [];
|
||||
sectionsList = xmlDoc.getElementsByTagName("Items")[0].childNodes;
|
||||
console.log(sectionsList);
|
||||
console.log('no of sections:'+sectionsList.length);
|
||||
//return false;
|
||||
for (let i = 0; i < (sectionsList.length) ;i++) {
|
||||
|
||||
for (let i = 0; i < sectionsList.length ;i++) {
|
||||
|
||||
var tempObj = {};
|
||||
|
||||
console.log('Section :' + i + '-' + sectionsList[i].childNodes[0]);
|
||||
@ -164,9 +165,10 @@ jsonObj['sections'] = [];
|
||||
|
||||
var jsonData = JSON.stringify(jsonObj);
|
||||
console.log('Xml to Json Conversion ');
|
||||
console.log(jsonData);
|
||||
// console.log(jsonData);
|
||||
// console.log(jsonObj);
|
||||
jsonToHtml(jsonObj);
|
||||
// console.log(jsonToHtml(jsonObj))
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
function xml2json(xmlData) {
|
||||
// console.clear();
|
||||
console.log('xml to json converstion');
|
||||
console.log(xmlData);
|
||||
// console.log(xmlData);
|
||||
|
||||
function getAttributesOfXMLNode(node)
|
||||
{
|
||||
@ -34,8 +34,8 @@ function getQuestionsNodes(questionNode,type)
|
||||
questionObj['is_math_enabled'] = questionNode.childNodes[4].firstChild.nodeValue;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
questionObj['question'] = questionNode.childNodes[0].firstChild.nodeValue;
|
||||
questionObj['question_description'] = (questionNode.childNodes[1].firstChild !== null? questionNode.childNodes[1].firstChild.nodeValue : "");
|
||||
questionObj['question_type'] = 'group';
|
||||
@ -69,7 +69,6 @@ function getQuestionsNodes(questionNode,type)
|
||||
function getQuestionGroupNodes(questionGroup)
|
||||
{
|
||||
var questionGroupObj = {};
|
||||
|
||||
questionGroupObj['group_title'] = questionGroup.childNodes[0].firstChild.nodeValue;
|
||||
questionGroupObj['group_description'] = (questionGroup.childNodes[1].firstChild !== null ? questionGroup.childNodes[1].firstChild.nodeValue : "");
|
||||
questionGroupObj['group_marks'] = questionGroup.childNodes[2].firstChild.nodeValue;
|
||||
@ -84,7 +83,6 @@ function getQuestionGroupNodes(questionGroup)
|
||||
{
|
||||
|
||||
var questionType = questionList[q].getAttribute("xsi:type");
|
||||
// console.log(questionType);
|
||||
if(questionType == 'DescriptiveQuestion')
|
||||
{
|
||||
questionGroupObj['questions'].push(getQuestionsNodes(questionList[q],1));
|
||||
@ -93,6 +91,10 @@ function getQuestionGroupNodes(questionGroup)
|
||||
{
|
||||
questionGroupObj['questions'].push(getQuestionsNodes(questionList[q],2));
|
||||
}
|
||||
else
|
||||
{
|
||||
questionGroupObj['questions'].push(getQuestionGroupNodes(questionList[q]));
|
||||
}
|
||||
|
||||
}
|
||||
return questionGroupObj;
|
||||
@ -133,7 +135,8 @@ jsonObj['sections'] = [];
|
||||
//handle questions
|
||||
var questionList = sectionsList[i].childNodes[5].childNodes;
|
||||
// console.log('No of quetions:' + questionList.length);
|
||||
console.log(questionList);
|
||||
// console.log("Question List")
|
||||
// console.log(questionList);
|
||||
for(let j = 0; j < questionList.length ;j++)
|
||||
{
|
||||
//check weather quesiotn or question grup
|
||||
@ -159,7 +162,9 @@ jsonObj['sections'] = [];
|
||||
|
||||
var jsonData = JSON.stringify(jsonObj);
|
||||
localStorage.setItem('pjsonData', jsonData );
|
||||
// console.log(jsonData);
|
||||
QuestionPaperPreview(jsonObj);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user