From 426f2b040516326a3fbc1bd2002ace70aaaeeb20 Mon Sep 17 00:00:00 2001 From: Tim Abbott Date: Thu, 27 Oct 2016 22:22:28 -0700 Subject: [PATCH] subs: combine some settings show handlers. --- static/js/subs.js | 49 ++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/static/js/subs.js b/static/js/subs.js index 24044b760e..8ab25d862c 100644 --- a/static/js/subs.js +++ b/static/js/subs.js @@ -339,6 +339,29 @@ function show_subscription_settings(sub_row) { return item.email; } }); + + var colorpicker = sub_row.find('.colorpicker'); + + var color = stream_data.get_color(sub_row.find('.subscription_name').text()); + stream_color.set_colorpicker_color(colorpicker, color); + + // To figure out the worst case for an expanded row's height, we do some math: + // .subscriber_list_container max-height, + // .subscriber_list_settings, + // .regular_subscription_settings + // .subscription_header line-height, + // .subscription_header padding + var expanded_row_size = 200 + 30 + 100 + 30 + 5; + var cover = sub_row.offset().top + expanded_row_size - + viewport.height() + viewport.scrollTop(); + if (cover > 0) { + $('.app').animate({ + scrollTop: viewport.scrollTop() + cover + 5 + }); + } + + // Make all inputs have a default tabindex + sub_row.find('.subscription_settings :input').removeAttr('tabindex'); } exports.mark_subscribed = function (stream_name, attrs) { @@ -900,32 +923,6 @@ $(function () { $('#empty_narrow_message').show(); }); - $("#subscriptions_table").on("show", ".subscription_settings", function (e) { - var sub_row = $(e.target).closest('.subscription_row'); - var colorpicker = sub_row.find('.colorpicker'); - - var color = stream_data.get_color(sub_row.find('.subscription_name').text()); - stream_color.set_colorpicker_color(colorpicker, color); - - // To figure out the worst case for an expanded row's height, we do some math: - // .subscriber_list_container max-height, - // .subscriber_list_settings, - // .regular_subscription_settings - // .subscription_header line-height, - // .subscription_header padding - var expanded_row_size = 200 + 30 + 100 + 30 + 5; - var cover = sub_row.offset().top + expanded_row_size - - viewport.height() + viewport.scrollTop(); - if (cover > 0) { - $('.app').animate({ - scrollTop: viewport.scrollTop() + cover + 5 - }); - } - - // Make all inputs have a default tabindex - sub_row.find('.subscription_settings :input').removeAttr('tabindex'); - }); - $("#subscriptions_table").on("hide", ".subscription_settings", function (e) { var sub_row = $(e.target).closest('.subscription_row');