From 8e7761e15b2d019a0c7844ea99bbac1c94172389 Mon Sep 17 00:00:00 2001 From: Tim Abbott Date: Tue, 11 May 2021 13:04:35 -0700 Subject: [PATCH] compose: Move closed-compose functions to closed_compose_ui.js. This improves the organization of our codebase a bit. --- frontend_tests/node_tests/compose.js | 5 +-- frontend_tests/node_tests/narrow_activate.js | 7 ++--- frontend_tests/node_tests/recent_topics.js | 5 +-- static/js/compose.js | 33 -------------------- static/js/compose_closed_ui.js | 33 ++++++++++++++++++++ static/js/narrow.js | 7 ++--- static/js/recent_topics.js | 3 +- 7 files changed, 46 insertions(+), 47 deletions(-) diff --git a/frontend_tests/node_tests/compose.js b/frontend_tests/node_tests/compose.js index 4068ec8b3b..fe486d48cc 100644 --- a/frontend_tests/node_tests/compose.js +++ b/frontend_tests/node_tests/compose.js @@ -87,6 +87,7 @@ document.location.host = "foo.com"; const fake_now = 555; MockDate.set(new Date(fake_now * 1000)); +const compose_closed_ui = zrequire("compose_closed_ui"); const compose_fade = zrequire("compose_fade"); const peer_data = zrequire("peer_data"); const util = zrequire("util"); @@ -1767,7 +1768,7 @@ test_ui("create_message_object", (override) => { test_ui("narrow_button_titles", () => { util.is_mobile = () => false; - compose.update_closed_compose_buttons_for_private(); + compose_closed_ui.update_buttons_for_private(); assert.equal( $("#left_bar_compose_stream_button_big").text(), $t({defaultMessage: "New stream message"}), @@ -1777,7 +1778,7 @@ test_ui("narrow_button_titles", () => { $t({defaultMessage: "New private message"}), ); - compose.update_closed_compose_buttons_for_stream(); + compose_closed_ui.update_buttons_for_stream(); assert.equal( $("#left_bar_compose_stream_button_big").text(), $t({defaultMessage: "New topic"}), diff --git a/frontend_tests/node_tests/narrow_activate.js b/frontend_tests/node_tests/narrow_activate.js index 19efc09fe2..e40b8953cb 100644 --- a/frontend_tests/node_tests/narrow_activate.js +++ b/frontend_tests/node_tests/narrow_activate.js @@ -13,7 +13,6 @@ mock_esm("../../static/js/resize", { const all_messages_data = mock_esm("../../static/js/all_messages_data"); const channel = mock_esm("../../static/js/channel"); -const compose = mock_esm("../../static/js/compose"); const compose_actions = mock_esm("../../static/js/compose_actions"); const compose_closed_ui = mock_esm("../../static/js/compose_closed_ui"); const hashchange = mock_esm("../../static/js/hashchange"); @@ -94,8 +93,8 @@ function test_helper() { stub(typing_events, "render_notifications_for_narrow"); stub(ui_util, "change_tab_to"); stub(unread_ops, "process_visible"); - stub(compose, "update_closed_compose_buttons_for_stream"); - stub(compose, "update_closed_compose_buttons_for_private"); + stub(compose_closed_ui, "update_buttons_for_stream"); + stub(compose_closed_ui, "update_buttons_for_private"); return { clear: () => { @@ -203,7 +202,7 @@ run_test("basics", () => { [ui_util, "change_tab_to"], [unread_ops, "process_visible"], [hashchange, "save_narrow"], - [compose, "update_closed_compose_buttons_for_stream"], + [compose_closed_ui, "update_buttons_for_stream"], [compose_closed_ui, "update_reply_recipient_label"], [search, "update_button_visibility"], [compose_actions, "on_narrow"], diff --git a/frontend_tests/node_tests/recent_topics.js b/frontend_tests/node_tests/recent_topics.js index a5a4b97dac..f7de768bae 100644 --- a/frontend_tests/node_tests/recent_topics.js +++ b/frontend_tests/node_tests/recent_topics.js @@ -65,8 +65,9 @@ const ListWidget = mock_esm("../../static/js/list_widget", { render_item: (item) => ListWidget.modifier(item), }); -mock_esm("../../static/js/compose", { - update_closed_compose_buttons_for_recent_topics: noop, +mock_esm("../../static/js/compose_closed_ui", { + set_standard_text_for_reply_button: noop, + update_buttons_for_recent_topics: noop, }); mock_esm("../../static/js/hash_util", { by_stream_uri: () => "https://www.example.com", diff --git a/static/js/compose.js b/static/js/compose.js index 9d191e30be..97d943e24f 100644 --- a/static/js/compose.js +++ b/static/js/compose.js @@ -172,39 +172,6 @@ export function clear_preview_area() { $("#compose .markdown_preview").show(); } -function update_stream_button(btn_text, title) { - $("#left_bar_compose_stream_button_big").text(btn_text); - $("#left_bar_compose_stream_button_big").prop("title", title); -} - -function update_conversation_button(btn_text, title) { - $("#left_bar_compose_private_button_big").text(btn_text); - $("#left_bar_compose_private_button_big").prop("title", title); -} - -export function update_closed_compose_buttons(text_stream) { - const title_stream = text_stream + " (c)"; - const text_conversation = $t({defaultMessage: "New private message"}); - const title_conversation = text_conversation + " (x)"; - update_stream_button(text_stream, title_stream); - update_conversation_button(text_conversation, title_conversation); -} - -export function update_closed_compose_buttons_for_private() { - const text_stream = $t({defaultMessage: "New stream message"}); - update_closed_compose_buttons(text_stream); -} - -export function update_closed_compose_buttons_for_stream() { - const text_stream = $t({defaultMessage: "New topic"}); - update_closed_compose_buttons(text_stream); -} - -export function update_closed_compose_buttons_for_recent_topics() { - const text_stream = $t({defaultMessage: "Compose message"}); - update_closed_compose_buttons(text_stream); -} - function update_fade() { if (!compose_state.composing()) { return; diff --git a/static/js/compose_closed_ui.js b/static/js/compose_closed_ui.js index 30f90507e0..cca4606be8 100644 --- a/static/js/compose_closed_ui.js +++ b/static/js/compose_closed_ui.js @@ -9,6 +9,39 @@ import * as people from "./people"; import * as popovers from "./popovers"; import * as recent_topics from "./recent_topics"; +function update_stream_button(btn_text, title) { + $("#left_bar_compose_stream_button_big").text(btn_text); + $("#left_bar_compose_stream_button_big").prop("title", title); +} + +function update_conversation_button(btn_text, title) { + $("#left_bar_compose_private_button_big").text(btn_text); + $("#left_bar_compose_private_button_big").prop("title", title); +} + +function update_buttons(text_stream) { + const title_stream = text_stream + " (c)"; + const text_conversation = $t({defaultMessage: "New private message"}); + const title_conversation = text_conversation + " (x)"; + update_stream_button(text_stream, title_stream); + update_conversation_button(text_conversation, title_conversation); +} + +export function update_buttons_for_private() { + const text_stream = $t({defaultMessage: "New stream message"}); + update_buttons(text_stream); +} + +export function update_buttons_for_stream() { + const text_stream = $t({defaultMessage: "New topic"}); + update_buttons(text_stream); +} + +export function update_buttons_for_recent_topics() { + const text_stream = $t({defaultMessage: "Compose message"}); + update_buttons(text_stream); +} + function set_reply_button_label(label) { $(".compose_reply_button_label").text(label); } diff --git a/static/js/narrow.js b/static/js/narrow.js index 84890a185b..85c7551f6a 100644 --- a/static/js/narrow.js +++ b/static/js/narrow.js @@ -3,7 +3,6 @@ import $ from "jquery"; import {all_messages_data} from "./all_messages_data"; import * as blueslip from "./blueslip"; import * as channel from "./channel"; -import * as compose from "./compose"; import * as compose_actions from "./compose_actions"; import * as compose_closed_ui from "./compose_closed_ui"; import * as compose_fade from "./compose_fade"; @@ -385,9 +384,9 @@ export function activate(raw_operators, opts) { } if (filter.contains_only_private_messages()) { - compose.update_closed_compose_buttons_for_private(); + compose_closed_ui.update_buttons_for_private(); } else { - compose.update_closed_compose_buttons_for_stream(); + compose_closed_ui.update_buttons_for_stream(); } compose_closed_ui.update_reply_recipient_label(); @@ -806,7 +805,7 @@ function handle_post_narrow_deactivate_processes() { top_left_corner.handle_narrow_deactivated(); stream_list.handle_narrow_deactivated(); - compose.update_closed_compose_buttons_for_stream(); + compose_closed_ui.update_buttons_for_stream(); message_edit.handle_narrow_deactivated(); widgetize.set_widgets_for_list(); typing_events.render_notifications_for_narrow(); diff --git a/static/js/recent_topics.js b/static/js/recent_topics.js index 149ced88a7..a89a9578dd 100644 --- a/static/js/recent_topics.js +++ b/static/js/recent_topics.js @@ -4,7 +4,6 @@ import render_recent_topic_row from "../templates/recent_topic_row.hbs"; import render_recent_topics_filters from "../templates/recent_topics_filters.hbs"; import render_recent_topics_body from "../templates/recent_topics_table.hbs"; -import * as compose from "./compose"; import * as compose_closed_ui from "./compose_closed_ui"; import * as compose_state from "./compose_state"; import * as hash_util from "./hash_util"; @@ -646,7 +645,7 @@ export function show() { // We want to show `new stream message` instead of // `new topic`, which we are already doing in this // function. So, we reuse it here. - compose.update_closed_compose_buttons_for_recent_topics(); + compose_closed_ui.update_buttons_for_recent_topics(); narrow_state.reset_current_filter(); narrow.set_narrow_title("Recent topics");