diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/fixmybarangay/message_manager.scss | 6 | ||||
-rw-r--r-- | web/cobrands/fixmybarangay/message_manager_client.js | 41 |
2 files changed, 38 insertions, 9 deletions
diff --git a/web/cobrands/fixmybarangay/message_manager.scss b/web/cobrands/fixmybarangay/message_manager.scss index 119e4275f..4365707c1 100644 --- a/web/cobrands/fixmybarangay/message_manager.scss +++ b/web/cobrands/fixmybarangay/message_manager.scss @@ -21,6 +21,7 @@ $color_bg_btn_info: #0000ff; $weak_text_color: #666; + p.mm-submitted-by-sms { color: $weak_text_color; font-style: italic; @@ -96,6 +97,9 @@ p.mm-submitted-by-sms { #mm-message-list { ul { + &.mm-archive { + display: none; // archive only shown on interaction + } list-style-type: none; padding: 0; margin: 0; @@ -187,7 +191,7 @@ p.mm-submitted-by-sms { margin: 1em; } } -#show_messages, #add_support, #reply-submit { // COPY TO UPDATE button +#show_messages, #copy_to_update, #reply-submit { margin: 1em; } diff --git a/web/cobrands/fixmybarangay/message_manager_client.js b/web/cobrands/fixmybarangay/message_manager_client.js index 979ac8b25..6f76816ea 100644 --- a/web/cobrands/fixmybarangay/message_manager_client.js +++ b/web/cobrands/fixmybarangay/message_manager_client.js @@ -295,19 +295,31 @@ var message_manager = (function() { // render allows animation (if required) to hide messages before repainting and then revealing them var render_available_messages = function(data, anim_duration) { + var $output = $message_list_element; + $output.empty(); + var archive = data.messages_for_this_report; + var $archive = ""; + var i, litem; + if (archive instanceof Array) { + var $arch_ul = $('<ul class="mm-root mm-archive"/>'); + for(i=0; i< archive.length; i++) { + litem = get_message_li(archive[i], 0); + $arch_ul.append(litem); + } + $output.append($arch_ul); + } var messages = data.messages; _username = data.username; - var $output = $message_list_element; if (messages instanceof Array) { if (messages.length === 0) { $output.html('<p class="mm-empty">No messages available.</p>'); } else { - var $ul = $('<ul class="mm-root"/>'); - for(var i=0; i< messages.length; i++) { - var litem = get_message_li(messages[i], 0); + var $ul = $('<ul class="mm-root mm-current"/>'); + for(i=0; i< messages.length; i++) { + litem = get_message_li(messages[i], 0); $ul.append(litem); } - $output.empty().append($ul); + $output.append($ul); } } else { $output.html('<p>No messages (server did not send a list).</p>'); @@ -347,11 +359,13 @@ 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) + // fms_id: if provided, display an archive of messages for this username var get_available_messages = function(options) { var base_auth = get_current_auth_credentials(); var suggest_username = ""; var anim_duration = 0; var callback = null; + var fms_id = null; if (options) { if (typeof(options.callback) === 'function') { callback = options.callback; @@ -365,6 +379,12 @@ var message_manager = (function() { anim_duration = 0; } } + if (typeof options.fms_id === 'string' || typeof options.fms_id === 'number') { + fms_id = parseInt(options.fms_id, 10); + if (isNaN(fms_id)) { + fms_id = 0; + } + } } if (base_auth === "") { show_login_form(suggest_username); @@ -374,11 +394,15 @@ var message_manager = (function() { if (_url_root.length === 0) { say_status(msg_no_config_err); } else { + var ajax_url = _url_root +"messages/available.json"; + if (fms_id) { + ajax_url += "?fms_id=" + fms_id; + } say_status("Fetching messages...", true); $.ajax({ dataType: "json", - type: "post", - url: _url_root +"messages/available.json", + type: "get", + url: ajax_url, beforeSend: function (xhr){ xhr.setRequestHeader('Authorization', get_current_auth_credentials()); xhr.withCredentials = true; @@ -722,6 +746,7 @@ var message_manager = (function() { hide: hide, show_info: show_info, sign_out: sign_out, - populate_boilerplate_strings: populate_boilerplate_strings + populate_boilerplate_strings: populate_boilerplate_strings, + say_status: say_status }; })(); |