diff options
author | Elliot Kroo <kroo@appjet.com> | 2010-03-11 15:21:30 -0800 |
---|---|---|
committer | Elliot Kroo <kroo@appjet.com> | 2010-03-11 15:21:30 -0800 |
commit | 98e2821b38a775737e42a2479a6bc65107210859 (patch) | |
tree | 55939a8ba1dce4f4e48ebb13b658061d62bf1b9a /etherpad/src/static/js/pad_connectionstatus.js | |
parent | c1894c8e0a52f4e3d2f89fa92f0066bbf0fcf1b1 (diff) | |
download | etherpad-98e2821b38a775737e42a2479a6bc65107210859.tar.gz etherpad-98e2821b38a775737e42a2479a6bc65107210859.tar.xz etherpad-98e2821b38a775737e42a2479a6bc65107210859.zip |
reorganizing the first level of folders (trunk/branch folders are not the git way :)
Diffstat (limited to 'etherpad/src/static/js/pad_connectionstatus.js')
-rw-r--r-- | etherpad/src/static/js/pad_connectionstatus.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/etherpad/src/static/js/pad_connectionstatus.js b/etherpad/src/static/js/pad_connectionstatus.js new file mode 100644 index 0000000..cc06728 --- /dev/null +++ b/etherpad/src/static/js/pad_connectionstatus.js @@ -0,0 +1,63 @@ +/** + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS-IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var padconnectionstatus = (function() { + + var status = {what: 'connecting'}; + + var showHideAnimator = padutils.makeShowHideAnimator(function(state) { + $("#connectionbox").css('opacity', 1 - Math.abs(state)); + if (state == -1) { + $("#connectionbox").css('display', 'block'); + } + else if (state == 1) { + $("#connectionbox").css('display', 'none'); + } + }, true, 25, 200); + + var self = { + init: function() { + $('button#forcereconnect').click(function() { + pad.forceReconnect(); + }); + }, + connected: function() { + status = {what: 'connected'}; + showHideAnimator.hide(); + }, + reconnecting: function() { + status = {what: 'reconnecting'}; + $("#connectionbox").get(0).className = 'cboxreconnecting'; + showHideAnimator.show(); + }, + disconnected: function(msg) { + status = {what: 'disconnected', why: msg}; + var k = String(msg).toLowerCase(); // known reason why + if (!(k == 'userdup' || k == 'looping' || k == 'slowcommit' || + k == 'initsocketfail' || k == 'unauth')) { + k = 'unknown'; + } + var cls = 'cboxdisconnected cboxdisconnected_'+k; + $("#connectionbox").get(0).className = cls; + showHideAnimator.show(); + }, + isFullyConnected: function() { + return status.what == 'connected'; + }, + getStatus: function() { return status; } + }; + return self; +}());
\ No newline at end of file |