Index: lams_admin/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r876e644c066e81c2721ffa085fd12f386e2f3bb6 -r0b1d534ce1915b907afff0171909f90226b31921
--- lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 876e644c066e81c2721ffa085fd12f386e2f3bb6)
+++ lams_admin/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921)
@@ -48,7 +48,7 @@
- <%-- only have sidebar and presence in learner main window, not in popup windows --%>
+ <%-- only have sidebar in learner main window, not in popup windows --%>
<%-- Links placed in body instead of head. Ugly, but it works. --%>
@@ -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;
}
@@ -215,21 +218,6 @@
} else if ( showControlBar == 2 ) {
$('#navcontent').addClass('navcontent');
}
-
- var presenceEnabledPatch = result.presenceEnabledPatch;
- var presenceImEnabled = result.presenceImEnabled;
- if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) {
- presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch
- +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId;
-
- presenceURL = presenceURL + "&reloadBootstrap=true";
-
- $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) {
- if ( status == "error" ) {
- alert("Unable to load IM: " + xhr.status);
- }
- });
- }
initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws')
+ 'commandWebsocket?lessonID=' + lessonId,
@@ -379,10 +367,6 @@
- <%-- only have sidebar and presence in learner --%>
-
-
-
Index: lams_admin/web/WEB-INF/tags/Page5.tag
===================================================================
diff -u -r81f928586161dd03042b6353f68c7d7b8279ccde -r0b1d534ce1915b907afff0171909f90226b31921
--- lams_admin/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 81f928586161dd03042b6353f68c7d7b8279ccde)
+++ lams_admin/web/WEB-INF/tags/Page5.tag (.../Page5.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921)
@@ -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;
}
@@ -217,21 +220,6 @@
} else if ( showControlBar == 2 ) {
$('#navcontent').addClass('navcontent');
}
-
- var presenceEnabledPatch = result.presenceEnabledPatch;
- var presenceImEnabled = result.presenceImEnabled;
- if ( showIM && (presenceEnabledPatch || presenceImEnabled) ) {
- presenceURL = LEARNING_URL+"presenceChat.jsp?presenceEnabledPatch="+presenceEnabledPatch
- +"&presenceImEnabled="+presenceImEnabled+"&lessonID="+lessonId;
-
- presenceURL = presenceURL + "&reloadBootstrap=true";
-
- $('#presenceEnabledPatchDiv').load(presenceURL, function( response, status, xhr ) {
- if ( status == "error" ) {
- alert("Unable to load IM: " + xhr.status);
- }
- });
- }
initWebsocket('commandWebsocket', LEARNING_URL.replace('http', 'ws')
+ 'commandWebsocket?lessonID=' + lessonId,
@@ -381,10 +369,6 @@
- <%-- only have sidebar and presence in learner --%>
-
-
-
Index: lams_admin/web/WEB-INF/tags/PageLearner.tag
===================================================================
diff -u -r6598c02ec0f7dfd0db5ab175660b6b20c12464d2 -r0b1d534ce1915b907afff0171909f90226b31921
--- lams_admin/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 6598c02ec0f7dfd0db5ab175660b6b20c12464d2)
+++ lams_admin/web/WEB-INF/tags/PageLearner.tag (.../PageLearner.tag) (revision 0b1d534ce1915b907afff0171909f90226b31921)
@@ -69,19 +69,22 @@
lessonID = ${empty lessonID ? 'null' : lessonID};
initLearnerPage(toolSessionID, lessonID);
});
-
- function preventLearnerAutosaveFromMultipleTabs(autosaveInterval) {
- let currentTime = new Date().getTime(),
- lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp');
- // check if autosave does not happen too often
- if (autosaveInterval > 0 && lamsAutosaveTimestamp && lamsAutosaveTimestamp + autosaveInterval/2 > currentTime) {
- // this label is required only in tool which implement autosave
- alert('');
- return false;
- }
- localStorage.setItem('lamsAutosaveTimestamp', currentTime);
- return true;
- }
+
+ function preventLearnerAutosaveFromMultipleTabs(autosaveWindowId, autosaveInterval) {
+ let currentTime = new Date().getTime(),
+ lamsAutosaveTimestamp = +localStorage.getItem('lamsAutosaveTimestamp'),
+ lamsAutosaveWindowId = +localStorage.getItem('lamsAutosaveWindowId');
+ // check if autosave does not happen too often
+ 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;
+ }
@@ -216,4 +219,4 @@