CHECK_QUESTION_GROUP : AADHAVAN
This commit is contained in:
parent
5bbceb5ed1
commit
fecf365462
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
function QuestionPaperPreview(jsonData){
|
function QuestionPaperPreview(jsonData){
|
||||||
// The provided JSON data
|
// The provided JSON data
|
||||||
|
// console.log(jsonData)
|
||||||
function convertToLatex(text, mathstatus) {
|
function convertToLatex(text, mathstatus) {
|
||||||
// Parse mathstatus into a boolean
|
// Parse mathstatus into a boolean
|
||||||
const mathStatusBoolean = JSON.parse(mathstatus);
|
const mathStatusBoolean = JSON.parse(mathstatus);
|
||||||
@ -67,10 +67,10 @@ function GroupQuestion(question, questionIndex, depth) {
|
|||||||
questionPaper += `${question.group_title}`;
|
questionPaper += `${question.group_title}`;
|
||||||
questionPaper += `${question.group_description}`;
|
questionPaper += `${question.group_description}`;
|
||||||
const nestedQuestions = question.questions;
|
const nestedQuestions = question.questions;
|
||||||
|
|
||||||
// Process nested questions in the same way
|
// Process nested questions in the same way
|
||||||
nestedQuestions.forEach((nestedQuestion) => {
|
nestedQuestions.forEach((nestedQuestion) => {
|
||||||
processQuestion(nestedQuestion, questionIndex, depth);
|
// processQuestion(nestedQuestion, questionIndex, depth);
|
||||||
|
CheakQnType(nestedQuestion,questionIndex,depth);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
60
addform.html
60
addform.html
@ -542,7 +542,13 @@
|
|||||||
|
|
||||||
<!-- nave pane -->
|
<!-- nave pane -->
|
||||||
<script src="nav_pane.js"></script>
|
<script src="nav_pane.js"></script>
|
||||||
|
|
||||||
|
<!-- Main.js its used to trigger auto save when system online -->
|
||||||
<script src="main.js"></script>
|
<script src="main.js"></script>
|
||||||
|
|
||||||
|
<script src="checkParent.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var sidebarWrapper = document.getElementById("questionPaper");
|
var sidebarWrapper = document.getElementById("questionPaper");
|
||||||
|
|
||||||
@ -645,9 +651,9 @@ function loadXML(xmlFileName) {
|
|||||||
}
|
}
|
||||||
resolve(decodeData)
|
resolve(decodeData)
|
||||||
xml2json(decodeData)
|
xml2json(decodeData)
|
||||||
// json2nav();
|
json2nav();
|
||||||
// clearSidebarWrapper();
|
clearSidebarWrapper();
|
||||||
// navpane();
|
navpane();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -1083,6 +1089,7 @@ function addSection(title = false, description = false, random_no = false, secti
|
|||||||
//Function for Create a New Question Group
|
//Function for Create a New Question Group
|
||||||
function addQuestionGroup(idObj)
|
function addQuestionGroup(idObj)
|
||||||
{
|
{
|
||||||
|
|
||||||
const QuestionGroup_UUID = uuidv4();
|
const QuestionGroup_UUID = uuidv4();
|
||||||
|
|
||||||
//set default values
|
//set default values
|
||||||
@ -1097,6 +1104,7 @@ function addQuestionGroup(idObj)
|
|||||||
}
|
}
|
||||||
else if(idObj.hasOwnProperty('add_question_group_id'))
|
else if(idObj.hasOwnProperty('add_question_group_id'))
|
||||||
{
|
{
|
||||||
|
// console.log(idObj.add_question_group_id);
|
||||||
question_group_id = idObj.add_question_group_id;
|
question_group_id = idObj.add_question_group_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1118,7 +1126,6 @@ function addQuestionGroup(idObj)
|
|||||||
localStorage.setItem('QuestionGroupId', QuestionGroup_ID)
|
localStorage.setItem('QuestionGroupId', QuestionGroup_ID)
|
||||||
|
|
||||||
var sectionRandomID = localStorage.getItem('sectionId');
|
var sectionRandomID = localStorage.getItem('sectionId');
|
||||||
|
|
||||||
addQuestionGroup +=
|
addQuestionGroup +=
|
||||||
`<div draggable='true' class="draggable-group hidedrag" id="draggedGroup_${QuestionGroup_ID}">
|
`<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>
|
<i id="collapseSubSection_${QuestionGroup_ID}" aria-hidden="true" style=" font-size: 24px; margin-right: 9px; margin-top: 25px;"></i>
|
||||||
@ -1221,6 +1228,7 @@ function addQuestionGroup(idObj)
|
|||||||
}
|
}
|
||||||
else if(add_question_group_id)
|
else if(add_question_group_id)
|
||||||
{
|
{
|
||||||
|
|
||||||
var formContainer = document.getElementById(add_question_group_id);
|
var formContainer = document.getElementById(add_question_group_id);
|
||||||
formContainer.insertAdjacentHTML('beforeend', addQuestionGroup);
|
formContainer.insertAdjacentHTML('beforeend', addQuestionGroup);
|
||||||
}
|
}
|
||||||
@ -1342,7 +1350,7 @@ function addQuestionGroup(idObj)
|
|||||||
var question_groupid = 'subSection_title_text_'+ QuestionGroup_ID;
|
var question_groupid = 'subSection_title_text_'+ QuestionGroup_ID;
|
||||||
var inputElement = document.getElementById(question_groupid);
|
var inputElement = document.getElementById(question_groupid);
|
||||||
inputElement.addEventListener("keyup", function(event) {
|
inputElement.addEventListener("keyup", function(event) {
|
||||||
|
|
||||||
json2nav();
|
json2nav();
|
||||||
clearSidebarWrapper();
|
clearSidebarWrapper();
|
||||||
navpane();
|
navpane();
|
||||||
@ -1353,15 +1361,43 @@ function addQuestionGroup(idObj)
|
|||||||
clearSidebarWrapper();
|
clearSidebarWrapper();
|
||||||
navpane();
|
navpane();
|
||||||
|
|
||||||
|
// 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 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, questionType = false, questionSubType = false, mathEnabled = false, Choice = false, random_no = 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)
|
function groupQuestion( question_id = false, section_id = false , group_question_area_id = false, questionTitle = false, questionDescription = false, questionType = false, questionSubType = false, mathEnabled = false, Choice = false, random_no = 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('===========================================================================================================================================')
|
||||||
console.log("group_question_area_id : "+group_question_area_id, 'questionGroupId : '+ questionGroupId, 'questionAreaId : '+questionAreaId)
|
// console.log("group_question_area_id : "+group_question_area_id, 'questionGroupId : '+ questionGroupId, 'questionAreaId : '+questionAreaId)
|
||||||
console.log('===========================================================================================================================================')
|
// console.log('===========================================================================================================================================')
|
||||||
|
|
||||||
|
|
||||||
const ChoiceGroupFixed_UUID = uuidv4();
|
const ChoiceGroupFixed_UUID = uuidv4();
|
||||||
@ -1987,9 +2023,9 @@ function addNewChoice(NewaddChoiceAreaId = false , choiceName = false, choiceDes
|
|||||||
//Function for Create a New Text Question in the Section and Question Group
|
//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, questionType = false, questionSubType = false, mathEnabled = false, random_no = 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)
|
function textQuestion(question_id = false, section_id = false, group_question_area_id = false, questionTitle = false, questionDescription = false, questionType = false, questionSubType = false, mathEnabled = false, random_no = 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('===========================================================================================================================================')
|
||||||
console.log("group_question_area_id : "+group_question_area_id, 'questionGroupId : '+ questionGroupId, 'questionAreaId : '+questionAreaId)
|
// console.log("group_question_area_id : "+group_question_area_id, 'questionGroupId : '+ questionGroupId, 'questionAreaId : '+questionAreaId)
|
||||||
console.log('===========================================================================================================================================')
|
// console.log('===========================================================================================================================================')
|
||||||
|
|
||||||
const Text_Question_UUID = uuidv4();
|
const Text_Question_UUID = uuidv4();
|
||||||
|
|
||||||
@ -2400,7 +2436,6 @@ function MultiLevelQuestionGroup(e)
|
|||||||
//Function for Add a Text and Choice Question in the Section Question Area
|
//Function for Add a Text and Choice Question in the Section Question Area
|
||||||
function addNewQuestions(e, type)
|
function addNewQuestions(e, type)
|
||||||
{
|
{
|
||||||
|
|
||||||
clone_id_time = e.target.id;
|
clone_id_time = e.target.id;
|
||||||
var clone_id = clone_id_time.split("_")[1];
|
var clone_id = clone_id_time.split("_")[1];
|
||||||
var section_id = 'question_area_'+clone_id;
|
var section_id = 'question_area_'+clone_id;
|
||||||
@ -2415,7 +2450,6 @@ function addNewQuestions(e, type)
|
|||||||
//Function For Add a Group Question in the Section Question Area
|
//Function For Add a Group Question in the Section Question Area
|
||||||
function addNewGroupQuestions(e, type)
|
function addNewGroupQuestions(e, type)
|
||||||
{
|
{
|
||||||
|
|
||||||
clone_id_time = e.target.id;
|
clone_id_time = e.target.id;
|
||||||
var clone_id = clone_id_time.split("_")[1];
|
var clone_id = clone_id_time.split("_")[1];
|
||||||
var group_question_area_id = 'group_question_area_'+clone_id;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
function jsonToHtml(jsonData) {
|
function jsonToHtml(jsonData) {
|
||||||
|
|
||||||
if(jsonData == "" || jsonData == null)
|
if(jsonData == "" || jsonData == null)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -18,6 +18,8 @@ function jsonToHtml(jsonData) {
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var title = jsonData.question_paper_title;
|
var title = jsonData.question_paper_title;
|
||||||
|
console.log(title)
|
||||||
|
console.log("TItle")
|
||||||
var description = jsonData.question_paper_description;
|
var description = jsonData.question_paper_description;
|
||||||
var question_Paper_uuid = jsonData.attributes.Id;
|
var question_Paper_uuid = jsonData.attributes.Id;
|
||||||
var max_marks = jsonData.attributes.MaxMarks;
|
var max_marks = jsonData.attributes.MaxMarks;
|
||||||
@ -81,12 +83,12 @@ function jsonToHtml(jsonData) {
|
|||||||
|
|
||||||
if(questionType == 'text')
|
if(questionType == 'text')
|
||||||
{
|
{
|
||||||
textQuestion(false, false, false, questionTitle, questionDescription, questionType, questionSubType, mathEnabled, random_no, false, questionAreaId, questionRandomNo, false, questionMarks, questionUUID, false, false, questionDisplayMarks, false);
|
textQuestion(false, false, false, questionTitle, questionDescription, questionType, questionSubType, mathEnabled, random_no, false, questionAreaId, questionRandomNo, false, questionMarks, questionUUID, false, false, questionDisplayMarks, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (questionType == 'group')
|
else if (questionType == 'group')
|
||||||
{
|
{
|
||||||
|
|
||||||
groupQuestion(false, false, false, questionTitle, questionDescription, questionType, questionSubType, mathEnabled, Choice, random_no, false, questionAreaId, questionRandomNo, false, questionMarks, questionUUID, false, false, questionDisplayMarks, false);
|
groupQuestion(false, false, false, questionTitle, questionDescription, questionType, questionSubType, mathEnabled, Choice, random_no, false, questionAreaId, questionRandomNo, false, questionMarks, questionUUID, false, false, questionDisplayMarks, false);
|
||||||
Choice = Choice.slice(1);
|
Choice = Choice.slice(1);
|
||||||
Choice.forEach(function(choicenames, index) {
|
Choice.forEach(function(choicenames, index) {
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
function xml2json(xmlData) {
|
function xml2json(xmlData) {
|
||||||
// console.clear();
|
// console.clear();
|
||||||
console.log('xml to json converstion');
|
console.log('xml to json converstion');
|
||||||
console.log(xmlData);
|
// console.log(xmlData);
|
||||||
|
|
||||||
function getAttributesOfXMLNode(node)
|
function getAttributesOfXMLNode(node)
|
||||||
{
|
{
|
||||||
@ -120,8 +120,8 @@ jsonObj['sections'] = [];
|
|||||||
|
|
||||||
|
|
||||||
sectionsList = xmlDoc.getElementsByTagName("Items")[0].childNodes;
|
sectionsList = xmlDoc.getElementsByTagName("Items")[0].childNodes;
|
||||||
// console.log(sectionsList);
|
console.log(sectionsList);
|
||||||
// console.log('no of sections:'+sectionsList.length);
|
console.log('no of sections:'+sectionsList.length);
|
||||||
for (let i = 0; i < sectionsList.length ;i++) {
|
for (let i = 0; i < sectionsList.length ;i++) {
|
||||||
var tempObj = {};
|
var tempObj = {};
|
||||||
|
|
||||||
@ -163,9 +163,10 @@ jsonObj['sections'] = [];
|
|||||||
|
|
||||||
var jsonData = JSON.stringify(jsonObj);
|
var jsonData = JSON.stringify(jsonObj);
|
||||||
console.log('Xml to Json Conversion ');
|
console.log('Xml to Json Conversion ');
|
||||||
console.log(jsonData);
|
// console.log(jsonData);
|
||||||
// console.log(jsonObj);
|
// console.log(jsonObj);
|
||||||
jsonToHtml(jsonObj);
|
jsonToHtml(jsonObj);
|
||||||
|
// console.log(jsonToHtml(jsonObj))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
function xml2json(xmlData) {
|
function xml2json(xmlData) {
|
||||||
// console.clear();
|
// console.clear();
|
||||||
console.log('xml to json converstion');
|
console.log('xml to json converstion');
|
||||||
console.log(xmlData);
|
// console.log(xmlData);
|
||||||
|
|
||||||
function getAttributesOfXMLNode(node)
|
function getAttributesOfXMLNode(node)
|
||||||
{
|
{
|
||||||
@ -34,8 +34,8 @@ function getQuestionsNodes(questionNode,type)
|
|||||||
questionObj['is_math_enabled'] = questionNode.childNodes[4].firstChild.nodeValue;
|
questionObj['is_math_enabled'] = questionNode.childNodes[4].firstChild.nodeValue;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
questionObj['question'] = questionNode.childNodes[0].firstChild.nodeValue;
|
questionObj['question'] = questionNode.childNodes[0].firstChild.nodeValue;
|
||||||
questionObj['question_description'] = (questionNode.childNodes[1].firstChild !== null? questionNode.childNodes[1].firstChild.nodeValue : "");
|
questionObj['question_description'] = (questionNode.childNodes[1].firstChild !== null? questionNode.childNodes[1].firstChild.nodeValue : "");
|
||||||
questionObj['question_type'] = 'group';
|
questionObj['question_type'] = 'group';
|
||||||
@ -69,7 +69,6 @@ function getQuestionsNodes(questionNode,type)
|
|||||||
function getQuestionGroupNodes(questionGroup)
|
function getQuestionGroupNodes(questionGroup)
|
||||||
{
|
{
|
||||||
var questionGroupObj = {};
|
var questionGroupObj = {};
|
||||||
|
|
||||||
questionGroupObj['group_title'] = questionGroup.childNodes[0].firstChild.nodeValue;
|
questionGroupObj['group_title'] = questionGroup.childNodes[0].firstChild.nodeValue;
|
||||||
questionGroupObj['group_description'] = (questionGroup.childNodes[1].firstChild !== null ? questionGroup.childNodes[1].firstChild.nodeValue : "");
|
questionGroupObj['group_description'] = (questionGroup.childNodes[1].firstChild !== null ? questionGroup.childNodes[1].firstChild.nodeValue : "");
|
||||||
questionGroupObj['group_marks'] = questionGroup.childNodes[2].firstChild.nodeValue;
|
questionGroupObj['group_marks'] = questionGroup.childNodes[2].firstChild.nodeValue;
|
||||||
@ -84,7 +83,6 @@ function getQuestionGroupNodes(questionGroup)
|
|||||||
{
|
{
|
||||||
|
|
||||||
var questionType = questionList[q].getAttribute("xsi:type");
|
var questionType = questionList[q].getAttribute("xsi:type");
|
||||||
// console.log(questionType);
|
|
||||||
if(questionType == 'DescriptiveQuestion')
|
if(questionType == 'DescriptiveQuestion')
|
||||||
{
|
{
|
||||||
questionGroupObj['questions'].push(getQuestionsNodes(questionList[q],1));
|
questionGroupObj['questions'].push(getQuestionsNodes(questionList[q],1));
|
||||||
@ -93,6 +91,10 @@ function getQuestionGroupNodes(questionGroup)
|
|||||||
{
|
{
|
||||||
questionGroupObj['questions'].push(getQuestionsNodes(questionList[q],2));
|
questionGroupObj['questions'].push(getQuestionsNodes(questionList[q],2));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
questionGroupObj['questions'].push(getQuestionGroupNodes(questionList[q]));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return questionGroupObj;
|
return questionGroupObj;
|
||||||
@ -133,7 +135,8 @@ jsonObj['sections'] = [];
|
|||||||
//handle questions
|
//handle questions
|
||||||
var questionList = sectionsList[i].childNodes[5].childNodes;
|
var questionList = sectionsList[i].childNodes[5].childNodes;
|
||||||
// console.log('No of quetions:' + questionList.length);
|
// 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++)
|
for(let j = 0; j < questionList.length ;j++)
|
||||||
{
|
{
|
||||||
//check weather quesiotn or question grup
|
//check weather quesiotn or question grup
|
||||||
@ -159,7 +162,9 @@ jsonObj['sections'] = [];
|
|||||||
|
|
||||||
var jsonData = JSON.stringify(jsonObj);
|
var jsonData = JSON.stringify(jsonObj);
|
||||||
localStorage.setItem('pjsonData', jsonData );
|
localStorage.setItem('pjsonData', jsonData );
|
||||||
|
// console.log(jsonData);
|
||||||
QuestionPaperPreview(jsonObj);
|
QuestionPaperPreview(jsonObj);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user