Index: lams_gradebook/web/gradebookMonitorContent5.jsp =================================================================== diff -u -rfb376f561c06d7864cf72bd93bc9711fc903659b -re252a9a1ca3535e49a2a153e3299ad4a1ddd3726 --- lams_gradebook/web/gradebookMonitorContent5.jsp (.../gradebookMonitorContent5.jsp) (revision fb376f561c06d7864cf72bd93bc9711fc903659b) +++ lams_gradebook/web/gradebookMonitorContent5.jsp (.../gradebookMonitorContent5.jsp) (revision e252a9a1ca3535e49a2a153e3299ad4a1ddd3726) @@ -138,6 +138,7 @@ jQuery("#userView").clearGridData(); alert(""); }, + subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { var subgrid_table_id = subgrid_id+"_t", @@ -402,7 +403,13 @@ gridComplete: function(){ initializePortraitPopover(''); } - }).navGrid("#userViewPager", {edit:false,add:false,del:false,search:false}); // applying refresh button + }).navGrid("#userViewPager", {edit:false,add:false,del:false,search:false})// applying refresh button + .on('jqGridBeforeEditCell', function(){ + $(this).data('isCellEdited', true); + }) + .on('jqGridAfterSaveCell jqGridAfterRestoreCell', function(){ + $(this).data('isCellEdited', false); + }); jQuery("#userView").jqGrid('filterToolbar'); // Creating activity view with sub learner view @@ -443,6 +450,12 @@ jQuery("#activityView").clearGridData(); alert(""); }, + beforeEditCell : function() { + $(this).data('isCellEdited', true); + }, + afterEditCell : function(){ + $(this).data('isCellEdited', false); + }, subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { var subgrid_table_id; @@ -503,6 +516,12 @@ jQuery("#"+subgrid_table_id).clearGridData(); alert(""); }, + beforeEditCell : function() { + $("#activityView").data('isCellEdited', true); + }, + afterEditCell : function(){ + $("#activityView").data('isCellEdited', false); + }, formatCell: function(rowid, cellname,value, iRow, iCol) { if (cellname == "mark") { @@ -628,7 +647,13 @@ loadError: function(xhr,st,err) { jQuery("#"+subgrid_table_id).clearGridData(); alert(""); - } + }, + beforeEditCell : function() { + $("#activityView").data('isCellEdited', true); + }, + afterEditCell : function(){ + $("#activityView").data('isCellEdited', false); + }, }); } }).navGrid("#"+subgrid_table_id+"_pager", {edit:false,add:false,del:false,search:false}) // applying refresh button @@ -638,8 +663,14 @@ gridComplete: function(){ fixPagerInCenter('activityViewPager', 0); } - }).navGrid("#activityViewPager", {edit:false,add:false,del:false,search:false}); // enable refresh button - + }).navGrid("#activityViewPager", {edit:false,add:false,del:false,search:false}) // enable refresh button + .on('jqGridBeforeEditCell', function(){ + $(this).data('isCellEdited', true); + }) + .on('jqGridAfterSaveCell jqGridAfterRestoreCell', function(){ + $(this).data('isCellEdited', false); + }); + $("#export-grades-button").click(function() { var areaToBlock = "export-link-area"; var exportExcelUrl = "gradebookMonitoring/exportExcelLessonGradebook.do?&lessonID=${lessonDetails.lessonID}"; Index: lams_monitoring/web/includes/javascript/monitorLesson5.js =================================================================== diff -u -r2e7df6de960d7ad381ddc986759b44918ec9b565 -re252a9a1ca3535e49a2a153e3299ad4a1ddd3726 --- lams_monitoring/web/includes/javascript/monitorLesson5.js (.../monitorLesson5.js) (revision 2e7df6de960d7ad381ddc986759b44918ec9b565) +++ lams_monitoring/web/includes/javascript/monitorLesson5.js (.../monitorLesson5.js) (revision e252a9a1ca3535e49a2a153e3299ad4a1ddd3726) @@ -2510,7 +2510,6 @@ }); */ - $('#grid').trigger( 'reloadGrid' ); $.extend(true, $.jgrid.guiStyles.bootstrap4, { pager : { pagerSelect : 'form-control-select' @@ -2523,19 +2522,26 @@ const gradebooksUpdateSource = new EventSource(LAMS_URL + 'monitoring/monitoring/getGradebookUpdateFlux.do?lessonId=' + lessonId); gradebooksUpdateSource.onmessage = function (event) { if ("doRefresh" == event.data && $('#gradebookDiv').length === 1){ - let expandedGridIds = []; - $("#userView tr:has(.sgexpanded)").each(function () { + let expandedGridIds = [], + userGrid = $('#userView'), + activityGrid = $('#activityView'); + // do not update if grid is being edited by the teacher + if (userGrid.data('isCellEdited') === true || activityGrid.data('isCellEdited') === true) { + return; + } + + $("tr:has(.sgexpanded)", userGrid).each(function () { let num = $(this).attr('id'); expandedGridIds.push(num); }); - $('#userView').data('expandedGridIds', expandedGridIds).trigger("reloadGrid"); - + userGrid.data('expandedGridIds', expandedGridIds).trigger("reloadGrid"); + expandedGridIds = []; - $("#activityView tr:has(.sgexpanded)").each(function () { + $("tr:has(.sgexpanded)", activityGrid).each(function () { let num = $(this).attr('id'); expandedGridIds.push(num); }); - $('#activityView').data('expandedGridIds', expandedGridIds).trigger("reloadGrid"); + activityGrid.data('expandedGridIds', expandedGridIds).trigger("reloadGrid"); } }; }