From dafd32bd093901e14bd28bc832b8abf3f3722b06 Mon Sep 17 00:00:00 2001 From: Sahil Batra Date: Tue, 27 Jul 2021 13:12:31 +0530 Subject: [PATCH] compose: Extract compose.toggle_entry_sends_ui function. This commit extracts the code for hiding and showing the send button according to 'enter_sends' setting value in a separate function. --- frontend_tests/node_tests/composebox_typeahead.js | 3 +-- static/js/compose.js | 9 +++++++++ static/js/composebox_typeahead.js | 7 +------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/frontend_tests/node_tests/composebox_typeahead.js b/frontend_tests/node_tests/composebox_typeahead.js index dfeb9b6c6c..62b98dd6b1 100644 --- a/frontend_tests/node_tests/composebox_typeahead.js +++ b/frontend_tests/node_tests/composebox_typeahead.js @@ -1096,8 +1096,7 @@ test("initialize", ({override, mock_template}) => { // select_on_focus() - $("#compose-send-button").fadeOut = noop; - $("#compose-send-button").fadeIn = noop; + override(compose, "toggle_enter_sends_ui", noop); let channel_patch_called = false; override(channel, "patch", (params) => { assert.equal(params.url, "/json/settings"); diff --git a/static/js/compose.js b/static/js/compose.js index e7ebdcec71..25ccc65dd2 100644 --- a/static/js/compose.js +++ b/static/js/compose.js @@ -124,6 +124,15 @@ export function empty_topic_placeholder() { return $t({defaultMessage: "(no topic)"}); } +export function toggle_enter_sends_ui() { + const send_button = $("#compose-send-button"); + if (page_params.enter_sends) { + send_button.fadeOut(); + } else { + send_button.fadeIn(); + } +} + export function create_message_object() { // Topics are optional, and we provide a placeholder if one isn't given. let topic = compose_state.topic(); diff --git a/static/js/composebox_typeahead.js b/static/js/composebox_typeahead.js index 2269427d4a..4bb9e4eb88 100644 --- a/static/js/composebox_typeahead.js +++ b/static/js/composebox_typeahead.js @@ -1085,13 +1085,8 @@ export function initialize() { $("form#send_message_form").on("keyup", handle_keyup); $("#enter_sends").on("click", () => { - const send_button = $("#compose-send-button"); page_params.enter_sends = $("#enter_sends").is(":checked"); - if (page_params.enter_sends) { - send_button.fadeOut(); - } else { - send_button.fadeIn(); - } + compose.toggle_enter_sends_ui(); // Refocus in the content box so you can continue typing or // press Enter to send.