summaryrefslogtreecommitdiff
path: root/public/js/index.js
diff options
context:
space:
mode:
authorCheng-Han, Wu2016-06-17 16:31:36 +0800
committerCheng-Han, Wu2016-06-17 16:31:36 +0800
commit73f6d383b5e7376beef02da2fa583400a47e6534 (patch)
tree0dcc38953e1e3462fd0d32ccc0a3e0e2afcd7bf2 /public/js/index.js
parent03e68f92ebe7051b209790eb27d30fce87c1bbc7 (diff)
Add minimumCompatibleVersion and update refresh modal to show more detail informations
Diffstat (limited to 'public/js/index.js')
-rw-r--r--public/js/index.js29
1 files changed, 21 insertions, 8 deletions
diff --git a/public/js/index.js b/public/js/index.js
index 67846845..3ca0517c 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -629,15 +629,23 @@ function idleStateChange() {
updateTitleReminder();
}
-function setNeedRefresh() {
+function setRefreshModal(status) {
$('#refreshModal').modal('show');
+ $('#refreshModal').find('.modal-body > div').hide();
+ $('#refreshModal').find('.' + status).show();
+}
+
+function setNeedRefresh() {
needRefresh = true;
editor.setOption('readOnly', true);
socket.disconnect();
showStatus(statusType.offline);
}
-loginStateChangeEvent = setNeedRefresh;
+loginStateChangeEvent = function () {
+ setRefreshModal('user-state-changed');
+ setNeedRefresh();
+};
//visibility
var wasFocus = false;
@@ -1978,9 +1986,8 @@ socket.on('error', function (data) {
});
var retryOnDisconnect = false;
var retryTimer = null;
-socket.on('maintenance', function (data) {
- if (data == version)
- retryOnDisconnect = true;
+socket.on('maintenance', function () {
+ retryOnDisconnect = true;
});
socket.on('disconnect', function (data) {
showStatus(statusType.offline);
@@ -1992,7 +1999,7 @@ socket.on('disconnect', function (data) {
editor.setOption('readOnly', true);
if (retryOnDisconnect && !retryTimer) {
retryTimer = setInterval(function () {
- socket.connect();
+ if (!needRefresh) socket.connect();
}, 1000);
}
});
@@ -2013,8 +2020,14 @@ socket.on('connect', function (data) {
socket.id = socket.nsp + '#' + socket.id;
});
socket.on('version', function (data) {
- if (data != version)
- setNeedRefresh();
+ if (version != data.version) {
+ if (version < data.minimumCompatibleVersion) {
+ setRefreshModal('incompatible-version');
+ setNeedRefresh();
+ } else {
+ setRefreshModal('new-version');
+ }
+ }
});
function updateLastInfo(data) {
//console.log(data);