Commit 032a2ee61fb3f1e13233f9f4f4da72b4788ad38f
1 parent
43f48851
Exists in
master
and in
29 other branches
Add loading
Showing
3 changed files
with
36 additions
and
12 deletions
Show diff stats
public/javascripts/application.js
@@ -1093,4 +1093,12 @@ function notifyMe(title, options) { | @@ -1093,4 +1093,12 @@ function notifyMe(title, options) { | ||
1093 | // want to be respectful there is no need to bother them any more. | 1093 | // want to be respectful there is no need to bother them any more. |
1094 | } | 1094 | } |
1095 | 1095 | ||
1096 | +function start_fetching(element){ | ||
1097 | + jQuery(element).append('<div class="fetching-overlay">Loading...</div>'); | ||
1098 | +} | ||
1099 | + | ||
1100 | +function stop_fetching(element){ | ||
1101 | + jQuery('.fetching-overlay', element).remove(); | ||
1102 | +} | ||
1103 | + | ||
1096 | window.isHidden = function isHidden() { return (typeof(document.hidden) != 'undefined') ? document.hidden : !document.hasFocus() }; | 1104 | window.isHidden = function isHidden() { return (typeof(document.hidden) != 'undefined') ? document.hidden : !document.hasFocus() }; |
public/javascripts/chat.js
@@ -596,18 +596,20 @@ jQuery(function($) { | @@ -596,18 +596,20 @@ jQuery(function($) { | ||
596 | } | 596 | } |
597 | 597 | ||
598 | function recent_messages(jid, offset) { | 598 | function recent_messages(jid, offset) { |
599 | - if(!offset) offset = 0; | ||
600 | - $.getJSON('/chat/recent_messages', {identifier: getIdentifier(jid), offset: offset}, function(data) { | ||
601 | - $.each(data, function(i, message) { | ||
602 | - var body = message['body']; | ||
603 | - var from = message['from']; | ||
604 | - var to = message['to']; | ||
605 | - var date = message['created_at']; | ||
606 | - var who = from['id']==getCurrentIdentifier() ? 'self' : from['id'] | ||
607 | - | ||
608 | - Jabber.show_message(jid, from['name'], body, who, from['id'], date, offset); | ||
609 | - }); | ||
610 | - }); | 599 | + if(!offset) offset = 0; |
600 | + start_fetching('.history'); | ||
601 | + $.getJSON('/chat/recent_messages', {identifier: getIdentifier(jid), offset: offset}, function(data) { | ||
602 | + $.each(data, function(i, message) { | ||
603 | + var body = message['body']; | ||
604 | + var from = message['from']; | ||
605 | + var to = message['to']; | ||
606 | + var date = message['created_at']; | ||
607 | + var who = from['id']==getCurrentIdentifier() ? 'self' : from['id'] | ||
608 | + | ||
609 | + Jabber.show_message(jid, from['name'], body, who, from['id'], date, offset); | ||
610 | + }); | ||
611 | + stop_fetching('.history'); | ||
612 | + }); | ||
611 | } | 613 | } |
612 | 614 | ||
613 | function count_unread_messages(jid_id, hide) { | 615 | function count_unread_messages(jid_id, hide) { |
public/stylesheets/application.css
@@ -6533,3 +6533,17 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img { | @@ -6533,3 +6533,17 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img { | ||
6533 | .fetching { | 6533 | .fetching { |
6534 | opacity: 0.3; | 6534 | opacity: 0.3; |
6535 | } | 6535 | } |
6536 | + | ||
6537 | +.fetching-overlay { | ||
6538 | + position: absolute; | ||
6539 | + top: 0px; | ||
6540 | + left: 0px; | ||
6541 | + right: 0px; | ||
6542 | + bottom: 0px; | ||
6543 | + background: rgba(0, 0, 0, 0.5); | ||
6544 | + padding: 10%; | ||
6545 | + text-align: center; | ||
6546 | + font-size: 200%; | ||
6547 | + color: rgb(255, 255, 255); | ||
6548 | + text-shadow: 0px 0px 10px #FFF; | ||
6549 | +} |