From 112d37de8641327df201bde62ce388ce30cbf2b4 Mon Sep 17 00:00:00 2001 From: Kevin Mehall Date: Fri, 26 Jul 2013 11:19:13 -0400 Subject: [PATCH] Fade message dots faster when marked read by cursor. (imported from commit a31b0601bf13bce377c24fff96a818023d5bdd1f) --- static/js/message_list.js | 10 ++++++++-- static/js/zephyr.js | 27 +++++++++++++++------------ static/styles/zulip.css | 16 +++++++++++----- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/static/js/message_list.js b/static/js/message_list.js index d87f5eb7b3..831407729e 100644 --- a/static/js/message_list.js +++ b/static/js/message_list.js @@ -681,8 +681,14 @@ MessageList.prototype = { row.find(".message_edit").hide(); }, - show_message_as_read: function (message) { - rows.get(message.id, this.table_name).removeClass('unread'); + show_message_as_read: function (message, options) { + var row = rows.get(message.id, this.table_name); + if (options.from === 'pointer' && feature_flags.mark_read_at_bottom) { + row.find('.unread_marker').addClass('fast_fade'); + } else { + row.find('.unread_marker').addClass('slow_fade'); + } + row.removeClass('unread'); }, rerender: function MessageList_rerender() { diff --git a/static/js/zephyr.js b/static/js/zephyr.js index 5d2e5ac358..8551983a22 100644 --- a/static/js/zephyr.js +++ b/static/js/zephyr.js @@ -308,7 +308,8 @@ function process_loaded_for_unread(messages) { } // Takes a list of messages and marks them as read -function process_read_messages(messages) { +function process_read_messages(messages, options) { + options = options || {}; var processed = []; _.each(messages, function (message) { @@ -316,10 +317,12 @@ function process_read_messages(messages) { message.flags.push('read'); processed.push(message.id); message.unread = false; - unread.process_read_message(message); - home_msg_list.show_message_as_read(message); - all_msg_list.show_message_as_read(message); - if (narrowed_msg_list) narrowed_msg_list.show_message_as_read(message); + unread.process_read_message(message, options); + home_msg_list.show_message_as_read(message, options); + all_msg_list.show_message_as_read(message, options); + if (narrowed_msg_list) { + narrowed_msg_list.show_message_as_read(message, options); + } }); @@ -357,20 +360,20 @@ function process_visible_unread_messages(update_cursor) { } } -function mark_messages_as_read(msg_list) { +function mark_messages_as_read(msg_list, options) { var unread_msgs = _.filter(msg_list, unread.message_unread); - process_read_messages(unread_msgs); + process_read_messages(unread_msgs, options); } -function mark_current_list_as_read() { +function mark_current_list_as_read(options) { var unread_msgs = _.filter(current_msg_list.all(), unread.message_unread); - process_read_messages(unread_msgs); + process_read_messages(unread_msgs, options); } -function mark_message_as_read(message) { +function mark_message_as_read(message, options) { // This seems like a rather pointless wrapper, but // process_read_messages() should stay as an internal API. - process_read_messages([message]); + process_read_messages([message], options); } function respond_to_message(opts) { @@ -489,7 +492,7 @@ $(function () { } else { messages = message_range(event.msg_list, event.previously_selected, event.id); } - mark_messages_as_read(messages); + mark_messages_as_read(messages, {from: 'pointer'}); _.each(messages, function (message) { message_tour.visit(message.id); }); diff --git a/static/styles/zulip.css b/static/styles/zulip.css index 0bc9a0fab0..6511538bd4 100644 --- a/static/styles/zulip.css +++ b/static/styles/zulip.css @@ -686,10 +686,20 @@ td.pointer { opacity: 0; box-shadow: inset 1px 1px 1px -1px #000; border: 1px solid #fff; +} + +.messagebox .unread_marker.slow_fade { -webkit-transition: all 2.7s ease-in; -moz-transition: all 2.7s ease-in; -o-transition: all 2.7s ease-in; - transition: all 2.7s ease-in; + transition: all 2.7s ease-in; +} + +.messagebox .unread_marker.fast_fade { + -webkit-transition: all 0.3s ease-in; + -moz-transition: all 0.3s ease-in; + -o-transition: all 0.3s ease-in; + transition: all 0.3s ease-in; } .include-sender .messagebox .unread_marker { @@ -698,10 +708,6 @@ td.pointer { .unread .unread_marker { opacity: 1; - -webkit-transition: all 2.7s ease-in; - -moz-transition: all 2.7s ease-in; - -o-transition: all 2.7s ease-in; - transition: all 2.7s ease-in; } /* Selected messages use an inset box shadow to highlight, with