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");
}
};
}