ISSUES_FIXING : RV

This commit is contained in:
VENKATESHWARAN 2024-01-06 10:55:17 +05:30
parent a80efc5674
commit 34740eb09d
5 changed files with 144 additions and 46 deletions

View File

@ -1326,6 +1326,11 @@ var toolbarOptions = [
<script> <script>
// $('#Question_title').keyup(function(){
// var question_paper_title = document.getElementById('Question_title').querySelector('.ql-editor').innerHTML;
// console.log('question_paper_title : ', question_paper_title);
// })
$("#overlay").show(); $("#overlay").show();
$('#workarea_math').click(function(){ $('#workarea_math').click(function(){
@ -1343,7 +1348,7 @@ $(document).on("click", function (event) {
const targetElement = event.target; const targetElement = event.target;
var tragetedId = event.target.id.startsWith("ML"); var tragetedId = event.target.id.startsWith("ML");
const classList = Array.from(event.target.classList); const classList = Array.from(event.target.classList);
const hasMLKClass = classList.some(className => className.startsWith("MLK") || className.startsWith("row") || className.startsWith("left") || className.startsWith("ML") || className.startsWith("action")); const hasMLKClass = classList.some(className => className.startsWith("MLK") || className.startsWith("row") || className.startsWith("left") || className.startsWith("ML") || className.startsWith("action") || className.startsWith("loaded"));
const isSvgElement = targetElement.closest('svg') || targetElement.closest('i'); const isSvgElement = targetElement.closest('svg') || targetElement.closest('i');
// console.log('svg',isSvgElement); // console.log('svg',isSvgElement);
// console.log(hasMLKClass); // console.log(hasMLKClass);
@ -1479,6 +1484,7 @@ $(document).on("click", function (event) {
}); });
//function for prevent default
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function () {
const scrollToTopBtn = document.getElementById('SaveButton'); const scrollToTopBtn = document.getElementById('SaveButton');
const scrollToTopBtn2 = document.getElementById('SaveButton2'); const scrollToTopBtn2 = document.getElementById('SaveButton2');
@ -2367,6 +2373,9 @@ inputFields.forEach(inputField => {
navpane(); navpane();
check_Remove_Empty_Question(sectionID); check_Remove_Empty_Question(sectionID);
const targetId = 'section_title_text_' + sectionRandomID;
localStorage.setItem('savePreventDefault', targetId)
}); });
var DisplayMark_RawID = 'Section_Display_Marks_Id_' + sectionRandomID var DisplayMark_RawID = 'Section_Display_Marks_Id_' + sectionRandomID
@ -2408,13 +2417,11 @@ navpane();
//function for new section add to go that section prevent default //function for new section add to go that section prevent default
var EditScroll = localStorage.getItem('scroll') var EditScroll = localStorage.getItem('scroll')
// console.log(EditScroll); const targetId = 'section_title_text_' + sectionRandomID;
localStorage.setItem('savePreventDefault', targetId)
if(EditScroll !== '1' && scrollval == false) if(EditScroll !== '1' && scrollval == false)
{ {
const targetId = 'section_title_text_' + sectionRandomID;
// console.log(targetId);
scrollToElementWithoutLink(targetId); scrollToElementWithoutLink(targetId);
} }
@ -2731,6 +2738,9 @@ inputElement.addEventListener("keyup", function(event) {
check_Remove_Empty_Question(question_groupid); check_Remove_Empty_Question(question_groupid);
// SetQuestionGroupTitle(QuestionGroup_ID, QuestionGroup_ID) // SetQuestionGroupTitle(QuestionGroup_ID, QuestionGroup_ID)
const targetId = 'subSection_title_text_' + QuestionGroup_ID;
localStorage.setItem('savePreventDefault', targetId);
}); });
var question_groupi = 'Questions_Group_id_'+ QuestionGroup_ID; var question_groupi = 'Questions_Group_id_'+ QuestionGroup_ID;
@ -2823,12 +2833,12 @@ markCalculation()
// end of find QG level script // end of find QG level script
//function for new QuestionGroup add scroll to the QuestionGroup prevent default //function for new QuestionGroup add scroll to the QuestionGroup prevent default
var EditScroll = localStorage.getItem('scroll') var EditScroll = localStorage.getItem('scroll');
if(EditScroll !== '1')
{
const targetId = 'subSection_title_text_' + QuestionGroup_ID; const targetId = 'subSection_title_text_' + QuestionGroup_ID;
scrollToElementWithoutLink(targetId); localStorage.setItem('savePreventDefault', targetId);
if(EditScroll !== '1')
{
scrollToElementWithoutLink(targetId);
} }
@ -3472,9 +3482,10 @@ markCalculation();
//function for new ChoiceQuestion add scroll to the ChoiceQuestion prevent default //function for new ChoiceQuestion add scroll to the ChoiceQuestion prevent default
var EditScroll = localStorage.getItem('scroll') var EditScroll = localStorage.getItem('scroll')
const targetId = 'textQuestionName_' + addChoiceAreaId;
localStorage.setItem('savePreventDefault', targetId)
if(EditScroll !== '1') if(EditScroll !== '1')
{ {
const targetId = 'textQuestionName_' + addChoiceAreaId;
scrollToElementWithoutLink(targetId); scrollToElementWithoutLink(targetId);
} }
const arrayString = JSON.stringify(array_of_Id); const arrayString = JSON.stringify(array_of_Id);
@ -4087,7 +4098,7 @@ var tempQuestionTitle = inputElement.querySelector('.ql-editor').innerHTML;
clearSidebarWrapper(); clearSidebarWrapper();
navpane(); navpane();
check_Remove_Empty_Question(Textid); check_Remove_Empty_Question(Textid);
// SetQuestionGroupTitle(QuestionGroup_ID,addTextQuestionId) localStorage.setItem('savePreventDefault', Textid)
@ -4125,17 +4136,15 @@ var tempQuestionTitle = inputElemen.innerHTML;
//function for new TextQuestion add scroll to the TextQuestion prevent default //function for new TextQuestion add scroll to the TextQuestion prevent default
var EditScroll = localStorage.getItem('scroll') var EditScroll = localStorage.getItem('scroll');
// console.log(EditScroll); const targetId = 'textQuestionName_' + addTextQuestionId;
localStorage.setItem('savePreventDefault', targetId)
if(EditScroll !== '1') if(EditScroll !== '1')
{ {
const targetId = 'textQuestionName_' + addTextQuestionId;
scrollToElementWithoutLink(targetId); scrollToElementWithoutLink(targetId);
} }
// console.log(array_of_Id);
const arrayString = JSON.stringify(array_of_Id); const arrayString = JSON.stringify(array_of_Id);
// console.log(arrayString);
collect_Empty_Question_Id(arrayString, Textid); collect_Empty_Question_Id(arrayString, Textid);
@ -4245,7 +4254,7 @@ function check_Empty_Question()
if (index === array.length - 1) { if (index === array.length - 1) {
var idclass= document.getElementById(Id).className; var idclass= document.getElementById(Id).className;
// console.log(idclass == "QuestionTextIdSet SerialNo"); // console.log(idclass == "QuestionTextIdSet SerialNo");
if ( idclass === 'QuestionTextIdSet SerialNo' || idclass === 'QuestionsGroupIdset' || idclass === 'QuestionChoiceId SerialNo' ) { if ( idclass === 'QuestionTextIdSet SerialNo' || idclass === 'QuestionsGroupIdset SerialNo' || idclass === 'QuestionChoiceId SerialNo' ) {
attrId = document.getElementById(Id).innerHTML attrId = document.getElementById(Id).innerHTML
}else if(idclass === 'multipleAnswerorNot'){ }else if(idclass === 'multipleAnswerorNot'){
attrId =""; attrId ="";
@ -4261,7 +4270,6 @@ function check_Empty_Question()
document.getElementById(Id).focus(); document.getElementById(Id).focus();
}else if(attrId == ''){ }else if(attrId == ''){
// console.log("Check empty else if"); // console.log("Check empty else if");
scrollToElementWithoutLink(Id); scrollToElementWithoutLink(Id);
document.getElementById(Id).focus(); document.getElementById(Id).focus();
} }
@ -4280,9 +4288,7 @@ function check_Empty_Question()
function check_Remove_Empty_Question(IdToRemove , DeleteElement=0) { function check_Remove_Empty_Question(IdToRemove , DeleteElement=0) {
// console.log('IdToRemove : ', IdToRemove); // console.log('IdToRemove : ', IdToRemove);
var attrId;
var attrId;
var title_id = localStorage.getItem('JSON_FOR_EMPTY_QUESTION'); var title_id = localStorage.getItem('JSON_FOR_EMPTY_QUESTION');
var attrId= ''; var attrId= '';
@ -4386,9 +4392,17 @@ array_of_Id=againpushlist;
} }
function saveScrollPosition() {
localStorage.setItem('scrollLocation', window.scrollY);
}
function loadScrollPosition() {
const savedScrollPosition = localStorage.getItem('scrollLocation');
if (savedScrollPosition !== null) {
window.scrollTo(0, savedScrollPosition);
}
}
window.addEventListener('scroll', saveScrollPosition);
//function for Questions REORDER in the SECTION Level //function for Questions REORDER in the SECTION Level
@ -4477,14 +4491,24 @@ function ReArrangeQuestionsGroup(e){
navpane(); navpane();
} }
function scrollElement(elementId){
console.log('auto redirect ');
console.log(elementId);
const element = document.getElementById(elementId);
console.log(element);
element.scrollIntoView({ behavior: "smooth", block: "center" });
}
//function for Add a new secton, questiongroup and Questions to scroll to go that place //function for Add a new secton, questiongroup and Questions to scroll to go that place
function scrollToElementWithoutLink(elementId) { function scrollToElementWithoutLink(elementId) {
// console.log(elementId); console.log('scrollToElementWithoutLink');
console.log(elementId);
var modifiedA = elementId.replace(/\d/g, ''); var modifiedA = elementId.replace(/\d/g, '');
console.log(modifiedA);
const element = document.getElementById(elementId); const element = document.getElementById(elementId);
if (element) { if (element) {
// console.log(element); console.log('true');
element.scrollIntoView({ behavior: "smooth", block: "center" }); element.scrollIntoView({ behavior: "smooth", block: "center" });
if (modifiedA == 'removeAndCloneQroupQuestion_') { if (modifiedA == 'removeAndCloneQroupQuestion_') {
// alert('Please Choose the Correct Answer') // alert('Please Choose the Correct Answer')
@ -4675,6 +4699,7 @@ function removeSection(RandomId, IndexValue) {
// remove the Question Group type questions function // remove the Question Group type questions function
function removeQuestionGroup(index) { function removeQuestionGroup(index) {
var element = document.getElementById('draggedGroup_'+ index); var element = document.getElementById('draggedGroup_'+ index);
Swal.fire({ Swal.fire({
title: 'Are you sure to Delete this Question Group?', title: 'Are you sure to Delete this Question Group?',
@ -4691,15 +4716,23 @@ function removeQuestionGroup(index) {
check_Remove_Empty_Question(GroupQuestionTitle,1); check_Remove_Empty_Question(GroupQuestionTitle,1);
var GroupQuestionSerialNo = 'Questions_Group_id_'+index; var GroupQuestionSerialNo = 'Questions_Group_id_'+index;
check_Remove_Empty_Question(GroupQuestionSerialNo,1); check_Remove_Empty_Question(GroupQuestionSerialNo,1);
element.remove();
element.remove();
var myArray = localStorage.getItem('JSON_FOR_EMPTY_QUESTION');
// array_of_Id = [];
// localStorage.setItem('JSON_FOR_EMPTY_QUESTION', array_of_Id);
if(myArray !== null && myArray !== undefined){
var idOfArray = removeNonExistentIds(myArray)
localStorage.setItem('JSON_FOR_EMPTY_QUESTION', JSON.stringify(idOfArray));
console.log('localstorage values : ', localStorage.getItem('JSON_FOR_EMPTY_QUESTION'));
}
json2nav(); json2nav();
clearSidebarWrapper(); clearSidebarWrapper();
navpane(); navpane();
} }
} }
}) })
// console.log('o;ijkom');
} }
@ -4711,6 +4744,27 @@ const text = $.text();
return text; return text;
} }
// Function to remove non-existent IDs from the array
function removeNonExistentIds(arrayOfIds) {
arrayOfIds = JSON.parse(arrayOfIds);
console.log('Before removal:', arrayOfIds);
if (arrayOfIds !== null) {
// Filter out IDs that don't exist in the HTML content
arrayOfIds = arrayOfIds.filter(function(id) {
return document.getElementById(id);
});
// return JSON.stringify(arrayOfIds);
return arrayOfIds;
// array_of_Id.push(arrayOfIds);
}
// console.log('After removal:', arrayOfIds);
}
</script> </script>

View File

@ -88,6 +88,10 @@ function jsonToHtml(jsonData) {
localStorage.removeItem('EditNavExpend'); localStorage.removeItem('EditNavExpend');
localStorage.removeItem('json_Decode_Data_For_Mcq_Crt_Ans'); localStorage.removeItem('json_Decode_Data_For_Mcq_Crt_Ans');
$("#overlay").hide(); $("#overlay").hide();
loadScrollPosition()
setTimeout(function() {
loadScrollPosition()
}, 500);
} }

12
main.js
View File

@ -127,10 +127,18 @@ function buildCustomMenu() {
}, },
}, },
{ {
role: 'undo', label: 'Undo',
accelerator: 'CmdOrCtrl+Z',
click: () => {
mainWindow.webContents.undo();
},
}, },
{ {
role: 'redo', label: 'Redo',
accelerator: 'CmdOrCtrl+Shift+Z',
click: () => {
mainWindow.webContents.redo();
},
}, },
].filter(Boolean), ].filter(Boolean),
}, },

View File

@ -213,7 +213,7 @@ function navpane() {
} }
sectionDiv.style.backgroundColor ='#fcdddd'; sectionDiv.style.backgroundColor ='#fcdddd';
sectionDiv.style.border = '5px solid #fcdddd'; // sectionDiv.style.border = '5px solid #fcdddd';
sectionDiv.style.color ='black'; sectionDiv.style.color ='black';
sectionDiv.style.marginLeft ='-67px'; sectionDiv.style.marginLeft ='-67px';
sectionDiv.style.paddingLeft='67px'; sectionDiv.style.paddingLeft='67px';
@ -251,7 +251,7 @@ function navpane() {
} }
sectionDiv.style.backgroundColor ='#fcdddd'; sectionDiv.style.backgroundColor ='#fcdddd';
sectionDiv.style.border = '5px solid #fcdddd'; // sectionDiv.style.border = '5px solid #fcdddd';
sectionDiv.style.borderRadius = '5px'; sectionDiv.style.borderRadius = '5px';
sectionDiv.style.color ='black'; sectionDiv.style.color ='black';
sectionDiv.style.marginLeft ='-67px'; sectionDiv.style.marginLeft ='-67px';
@ -294,6 +294,8 @@ function navpane() {
function createTreeNode(nodeData, parentNode) { function createTreeNode(nodeData, parentNode) {
const nodeDiv = document.createElement('div'); const nodeDiv = document.createElement('div');
nodeDiv.className = "navContain"; nodeDiv.className = "navContain";
nodeDiv.classList.add('navDrag');
// nodeDiv.id = nodeData.textQuestion_Id || nodeData.choice_question_id; // nodeDiv.id = nodeData.textQuestion_Id || nodeData.choice_question_id;
const nodeDataId = nodeData.question_Id const nodeDataId = nodeData.question_Id
const nodeDataType = nodeData.question_type const nodeDataType = nodeData.question_type
@ -393,18 +395,18 @@ function navpane() {
// questionLink.style.fontWeight = '500'; // questionLink.style.fontWeight = '500';
// nodeDiv.style.fontWeight = '500'; // nodeDiv.style.fontWeight = '500';
nodeDiv.style.backgroundColor ='#fcdddd'; nodeDiv.style.backgroundColor ='#fcdddd';
nodeDiv.style.border = '5px solid #fcdddd'; // nodeDiv.style.border = '5px solid #fcdddd';
nodeDiv.style.borderRadius = '5px'; nodeDiv.style.borderRadius = '5px';
nodeDiv.style.color ='black'; nodeDiv.style.color ='black';
nodeDiv.style.marginLeft ='-67px'; nodeDiv.style.marginLeft ='-67px';
nodeDiv.style.paddingLeft='67px'; nodeDiv.style.paddingLeft='67px';
nodeDiv.style.marginRight= '-75px' nodeDiv.style.marginRight= '-75px'
QuestionID.style.fontWeight = '100'; QuestionID.style.fontWeight = '100';
currentlyHighlightedElement = nodeDiv; currentlyHighlightedElement = nodeDiv;
// nodeDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); // nodeDiv.scrollIntoView({ behavior: 'smooth', block: 'start' });
var a=nodeDiv.querySelector('a').href var a=nodeDiv.querySelector('a').href
var aa=a.split('#')[1]; var aa=a.split('#')[1];
// scrollToElement(aa) // scrollToElement(aa)
}); });
@ -460,7 +462,7 @@ function navpane() {
// questionLink.style.color = ' rgb(255 255 255)'; // questionLink.style.color = ' rgb(255 255 255)';
// nodeDiv.style.fontWeight = '500'; // nodeDiv.style.fontWeight = '500';
nodeDiv.style.backgroundColor = '#fcdddd'; nodeDiv.style.backgroundColor = '#fcdddd';
nodeDiv.style.border = '5px solid #fcdddd'; // nodeDiv.style.border = '5px solid #fcdddd';
nodeDiv.style.borderRadius = '5px'; nodeDiv.style.borderRadius = '5px';
// nodeDiv.style.color = ' rgb(255 255 255)'; // nodeDiv.style.color = ' rgb(255 255 255)';
nodeDiv.style.color ='black'; nodeDiv.style.color ='black';
@ -647,7 +649,7 @@ function navpane() {
groupQuestionLink.style.color= 'black'; groupQuestionLink.style.color= 'black';
groupTitleDiv.style.color='black'; groupTitleDiv.style.color='black';
groupTitleDiv.style.fontWeight = '100'; groupTitleDiv.style.fontWeight = '100';
groupTitleDiv.style.border = '5px solid #fcdddd'; // groupTitleDiv.style.border = '5px solid #fcdddd';
groupTitleDiv.style.borderRadius = '5px'; groupTitleDiv.style.borderRadius = '5px';
groupTitleDiv.style.backgroundColor = '#fcdddd'; groupTitleDiv.style.backgroundColor = '#fcdddd';
groupTitleDiv.style.marginLeft ='-67px'; groupTitleDiv.style.marginLeft ='-67px';
@ -821,4 +823,34 @@ function navpane() {
if (element) { if (element) {
element.scrollIntoView({ behavior: "smooth", block: "center" }); element.scrollIntoView({ behavior: "smooth", block: "center" });
} }
} }
let draggedItemGroup = null;
let draggedItemQuestion = null;
let dropTarget = null;
// Event listener for .drag-handle elements within questions
document.addEventListener('mousedown', function (e) {
const dragHandle = e.target.closest('.content visible');
// alert(dragHandle);
if (dragHandle) {
// If the click is inside a drag handle, find the corresponding .question
const questionElement = dragHandle.closest('.navDrag');
if (questionElement) {
// console.log("draggHandle:",dragHandle);
// Initiate the drag operation for the .question
draggedItemQuestion = questionElement;
// Add a dragStart event listener to set data
draggedItemQuestion.addEventListener('dragstart', function (e) {
e.dataTransfer.setData('text/plain', draggedItemQuestion.id);
// console.log(draggedItemQuestion.id);
});
}
}
});

View File

@ -76,7 +76,7 @@ files.forEach((file) => {
} else { } else {
console.log('JSON file saved successfully.'); console.log('JSON file saved successfully.');
localStorage.clear(); // localStorage.clear();
} }
}); });
@ -85,7 +85,7 @@ files.forEach((file) => {
localStorage.clear(); // localStorage.clear();
if(reorder){ if(reorder){
window.location.reload(); window.location.reload();
}else{ }else{