Index: lams_admin/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_admin/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_admin/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_admin/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_central/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_central/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_central/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_central/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_central/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_central/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_gradebook/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_gradebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_gradebook/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_gradebook/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_gradebook/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_gradebook/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_learning/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_learning/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_learning/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_learning/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_monitoring/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_monitoring/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_monitoring/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_monitoring/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_monitoring/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_monitoring/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_assessment/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_assessment/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_assessment/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_assessment/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_assessment/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_assessment/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_assessment/web/pages/learning/learning.jsp
===================================================================
diff -u -r13b9f60ae467a5926804ac7229154f390a81b793 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 13b9f60ae467a5926804ac7229154f390a81b793)
+++ lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -284,13 +284,14 @@
//autosave feature
- var autosaveInterval = ${isLeadershipEnabled and isUserLeader ? 10000 : 30000}; // 30 or 10 seconds interval
+ var autosaveInterval = ${isLeadershipEnabled and isUserLeader ? 10000 : 30000}, // 30 or 10 seconds interval
+ autosaveWindowId = new Date().getTime(); // all we need for this ID is to be unique
function learnerAutosave(isCommand){
// isCommand means that the autosave was triggered by force complete or another command websocket message
// in this case do not check multiple tabs open, just autosave
if (!isCommand) {
- let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(autosaveInterval);
+ let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval);
if (!shouldAutosave) {
return;
}
Index: lams_tool_chat/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_chat/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_chat/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_chat/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_chat/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_chat/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_daco/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_daco/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_daco/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_daco/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_daco/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_daco/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_doku/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_doku/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_doku/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_doku/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_doku/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_doku/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_forum/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_forum/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_forum/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_forum/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_forum/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_forum/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_gmap/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_gmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_gmap/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_gmap/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_gmap/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_gmap/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_images/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_images/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_images/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_images/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_images/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_images/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_imscc/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_imscc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_imscc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_imscc/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_imscc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_imscc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_lamc/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_lamc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_lamc/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -163,16 +163,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_lamc/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_lamc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_tool_lamc/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -165,16 +165,19 @@
$('#sidebar').show();
}
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
// check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
+ if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime
+ && lamsAutosaveWindowId && lamsAutosaveWindowId != autosaveWindowId) {
// this label is required only in tool which implement autosave
alert('');
return false;
}
localStorage.setItem('lamsAutosaveTimestamp', currentTime);
+ localStorage.setItem('lamsAutosaveWindowId', autosaveWindowId);
return true;
}
Index: lams_tool_lamc/web/learning/AnswersContent.jsp
===================================================================
diff -u -r39898a6bc099395132ff585dae1a8848058b86bb -r1eb2143815418c6dc14f115acc6cc1ce7c1fed32
--- lams_tool_lamc/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 39898a6bc099395132ff585dae1a8848058b86bb)
+++ lams_tool_lamc/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 1eb2143815418c6dc14f115acc6cc1ce7c1fed32)
@@ -36,14 +36,15 @@
//autoSaveAnswers if hasEditRight
if (${hasEditRight}) {
- var interval = "30000"; // = 30 seconds
+ var interval = "30000", // = 30 seconds
+ autosaveWindowId = new Date().getTime(); // all we need for this ID is to be unique;
window.setInterval(learnerAutosave, interval);
function learnerAutosave(isCommand){
// isCommand means that the autosave was triggered by force complete or another command websocket message
// in this case do not check multiple tabs open, just autosave
if (!isCommand) {
- let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(interval);
+ let shouldAutosave = preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, interval);
if (!shouldAutosave) {
return;
}
@@ -184,5 +185,4 @@