diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 00eb234e4..a013f2203 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -365,7 +365,7 @@ function handleChatMessage(client, message) } /** - * Handles the clients requets for more chat-messages + * Handles the clients request for more chat-messages * @param client the client that send this message * @param message the message from the client */ diff --git a/src/static/css/pad.css b/src/static/css/pad.css index a36a7ff9c..bbbadbc18 100644 --- a/src/static/css/pad.css +++ b/src/static/css/pad.css @@ -488,10 +488,21 @@ table#otheruserstable { -ms-overflow-x: hidden; overflow-x: hidden; } -#chatloadmessages +.chatloadmessages { - color: blue; - text-decoration: underline; + margin-bottom: 5px; + margin-top: 5px; + margin-left: auto; + margin-right: auto; + display: block; +} +#chatloadmessagesbutton +{ + line-height: 1.8em; +} +#chatloadmessagesball +{ + display: none; } #chatinputbox { padding: 3px 2px; diff --git a/src/static/js/chat.js b/src/static/js/chat.js index edd6c500a..01adc34e8 100644 --- a/src/static/js/chat.js +++ b/src/static/js/chat.js @@ -115,7 +115,7 @@ var chat = (function() var html = "
"; if(isHistoryAdd) - $(html).insertAfter('#chatloadmessages'); + $(html).insertAfter('#chatloadmessagesbutton'); else $("#chattext").append(html); @@ -165,15 +165,16 @@ var chat = (function() // initial messages are loaded in pad.js' _afterHandshake $("#chatcounter").text(0); - $("#chatloadmessages").click(function() + $("#chatloadmessagesbutton").click(function() { var start = Math.max(self.historyPointer - 20, 0); var end = self.historyPointer; if(start == end) // nothing to load return; - if(start == 0) // reached the top - $("#chatloadmessages").css("display", "none"); + + $("#chatloadmessagesbutton").css("display", "none"); + $("#chatloadmessagesball").css("display", "block"); pad.collabClient.sendMessage({"type": "GET_CHAT_MESSAGES", "start": start, "end": end}); self.historyPointer = start; diff --git a/src/static/js/collab_client.js b/src/static/js/collab_client.js index 902301d50..7df0b7114 100644 --- a/src/static/js/collab_client.js +++ b/src/static/js/collab_client.js @@ -413,9 +413,16 @@ function getCollabClient(ace2editor, serverVars, initialUserInfo, options, _pad) chat.scrollDown(); chat.gotInitalMessages = true; chat.historyPointer = clientVars.chatHead - msg.messages.length; - if(chat.historyPointer == -1) // there are less than 100 messages - $("#chatloadmessages").css("display", "none"); } + + // messages are loaded, so hide the loading-ball + $("#chatloadmessagesball").css("display", "none"); + + // there are less than 100 messages or we reached the top + if(chat.historyPointer <= 0) + $("#chatloadmessagesbutton").css("display", "none"); + else // there are still more messages, re-show the load-button + $("#chatloadmessagesbutton").css("display", "block"); } else if (msg.type == "SERVER_MESSAGE") { diff --git a/src/static/js/pad.js b/src/static/js/pad.js index 57aa2834e..64d8b42b8 100644 --- a/src/static/js/pad.js +++ b/src/static/js/pad.js @@ -564,7 +564,7 @@ var pad = { } else // there are no messages { - $("#chatloadmessages").css("display", "none"); + $("#chatloadmessagesbutton").css("display", "none"); } function postAceInit() diff --git a/src/templates/pad.html b/src/templates/pad.html index 780ceaaa0..cbfdc5276 100644 --- a/src/templates/pad.html +++ b/src/templates/pad.html @@ -368,7 +368,10 @@