aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorDave Whiteland <dave@mysociety.org>2012-11-11 19:31:51 +0000
committerDave Whiteland <dave@mysociety.org>2012-11-11 19:31:51 +0000
commit04fea7d7cbe1b9ab0b4c1944c58a07327f42a10d (patch)
tree791b988c02da8b660bf7d7f648c7134f90f1f25c /web
parent8bb4435aa3caa5e0ffa9accc60f8f02640dddac0 (diff)
added manual refresh, with animation support to make it less confusing
Diffstat (limited to 'web')
-rw-r--r--web/cobrands/fixmybarangay/message_manager.scss7
-rw-r--r--web/cobrands/fixmybarangay/message_manager_client.js34
2 files changed, 36 insertions, 5 deletions
diff --git a/web/cobrands/fixmybarangay/message_manager.scss b/web/cobrands/fixmybarangay/message_manager.scss
index 66db65bfd..01b7161d1 100644
--- a/web/cobrands/fixmybarangay/message_manager.scss
+++ b/web/cobrands/fixmybarangay/message_manager.scss
@@ -158,9 +158,14 @@ $weak_text_color: #666;
display: none;
}
}
-a#mm-link-to-admin {
+div#mm-admin-buttons {
display:block;
+ text-align: right;
float:right;
font-size:80%;
padding:4px 8px 4px 0;
+ a {
+ display: block;
+ }
+
}
diff --git a/web/cobrands/fixmybarangay/message_manager_client.js b/web/cobrands/fixmybarangay/message_manager_client.js
index cae2fcda6..954aa86cf 100644
--- a/web/cobrands/fixmybarangay/message_manager_client.js
+++ b/web/cobrands/fixmybarangay/message_manager_client.js
@@ -220,7 +220,21 @@ var message_manager = (function() {
return $litem;
};
- var show_available_messages = function(data) {
+ var show_available_messages = function(data, anim_duration) {
+ var messages = data.messages;
+ _username = data.username;
+ var $output = $message_list_element;
+ if (anim_duration > 0) {
+ $output.stop().fadeOut(anim_duration, function(){
+ render_available_messages(data, anim_duration)
+ });
+ } else {
+ render_available_messages(data, anim_duration);
+ }
+ };
+
+ // render allows animation (if required) to hide messages before repainting and then revealing them
+ var render_available_messages = function(data, anim_duration) {
var messages = data.messages;
_username = data.username;
var $output = $message_list_element;
@@ -238,6 +252,9 @@ var message_manager = (function() {
} else {
$output.html('<p>No messages (server did not send a list).</p>');
}
+ if (anim_duration > 0) {
+ $output.slideDown(anim_duration);
+ }
};
// accept an element (e.g., message_list) and add the click event to the *radio button* within it
@@ -269,9 +286,11 @@ var message_manager = (function() {
// gets messages or else requests login
// options: suggest_username, if provided, is preloaded into the login form if provided
+ // anim_duration: duration of fade/reveal (0, by defaut, does no animation)
var get_available_messages = function(options) {
var base_auth = get_current_auth_credentials();
var suggest_username = "";
+ var anim_duration = 0;
var callback = null;
if (options) {
if (typeof(options.callback) === 'function') {
@@ -280,6 +299,12 @@ var message_manager = (function() {
if (typeof options.suggest_username === 'string') {
suggest_username = options.suggest_username;
}
+ if (typeof options.anim_duration === 'string' || typeof options.anim_duration === 'number') {
+ anim_duration = parseInt(options.anim_duration, 10);
+ if (anim_duration == NaN) {
+ anim_duration = 0;
+ }
+ }
}
if (base_auth === "") {
show_login_form(suggest_username);
@@ -295,7 +320,7 @@ var message_manager = (function() {
xhr.withCredentials = true;
},
success: function(data, textStatus) {
- show_available_messages(data);
+ show_available_messages(data, anim_duration);
if (typeof(callback) === "function") {
callback.call($(this), data); // execute callback
}
@@ -544,6 +569,7 @@ var message_manager = (function() {
var populate_boilerplate_strings = function(boilerplate_type, options) {
if (Modernizr.sessionstorage && sessionStorage.getItem('boilerplate_' + boilerplate_type)) {
populate_boilerplate(boilerplate_type, sessionStorage.getItem('boilerplate_' + boilerplate_type));
+ console.log("boilerplate strings populated from local (sessionstorage) copy");
return;
}
var callback = null;
@@ -552,10 +578,10 @@ var message_manager = (function() {
callback = options.callback;
}
}
- alert("calling " + _url_root +"boilerplate_strings/index/" + boilerplate_type + ".json");
+ console.log("calling " + _url_root +"boilerplate_strings/index/" + boilerplate_type + ".json");
$.ajax({
dataType:"json",
- type:"post",
+ type:"get",
data: {lang: 'en', boilerplate_type: boilerplate_type},
url: _url_root +"boilerplate_strings/index/" + boilerplate_type + ".json",
success:function(data, textStatus) {