aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--templates/web/fixmybarangay/report/_message_manager.html5
-rw-r--r--web/cobrands/fixmybarangay/message_manager.scss14
-rw-r--r--web/cobrands/fixmybarangay/message_manager_client.js24
3 files changed, 32 insertions, 11 deletions
diff --git a/templates/web/fixmybarangay/report/_message_manager.html b/templates/web/fixmybarangay/report/_message_manager.html
index 04ffb0f42..e7f6d3ca9 100644
--- a/templates/web/fixmybarangay/report/_message_manager.html
+++ b/templates/web/fixmybarangay/report/_message_manager.html
@@ -12,7 +12,8 @@
</div>
<div id="mm-username-container">username:&nbsp;<span id="mm-received-username"></span></div>
<div id="mm-status-message-container">
- <div id="mm-status-message"></div>
+ <img id="mm-spinner" src="/cobrands/fixmybarangay/images/fmb-spinner-16x16.gif" alt=""/>
+ <p id="mm-status-message"></p>
</div>
<div id="mm-login-container">
<div>
@@ -55,7 +56,7 @@ $(document).ready(function() {
}
var mm_populate_list = function(data) {
- $('#mm-status-message-container').text("Accessed Message Manager as " + data['username']);
+ $('#mm-status-message-container').find('p').text("Accessed Message Manager as " + data['username']);
$('input[name=mm_text]').prop('checked', false); // uncheck all
$('#mm-link-to-refresh').delay(2000).fadeIn();
if (refresh_period && can_refresh) {
diff --git a/web/cobrands/fixmybarangay/message_manager.scss b/web/cobrands/fixmybarangay/message_manager.scss
index 9d9555640..a58e44509 100644
--- a/web/cobrands/fixmybarangay/message_manager.scss
+++ b/web/cobrands/fixmybarangay/message_manager.scss
@@ -30,11 +30,22 @@ $weak_text_color: #666;
}
}
#mm-status-message-container {
+ position: relative;
min-height: 1.4em;
margin: 0 0 8px 0.5em;
- padding: 8px 4px;
+ padding: 8px 4px 8px 24px;
color: $mm_status_message_color;
font-style: italic;
+ p {
+ margin:0;
+ padding:0;
+ }
+ #mm-spinner {
+ position: absolute;
+ left: 4px;
+ top: 10px;
+ display: none;
+ }
}
#mm-login-container {
display: none; // only shown on/after a 403
@@ -97,6 +108,7 @@ $weak_text_color: #666;
&.msg-is-active {
background-color: $contrast1; color:#fff;
p:hover { background-color: $contrast1; color:#fff; } // fix for mouseover on p
+ p.mm-reply:hover {background-color: #eef; color:#000;} // fix for mouseover on p
}
span.msg-tag {
width: 3em;
diff --git a/web/cobrands/fixmybarangay/message_manager_client.js b/web/cobrands/fixmybarangay/message_manager_client.js
index ba7383933..94b624bcd 100644
--- a/web/cobrands/fixmybarangay/message_manager_client.js
+++ b/web/cobrands/fixmybarangay/message_manager_client.js
@@ -197,12 +197,18 @@ var message_manager = (function() {
if ($htauth_username.size() && ! $htauth_username.val()) {
$htauth_username.val(suggest_username);
}
- $login_element.stop().slideDown();
+ $login_element.stop(true,true).slideDown();
};
- var say_status = function (msg) {
+ var say_status = function (msg, show_spinner) {
if ($status_element) {
- $status_element.stop().show().text(msg);
+ if (show_spinner) {
+ // slow fade in so that spinner only appears if there's a long delay
+ $status_element.find('#mm-spinner').stop(true,true).fadeIn(1200);
+ } else {
+ $status_element.find('#mm-spinner').stop(true,true).hide();
+ }
+ $status_element.stop(true,true).show().find('p').text(msg);
}
};
@@ -270,7 +276,7 @@ var message_manager = (function() {
_username = data.username;
var $output = $message_list_element;
if (anim_duration > 0) {
- $output.stop().fadeOut(anim_duration, function(){
+ $output.stop(true,true).fadeOut(anim_duration, function(){
render_available_messages(data, anim_duration);
});
} else {
@@ -310,11 +316,11 @@ var message_manager = (function() {
var $li = $(this).closest('li');
var id = $li.attr('id').replace(_msg_prefix, '');
if ($li.hasClass('msg-is-locked')) {
- say_status(get_msg(msg_trying_for_lock));
+ say_status(get_msg(msg_trying_for_lock), true);
} else if ($li.hasClass('msg-is-owned')) {
- say_status(get_msg(msg_checking_lock));
+ say_status(get_msg(msg_checking_lock), true);
} else {
- say_status(get_msg(msg_claiming_lock));
+ say_status(get_msg(msg_claiming_lock), true);
}
request_lock(id, options);
});
@@ -355,10 +361,11 @@ var message_manager = (function() {
show_login_form(suggest_username);
return;
}
- $login_element.stop().hide();
+ $login_element.stop(true,true).hide();
if (_url_root.length === 0) {
say_status(msg_no_config_err);
} else {
+ say_status("Fetching messages...", true);
$.ajax({
dataType: "json",
type: "post",
@@ -369,6 +376,7 @@ var message_manager = (function() {
},
success: function(data, textStatus) {
show_available_messages(data, anim_duration);
+ say_status("Fetching messages... done, OK", false); // loaded OK
if (typeof(callback) === "function") {
callback.call($(this), data); // execute callback
}