181 lines
6.6 KiB
JavaScript
181 lines
6.6 KiB
JavaScript
function jsonToHtml(jsonData) {
|
|
|
|
console.log(jsonData);
|
|
|
|
if(jsonData == "" || jsonData == null)
|
|
{
|
|
|
|
document.getElementById('Question_title').querySelector('.ql-editor').innerHTML = "";
|
|
document.getElementById('Question_description').querySelector('.ql-editor').innerHTML = "";
|
|
document.getElementById('Max_Marks').value = "";
|
|
document.getElementById('Course_ID').value = "";
|
|
document.getElementById('Course_Code').value = "";
|
|
document.getElementById('Subject_ID').value = "";
|
|
document.getElementById('Subject_Code').value = "";
|
|
document.getElementById('Paper_No').value = "";
|
|
document.getElementById('Subject_Name').value = "";
|
|
document.getElementById('Sub_Paper_Prefix').value = "";
|
|
|
|
}
|
|
else
|
|
{
|
|
var title = jsonData.question_paper_title;
|
|
var description = jsonData.question_paper_description;
|
|
var question_Paper_uuid = jsonData.attributes.Id;
|
|
var max_marks = jsonData.attributes.MaxMarks;
|
|
var course_ID = jsonData.attributes.CourseId;
|
|
var course_Code = jsonData.attributes.CourseCode;
|
|
var subject_ID = jsonData.attributes.SubjectId;
|
|
var subject_Code = jsonData.attributes.SubjectCode;
|
|
var paper_No = jsonData.attributes.PaperNo;
|
|
var subject_Name = jsonData.attributes.SubjectName;
|
|
var sub_Paper_Prefix = jsonData.attributes.SubPaperPrefix;
|
|
document.getElementById('Question_title').querySelector('.ql-editor').innerHTML = title;
|
|
document.getElementById('Question_description').querySelector('.ql-editor').innerHTML = description;
|
|
document.getElementById('Max_Marks').value = max_marks;
|
|
document.getElementById('Course_ID').value = course_ID;
|
|
document.getElementById('Course_Code').value = course_Code;
|
|
document.getElementById('Subject_ID').value = subject_ID;
|
|
document.getElementById('Subject_Code').value = subject_Code;
|
|
document.getElementById('Paper_No').value = paper_No;
|
|
document.getElementById('Subject_Name').value = subject_Name;
|
|
document.getElementById('Sub_Paper_Prefix').value = sub_Paper_Prefix;
|
|
document.getElementById('QuestionPaper_UUID_ID').value = question_Paper_uuid;
|
|
|
|
}
|
|
jsonData.sections.forEach(function(section, index) {
|
|
|
|
const random_no = Date.now();
|
|
var sectionTitle = section.section_title;
|
|
var sectionDescription = section.section_description;
|
|
var sectionMarks = section.section_marks;
|
|
var sectionUUID = section.attributes.Id;
|
|
var sectionDispalyMarks = section.section_display_marks;
|
|
var sectionAttemptAny = section.section_attempt_any;
|
|
|
|
|
|
addSection(sectionTitle, sectionDescription, random_no, sectionUUID, sectionMarks, sectionDispalyMarks, sectionAttemptAny);
|
|
|
|
section.questions.forEach(function(Question, index) {
|
|
|
|
const questionRandomNo = Date.now();
|
|
var questionTypeFormets = "";
|
|
if(Question.question_type)
|
|
{
|
|
questionTypeFormets = Question.question_type;
|
|
}
|
|
else
|
|
{
|
|
questionTypeFormets ='question_group';
|
|
}
|
|
var questionTitle = Question.question;
|
|
var questionDescription = Question.question_description;
|
|
var questionType = questionTypeFormets;
|
|
var questionSubType = Question.question_sub_type;
|
|
var mathEnabled = Question.is_math_enabled;
|
|
var questionMarks = Question.marks;
|
|
var questionUUID = Question.attributes.Id;
|
|
var questionDisplayMarks = Question.display_marks;
|
|
var Choice = Question.answers;
|
|
|
|
var questionAreaId = 'question_area_'+random_no;
|
|
|
|
|
|
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')
|
|
{
|
|
groupQuestion(false, false, false, questionTitle, questionDescription, questionSubType, mathEnabled, Choice, questionAreaId, false, questionRandomNo, false, questionMarks, questionUUID, false, false, questionDisplayMarks, false);
|
|
|
|
Choice = Choice.slice(1);
|
|
Choice.forEach(function(choicenames, index) {
|
|
var choiceName = choicenames.choice_name;
|
|
var choiceDescription = choicenames.choice_description;
|
|
var choiceID = choicenames.id;
|
|
|
|
addNewChoice(false , choiceName, choiceDescription, questionRandomNo, false, choiceID, mathEnabled);
|
|
|
|
});
|
|
}
|
|
else if (questionType == 'question_group')
|
|
{
|
|
|
|
generateGroupQuestion(Question, questionAreaId, questionRandomNo);
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
function generateGroupQuestion(Question, questionAreaId, questionRandomNo)
|
|
{
|
|
|
|
var idObj = {
|
|
"section_question_area_id":questionAreaId,
|
|
'question_group_obj': Question ,
|
|
'questions_randon_id':questionRandomNo,
|
|
};
|
|
|
|
addQuestionGroup(idObj);
|
|
|
|
Question.questions.forEach(function(GroupQuestions, index) {
|
|
|
|
const QuestionGroupRandomNo = Date.now();
|
|
|
|
console.log(GroupQuestions);
|
|
console.log("**********************************");
|
|
|
|
// question level variables
|
|
var group_question_Title = GroupQuestions.question;
|
|
var group_question_Description = GroupQuestions.question_description;
|
|
var group_question_Type = GroupQuestions.question_type;
|
|
var group_questionSubType = GroupQuestions.question_sub_type;
|
|
var mathEnabled = GroupQuestions.is_math_enabled;
|
|
var group_question_marks = GroupQuestions.marks;
|
|
var group_question_uuid = GroupQuestions.attributes.Id;
|
|
var group_question_Display_Marks = GroupQuestions.display_marks;
|
|
|
|
//
|
|
|
|
var Choice = GroupQuestions.answers;
|
|
var questionGroupId = 'group_question_area_'+questionRandomNo;
|
|
// console.log('questionGroupId :' + questionGroupId)
|
|
|
|
if(group_question_Type == 'text')
|
|
{
|
|
// console.log('child gtext' + group_question_Title)
|
|
textQuestion(false, false, false, group_question_Title, group_question_Description, group_questionSubType, mathEnabled, false, questionGroupId, false, QuestionGroupRandomNo, false, false, group_question_marks, group_question_uuid, false, group_question_Display_Marks);
|
|
|
|
}
|
|
else if(group_question_Type == 'group')
|
|
{
|
|
// console.log('child ggroup'+group_question_Title)
|
|
groupQuestion(false, false, false, group_question_Title, group_question_Description, mathEnabled, Choice, false, questionGroupId, false, QuestionGroupRandomNo, false, false, group_question_uuid, group_question_marks, false, group_question_Display_Marks);
|
|
|
|
|
|
Choice = Choice.slice(1);
|
|
Choice.forEach(function(choicenames, index) {
|
|
var choiceName = choicenames.choice_name;
|
|
var choiceDescription = choicenames.choice_description;
|
|
var choiceID = choicenames.id;
|
|
|
|
addNewChoice(false , choiceName, choiceDescription, false, QuestionGroupRandomNo, choiceID, mathEnabled)
|
|
});
|
|
|
|
}
|
|
else
|
|
{
|
|
generateGroupQuestion(GroupQuestions, questionGroupId, QuestionGroupRandomNo);
|
|
// console.log('child group question'+group_question_Title)
|
|
}
|
|
|
|
});
|
|
}
|